Страница 1 из 1

Конфликт п/блоков

Добавлено: 09 дек 2018, 12:09
Dimm
Приветствую! Имеется явление: при добавлении к проекту, блока MQTT+SIM800, отрубается все. По крайней мере дисплей 0,96I2C не работает и не реагируют кнопки на переключение меню, не работает генератор. Подозреваю, что этот блок что то где-то перекрывает, но т.к. пока ничего в коде не понимаю, найти причину не могу. Прошу помощи!

Конфликт п/блоков

Добавлено: 09 дек 2018, 13:20
Anydy
Этот блок пока не подключится к GPRS и к MQTT брокеру дальше Setup-а не идет выполнение программы
И для работы в загрузчике Ардуино должен поддерживаться Wathdog.

Конфликт п/блоков

Добавлено: 09 дек 2018, 15:19
Dimm
Anydy писал(а): 09 дек 2018, 13:20 Этот блок пока не подключится к GPRS и к MQTT брокеру дальше Setup-а не идет выполнение программы
И для работы в загрузчике Ардуино должен поддерживаться Wathdog.
Я правильно понимаю логику..?
Включается ардуино с csim800, идет инициализация и подключение sim800, когда подключение произошло watchdog перезагружает ардуино, при следующей загрузке ардуино видит коннект модуля и продолжает цикл загрузки остального кода. Т.е. теоретически если резетнуть ардуино руками, после того как sim800 подключилось, все пойдет по плану? (сейчас не могу проэксперементировать т.к. "конструкции" нет под руками)

Конфликт п/блоков

Добавлено: 09 дек 2018, 16:13
Anydy
Логика такая -
При старте ардуино сначала соединяется с модулем SIM800, затем ждет пока установится GPRS соединение, затем ждет пока установится связь с MQTT брокером и стартует основной цикл программы. При пропадании какого либо соединения (GPRS, MQTT) автоматически происходит переподключение. WatchDog следит за зависанием Ардуино - если при выполнении программы в течении 4 секунд не произошел сброс Watchdog таймера (значит зависло) - происходит ресет Ардуино.

Конфликт п/блоков

Добавлено: 09 дек 2018, 17:23
Dimm
Вроде бы что-то проясняется..
Если я правильно понял, нужно просто подождать, когда произойдет подключение к брокеру, тогда и заработает остальная программа, и включиться дисплей.. и все остальное? А вочдог только для стабильности и так сказать автономности?

Конфликт п/блоков

Добавлено: 09 дек 2018, 19:19
Anydy
Dimm писал(а): 09 дек 2018, 17:23нужно просто подождать, когда произойдет подключение к брокеру, тогда и заработает остальная программа, и включиться дисплей.. и все остальное?
Да, пока не будет подключения к брокеру - другое ничего не будет работать ...Ватчдог для перезагрузки контроллера в случае зависания, работает на загрузчике Optiboot, вроде на Uno R3 тоже должен, если загрузчик не поддерживает Watchdog, то Ардуино уйдет в бесконечную перезагрузку, придется перешивать загрузчик через программатор или другую Ардуино
В общем Whatchdog можно отключить убрав соответствующие строки в блоке.
Ну и все таки это пример - разработка ПБ!