Как предсказывать поведения wemos d1 mini?

Есть код:

#include <Arduino.h>
#include <mqtt/MQTTService.h>
#include <device/relay/Relay.h>

#define SSID "my ssid"
#define PASSWORD "password"
#define PORT 1883

#define HELLO_TOPIC "/device/new"
#define GOODBYE_TOPIC "/device/died"

const IPAddress brokerIp(192, 168, 68, 156);

MQTTService mqttService(SSID, PASSWORD, brokerIp, PORT);

Relay relay(D1);

void setup() {
    Serial.begin(9600);
    delay(1000);

    relay.setSerialNumber("relay-asf48ds6g5ad");

    mqttService.addCallback(strcat("/set/", relay.getSerialNumber()), [](char* payload, unsigned int length){
        Serial.println(length);
        Serial.println(payload);
    });


    mqttService.setup(relay.getSerialNumber(),
                      HELLO_TOPIC, relay.getHelloMessage(),
                      GOODBYE_TOPIC, relay.getGoodByeMessage());
}

void loop() {
    delay(1000);

    mqttService.loop();
}

В таком случае подключение работает нормально. Wemos пытается подключится к сети с SSID "my ssid". Но когда я меняю местами строки с определением Relay и MQTTService с такого порядка:

MQTTService mqttService(SSID, PASSWORD, brokerIp, PORT);

Relay relay(D1);

На такой:

Relay relay(D1);

MQTTService mqttService(SSID, PASSWORD, brokerIp, PORT);

То wemos пытается подключится уже к сети с SSID "d".

С чем может быть связана подобная проблема?


Ответы (0 шт):