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

WiFi Watchdog

pvvx

Активный участник сообщества
Не гоните на ардуино, работает подолгу без подвисаний, но есть нюанс, это когда она не видна из интернета напрямую.
А вот если на нее ломится весь интернет, тут да и недели не выдержит.
Не только - если передать синхро-сигнал с уходом частоты, то ESP8266 зависнет наглухо.
Вот есть другая беда - если настройки не правильно выставил и нажал перезагрузить, а роутер за 150 км?
Тогда как? "Нажимание" кнопки сброса не поможет...
Тут и "соседка", если оставили ключи, не поможет.
И включить плату с Linux, которая перезапишет установки роутера, тоже не выйдет, т.к. она от Zigbee розетки запитана, а связь с сетью ку-ку...
 

CodeNameHawk

Moderator
Команда форума
роутеры без перезагрузок
Так я поддержку напрягал, после того как на мое замечание на нестабильный интернет, они посоветовали перегрузить роутер,
отстали с такими предложениями на вопрос как его перегрузить не находясь возле него.
Не вижу необходимости перегружать роутер и так нормально работает.
а роутер за 150 км?
Так тс и хочет, что бы сам перегрузился если не проходит пинг, о другом пока речи и не было.
 

pvvx

Активный участник сообщества
А на sdk idf не повиснет?
Не знаю. На "современном" не пробовал. Есть ли там ошибки в дровах RF....

Бюджетных выходов вижу только два:
1. Резервный канал, который тоже может отваливаться.
2. Поставить платку с Linux c политикой типа OpenWRT (только чтение основного носителя и в исключительных случаях запись). Прописать разными скриптами и всё будет ok.

Второй вариант будет дешевле, т.к. платить за второй канал невыгодно и он тоже может шалить.
 

CodeNameHawk

Moderator
Команда форума
Не знаю. На "современном" не пробовал.
Тогда причем тут ардуино.

Бюджетных выходов вижу только два:
Вариант на есп вполне пригоден.
Проверил пинг, если нет подождал некоторое время - проверил - нет пинга перезагрузил роутер.
Проще некуда.
 

pvvx

Активный участник сообщества
Тогда причем тут ардуино.
По причине неконтролируемого heap + C++.
На нативе с только Си вы сами можете задать политику использования heap. На С++ тоже, но только используя синтаксис без каких либо выделений динамической памяти...
 

pvvx

Активный участник сообщества
Проверил пинг, если нет подождал некоторое время - проверил - нет пинга перезагрузил роутер.
Проще некуда.
И установки роутера могут слететь. Кто его знает как там писали софт по проблеме записи в его Flash...
Вам же просто - напишите на Arduino прогу коммутации через несколько секунд питания вашего роутера и отпишитесь - умер или нет :)
 

CodeNameHawk

Moderator
Команда форума
Если работает, а так и есть, не трогай, мне подходит, другие пусть решают сами.
Если не ошибаюсь, то поддержкой есп в ардуино занимается сама espressif, можно ей доверять.
И установки роутера могут слететь.
Наверное могут, но я пока такого не встречал.
 

pvvx

Активный участник сообщества
@CodeNameHawk - Специально для вас выписал, сколько раз обрывалась связь с розетками Tuya на ESP8266 за время текущего сеанса HA.
Код:
2024-01-18 16:16:57.035 WARNING (MainThread) [custom_components.localtuya.common] [bfa...1de] Failed to connect to 192.168.2.59: [Errno 110] Connect call failed ('192.168.2.59', 6668)

2024-01-19 09:51:50.475 WARNING (MainThread) [custom_components.localtuya.common] [bf4...u9u] Failed to connect to 192.168.2.23: [Errno 110] Connect call failed ('192.168.2.23', 6668)

2024-01-19 10:43:28.076 WARNING (MainThread) [custom_components.localtuya.common] [bf3...oqe] Failed to connect to 192.168.2.62: [Errno 110] Connect call failed ('192.168.2.62', 6668)

2024-01-20 01:34:36.236 WARNING (MainThread) [custom_components.localtuya.common] [bfa...1de] Failed to connect to 192.168.2.59: [Errno 110] Connect call failed ('192.168.2.59', 6668)

2024-01-20 05:37:58.476 WARNING (MainThread) [custom_components.localtuya.common] [bf7...bg4] Failed to connect to 192.168.2.8: [Errno 110] Connect call failed ('192.168.2.8', 6668)

2024-01-20 12:25:56.155 WARNING (MainThread) [custom_components.localtuya.common] [bfa...1de] Failed to connect to 192.168.2.59: [Errno 113] Connect call failed ('192.168.2.59', 6668)

2024-01-20 22:14:40.636 WARNING (MainThread) [custom_components.localtuya.common] [bf7...bg4] Failed to connect to 192.168.2.8: [Errno 113] Connect call failed ('192.168.2.8', 6668)

2024-01-20 22:15:00.877 WARNING (MainThread) [custom_components.localtuya.common] [bf7...bg4] Failed to connect to 192.168.2.8: [Errno 113] Connect call failed ('192.168.2.8', 6668)

2024-01-20 22:15:30.877 WARNING (MainThread) [custom_components.localtuya.common] [bf7...bg4] Failed to connect to 192.168.2.8: [Errno 113] Connect call failed ('192.168.2.8', 6668)

2024-01-21 06:05:01.517 WARNING (MainThread) [custom_components.localtuya.common] [bf7...bg4] Failed to connect to 192.168.2.8: [Errno 110] Connect call failed ('192.168.2.8', 6668)

2024-01-22 00:51:56.236 WARNING (MainThread) [custom_components.localtuya.common] [bf7...bg4] Failed to connect to 192.168.2.8: [Errno 110] Connect call failed ('192.168.2.8', 6668)

2024-01-22 06:12:47.436 WARNING (MainThread) [custom_components.localtuya.common] [bf7...bg4] Failed to connect to 192.168.2.8: [Errno 110] Connect call failed ('192.168.2.8', 6668)

2024-01-22 13:39:51.116 WARNING (MainThread) [custom_components.localtuya.common] [bf7...bg4] Failed to connect to 192.168.2.8: [Errno 110] Connect call failed ('192.168.2.8', 6668)

2024-01-23 00:30:24.557 WARNING (MainThread) [custom_components.localtuya.common] [bfa...1de] Failed to connect to 192.168.2.59: [Errno 113] Connect call failed ('192.168.2.59', 6668)

2024-01-23 00:31:24.637 WARNING (MainThread) [custom_components.localtuya.common] [bfa...1de] Failed to connect to 192.168.2.59: [Errno 113] Connect call failed ('192.168.2.59', 6668)

2024-01-23 01:55:10.156 WARNING (MainThread) [custom_components.localtuya.common] [bf4...u9u] Failed to connect to 192.168.2.23: [Errno 110] Connect call failed ('192.168.2.23', 6668)



2024-01-23 08:04:55.115 WARNING (MainThread) [custom_components.localtuya.common] [bf3...oqe] Failed to connect to 192.168.2.62: [Errno 110] Connect call failed ('192.168.2.62', 6668)

2024-01-23 11:39:21.602 WARNING (MainThread) [custom_components.localtuya.common] [bf4...uo5] Failed to connect to 192.168.2.74: [Errno 113] Connect call failed ('192.168.2.74', 6668)

2024-01-23 11:39:30.236 WARNING (MainThread) [custom_components.localtuya.common] [bf4...uo5] Failed to connect to 192.168.2.74: [Errno 113] Connect call failed ('192.168.2.74', 6668)

2024-01-23 16:30:00.401 WARNING (MainThread) [custom_components.localtuya.common] [bf7...bg4] Failed to connect to 192.168.2.8: [Errno 110] Connect call failed ('192.168.2.8', 6668)

2024-01-23 22:58:44.475 WARNING (MainThread) [custom_components.localtuya.common] [bfa...1de] Failed to connect to 192.168.2.59: [Errno 113] Connect call failed ('192.168.2.59', 6668)

2024-01-24 03:37:18.795 WARNING (MainThread) [custom_components.localtuya.common] [bfa...1de] Failed to connect to 192.168.2.59: [Errno 110] Connect call failed ('192.168.2.59', 6668)

2024-01-24 08:51:45.995 WARNING (MainThread) [custom_components.localtuya.common] [bf3...oqe] Failed to connect to 192.168.2.62: [Errno 110] Connect call failed ('192.168.2.62', 6668)

2024-01-24 15:08:52.558 WARNING (MainThread) [custom_components.localtuya.common] [bf4...u9u] Failed to connect to 192.168.2.23: [Errno 113] Connect call failed ('192.168.2.23', 6668)

2024-01-24 15:09:52.570 WARNING (MainThread) [custom_components.localtuya.common] [285...876] Failed to connect to 192.168.2.40: [Errno 113] Connect call failed ('192.168.2.40', 6668)

2024-01-24 15:11:52.573 WARNING (MainThread) [custom_components.localtuya.common] [bf3...oqe] Failed to connect to 192.168.2.62: [Errno 113] Connect call failed ('192.168.2.62', 6668)

2024-01-25 09:35:01.838 WARNING (MainThread) [custom_components.localtuya.common] [bf7...bg4] Failed to connect to 192.168.2.8: [Errno 110] Connect call failed ('192.168.2.8', 6668)

2024-01-25 15:15:05.036 WARNING (MainThread) [custom_components.localtuya.common] [bf3...oqe] Failed to connect to 192.168.2.62: [Errno 110] Connect call failed ('192.168.2.62', 6668)

2024-01-25 17:16:35.916 WARNING (MainThread) [custom_components.localtuya.common] [bf7...bg4] Failed to connect to 192.168.2.8: [Errno 110] Connect call failed ('192.168.2.8', 6668)

2024-01-26 18:21:11.755 WARNING (MainThread) [custom_components.localtuya.common] [bf4...uo5] Failed to connect to 192.168.2.74: [Errno 110] Connect call failed ('192.168.2.74', 6668)

2024-01-26 22:37:21.996 WARNING (MainThread) [custom_components.localtuya.common] [bf4...uo5] Failed to connect to 192.168.2.74: [Errno 110] Connect call failed ('192.168.2.74', 6668)

2024-01-28 18:49:52.077 WARNING (MainThread) [custom_components.localtuya.common] [bfa...1de] Failed to connect to 192.168.2.59: [Errno 110] Connect call failed ('192.168.2.59', 6668)

2024-01-28 23:32:29.516 WARNING (MainThread) [custom_components.localtuya.common] [bf7...bg4] Failed to connect to 192.168.2.8: [Errno 110] Connect call failed ('192.168.2.8', 6668)

2024-01-29 10:01:54.636 WARNING (MainThread) [custom_components.localtuya.common] [bf3...oqe] Failed to connect to 192.168.2.62: [Errno 110] Connect call failed ('192.168.2.62', 6668)
Очищенный лог - т.к. там каждый еггог соединения дублируется десятками раз.
И это только ESP8266. Одну пришлось отключать - включать - глухо зависла. Другие, на других чипах ещё не успели сбойнуть, но тоже грешат. 1 раз за это время сбойнул хаб Xiaomi, но сразу восстановился. В итоге на все WiFi и выходит в среднем - обязательно раз в две недели отваливание.
Наверно там программы от разных производителей этих розеток пишут хуже чем вы и видимо не используют Arduino. С Arduino наверно будет стабильнее?
 

pvvx

Активный участник сообщества
Без лога это незаметно, если совсем не зависнет. Через несколько минут обычно восстанавливается. Но за это время может быть что угодно. По этому самые ненадежные розетки - на ESP826x.
 

CodeNameHawk

Moderator
Команда форума
По этому самые ненадежные розетки - на ESP826x.
Это только результат и ничего более.
Может быть дело и не в есп и роутере.
Вот вам мой лог за 6 последних суток. Одна запись каждые 10 мин
Как бы не хватает одной записи, скорее всего неточность, теряется секунда другая, видать зависит частота есп от температуры , работает и хорошо.
 

Вложения

pvvx

Активный участник сообщества
Это только результат и ничего более.
Может быть дело и не в есп и роутере.
Вот вам мой лог за 6 последних суток. Одна запись каждые 10 мин
Как бы не хватает одной записи, скорее всего неточность, теряется секунда другая, видать зависит частота есп от температуры , работает и хорошо.
А там опрос 30 WiFi каждые 30 сек и несколько сотен не соединений в сутки, по тому что висят и ждут вачдога :)
Так и выходит - 1 сбой у вас за 6 суток при 10 минутах, а там в 20 раз больше опросов и соединений на каждого.
 

CodeNameHawk

Moderator
Команда форума
Могу согласится, что есп нормально работает, если сервер своевременно отвечает.
 

pvvx

Активный участник сообщества
CH32V208W-R0 - Описанный тут Watchdog
Включается в розетку Ethernet...
Требует DHCP, не дали в течении 20 сек - отключить ключ питания роутера на 5 сек и ждем снова
Ping, если ошибка - отключить ключ питания роутера на 5 сек и ждем снова DHCP
Потребление:
1706559290625.png
Два светодиода и LM1117 там жрут от 8 мА.
Код:
IPRaw_PING Test
SystemClk:120000000
net version:19
mac addr:50 54 7b 72 bd e0
WCHNET_LibInit Success
PHY Link Success
DHCP Success
IPAddr = 192.168.2.134
GWIPAddr = 192.168.2.1
IPMask = 255.255.255.0
DNS1: 192.168.2.1
DNS2: 0.0.0.0
Ping 8.8.8.8 with 32 bytes of data.
Reply from 8.8.8.8: bytes=32 time < 30 ms
Reply from 8.8.8.8: bytes=32 time < 40 ms
Reply from 8.8.8.8: bytes=32 time < 40 ms
Reply from 8.8.8.8: bytes=32 time < 40 ms
Reply from 8.8.8.8: bytes=32 time < 30 ms
Ping statistics for 8.8.8.8:
Packets: Sent = 5,Received = 5,Lost = 0<0% loss>.
Ping reinit
Ping 8.8.8.8 with 32 bytes of data.
Reply from 8.8.8.8: bytes=32 time < 50 ms
Reply from 8.8.8.8: bytes=32 time < 40 ms
Reply from 8.8.8.8: bytes=32 time < 40 ms
Reply from 8.8.8.8: bytes=32 time < 40 ms
Reply from 8.8.8.8: bytes=32 time < 40 ms
Ping statistics for 8.8.8.8:
Packets: Sent = 5,Received = 5,Lost = 0<0% loss>.
Ping reinit
Ping 8.8.8.8 with 32 bytes of data.
Reply from 8.8.8.8: bytes=32 time < 20 ms
Reply from 8.8.8.8: bytes=32 time < 20 ms
Reply from 8.8.8.8: bytes=32 time < 20 ms
Reply from 8.8.8.8: bytes=32 time < 30 ms
Reply from 8.8.8.8: bytes=32 time < 30 ms
Ping statistics for 8.8.8.8:
Packets: Sent = 5,Received = 5,Lost = 0<0% loss>.
<----------------- тут выдернул розетку <<<<<<<<<<<
Ping reinit
Error: 1C
Error: 1C
Error: 1C
Ping 8.8.8.8 with 32 bytes of data.
send data fail!
Error: 1C
Error: 1C
Error: 1C
send data fail!
Error: 1C
Error: 1C
Error: 1C
send data fail!
Error: 1C
Error: 1C
Error: 1C
send data fail!
Error: 1C
Error: 1C
Error: 1C
send data fail!
Error: 1C
Error: 1C
Error: 1C
send data fail!
Error: 1C
Error: 1C
Error: 1C
send data fail!
Error: 1C
Error: 1C
Error: 1C
send data fail!
Error: 1C
Error: 1C
Error: 1C
send data fail!
Error: 1C
Error: 1C
Error: 1C
send data fail!
Error: 1C
Error: 1C
Error: 1C
send data fail!
Error: 1C
Error: 1C
Error: 1C
Ping Error! Router Power Off 5 sec...
Reboot
IPRaw_PING Test
SystemClk:120000000
net version:19
mac addr:50 54 7b 72 bd e0
WCHNET_LibInit Success
Timeout DHCP! Router Power Off 5 sec...
Reboot
IPRaw_PING Test
SystemClk:120000000
net version:19
mac addr:50 54 7b 72 bd e0
WCHNET_LibInit Success
Timeout DHCP! Router Power Off 5 sec...
Reboot
IPRaw_PING Test
SystemClk:120000000
net version:19
mac addr:50 54 7b 72 bd e0
WCHNET_LibInit Success
Timeout DHCP! Router Power Off 5 sec...
Reboot
IPRaw_PING Test
SystemClk:120000000
net version:19
mac addr:50 54 7b 72 bd e0
WCHNET_LibInit Success
Своял из примера в SDK и по воздуху через два WCH LinkW зашил, один в комп, второй в макетную плату. И сразу работает 🤪
Log UART тоже через BLE через два WCH LinkW...
 

okorolkov

New member
И установки роутера могут слететь. Кто его знает как там писали софт по проблеме записи в его Flash...
Вам же просто - напишите на Arduino прогу коммутации через несколько секунд питания вашего роутера и отпишитесь - умер или нет :)
Рвал питание по таймеру. После включения роутер нормально живёт.
 

pvvx

Активный участник сообщества
Рвал питание по таймеру. После включения роутер нормально живёт.
Это не для всех и не всегда. Как повезет.

У роутера часто есть светодиод, показывающий работает или нет конкретный порт или часть. Вот к нему и припаять таймер сброса на ne555 :)
Какие ещё программы?
 

pvvx

Активный участник сообщества
может роутер mikrotik купить? они работают стабильно годами.
Уж лучше скажите какой ныне роутер работает нестабильно, если исправен?
У @fps похоже есть такой, по его реакции. Но не пишет названия роутера.
 
Сверху Снизу