Я собрал сигнализацию Wi-Fi за $5, которая сообщает мне, когда мой интернет отключается
Я собрал сигнализацию Wi-Fi за $5, которая сообщает мне, когда мой интернет отключается. Узнайте, как создать простое устройство для мониторинга интернет-соединения.

Интернет-соединения имеют привычку молча выходить из строя, когда они вам больше всего нужны. Ваше интернет-соединение может не отключаться часто, но когда это происходит, оно почти всегда отключается без предупреждения. Теперь есть настройки роутера, которые вы должны исправить, прежде чем обвинять своего провайдера, но это то, что вы всегда можете предвидеть.
Устав от того, что мои устройства выходят из сети и теряют доступ в интернет без предупреждения, я решил что-то с этим сделать. В результате я получил симпатичное устройство для стола, которое обошлось мне не более чем в $5, и теперь я мгновенно узнаю, когда мой интернет отключается.
Весь проект стоит меньше обеда
Простой аппаратный компонент удивительно полезного сетевого монитора
Вам действительно нужен только микроконтроллер с поддержкой Wi-Fi и светодиод или зуммер, если вам нужен звуковой сигнал. Средний ESP32 более чем способен на это, так что нет риска выбрать неправильную плату ESP32. Однако я выбрал свой ESP32-S3, более мощный брат классического ESP32, который имеет встроенный RGB-светодиод, так как не хотел, чтобы зуммер срабатывал посреди ночи, если мой интернет отключится.
RGB-светодиод полезен, потому что я могу использовать тот же (и довольно яркий) светодиод для индикации различных состояний. Мигающий синий свет означает, что плата подключается к моему Wi-Fi, постоянный зеленый свет означает, что интернет работает, постоянный красный означает, что он отключен, а мигающий красный означает, что сеть Wi-Fi сама недоступна. Я также добавил 1,3-дюймовый OLED-дисплей SH1106, чтобы отображать информацию, такую как SSID, локальный IP-адрес, силу сигнала Wi-Fi и счетчик времени работы или отключения в зависимости от ситуации.
Благодаря RGB-светодиоду на моей плате ESP32-S3 мне нужно сделать всего четыре подключения. SH1106 подключается по I2C с SDA на GPIO 18 и SCL на GPIO 18, с питанием на 3.3v пин ESP32 и землей на соединение заземления платы.

ESP32-S3
Бренд
Espressif
ESP32-S3 — это недорогой вариант ESP32 с встроенным Wi-Fi, Bluetooth LE, поддержкой USB и ускорением AI/vector, предназначенный для IoT, встроенных и edge AI проектов.
Он знает, когда ваш интернет исчезает
Метод обнаружения, который фиксирует отключения за секунды
Я написал скетч для Arduino, который выполняет проверку подключения каждые 10 секунд. Сначала он проверяет, подключен ли ESP32 все еще к сети Wi-Fi, потому что нет смысла пинговать интернет, если ваша сеть Wi-Fi сама отключена. Если соединение Wi-Fi в порядке, плата пингует DNS-сервер Google на 8.8.8.8 — надежная цель, которая вряд ли отключится сама по себе. Затем плата ищет три последовательных сбоя команды ping, прежде чем объявить об отключении.
Длительность проверки подключения и порог сбоя команды ping можно изменить в зависимости от различных сетей. Например, если ваше интернет-соединение в основном надежно и отключается только время от времени, вы можете уменьшить проверку подключения, чтобы быстрее обнаруживать отключения. Напротив, если у вас нестабильное соединение, вы можете повысить порог сбоя команды ping, чтобы избежать ложных срабатываний.
Как только плата подключается и синхронизирует время через TNP, OLED остается полезным, а не декоративным. На экране онлайн отображается текущий счетчик времени работы, текущий локальный IP-адрес, текущая сила сигнала (RSSI) в dBm и время. Когда происходит отключение, экран переключается на режим оповещения, который показывает точное время, когда было обнаружено отключение, и время, прошедшее с тех пор. Также есть баннер оповещения, который мигает каждые полсекунды, так что в сочетании с цветом светодиода очень трудно пропустить отключение, даже если устройство не находится у вас на прямой линии видимости.
Собрать это проще, чем вы думаете
Прошивка микропрограммы и выход в интернет всего за несколько шагов
Я использовал две библиотеки из менеджера библиотек Arduino: Adafruit SH110X и ESP32Ping от marian-craciunescu. Поскольку устройство не покинет мою сеть, я жестко закодировал учетные данные своей сети Wi-Fi 2.4 ГГц в самом скетче. ESP32-S3 не может подключаться к сетям 5 ГГц, но для целей подключения к интернету средство подключения к роутеру не имеет значения.
При первом запуске OLED отображает экран подключения с именем сети, а RGB-светодиод мигает синим. Как только плата получает IP и синхронизирует часы, она переключается в режим мониторинга. Вся последовательность загрузки занимает всего несколько секунд в типичной домашней сети.

Arduino IDE
ОС
Windows, Linux, macOS, Web
Разработчик
Arduino
Модель цены
Бесплатно
Arduino IDE — это удобная для начинающих среда разработки, используемая для написания, компиляции и загрузки кода на платы Arduino, ESP32 и другие микроконтроллеры.
Вы будете удивляться, почему не сделали это раньше
Практические преимущества того, чтобы точно знать, когда ваше соединение пропадает
Счетчик времени работы и временная метка отключения вместе дают вам то, чего не может дать ни одно уведомление на телефоне: постоянный, всегда включенный журнал, на который вы можете взглянуть, не разблокируя ничего. Это самый избыточный способ узнать, когда интернет отключается? Возможно, но в этом и заключается вся прелесть.
Мой Wi-Fi отключается каждый час: вот что наконец это исправило
Случайные отключения Wi-Fi абсолютно ужасны — так что примите меры для решения проблемы.
Вместо того чтобы полагаться на еще один веб-сервис или просто ждать, пока интернет перестанет работать в браузере, эта панель просто стоит у меня на столе. Она уже помогла мне собрать лучшие данные для жалоб к провайдеру, помогла выявить закономерности в отключениях и, честно говоря, дала мне немного спокойствия. Если у вас есть ESP32 и OLED (или даже светодиод), валяющиеся под рукой, это интересный проект на выходные. А если нет, вы заплатите меньше, чем за кофе, за то, что в противном случае является очень классным проектом.



