• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Объединение WiFiWeb и esp-now

pvvx

Активный участник сообщества
VSCode - это проприетарщина от MS.
Всегда желателен скрипт сборки в нативном Linux.

git clone "репо"
make или cmake

На крайний случай - сборка в самом github или описание контейнера.
Всё остальное сложно-постижимо для "пользователей".
 

pvvx

Активный участник сообщества
Весь форум переполнен сообщениями - не та версия либы, или SDK, или дурины, или ...
Но решения давно существуют.
 

pvvx

Активный участник сообщества
Сборка в самом github ещё типа не привычна всем, но осуществляется проще для пользователя - клонируете в свой репо, редактируете код online и github собирает.
Никакой свалки на вашем компе не образуется.
 

pvvx

Активный участник сообщества
Далее делаете OTA прямо файлом из вашего "репо"
И не копируете сюда все кексы, а указываете в вопросе ссылку на свой код.
 
Спасибо! По поводу перехода на VS и platform не получилось. Имею опыт расчетов с использованием VS2013 но тоже не получилось перестроиться на Arduino. Возможно потому, что у меня win8.1 менять его не хочу, Поэтому и Arduino IDE 2.1.1 Хотя по описаниям Arduino тоже должен был бы по запросу подсоединять необходимое.
 

mrdenis

New member
Добрый день.

Я собрал пару устройств на ESP8266-07, сделал из одной ESPGateway, а из второй ESPNode, воспользовавшись библиотекой ZHnetwork.
Получилось следующее:
1. Gateway работает: регистрится в WIFI и на MQTT, шлет о себе все отлично, но только, если конфиг не гружу из EEPROM. EEPROM категорически отказывается хранить конфигурацию... даже после добавления EEPROM.commit() в saveConfig()...
2. При включении ESPNode при попытке переправить данные в MQTT в вызванной из onEspnowMessage функции mqttPublish случается "Stack smashing detected.". Я уже чего только не делал (заводил новый буфер, разбирал и собирал обратно JSON перед самой отправкой в mqttPublish).. отправлять сообщения, полученные из espow сети, GW не хочет...
Код:
==>>>onEspnowMessage
ENPT_ATTRIBUTES>>>
==>>>mqttPublish
ch_sys/espnow_led/483FDA68B226/attributes
-----------------------------------------------------------
 => {"Type":"ESP-NOW TEST node","MAC":"483FDA68B226","Uptime":"Days:0 Hours:21 Mins:27"}
-----------------------------------------------------------
 7B 22 54 79 70 65 22 3A 22 45
 53 50 2D 4E 4F 57 20 54 45 53
 54 20 6E 6F 64 65 22 2C 22 4D
 41 43 22 3A 22 34 38 33 46 44
 41 36 38 42 32 32 36 22 2C 22
 55 70 74 69 6D 65 22 3A 22 44
 61 79 73 3A 30 20 48 6F 75 72
 73 3A 32 31 20 4D 69 6E 73 3A
 32 37 22 7D 0
-----------------------------------------------------------

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

Stack smashing detected.
...
Может кто подскажет, в какую сторону посмотреть ?
Заранее благодарю за подсказки, если что :)
 

aZholtikov

Active member
И просто уточнить... Это условие соблюдается?
  1. For correct work at ESP-NOW + STA mode your WiFi router must be set on channel 1 and set gateway mode.
 

mrdenis

New member
Посмотреть как реализовано сохранение в EEPROM здесь https://github.com/aZholtikov/ESP-NOW-Gateway/tree/main
Проблема в том, что я именно этот GW (это же Ваша разработка:) и собираю/зашиваю (в ардуино иде) и он работает так как я описал....
Я вобщем-то и не менял ничего в нем...
 

aZholtikov

Active member
Не тестировалось в Arduino IDE. Только в VSCode + PlatformIO.
Могу предположить, что в Arduino IDE надо как-то дополнительно активировать раздел Flash, куда пишутся данные EEPROM.
 

aZholtikov

Active member
В любом случае если не получится - пересылайте мне по почте (в профиле GitHub) коды шлюза и ноды. В сб/вс попробую их на Arduino IDE.
 

mrdenis

New member
В первом моем сообщении кусок моих Serial.print ов на Gateway...
там как раз видно JSON пакет с ноды, который передается в функцию mqttPublish и на этом все...
До этого подобным образом уходят через mqttPublish успешно пакеты JSON самого GAteway (Атрибуты и Кипэливы), а то, что из onEspnowMessage - экспшн..

С EEPROM по идее либа используется заточенная под ESP со всеми нюансами, она грузится со всем пакетом под ESP... Единственное, что я вычитал и добавил в код saveConfig(){...} - EEPROM.commit(), но он не помог :(
 

mrdenis

New member
В любом случае если не получится - пересылайте мне по почте (в профиле GitHub) коды шлюза и ноды. В сб/вс попробую их на Arduino IDE.
Понял.
Еще посмотрю сегодня-завтра... и определюсь с отправкой.
Благодарю за внимание к моей проблеме :)
 
Сверху Снизу