nodemcu перезагружается каждые 15-40 мин

Ответить
Аватара пользователя
Ageres
Рядовой
Сообщения: 6
Зарегистрирован: 08 мар 2024, 15:57
Имя: Сергей
Благодарил (а): 3 раза

nodemcu перезагружается каждые 15-40 мин

Сообщение Ageres »

здравствуйте, уважаемые Знатоки ФЛпрог!
после нескольких удачных поделок на ардуино, решил замахнуться на проект умного дома. Все работает, но есть одно болшое "НО".
выключается самопроизвольно свет, сначала думал проблема в программе, но в журнале работы wqtt видно что идет переподключение.
с некоторой периодичностью, "4 SPALNYA" это нодемсю, которая вылетает.
журнал работы wqtt.jpg
проект состоит из нодемсю+ардуМега(п, реле, платы оптопар, рс 485 для связи между удаленными платами ардуино.
нодемсю принимает с WQTT и отправляет по модбасу в мегу и соответсвенно из меги по модбасу обрадно через нодемсю в WQTT
соединение мега/нодемсю 19-(ТХ), 18-(RX) (D1) DE/PE не использовал.
проект флпрог нодемсю:
щ4 спа нодемсю 23 форум.flp
пробовал сгруппировать паб и саб, результат тот же:
щ4 спа нодемсю 23_разделил паб и саб форум.flp
при сокращении количества паб и саб. работает нормально
подскажите пожалуйста в каком направлении дейсвовать?
проект для меги не могу приложить, 8,2мб
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2473
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 10 раз
Поблагодарили: 40 раз

Re: nodemcu перезагружается каждые 15-40 мин

Сообщение Dryundel »

Ageres писал(а): 01 июл 2025, 22:15 при сокращении количества паб и саб. работает нормально
подскажите пожалуйста в каком направлении дейсвовать?
проект для меги не могу приложить, 8,2мб
Сам спросил, сам же практически и ответил. :)
Проблема в вашей "нодемсю".
ESP8266 - одноядерный процессор. И Wi-Fi и MQTT крутятся на этом одном ядре. При увеличении топиков увеличивается и время цикла, ну и на каком то пределе Wi-Fi виснет и ребутит девайс.
Как вариант - переходить на ESP32.

До кучи эту тему посмотрите - ESP 8266 перезагружается каждые 45 минут((
slsl
Лейтенант
Сообщения: 313
Зарегистрирован: 08 дек 2021, 22:41
Имя: Вячеслав
Благодарил (а): 16 раз
Поблагодарили: 49 раз

Re: nodemcu перезагружается каждые 15-40 мин

Сообщение slsl »

Попробуйте уменьшить количество блоков. Например, практически все блоки Pub можно заменить на один - загнать все ваши переменные в одну строку Json блоком сложения строк.
А Sub - загоните ваши булевские переменные в биты, т.е. одной посылкой байта передавать 8 переменных (побитно), блоками Mux, Demux.
Аватара пользователя
Phazz
Полковник
Сообщения: 3169
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 239 раз
Поблагодарили: 128 раз

Re: nodemcu перезагружается каждые 15-40 мин

Сообщение Phazz »

Следите за утечкой памяти
Аватара пользователя
Ageres
Рядовой
Сообщения: 6
Зарегистрирован: 08 мар 2024, 15:57
Имя: Сергей
Благодарил (а): 3 раза

Re: nodemcu перезагружается каждые 15-40 мин

Сообщение Ageres »

slsl писал(а): 02 июл 2025, 06:47 Попробуйте уменьшить количество блоков. Например, практически все блоки Pub можно заменить на один - загнать все ваши переменные в одну строку Json блоком сложения строк.
А Sub - загоните ваши булевские переменные в биты, т.е. одной посылкой байта передавать 8 переменных (побитно), блоками Mux, Demux.
не совсем понял, а как это зашифровать\расшифровать на стороне wqtt. (mqtt брокера). я когда создаю там допустим люстру, указываю топик.
а брокер отсылает сообщения по одному
Аватара пользователя
Dryundel
Полковник
Сообщения: 2473
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 10 раз
Поблагодарили: 40 раз

Re: nodemcu перезагружается каждые 15-40 мин

Сообщение Dryundel »

Phazz писал(а): 02 июл 2025, 07:33 Следите за утечкой памяти
Сэр. Не говорите в приличном обществе всякие программерские словечки. :D
Ну или ликбез напишите по данной теме.
Аватара пользователя
Ageres
Рядовой
Сообщения: 6
Зарегистрирован: 08 мар 2024, 15:57
Имя: Сергей
Благодарил (а): 3 раза

Re: nodemcu перезагружается каждые 15-40 мин

Сообщение Ageres »

Phazz писал(а): 02 июл 2025, 07:33 Следите за утечкой памяти
что значит утечка памяти? вы имеете ввиду заполнение памяти есп программой?
Variables and constants in RAM (global, static), used 31688 / 80192 bytes (39%)
║ SEGMENT BYTES DESCRIPTION
╠══ DATA 1720 initialized variables
╠══ RODATA 1480 constants
╚══ BSS 28488 zeroed variables
. Instruction RAM (IRAM_ATTR, ICACHE_RAM_ATTR), used 60375 / 65536 bytes (92%)
║ SEGMENT BYTES DESCRIPTION
╠══ ICACHE 32768 reserved space for flash instruction cache
╚══ IRAM 27607 code in IRAM
. Code in flash (default, ICACHE_FLASH_ATTR), used 275584 / 1048576 bytes (26%)
║ SEGMENT BYTES DESCRIPTION
╚══ IROM 275584 code in flash

скажите это уже заполнена память?
Аватара пользователя
Phazz
Полковник
Сообщения: 3169
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 239 раз
Поблагодарили: 128 раз

Re: nodemcu перезагружается каждые 15-40 мин

Сообщение Phazz »

Ageres писал(а): 02 июл 2025, 09:01
slsl писал(а): 02 июл 2025, 06:47 Попробуйте уменьшить количество блоков. Например, практически все блоки Pub можно заменить на один - загнать все ваши переменные в одну строку Json блоком сложения строк.
А Sub - загоните ваши булевские переменные в биты, т.е. одной посылкой байта передавать 8 переменных (побитно), блоками Mux, Demux.
не совсем понял, а как это зашифровать\расшифровать на стороне wqtt. (mqtt брокера). я когда создаю там допустим люстру, указываю топик.
а брокер отсылает сообщения по одному
WQTT умеет парсить json
https://www.wqtt.ru/doc/json-path-dlya-datchikov/
Аватара пользователя
montirovka
Капитан
Сообщения: 770
Зарегистрирован: 15 фев 2021, 16:16
Откуда: Геленджик
Имя: Сергей
Благодарил (а): 50 раз
Поблагодарили: 178 раз

Re: nodemcu перезагружается каждые 15-40 мин

Сообщение montirovka »

Phazz писал(а): 02 июл 2025, 07:33 Следите за утечкой памяти
Набрал с интернете что такое Утечка памяти.
Это жжжжж не с проста. Я понял что это заполнение памяти мусором.
Аватара пользователя
Ageres
Рядовой
Сообщения: 6
Зарегистрирован: 08 мар 2024, 15:57
Имя: Сергей
Благодарил (а): 3 раза

Re: nodemcu перезагружается каждые 15-40 мин

Сообщение Ageres »

12.jpg
с есп32 тоже траблы какие то
флпрог 752
подскажите в какой версии фл прог сделать mqtt и modbas
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Ageres
Рядовой
Сообщения: 6
Зарегистрирован: 08 мар 2024, 15:57
Имя: Сергей
Благодарил (а): 3 раза

Re: nodemcu перезагружается каждые 15-40 мин

Сообщение Ageres »

slsl писал(а): 02 июл 2025, 06:47 Попробуйте уменьшить количество блоков. Например, практически все блоки Pub можно заменить на один - загнать все ваши переменные в одну строку Json блоком сложения строк.
А Sub - загоните ваши булевские переменные в биты, т.е. одной посылкой байта передавать 8 переменных (побитно), блоками Mux, Demux.
может есть какие нибудь примеры этого джейсона?
почитал, ничего не понял. не программист я
slsl
Лейтенант
Сообщения: 313
Зарегистрирован: 08 дек 2021, 22:41
Имя: Вячеслав
Благодарил (а): 16 раз
Поблагодарили: 49 раз

Re: nodemcu перезагружается каждые 15-40 мин

Сообщение slsl »

Ageres писал(а): 02 июл 2025, 21:05
slsl писал(а): 02 июл 2025, 06:47 Попробуйте уменьшить количество блоков. Например, практически все блоки Pub можно заменить на один - загнать все ваши переменные в одну строку Json блоком сложения строк.
А Sub - загоните ваши булевские переменные в биты, т.е. одной посылкой байта передавать 8 переменных (побитно), блоками Mux, Demux.
может есть какие нибудь примеры этого джейсона?
почитал, ничего не понял. не программист я
1.png
Блок сложения строк - формирует строку Json. По аналогии можете напихать в него нужное количество переменных. В названиях полей не должно быть пробелов.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Ageres
Рядовой
Сообщения: 6
Зарегистрирован: 08 мар 2024, 15:57
Имя: Сергей
Благодарил (а): 3 раза

Re: nodemcu перезагружается каждые 15-40 мин

Сообщение Ageres »

Блок сложения строк - формирует строку Json. По аналогии можете напихать в него нужное количество переменных. В названиях полей не должно быть пробелов.
[/quote]

Благодарю!. практически разобрался, только слэш не надо ставить, добился, что отправляя вручную из вэбсокета джейсон- строку
WQTT меня понимает и разделяет по полочкам
14.jpg
15.jpg
16.jpg
осталось дело за малым, сложить строки в нодемсю.

ВОТ ТОЛЬКО ВОПРОС!!! а обратно КАК? (на стороне брокера сложить в строку JSON), или брокер WQTT этого не может?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Phazz
Полковник
Сообщения: 3169
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 239 раз
Поблагодарили: 128 раз

Re: nodemcu перезагружается каждые 15-40 мин

Сообщение Phazz »

Слэш нужно ставить, чтобы не было ошибок компиляции в Arduino IDE
Ответить

Вернуться в «Помогите, а то я "нимагу"»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя