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

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
Dimm
Рядовой
Сообщения: 15
Зарегистрирован: 29 ноя 2018, 16:56
Имя: Дмитрий

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

Сообщение Dimm »

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

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

Сообщение Anydy »

Этот блок пока не подключится к GPRS и к MQTT брокеру дальше Setup-а не идет выполнение программы
И для работы в загрузчике Ардуино должен поддерживаться Wathdog.
Dimm
Рядовой
Сообщения: 15
Зарегистрирован: 29 ноя 2018, 16:56
Имя: Дмитрий

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

Сообщение Dimm »

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

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

Сообщение Anydy »

Логика такая -
При старте ардуино сначала соединяется с модулем SIM800, затем ждет пока установится GPRS соединение, затем ждет пока установится связь с MQTT брокером и стартует основной цикл программы. При пропадании какого либо соединения (GPRS, MQTT) автоматически происходит переподключение. WatchDog следит за зависанием Ардуино - если при выполнении программы в течении 4 секунд не произошел сброс Watchdog таймера (значит зависло) - происходит ресет Ардуино.
Dimm
Рядовой
Сообщения: 15
Зарегистрирован: 29 ноя 2018, 16:56
Имя: Дмитрий

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

Сообщение Dimm »

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

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

Сообщение Anydy »

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

Вернуться в «Спросить у знатоков»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей