До стрічки

Я створив сигналізацію Wi-Fi за $5, яка повідомляє мене, коли мій інтернет зникає

Дізнайтеся, як створити просту сигналізацію Wi-Fi за $5, яка повідомляє про зникнення інтернету. Корисні поради та інструкції.

Я створив сигналізацію Wi-Fi за $5, яка повідомляє мене, коли мій інтернет зникає

4

Інтернет-з'єднання мають звичку тихо йти на страйк, коли ви їх найбільше потребуєте. Ваше інтернет-з'єднання може не зникати часто, але коли це трапляється, воно майже завжди відбувається без попередження. Тепер є налаштування маршрутизатора, які слід виправити, перш ніж звинувачувати свого постачальника послуг, але це завжди можна передбачити.

Отже, після того як я втомився бачити, як мої пристрої зникають з моєї мережі та втрачають доступ до інтернету без попередження, я вирішив щось з цим зробити. В результаті я отримав кумедний маленький гаджет для столу, який коштував не більше $5, і тепер я миттєво дізнаюся, коли мій інтернет зникає.

ESP32 running NAT router perched on a router.

Весь проект коштує менше обіду

Проста апаратура за дивовижно корисним монітором мережі

Вам насправді потрібен лише мікроконтролер з підтримкою 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, вбудованих та крайових AI проектів.

Він знає, коли ваш інтернет зникає

Метод виявлення, який фіксує відключення за секунди

Я написав скетч Arduino, який виконує перевірку з'єднання кожні 10 секунд. Спочатку він перевіряє, чи все ще підключений ESP32 до Wi-Fi мережі, адже немає сенсу пінгувати інтернет, якщо ваша Wi-Fi мережа сама по собі не працює. Якщо Wi-Fi з'єднання справне, плата пінгує DNS-сервер Google за адресою 8.8.8.8 — надійна ціль, яка навряд чи зникне сама по собі. Потім плата чекає на три послідовні невдачі команди пінгу, перш ніж оголосити про відключення.

Тривалість перевірки з'єднання та поріг невдачі команди пінгу можна змінити, щоб відповідати різним мережам. Наприклад, якщо ваше інтернет-з'єднання в основному надійне і лише іноді відмовляє, ви можете зменшити перевірку з'єднання, щоб виявляти відключення швидше. Навпаки, якщо у вас нестабільне з'єднання, ви можете підвищити поріг невдачі команди пінгу, щоб уникнути помилкових сповіщень.

Коли плата підключається та синхронізує час через 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 та інші мікроконтролери.

Ви будете дивуватися, чому не зробили це раніше

Практичні переваги знання, коли ваше з'єднання зникає

Лічильник часу роботи та мітка часу відключення разом дають вам те, чого не може дати жодне сповіщення на телефоні: постійний, завжди активний журнал, на який ви можете поглянути, не розблоковуючи нічого. Чи є це найперебільшеним способом дізнатися, коли інтернет зникає? Напевно, але в цьому також полягає вся принадність.

No Wi-Fi Connection icon above laptop with person's arm on table

Мій Wi-Fi зникає кожну годину: ось що нарешті це виправило

Випадкові відключення Wi-Fi абсолютно дратують — тому вживайте заходів для вирішення проблеми.

Замість того, щоб покладатися на ще один веб-сервіс або просто чекати, поки інтернет перестане працювати у браузері, ця панель просто стоїть на моєму столі. Вона вже допомогла мені зібрати кращі дані для скарг на ISP, допомогла мені виявити закономірності в відключеннях і, чесно кажучи, дала мені трохи спокою. Якщо у вас є ESP32 і OLED (або навіть світлодіод), що валяються, це веселе проект на вихідні. А якщо ні, ви платите менше ніж за каву за те, що інакше є дуже крутим проектом.