Модуль NodeMCU V3 ESP8266 (CH340).
MAC: xxxxxxxxxxx
ID Chip: xxxxxxxxxxx
FlyMon IP: 163.172.190.222
Narodmon IP: 94.142.140.101
Narodmon answer: OK
Last sms text:
maildata(0):
Last reset
Len mem config 1040
Error CRC count DS18B20 26
safe mode 0
Wi-fi reconnect 2.
Wi-fi mode 1
SDK ver 130
Flash set size: 4096 kb.
Flash real size: 4096 kb.
Load: user1.bin
rssi -82 dBm
В прошивке включены: 1-wire DS18B20, DHT 11/21/22, Внутренний ADC (АЦП), narodmon.ru, flymon.net, Virtual SENS, Email уведомления(без SSL), SMS/Email шаблоны, Время и NTP, Датчики GET запросом, Поддержка календаря, Web KEY, GPIO, Конструктор кода, Конструктор main page 2.
В конструкторе кода массивы не используются, сам код достаточно простой - опрос температуры котла (3 датчика DS18B20) и включение насосов (2 GPIO), опрос двух DHT21, опрос через ADC гигрометра (питание на гигрометр для уменьшения деградации электродов из-за электролиза подаю через GPIO только в момент опроса) и включение капельного полива. Второй ESP раз в минуту опрашивает устройство через GET запрос.
Проблема заключается в следующем - при старте количество свободной памяти около 25000 байт, затем через пару часов, количество свободной памяти резко уменьшается и устройство начинает тупить, не отвечать по WEB.
Пришлось в коде дописать "костыль" - if (system_get_free_heap_size()<min_free_mem) {system_restart();} где min_free_mem=14000.
В чем может заключаться проблема утечки памяти? В других устройствах такого не замечается, у меня их восемь штук и везде использую Конструктор кода.