• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Зависание Wi-Fi модуля ESP-07

manizzz

New member
Добрый день.

Странные дела творятся с модулем ESP-07. ESP-07 работает как ETHERNET Modbus Server, считывает значение PIN5. Это реализовано с помощью библиотеки ModbusIP_ESP8266, а подключение к сети с помощью WifiManager. Вот код
Код:
#ifdef ESP8266
 #include <ESP8266WiFi.h>
#else //ESP32
 #include <WiFi.h>
#endif
#include <DNSServer.h>
#include <ESP8266WebServer.h>
#include <WiFiManager.h>         //https://github.com/tzapu/WiFiManager
#include <ModbusIP_ESP8266.h>

//Modbus Registers Offsets
const int SWITCH_ISTS = 100;
//Used Pins
const int switchPin = 5; //GPIO5

WiFiManager wifiManager;
//ModbusIP object
ModbusIP mb;

void setup() {

    wifiManager.autoConnect("IBC110SRV");
    //Config Modbus IP
    mb.server();
    //Set ledPin mode
    pinMode(switchPin, INPUT);
    // Add SWITCH_ISTS register - Use addIsts() for digital inputs
    mb.addIsts(SWITCH_ISTS);
}

void loop() {
   //Call once inside loop() - all magic here
   mb.task();

   //Attach switchPin to SWITCH_ISTS register
   mb.Ists(SWITCH_ISTS, digitalRead(switchPin));
   //Serial.print(digitalRead(switchPin));
   delay(10);
}
Проблема в следующем, по истечении временного отрезка неопределенной длины перестает пинговаться модуль ESP-07. После перезагрузки роутера соединение поднимается.
Роутер TP-Link TL-MR3220 v1 на прошивке LEDE Reboot 17.01.5 r3919-38e704be71 / LuCI lede-17.01 branch (git-18.180.55366-b78664c)
Пробовал другой роутер, период пинга увеличивается, но по итогу все равно соединение падает, до следующей перезагрузки.
 

Сергей Ш

New member
Добрый день.

Странные дела творятся с модулем ESP-07. ESP-07 работает как ETHERNET Modbus Server, считывает значение PIN5. Это реализовано с помощью библиотеки ModbusIP_ESP8266, а подключение к сети с помощью WifiManager. Вот код
Код:
#ifdef ESP8266
#include <ESP8266WiFi.h>
#else //ESP32
#include <WiFi.h>
#endif
#include <DNSServer.h>
#include <ESP8266WebServer.h>
#include <WiFiManager.h>         //https://github.com/tzapu/WiFiManager
#include <ModbusIP_ESP8266.h>

//Modbus Registers Offsets
const int SWITCH_ISTS = 100;
//Used Pins
const int switchPin = 5; //GPIO5

WiFiManager wifiManager;
//ModbusIP object
ModbusIP mb;

void setup() {

    wifiManager.autoConnect("IBC110SRV");
    //Config Modbus IP
    mb.server();
    //Set ledPin mode
    pinMode(switchPin, INPUT);
    // Add SWITCH_ISTS register - Use addIsts() for digital inputs
    mb.addIsts(SWITCH_ISTS);
}

void loop() {
   //Call once inside loop() - all magic here
   mb.task();

   //Attach switchPin to SWITCH_ISTS register
   mb.Ists(SWITCH_ISTS, digitalRead(switchPin));
   //Serial.print(digitalRead(switchPin));
   delay(10);
}
Проблема в следующем, по истечении временного отрезка неопределенной длины перестает пинговаться модуль ESP-07. После перезагрузки роутера соединение поднимается.
Роутер TP-Link TL-MR3220 v1 на прошивке LEDE Reboot 17.01.5 r3919-38e704be71 / LuCI lede-17.01 branch (git-18.180.55366-b78664c)
Пробовал другой роутер, период пинга увеличивается, но по итогу все равно соединение падает, до следующей перезагрузки.

Попробуйте без библиотеки WifiManager. Я перестал ей пользоваться, потому, что вначале она работает нормально, потом начинает дурковать. Устройство в сети есть, а не работает. Да и чтобы после нее ESP8266 нормально заработало, приходилось стирать его до AT-команд. WifiManager что-там в EEPPROM делает.
 

manizzz

New member
Попробуйте без библиотеки WifiManager. Я перестал ей пользоваться, потому, что вначале она работает нормально, потом начинает дурковать. Устройство в сети есть, а не работает. Да и чтобы после нее ESP8266 нормально заработало, приходилось стирать его до AT-команд. WifiManager что-там в EEPPROM делает.
Добрый день. Спасибо, за совет, обязательно попробую.
 
Сверху Снизу