проблема при коннекте PubSubClient

dumahism
Offline
Зарегистрирован: 01.08.2017

Если плата ардуино соединена по 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();
}

Может кто-нибудь сталкивался с данной проблемой?

dumahism
Offline
Зарегистрирован: 01.08.2017

и если перезагрузить плату с кнопки reset, то опять все нормально. Также если сетевой провод бп передернуть, не работает. Если штекер, который идет с бп в ардуино, то работает.