Bsd33 wifi розетка не видит
В этом обзоре мы с вами рассмотрим интересное устройство для умного дома — мощную двойную 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, чтобы потестировать наше устройство.
- На закладке Команды можно включать и отключать каждую из двух розеток отдельно:
Вместо заключения
Это еще не все, и мы планируем продолжить эксперименты в подобном формате, а именно:
- Сделать поддержку 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 в сек
Читайте также: