проблема при коннекте 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, то опять все нормально. Также если сетевой провод бп передернуть, не работает. Если штекер, который идет с бп в ардуино, то работает.