проблема при коннекте PubSubClient
- Войдите на сайт для отправки комментариев
Втр, 23/01/2018 - 22:54
Если плата ардуино соединена по usb с компьютером, все работает, как нужно. А если отсоединить usb, то при соединении mqtt(25 строка), ардуино виснет и срабатывает ватчдог. Как буд-то не срабатывает таймаут подключения. в PubSubClient.h изменен таймаут на 3с.
Arduino mega2560
загружен такой скетч:
#include <PubSubClient.h> #include <Ethernet.h> #include <avr/wdt.h> #define mqtt_server "m21.cloudmqtt.com" #define mqtt_port 17541 byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xEE }; byte ip[] = { 192, 168, 1, 36 }; bool cpLoop = false; unsigned long clientpub_connected = 0; EthernetClient client; PubSubClient clientpub((mqtt_server, mqtt_port, client)); void setup() { wdt_enable(WDTO_8S); Ethernet.begin(mac, ip); } void loop() { cpLoop = clientpub.loop(); if ((millis() - clientpub_connected) > 10000 && !cpLoop) { clientpub.connect("home"); clientpub_connected = millis(); } wdt_reset(); }
Может кто-нибудь сталкивался с данной проблемой?
и если перезагрузить плату с кнопки reset, то опять все нормально. Также если сетевой провод бп передернуть, не работает. Если штекер, который идет с бп в ардуино, то работает.