NodeMCU продолжает отключаться

Я создал систему домашней автоматизации, состоящую из NodeMCU, 4-канальной релейной платы, работающей на Blynk, и IFTTT.

На данный момент я управляю только гирляндой гирлянд и двумя светодиодными лентами из нее, конечно, обе подключены к реле.

Единственный код, работающий на NodeMCU, — это автономный код Blynk ESP8266. Вот он (с необходимыми изменениями конечно) -

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// Вы должны получить токен авторизации в приложении Blynk.
// Перейти к настройкам проекта (значок гайки).
char auth[] = "YourAuthToken";

// Ваши учетные данные WiFi.
// Установить пароль на "" для открытых сетей.
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";

void setup()
{
  // Консоль отладки
  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);
  // Вы также можете указать сервер:
  //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
  //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);
}

void loop()
{
  Blynk.run();
  // Вы можете внедрить свой собственный код или комбинировать его с другими скетчами.
  // Посмотрите другие примеры того, как общаться с Blynk. Помнить
  // чтобы избежать функции delay()!
}

Дело в том, что NodeMCU автоматически случайным образом отключается от WiFi. Иногда он сразу переподключается, иногда вообще не переподключается, и мне приходится постоянно нажимать кнопку сброса, чтобы он снова заработал.

Это действительно раздражает, так как все, что я подключал к NodeMCU, также внезапно включается и пугает меня до чертиков.

С кодом все в порядке, питание стабильное (5 В 1 А), все кабели на месте, а NodeMCU спрятан в углу, где его никто не трогает. Я не могу понять, почему это происходит.

Есть какие-либо исправления для этого?

, 👍1

Обсуждение

версия ядра esp8266? попробуйте 2.4.2 или 2.5.2. это происходит только при переключении реле? хороший ли прием Wi-Fi в этом месте?, @Juraj

@Juraj NodeMCU находится буквально в 10 см от маршрутизатора. И нет, это происходит случайно. Для отключения нет шаблона или триггера. Не могли бы вы подробнее рассказать об основной вещи ESP?, @YaddyVirus

@Juraj У меня 2.5.2., @YaddyVirus

Я использую Blynk уже почти 2 года, и вчера он впервые внезапно отключился. так что это может быть временная проблема с облаком Blynk, @Juraj

@Юрай Нет. Это происходило со мной. Так было и в моем предыдущем проекте, @YaddyVirus

а вы пробовали пакет esp8266 версии 2.4.2?, @Juraj

в моих проектах с esp8266 у меня были проблемы только с серверами на esp8266 (известная проблема SDK), но клиенты работали хорошо, @Juraj


1 ответ


1

У меня была такая же проблема с ESP8266 NodeMCU-12E с использованием Cayenne в прошлом. Он прерывал соединение без видимой причины, но, несмотря ни на что, большую часть времени он никогда не восстанавливал соединение до сброса. Вот что я сделал:

CAYENNE_DISCONNECTED(){
  Serial.println(F("Cayenne disconnected, rebooting..."));
  ESP.restart();
}

Я никогда раньше не использовал Blynk, но после беглого просмотра могу сделать то же самое (не проверено):

if (! Blynk.connected){
  Serial.println(F("Blynk disconnected, rebooting..."));
  ESP.restart();
}

Он эффективно перезагружает блок ESP, если соединение с Blynk по какой-либо причине прерывается.

,

Просто примечание: в моем случае мой ESP просто опрашивал Arduino Metro Mini через последовательное соединение (используя пару Ethernet-кабеля Cat-5) внутри моей водоочистной установки, а затем отправлял эти данные через Wi-Fi в мою сеть. внутри моего дома. Я хочу сказать, что мне никогда не приходилось беспокоиться о состоянии контактов или о чем-либо после перезагрузки. Может потребоваться больше внимания, если ваш ESP находится в важном цикле, выполняя сенсорную или другую работу, а не только передачу информации или другие основные/некритические задачи., @stevieb

Мой ESP автоматически перезагружается после разрыва соединения. Проблема в том, что всякий раз, когда это происходит, включаются все устройства, подключенные к ESP. Следовательно, я не хочу, чтобы он вообще разрывал соединение, @YaddyVirus