-
Notifications
You must be signed in to change notification settings - Fork 12
Метеостанция - wdt reset! #13
Comments
Добрый день, Как вариант, добавьте временно сброс до заводских настроек первой строкой в setup, а после сброса удалите
|
Фантастика! Без этой подсказки - я бы еще долго кувыркался. Успехов! |
Спасибо, и вам |
Подскажите, пожалуйста, в какую библиотеку входит функция factoryReset()? |
Она прямо в коде main.cpp https://github.com/kumekay/kuhomon/blob/master/src/main.cpp#L104-L109 |
Спасибо! |
В метеостанции на основе скрипта kumekay с датчиком температуры и влажности DHT22, датчиком содержания CO2 MH-Z19 и отправкой данных на Blynk зависают показания MH-Z19, при этом, значения температуры и влажности отправляются на сервер Блинка нормально. После перезагрузки устройства информация с MH-Z19 снова нормально отправляется на Блинк и читается на экране 128*64 какое-то время, затем снова показания с MH-Z19 "замерзают". |
Вам нужно дожидаться начала пакета данных от сенсора. Либо скопируйте из моего кода |
Использовал вашу функцию readCO2() в целом. К сожалению, положительного результата не добился - метеостанция работает не более 3 часов без перезагрузки. На мой взгляд, условие поиска старта пакета по сути похоже на проверку контр. суммы. |
Думаю, что где-то течет память. Может в моем коде (что вероятнее), может в библиотеках. Нужно будет повнимательнее мне глянуть |
Прошу прощения, но я заблуждался, поверив то, что решение найдено после 24 часов работы простого скетча, в котором разнесено считывание с датчика и отправка на сервер, датчик Сейчас отформатировал память модуля и загрузил простой скетч, который раньше проработал сутки. После нескольких ресетов (откл/вкл питания) скетч работает 6 часов. Перед этим после каждого ресета скетч работал 0,5...1 час. Буду ждать очередного зависания, но то, что проблема не в коде метеостанции - это очевидно. К тому же, судя по скринам в статье, метеостанция беспрерывно проработала по крайней мере 10 суток. Ниже код загруженного скетча. Вас в нем ничего не настораживает?
|
Код выглядит в порядке. Может что-то из библиотек? |
В свое время я с благодарностью воспользовался советом kumekay и ввел дополнительно несколько переменных, которые можно задать через Wi-Fi - по аналогии, например, с переменной blynk_token в скетче метеостанции. Скетчи с новыми переменными успешно работали.
Потом я занялся подключением других датчиков в схему метеостанции, но после возврата к старым скетчам выяснилось, что они не работают. После загрузки в ESP - wdt reset.
В Инете прочитал, что причиной сообщения wdt reset могут быть:
Два последних пункта отпадают - скетчи раньше работали.
В приложении - код метеостанции с добавлением новой переменной address.
В скетче я минимизировал количество переменных, чтобы уменьшить загрузку памяти. Глобальные переменные используют 39972 байт (48%) динамической памяти, оставляя 41948 байт для локальных переменных.
На мой взгляд, наиболее вероятной причиной этой проблемы является автообновление библиотек в Arduino IDE, которое остановил с опозданием.
Я, конечно, тестировал скетч со старыми версиями некоторых библиотек, но как только расскомметирую строку 267: strcpy(address, json["address"]) то все то же - wdt reset. Как выйти на работающую комбинацию библиотек? - не представляю (если причина в комбинации).
Ниже - информация с монитора Arduino IDE при загрузке проблемного скетча. Возможно она что-то прояснит.
Помогите решить проблему.
*WM: Adding parameter
*WM: blynk_token
*WM: Adding parameter
*WM: address
*WM:
*WM: AutoConnect
*WM: Connecting as wifi client...
*WM: Using last saved values, should be faster
*WM: Connection result:
*WM: 3
*WM: IP Address:
*WM: 192.168.1.100
WiFi connected
IP address: 192.168.1.100
Load config...
Exception (28):
epc1=0x4000bf0e epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000
ctx: cont
sp: 3fff1010 end: 3fff1310 offset: 01a0
ets Jan 8 2013,rst cause:2, boot mode:(1,3)
ets Jan 8 2013,rst cause:4, boot mode:(1,3)
wdt reset
The text was updated successfully, but these errors were encountered: