Погонял Вашу прошивку на старый функционал, с датчиками DHT22 и DS1820, вроде все работает как надо! Проверил IK приемник, тоже работает нормально, правда после исправления известной ошибки. Там надо поменять строчку lastIRValue = results.value; это заменил на lastIRValue = (uint32_t)results.value; Проверил так же работу на платке ESP32-S2, без нареканий. Ну и конечно надо изменить ограничение по ножкам у датчиков вот тут constrain(value.toInt(), -1, 40); я поставил вместо 16 значение 40. Спасибо большое за проделанную Вами работу! Если у кого то не будет собираться прошивка, пишите, выложу старенькие надежные библиотеки для датчиков. И вопрос по размеру EEPROM , почему Вы поменяли 4096 на 1024, я не сильно копался в даташитах ESP32, там какие то ограничения ?
Пока тестировал IR порт случайно выловил "первородный" :-) косяк, с потерей данных при записи кода из HTML странички в память.... вот тут (поля данных кодов IR) irOn[id] = value.toInt(); irOff[id] = value.toInt(); надо поменять на value.toDouble(); Так как некоторые пульты дают длинный 32 битный код, а он при конвертации портится, если число больше чем 2147483647 (7FFFFFFF) Ну и ножки контроллера ESP32 лучше брать те, которые только на вход работают.
Добрый день! Спасибо за такую фундаментальную работу с отличными комментариями. Тестировал и заметил проблему. через несколько часов устройство с кодом демонстрационной программы перестает подключаться в серверу. в логах сервера видно. если позвонить, бросает трубку как положено после первого гудка, дергает ли диод не смотрел - еще не подключал , но топик не обновляет на сервере. Посылать обновление топика конфига- никак не реагирует. Если перезагрузить по питанию все нормально опять на некоторое время. не смотрел точно сколько часов... понаблюдаю с COM- портом.
Здравствуйте. Если в целом система ESP + SIM800 не повисла, то могут влиять внешние факторы. Под подозрением GSM оператор, который разрывает соединение. Т.к, GPRS соединение долго отрыто. Я тоже погоняю свою сборку.
@@padalkoalexey216 У меня уже 11 часов работает без сбоев. В вашем случае надо найти причину отвала MQTT. Если звонки и SMS работают, к ESP + SIM800 вопросов нет. Как радикальное средство можно и перезагружать ESP.
@@antonkozlenko6333 да спасибо большое! буду пробовать. может особенности брокера или оператора у меня МТС. я попробовал static uint32_t timeout; поменять до 10с. и периоды реконекта до 5-10 сек уменьшил. пробую.
Отправка и прием СМС это самое сложное. Работает все не зависимо. В примере я постарался снабдить код максимальным количеством комментариев и разнести функционал по файлам. В самом видео подробно рассказал, поэтому такое длинное получилось. Пример как основа, это не законченный проект, используйте только нужную часть. Если разберетесь с основным принципом взаимодействия с модемом, с остальным проблем не будет. С другой стороны во втором скетче, для готового устройства, вообще GPRS и MQTT можно не использовать и все будет работать.
Очень интересно! У меня вопрос по исходному скетчу Морозова, вы его смогли конвертировать для ESP32 ?! Я давно просил Алексея сделать версию для ESP32? но увы у него нет времени, а я не программист и при конвертировании версии 5.4 уперся в SPIFF память :-( Могли бы вы помочь с этой проблемой ? Думаю многим не хватает GPIO на умном реле ESP_Relay5_4 для esp8266...
Скетч конвертирован под ESP32 на 95%. Оставил как есть (т.к. не использовал) RTC memory, датчик освещенности, модуль часов, ИК-пульт. Это скорее всего работать не будет. Но оригинал оставлен в исходниках.
Я сравнил код с оригинальной, попробую что в нем работает на есп32, меня больше интересует будет ли Ваша запускаться без SIM800 ? У меня куча устройств на этой прошивке в "умном доме" ну и еще один проект очень нравится - ESPEasy, прошивки даже друг другом управляют по сетке :-)
Не компилится ни для ESP32 ни ESP8266 :-( Правда версия arduino у меня 1.8.19 но библиотек не просит... И обратил внимание, в примере видео 5 вкладок в проекте, а скачал по ссылке, там два головных файла Sim800_GSM_Contol и ESP32_GSMRelay5_31 и при загрузке проекта в IDE совсем другой комплект на компиляцию, такой же как у Морозова....
Так я вроде в комментариях все ссылки подписал. Что пример из видео (чему видео и посвящено), а что рабочее устройство (описано вкрадце в конце видео). Платформа ESP32 2.0.6, на arduino 1.8.15 у меня работает.
Доброго времени! Приложение "MQTT Dash". В описании под видео есть ссылки на статьи как настраивать это приложение. Спасибо автору этих статей, все очень подробно расписал.
Добрый день. Как показано в видео, это скетч для среды Arduino IDE. Я никаким отладчиком не пользуюсь. Вероятно другие среды имеют отладку, но они под другие МК (STM или еще что то). С этим я не работаю.
Скажите пожалуйста, вот эта манипуляция касается только ESP8266 ? /* !!!! При первой загрузе скетча в ESP32 необходимо ОТФОРМАТИРОВАТЬ SPIFFS Для этого установить FORMAT_SPIFFS_IF_FAILED true !!!! Потом исправить в false и загрузить скетч повторно !!!!! */ Почему я это спросил, не понял вот это место : #ifdef ESP8266 if (! readRTCmemory()) { _log->println(F("RTC memory is empty!")); } if (! SPIFFS.begin()) { _log->println(F("Unable to mount SPIFFS!")); } #else if (! SPIFFS.begin(FORMAT_SPIFFS_IF_FAILED)) { _log->println(F("Unable to mount SPIFFS!")); } #endif как бы применяется переменная только для ESP8266 ? Для ESP32 скетч собрался и заработал, а для 8266 почему то не собирается...вроде бы и пакет 2.4.2 пробовал...
Понятно. А исключить вариант с повторной загрузкой не получился ? Типа если spiffs до этого была не отформатирована , чтобы это делала прошивка при первом запуске...