Vyhledávání na webu

Postavil jsem Wi-Fi alarm za 5 $, který mi oznámí okamžik, kdy připojení k internetu vypadne


Internetová připojení mají tendenci tichounce stávkovat, když je potřebujete nejvíce. Vaše internetové připojení nemusí často vypadávat, ale když k tomu dojde, téměř vždy se odpojí tiše a bez varování. Existují sice výchozí nastavení routeru, která byste měli opravit, než obviníte svého poskytovatele internetu, ale je to něco, co můžete vždy předvídat.

Takže poté, co jsem měl dost toho, že moje zařízení ztrácela připojení k mé síti a z ničeho nic jsem přišel o internet, rozhodl jsem se s tím něco udělat. Nakonec jsem skončil s pěkným malým stolním zařízením, které nestálo víc než 5 $, a teď okamžitě vím, kdy je můj internet pryč.

Celý projekt stojí méně než oběd

Jednoduchý hardware za překvapivě užitečným síťovým monitorem






Opravdu potřebujete jen mikrokontrolér s podporou Wi-Fi a LED nebo buzzer, pokud potřebujete zvukový signál. Průměrný ESP32 je pro toto více než dostatečný, takže není riziko, že vyberete špatnou desku ESP32. Nakonec jsem si ale vybral svůj ESP32-S3, robustnějšího sourozence klasického ESP32, který má zabudovanou RGB LED, protože jsem nechtěl, aby buzzer začal v noci vydávat zvuk, kdyby internet vypadl.

RGB LED pomáhá, protože mohu použít stejnou (a docela jasnou) LED k indikaci různých stavů. Blikající modré světlo znamená, že deska se připojuje k mému Wi-Fi, stálé zelené světlo znamená, že internet funguje, stálé červené znamená, že je offline, a blikající červené znamená, že samotná Wi-Fi síť není dostupná. Přidal jsem také 1,3palcový SH1106 OLED displej, který zobrazuje informace jako SSID, lokální IP adresu, sílu Wi-Fi signálu a živý čítač doby provozu nebo výpadku v závislosti na situaci.

Díky RGB LED na mé desce ESP32-S3 potřebuji provést pouze čtyři spojení. SH1106 se připojuje přes I2C s SDA na GPIO 18 a SCL na GPIO 18, napájení jde na pin 3.3V ESP32 a zem na zemní připojení desky.

Ví, kdy vám zmizí internet

Metoda detekce, která odhalí výpadky během několika sekund






Napsal jsem sketch pro Arduino, který každých 10 sekund provádí kontrolu připojení. Nejprve zkontroluje, zda je ESP32 stále připojen k Wi-Fi síti, protože nemá smysl pingu internet, pokud je samotná Wi-Fi síť mimo provoz. Pokud je připojení k Wi-Fi v pořádku, deska pingne DNS server Google na adrese 8.8.8.8 - spolehlivý cíl, který pravděpodobně sám neselže. Deska pak čeká na tři po sobě jdoucí neúspěšné příkazy ping, než oznámí výpadek.

Délku kontroly konektivity a práh selhání příkazu ping lze upravit tak, aby vyhovovaly různým sítím. Například pokud je vaše internetové připojení většinou spolehlivé a selhává jen občas, můžete zkrátit dobu kontroly konektivity, abyste odhalili výpadky dříve. Naopak pokud jste na nespolehlivém připojení, možná budete chtít zvýšit práh selhání příkazu ping, abyste předešli falešně pozitivním výsledkům.

Jakmile deska se připojí a synchronizuje čas přes TNP, OLED zůstává užitečný spíše než dekorativní. Online obrazovka zobrazuje živý čítač doby provozu, aktuální místní IP adresu, aktuální sílu signálu (RSSI) v dBm a čas. Když nastane výpadek, obrazovka přepne do zobrazení upozornění, které ukazuje přesný čas, kdy byl výpadek zjištěn, a uplynulý čas od té doby. Také se objeví banner upozornění, který bliká každou půl sekundu, takže v kombinaci s barvou LED je opravdu těžké výpadek přehlédnout, i když zařízení není přímo ve vašem zorném poli.

Postavit to je snazší, než byste čekali

Aktualizace firmwaru a připojení k internetu jen v několika krocích

Použil jsem dvě knihovny z Arduino Library Manager: Adafruit SH110X a ESP32Ping od marian-craciunescu. Protože zařízení nebude opouštět mou síť, zadal jsem přihlašovací údaje k mé 2,4GHz Wi-Fi síti přímo do samotného sketche. ESP32-S3 se nemůže připojit k sítím 5GHz, ale pro účely internetového připojení je médium připojení k routeru irrelevantní.

Při prvním spuštění zobrazí OLED obrazovku připojení s názvem sítě, přičemž RGB LED bliká modře. Jakmile deska získá IP adresu a synchronizuje hodiny, přepne se do monitorovacího režimu. Celá spouštěcí sekvence zabere na typické domácí síti jen několik sekund.

Budete se divit, proč jste ho nevytvořili dříve

Praktické výhody vědět přesně, kdy vaše spojení zanikne

Čítač doby provozu a časová značka výpadku vám spolu dávají něco, co žádné telefonní oznámení nemůže: trvalý, stále aktivní záznam, na který se můžete podívat, aniž byste cokoli odemykali. Je to pravděpodobně nejpřehnanější způsob, jak zjistit, kdy internet vypadne? Pravděpodobně, ale to je také jeho zábava.

Místo spoléhání se na další webovou službu nebo jen čekání, až internet v prohlížeči přestane fungovat, tento panel sedí přímo na mém stole. Už mi pomohl shromáždit lepší data pro stížnosti na poskytovatele internetu, pomohl mi odhalit vzorce výpadků a, upřímně, dal mi trochu klidu. Pokud máte ESP32 a OLED (nebo dokonce LED) po ruce, je to zábavný víkendový projekt. A pokud ne, zaplatíte méně než za kávu za to, co je jinak velmi cool projekt.

Související články