Bsd33 wifi розетка не видит

Обновлено: 06.07.2024

В этом обзоре мы с вами рассмотрим интересное устройство для умного дома — мощную двойную wi-fi розетку из экосистемы Tuya Smart в европейском форм факторе. Устройство имеет раздельное управление каждым из выходом и общую систему энергомониторинга.

Также я расскажу о локальной, то есть не зависящей от интернет, интеграции розетки в Home Assistant с пробросом в него сенсоров энергомониторинга.

Содержание

Купить на Aliexpress — цена на дату обзора $17.24

Аналог BLITZWOLF SHP-7 — цена на дату обзора $17.59

Параметры

  • Максимальный общий ток нагрузки — 16 А
  • Диапазон рабочих напряжений — 100 — 250 В
  • Беспроводный интерфейс — wi-fi 2.4 GHz
  • Экосистема — Tuya Smart
  • Поддержка работы в Google Assistat и Amazon Alexa

Поставка

Поставляется устройство в белой картонной коробке, нет и ни названия бренда производителя ни номера модели. Сухое определение — двойная wi-fi розетка с энергомониторингом.


Не сильно много информации и на боковых сторонах коробки — кратко указаны параметры и основные возможности устройства, есть QR для загрузки приложения Smart Life, одного из клонов Tuya Smart

Комплект поставки — лаконичный. В него входит розетка и довольно толстая книжечка инструкции.


Самый понятный язык в инструкции — английский, а самая ценная информация касается сброса устройства и смены режимов сопряжения — для этого нужно удерживать кнопку питания 6 секунд.


Внешний вид

Закругленный корпус устройства сделан из белого матового пластика. На фронтальной части — две глубокие розетки стандарта Schuko, под толстые 16 А вилки, с заземлением.


Розетка симметричная, на узких сторонах находятся круглые кнопки ручного управления каждой их двух розеток. Раздельное управление — это большой плюс.


Вилка устройства тоже сделана в стандарте Schuko с толстыми контактами и сквозным заземляющим контактом.


Контакты розеток имеют защиту от детей и брызг — они прикрыты пластиковыми шторками. Еще один плюс к безопасности.


К плюсам также можно отнести то, что при установке в стандартный ряд розеток, у меня стоят Legrand, устройство не перекрывает доступ к соседним разъемам.


В моем случае это критично, так как мне нужно было сделать из трех розеток — четыре, чтобы постоянно не менять местами вилки.


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

Tuya Smart

Логическую часть начнем с штатной системы управления Tuya Smart. Смартфон нужно переключить в диапазон 2,4 GHz, нажать на опцию добавления новых устройств и дождаться пока розетка не появится на экране поиска. После этого добавляем ее в систему.

На главном экране плагина, с левой стороны находится панель управление реле. Верхняя кнопка включает и выключает сразу обе розетки, а ниже — еще две кнопки раздельного управления. Каждой из них можно присвоить свое имя.

Есть стандартные опции для каждой из розеток — таймера, который можно устанавливать как однократно, так и повторяющимся. Можно получать уведомления из приложении о срабатывании. И обратного отсчета, время через которое розетка отключится.

Энергомониторинг — он полноценный, то есть и ток нагрузки и напряжение сети, текущая мощность и мощность потребленная по месяцам. Так как приложение зависит от облака — обновление значений идет с некоторой, порядка 10-15 секунд задержкой.

В автоматизациях устройство может быть и триггером и действием. Кстати в отличии от mihome — где розетки обычно являются только действиями. Причем вариантов — очень много более 10. Начиная со смены статусов розеток.

Есть триггеры по времени обратного отсчета в секундах, увеличения мощности от 0 до 50 Ватт, стоимости электроэнергии.

Кроме этого можно настроить триггер по текущим значениям напряжения, тока и мощности.

Для действий доступно меньше опций — всего пять.

Четыре — понятны и логичны, это управление каждой из розеток — включить, выключить и переключить состояние. Это возможность задать промежуток обратного отсчета до выключения каждой розетки. А вот пятый — увеличение мощности, не понятен. Как можно заставить розетку увеличить мощность ?

Google Home

Аккаунт Tuya Smart можно подключить к Google Home. Это дает возможность иметь одну точку управления устройствами из разных экосистем. Герой обзора пробросил сразу три выключателя — общий и отдельные для каждой розетки.

Тут все просто — можно включать и выключать, в том числе и голосом, но никаких данных по энергомониторингу тут нет

Home Assistant

Перейдем к Home Assistant. Система уже имеет штатную интеграцию которая так и называется Tuya.

После этого в систему залетают подключенные в аккаунт устройства, но не все, zigbee шлюз например не появился. Но зато появляются сценарии и автоматизации.

Розетка появляется тут в виде двух свичей. Как и в случае с Google Assistant — сенсоров энергомониторинга нет.


Розетки можно только включать и выключать, кроме этого интеграция зависит от интернет и качества соединения с облачным сервисом.

Local tuya

Но есть выход — интеграция local tuya. О том как ее настроить и получить локальные ключи ваших устройств — я рассказал в своем уроке по Home Assistant номер 9.5 По этой методике получаем local key устройства.


В меню Настройки — Интеграции, добавляем Local Tuya. Розетка будет обнаружена, в числе прочих устройств Tuya если они у вас есть. Определить ее можно по id

Выбираем ее и для продолжения нужно нажать Подтвердить. В следующем окне нужно задать свое имя устройства и скопировать local key. Остальное подставится само. Если после этого вы получите ошибку подключения — попробуйте повторить минут через 10-15.

Когда соединение пройдет успешно — интеграция спросит какой это тип устройства


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


В нашем случае это switch — одна из базовых сущностей, наряду со светильниками.


Теперь самое интересное — нужно разобраться со всеми параметрами, что мы получаем от розетки, а тут их весьма много. Реле найти легче всего — это два первых параметры с статусом True или False


В friendly name — пишем свое название, а в атрибуты — я добавил получаемые от розетки параметры просто по очереди. Зачем — чуть дальше.


В следующем окне снимаем галочку с не добавлять новых устройств, и снова выбираем switch.


Тут в ID ставим второй параметр статусом True или False а в атрибуты — следующие значения, после тех, что мы добавили в первую розетку.


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


В списке устройств интеграции — появилось новое, с заданным нами именем.


Оно состоит из двух сущностей — это две розетки. Все остальное — это атрибуты к ним.


Сначала проверяем правильно ли мы выбрали параметры для розеток — но тут ошибиться нереально, так как только два из всех имели бинарный статус True или False


Теперь смотрим атрибуты свичей, это те параметры которые мы добавили в поля силы тока, напряжения и мощности.


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


Вот попалось напряжение — запоминаем или записываем номер под которым транслируется это значение.


Определена и текущая мощность. Метод тыка приходится использовать потому, что в момент выбора параметров при настройке — они не обновляются в онлайне.


Вот наконец собрали все вместе — силу тока, напряжение и мощность.


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


В первом окне оставляем все без изменений.


А вот дальше — можно на ходу менять в атрибутах ток, напряжение и мощность — номера параметров получаемых от розетки.


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


Я предпочитаю параметры энергомониторинга иметь в виде отдельных сенсоров, а не атрибутами, как например в интеграции zigbee2mqtt. Поэтому после того как я нашел номера всех нужных мне значений, я удаляю эту розетку.


Сразу же добавляю ее снова. В первом окне — устройства, все оставляем как было.


Выбираем тип устройства switch


А вот теперь — указываем только выключатель реле и его имя. Атрибуты оставляем пустые.


Выбираем следующую сущность — это будет снова switch — вторая розетка.


Тут аналогично — все атрибуты пустые, только имя.


Но на этом не останавливаемся, продолжаем добавлять, на этот раз сенсор.


И тут указываем, найденным нами при помощи атрибутов параметр. Номер 18 соответствует силе тока. Задаем имя, указываем единицы измерения — Амперы, выбираем класс устройства — сенсор тока. Так как розетка передает значение в мА, то указываем коэффициент масштабирования — одну тысячную, чтобы получить Амперы.


Аналогично добавляем мощность она нашлась под номером 19. Указываем имя, единицы измерения и класс устройства. Опытным путем выяснилось, что для получение корректного значения, нужно выставить коэффициент масштабирования в одну десятую.


И наконец 20 номер — это напряжение. Тут тоже самое включая масштабирование в одну десятую.


Теперь сохраняем полученное устройство.


В интеграции теперь оно насчитывает пять отдельных сущностей — два свича и три сенсора.


Все красиво и корректно — статусы и управления розетками, параметры энергомониторинга, в онлайне и без зависимости от интернет


Можно сравнить с показаниями в приложении.


Видео версия обзора

Вывод

Используя эту методику — можно подключить к Home Assistant любую другую управляемую wi-fi розетку экосистемы Tuya Smart. Для zigbee версий — должен использоваться координатор или шлюз, но это уже совсем другая история.

В этом материале мы покажем, что Интернет вещей — это не так уж и сложно. Для этого за 60 минут соберем и оживим простейшую Wi-Fi розетку с управлением через Интернет.

5 минут: размышляем над задачей

Почему Wi-Fi? Потому что он у всех есть и не требует проводов, а значит, в пределах нашего помещения розетку можно будет перемещать в любой угол.

Раз розетка у нас смотрит в интернет, то помимо самой аппаратуры нам понадобится еще и нечто в этом самом Интернете. Причем разрабатывать что-то с нуля мы вот вообще не хотим, хотим максимально готовое.

Первое, что приходит в голову — для розетки берем микроконтроллер с ESP8266/ESP32, так как это очень известная и популярная платформа со встроенным Wi-Fi, а для бекэнда в Интернете готовый облачный сервис Azure IoT Central, для которого код писать вообще не надо.

Ну раз это первое пришло в голову — так и сделаем, у нас же всего 60 минут!

У автора была плата с обтекаемым названием ESP32 Dev Board, на которой установлен USB-UART конвертер CP2102 и модуль ESP-WROOM-3. Плату можно опознать по картинке ниже и по ключевику "ESP32" найти на известном китайском сайте.


  • собственно сами розетки. Так как мы хотим больше приключений, возьмем сразу две штуки, ведь тогда продукт получится более конкурентоспособный! Автор статьи использовал корпус удлинителя с двумя гнездами.
  • модуль реле на 220 В — возьмем готовый, двухканальный, с гальванической развязкой. Нам важно, чтобы реле переключались логическими сигналами с уровнем 3.3В. Выглядит так:
  • пара кнопок, мы ведь не только из Интернета хотим включать/выключать розетки, но и кнопками на них;
  • любой AC-DC преобразователь 220В — 5В для питания ESP32 Dev Board, например, такой:
  • провода, чтобы все это соединить.
Впрочем, необходимый минимум из этого всего — только сама плата ESP32: можно просто подключить ее по USB, от которого и питать, и посмотреть по отладочному выводу или мультиметром на выводах, как она работает совместно с облаком. Правда, в этом случае такая "розетка" не будет выполнять свою основную функцию собственно розетки.

Для ESP32 понадобится прошивка. Вариантов для ее разработки немного:

  • взять стандартный тулчейн от производителя. Установка несложная, но и не особо простая. Подчеркиваю также то неприятное обстоятельство, что IDE в этом случае в комплект средств разработки не входит, и собирать все нужно будет с командной строки.
  • прослойка для Arduino. Это очевидно проще и быстрее, все ставится и настраивается из самой IDE Arduino. В качестве минуса — не вдаваясь в подробности, нет полноценной готовой библиотеки для работы именно с IoT Central, но мы это обстоятельство обойдем.

20 минут: подготовим облачный сервис

Выбираем слева Мои приложения — Новое приложение, далее Пользовательские приложения и заполняем поля:

  • Имя приложения: любое удобное;
  • URL-адрес: любой, но он должен быть уникальным;
  • Шаблон приложения: пользовательское приложение;
  • Ценовой план: стандартный 1 или бесплатный;

Если выбрали стандартный ценовой план, ниже создайте подписку Azure и выберите расположение, ближайшее к вам (для России — Европа).

В меню выберите Шаблоны устройств — Создать, как показано на рисунке ниже.


Далее Устройство IoT — Следующий: Настроить. В поле Имя шаблона устройства введите Socket. Нажмите Далее: проверка, Создать.

В появившемся диалоге выберите Импорт модели и выберите файл Socket.json, прилагающийся к данной статье.

Видим следующую картину:

Что только что произошло? Фактически, мы объявили для IoT Central "язык" ("шаблон"), на котором говорит наша розетка при обмене данными с облаком, а именно, если развернем параметры каждой возможности (в оригинале — Capability), увидим следующее:

Почему в телеметрии 0/1, а в команде true/false? Это связано с особенностями визуализации в IoT Central, короче говоря, телеметрию в виде 0/1 на картинках можно отобразить нагляднее, чем true/false.

Откуда взялся файл Socket.json? Автор подготовил его заранее, введя описание всех возможностей розетки в самом IoT Central, затем просто сохранил шаблон в файл, используя встроенную функцию экспорта.

Теперь по поводу визуализации. Нашему устройству неплохо бы сделать красивый дашборд, с которого мы будем посылать на него команды включения/выключения и видеть его состояния. Для этого нажмем в списке возможностей устройства пункт Представления и выберем плитку Визуализация устройства.


В разделе Телеметрия выберите Socket1State, нажмите + Телеметрия и выберите Socket2State, затем нажмите Добавить плитку. На появившейся плитке нажмите иконку и выберите Диаграмма состояний из меню. Нажмите Сохранить.

Теперь нам нужно "опубликовать" наш шаблон, т.е. перевести его из черновика в состояние, когда им можно будет пользоваться. Для этого нажмите соответствующую кнопку (Опубликовать). Подтвердите публикацию, нажав в появившемся окне кнопку Опубликовать.

Пока что мы только опубликовали шаблон устройства, теперь заведем запись для нашего конкретного устройства. Для этого переходим в главном меню в раздел Устройства и нажимаем кнопку + Создать. В появившемся окне изменяем только шаблон устройства на Socket. Нажимаем кнопку Создать и кликаем по имени появившегося устройства. Нажмем кнопку Подключить в верхней части окна и в появившемся окне видим всю необходимую информацию, которую нам нужно будет использовать в прошивке устройства, чтобы оно могло "разговаривать" с IoT Central. В поле Тип проверки подлинности выберем Подписанный URL-адрес (SAS) (так проще). Итого нам понадобятся:

  • Область идентификатора — это идентификатор нашего приложения IoT Central;
  • Идентификатор устройства — не требует пояснений;
  • Первичный ключ — считаем, что это "пароль" этого конкретного устройства.

С этими данными устройство должно обратиться к сервису регистрации устройств (Device Provisioning Service, DPS) для получения адреса IoT Hub, еще одного сервиса Azure. Зачем еще IoT Hub? Дело в том, что IoT Central работает "поверх" IoT Hub, являясь как бы "оберткой" для него. Вся последующая коммуникация будет происходить именно с этим IoT Hub.

Проблема в том, что простые в использовании библиотеки Arduino не включают готового клиента DPS. Ну раз так, то возьмем систему с Windows 10, и получим этот адрес IoT Hub вручную. Утилита dps-keygen умеет это делать, правда для ее запуска понадобится node.js.

Раз так, установим последнюю версию node.js с официального сайта с параметрами по умолчанию, затем запустим стандартную командную строку Windows и выполним команды (естественно, подставив нужные данные из нашего приложения IoT Central):

Порядок аргументов в последней строке не имеет значения.

Нас предупредят, что эта возможность "deprecated" и не "best practices", но нам очень надо, и не "best", а "fast", иначе не уложимся за 60 минут, которые обещал автор, поэтому продолжаем. На выходе будет строка подключения, которую мы позже укажем в прошивке розетки:


Отлично! Мы готовы к сборке стенда.

15 минут: достаем компоненты из ящика и собираем стенд

Сгребаем в охапку все провода, компоненты, и собираем их, как показано на схеме ниже. Можно как припаивать провода, так и соединять через разъемы — дело вкуса. В любом случае особое внимание уделяем высоковольтной части. Автор сделал разъемные соединения, где это было возможно, остальное — припаял.


Результат немного угрожающий, но для стенда вполне работоспособный:


Такой вид в общем-то вполне нормален для всяких самоделок, но если под рукой (совершенно случайно!) есть 3D-принтер, можно сделать что-то более презентабельное:


Как и обещал, две кнопки, две розетки.
Между прочим, если задумаете поменять пины на Dev Board, рекомендую эту картинку для понимания, что на каких пинах есть:


Также из-за ошибки трассировки на плате автора был не подключен пинов GND около кнопки EN (RST), так что такие моменты тоже неплохо бы проверить (на вашей плате).

Ну и для справки, схема соединений сигнальных проводов в виде таблицы (для удобства сборки):

Контакт Контакт
ESP32 GPIO16 Кнопка 1
ESP32 GPIO17 Кнопка 2
ESP32 GPIO5 Реле 1
ESP32 GPIO18 Реле 2

15 минут: подготовка инструментов и сборка прошивки

Будем собирать прошивку на Windows 10 (любой сборки, но авторы категорически рекомендуют LTSC).

Версия библиотеки может отличаться. Замените 1.0.5 на ту, которая применяется в вашем случае.
Если хотите больше двух розеток — без проблем! Внесите изменения в схему и добавьте номера пинов кнопки и сокета в массивы BUTTON_PIN и SWITCH_PIN.

5 минут: наслаждаемся собранным устройством

Теперь вернемся в IoT Central, чтобы потестировать наше устройство.


  1. На закладке Команды можно включать и отключать каждую из двух розеток отдельно:




Вместо заключения

Это еще не все, и мы планируем продолжить эксперименты в подобном формате, а именно:

  • Сделать поддержку DPS в прошивке;
  • Добавить поддержку IoT Plug and Play, тогда на стороне IoT Central не нужно будет регистрировать устройство, и оно все сделает само;
  • Сделать голосовое управление розеткой ("Эй Кварта Технологии! Включи розетку 1!").

О нас

Компания Кварта Технологии была основана в 1997 году и сегодня является лидирующим поставщиком программного обеспечения и облачных сервисов для рынка встраиваемых систем и IoT в России, Украине, Грузии и странах СНГ.

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

С 2004 года компания является авторизованным дистрибутором и тренинг-партнером Microsoft Windows Embedded (IoT) на территории России и СНГ. Последние несколько лет входит в Топ-5 лучших дистрибуторов Microsoft по Embedded-продуктам в регионе EMEA (Европа, Ближний Восток, Африка) и обладает статусом «Windows Embedded Partner Gold Level».

Установил последнюю фряху на ноутбук. В ходе установки wifi карточка определилась, нашла сети, спросила пароль. После /etc/rc.d/netif restart(да и при загрузке) к сети подлючается, ip по dhcp получает, днс сервер правильный тоже. Но не пингуется ничего, даже роутер.

Пробовал задавать default iface и gateway. Результат тот же. netstat -r долго думает, потом выдает этот gateway

В чем может быть проблема?


Ну ты бы нам хоть ifconfig показал бы и таблицу маршрутизации, а то несерьёзно как-то.

Вафля в принципе работает? ОС видит адаптер?


Да, конечно. Я же говорю, к точке поступа подключается, получает ip по dhcp. Судя по ifconfig wlan0


netstat -r долго тупит.

Выхлоп таблицы маршрутизации нужен.

Попробуй без DHCP, статикой. И defaultrouter пропиши в rc.conf.


Через секунд 10 выдает для ipv4 и потом ещё столько же тупит для v6.

Уже нагуглил и прописал давно. Статикой сейчас попробую.

а какая модель карты ?


Со статикой такая же фигня.

ath0: ath_legacy_rx_tasklet: sc_inreset_cnt > 0; skipping

Незнаю что это значит.

Ещё в ifconfig каждый раз разный channel, так и должно быть?

А в /var/log/messages куча

wpa_supplication: wlan0 CTRL_EVENT_SCAN_FAILED ret=-1 retry=1

pawnhearts ★★★★★ ( 27.10.17 13:16:53 )
Последнее исправление: pawnhearts 27.10.17 13:18:04 (всего исправлений: 1)

Чота оно там пишет у тебя насчёт группы wlan.


зато netstat стал мгновенно отвечать и ping пишет network is down

чота я не уверен что эта карта там поддерживается


Да скорее всего с ней проблема. Ладно, попробую другую воткнуть попозже.

Смотря какой чипсет.

Вот тут смотри.
Хотя карта может быть и бажной. В венде вполне может работать, а в *nix'ах - нет.
У меня бывали такие случаи.


Под линукс работает. У меня есть intel и broadcom запасные - попробую попозже. Я в общем-то так, поиграться фряху накатил.

Значит, в нём есть дрова под чипсет, а во фряхе нет. Дрова, может, и есть, но их нужно устанавливать. С liveCD-то оно у тебя работает.

Напишешь потом сюда, ОК?

Фряха стоит на паре-тройке серверов по городу, хочу дома перевести сервер с линукса, есть свои причины.

Deleted ( 27.10.17 14:33:56 )
Последнее исправление: rht 27.10.17 14:34:13 (всего исправлений: 1)


Ну как работает - показывает список точек доступа и получает ip по dhcp. Больше я ничего с livecd не пробовал. В таком виде оно работает и в установленной системе.

Ок кастану тебя. Сейчас просто лень ноут разбирать и кое-какие другие дела есть.

Я не тороплю. Когда сможешь.


зато netstat стал мгновенно отвечать и ping пишет network is down

netstat -rn потому что. Он у тебя пытался узнать имена хостов, потому долго тупил. А когда сети нет, отлуп на попытку резолва мгновенно приходит.

Я расскажу о нестандартном применении управляемой розетки. Она будет автоматически перезагружать роутер при пропадании интернета.
Как известно лень — двигатель прогресса… Я живу в частном доме и иногда пропадает интернет, а потом то ли роутер зависает, то ли не обновляет подключение к сети, но главное без перезагрузки интернет не восстанавливается. Все бы и не страшно, но надо надо лезть к роутеру, а он не на видном месте стоит, так я еще и с соседом делюсь интернетом, а по закону подлости когда пропадает интернет и меня нет дома. Решение вопроса описано в статье…

Вот и появилась идея сделать автоматическую перезагрузку роутера. Я для этого даже купил плату ESP8266 и реле, но вот все это собрать в готовое изделие руки не доходили, хотя у меня и 3D принтер есть. Правда больше на заказ печатаю, а для себя уже и руки не доходят.
Случайно увидел распродажу розеток SONOFF® S20 и понял, что не стоит самому мучится, что-то паять и конструировать, когда уже все готовое есть только прошивку осталось написать, ну это уже проще :)
Правда еще 2 месяца ждал когда пришлют, видимо не хотели со скидкой продавать, но я то не тороплюсь…
Прислали розетку, поигрался я с родной прошивкой, обзоры в сети есть, но что-то постоянно отваливается она от моего роутера и решил я ее перепрошить.
Фото розетки:

Разобрал розетку.

Для первой перепрошивки необходимо необходимо припаять разъем для подключения адаптера. Адаптер у меня уже был.

Припаял разъем. Распиновка разъема с лева на право: +3.3в, RХ, TX, GND.

Подключил адаптер

Прошивку я писал в среде Arduino ide 1.8.5
Для правильной прошивки данной розетки необходимо установить следующие настройки платы:

Для перевода розетки в режим прошивки надо нажать кнопку на плате розетки и не отпуская подключить адаптер в USB компьютера, подождать не менее 3 сек, затем отпустить. При прошивке подавать 220в на розетку нельзя! Питание берется с платы адаптера.
В программе использовал библиотеку ESP8266Ping.

const char* ssid = «ssid»; // подставить название своей сети WiFi
const char* password = «password»; //подставить пароль свой сети WiFi
//IPAddress ip(192, 168, 1, 70); //Node static IP
//IPAddress gateway(192, 168, 0, 1);
//IPAddress subnet(255, 255, 255, 0);

int PIN_RELAY = 12;
int PIN_LED = 13;
int PIN_BUTTON = 0;
int COUNT_PING = 0; //количество попыток при отсутствии пинга (не задается)
int COUNT_PING_MAX = 2; //максимальное количество отсутствия пинга до перезагрузки роутера
int COUNT_WIFI = 0; //счетчик попыток подключения к WiFi
int COUNT_WIFI_MAX = 60; //300; // Таймаут до перезагрузки роутера при отсутствии WiFi в сек

Читайте также: