Как кодировать неблокирующее соединение с Wifi в цикле () - PullRequest
0 голосов
/ 10 октября 2019

Я использую сорок ESP01, которые управляют сорока полосками. Я получаю к ним доступ через Wifi и Mqtt, чтобы упорядочить запуск.

К сожалению, световые паттерны прекращаются каждый раз, когда соединение теряется. Я слышал о неблокирующей связи и таймерах.

Как это сделать?

Вот соответствующая часть в моем цикле ():

    if (WiFi.status() != WL_CONNECTED)
    setup_wifi();


    if (!client.connected())
    connect_mqtt();

    client.loop();

Моя настройкаФункция Wi-Fi, также найдено это настройка () является

setup_wifi() {
  delay(10);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
  delay(200);
  }
  randomSeed(micros());
}

Моя функция подключения mqtt

void connect_mqtt()
{
  while (!client.connected()) {
    if(client.connect(clientID.c_str()))
  break;
  delay(10);
  }
client.subscribe("start");
client.subscribe(topicName.c_str());
client.publish("welcome", clientID.c_str());
}
...