Obsah:

Merač rýchlosti internetu: 4 kroky (s obrázkami)
Merač rýchlosti internetu: 4 kroky (s obrázkami)

Video: Merač rýchlosti internetu: 4 kroky (s obrázkami)

Video: Merač rýchlosti internetu: 4 kroky (s obrázkami)
Video: 💦Blackview BV9200 ЧЕСТНЫЙ ОБЗОР ПРОТИВОУДАРНОГО 2024, Júl
Anonim
Image
Image
Internetový merač rýchlosti
Internetový merač rýchlosti
Internetový merač rýchlosti
Internetový merač rýchlosti

Prehľad

Tento „merač rýchlosti internetu“vám poskytne dohľad nad používaním vašej siete v reálnom čase. Tieto informácie sú k dispozícii na webovom rozhraní väčšiny domácich smerovačov. Prístup k nej však vyžaduje, aby ste svoju aktuálnu úlohu zastavili a išli si ju vyhľadať.

Chcel som tieto informácie zobraziť bez toho, aby som musel prerušiť svoju súčasnú úlohu, zobraziť ich vo formáte, ktorý je zrozumiteľný iba rýchlym pohľadom, a získať informácie spôsobom, ktorý by fungoval s čo najväčším počtom smerovačov, aby ostatní mohli potenciálne ho tiež použiť.

Ako to robí veci

Ako spôsob získavania informácií zo smerovača som sa rozhodol pre protokol SNMP (Simple Network Management Protocol). Protokol SNMP sa v sieťových zariadeniach široko používa a ak to vaše zariadenie v predvolenom nastavení nepodporuje, na implementáciu protokolu SNMP je možné použiť DDWRT (firmvér smerovača s otvoreným zdrojovým kódom).

Na zobrazenie informácií zrozumiteľným spôsobom som použil rozchod z auta. Automobilové meradlá sú navrhnuté tak, aby vám poskytovali informácie bez toho, aby vás rozptyľovali alebo miatli, takže vodič môže nespúšťať zrak z cesty. Tiež som sa mal okolo.

Pretože by to bolo na mojom stole, rozhodol som sa, že urobím aj zadné svetlo RGB, pretože príslušenstvo k počítaču by malo byť všetko RGB. Správny?

Výzvy

Meradlá, ktoré som mal, používajú pohon Air-Core. Pred týmto projektom som o nich nikdy nepočul.

Z Wikipédie: Meradlo jadra vzduchu pozostáva z dvoch nezávislých kolmých cievok obklopujúcich dutú komoru. Hriadeľ ihly vyčnieva do komory, kde je k hriadeľu pripevnený permanentný magnet. Keď prúd preteká kolmými cievkami, ich magnetické polia sa prekrývajú a magnet sa môže voľne zarovnať s kombinovanými poľami.

Nepodarilo sa mi nájsť knižnicu pre Arduino, ktorá by v konfigurácii správcu podporovala SNMP. SNMP má dve hlavné formy, agent a manažér. Agenti reagujú na žiadosť a manažéri posielajú žiadosť agentom. Podarilo sa mi spustiť funkčnosť správcu úpravou knižnice Arduino_SNMP vytvorenej programom 0neblock. Nikdy som neprogramoval v C ++ okrem toho, aby blikali LED diódy na Arduine, takže ak sa vyskytnú problémy s knižnicou SNMP, dajte mi vedieť a pokúsim sa ich opraviť, zatiaľ to však funguje.

Protokol SNMP navyše nie je určený na sledovanie v reálnom čase. Určené použitie je na sledovanie štatistík a zisťovanie výpadkov. Z tohto dôvodu sa informácie o smerovači aktualizujú iba každých 5 sekúnd (vaše zariadenie sa môže líšiť). To je príčinou oneskorenia medzi číslom na teste rýchlosti a pohybom ihly.

Krok 1: Nástroje a materiály

Nástroje a materiály
Nástroje a materiály
Nástroje a materiály
Nástroje a materiály
Nástroje a materiály
Nástroje a materiály
Nástroje a materiály
Nástroje a materiály
Návrh obvodu
Návrh obvodu

Budeme potrebovať 3 plné H-mostíky. Modely, ktoré som použil, sú Dual TB6612FNGand Dual L298N.

Každý pohon Air-Core vyžaduje 2 úplné H-mostíky, pretože cievky je potrebné ovládať nezávisle.

Jeden z meradiel, ktoré používam, má jednu cievku skratovanú k zemi s diódou a odporom. Nie som si istý vedou, ktorá je za tým, ale vďaka tomu sa to môže otáčať asi o 90 stupňov iba s jednou cievkou napájanou.

Budem používať regulátor 12 až 5 V, ktorý je súčasťou dosky L298N, ktorú som vybral na napájanie ESP32.

Všetky obvody LED sú voliteľné, rovnako ako konektory JST. Káble môžete ľahko spájkovať priamo s ESP32 a ovládačom motora.

Krok 3: Návrh kódu

Nastavenie kódu

Aby sme mohli používať dosku ESP32, budeme musieť nastaviť Arduino. Nachádza sa tu dobrý sprievodca, ktorý vás prevedie nastavením ESP32 Arduino.

Budete tiež potrebovať tu umiestnenú knižnicu Arduino_SNMP.

Na konfiguráciu kódu budete potrebovať zhromaždiť niekoľko informácií.

  1. Smerovač IP
  2. Maximálna rýchlosť nahrávania
  3. Maximálna rýchlosť sťahovania
  4. Vaše WiFi meno a heslo
  5. OID, ktoré obsahuje počty oktetov pre „vstup“a „výstup“v rozhraní WAN vašich smerovačov

Pre požadované informácie existujú štandardné OID (identifikátory objektov). Podľa štandardu MIB-2 chceme tieto čísla:

ifInOctets.1.3.6.1.2.1.2.2.1.16. X

ifOutOctets.1.3.6.1.2.1.2.2.1.10. X

Kde X je číslo priradené rozhraniu, z ktorého chcete získať štatistiky. Pre mňa je to číslo 3. Jeden zo spôsobov, ako potvrdiť, že je to správne OID pre vás, a zistiť, aké číslo rozhrania musíte použiť, je použiť nástroj, ako je MIB Browser.

Na dosiahnutie maximálnych rýchlostí som použil SpeedTest.net. Akonáhle budete mať svoje rýchlosti v Mbps, budete ich musieť previesť na oktety podľa tohto vzorca.

Oktety za sekundu = (Výsledok testu rýchlosti v Mbps * 1048576) / 8

Funkcia kódu

Kód odošle smerovaču požiadavku na získanie SNMP. Router potom odpovie číslom, ktoré predstavuje počet odoslaných alebo prijatých oktetov. Súčasne zaznamenávame počet milisekúnd, ktoré uplynuli od spustenia Arduina.

Akonáhle sa tento proces stane najmenej dvakrát, môžeme pomocou tohto kódu vypočítať percento použitia na základe našich maximálnych hodnôt

percentDown = ((float) (byteDown - byteDownLast)/(float) (maxDown * ((millis () - timeLast)/1000))) * 100;

Matematika je rozdelená takto:

octetsDiff = snmp_result - Previous_ snmp_result

timeFrame = currentTime - timeLast

MaxPosableOverTime = (timeFrame * Octets_per_second)/1000

Percento = (oktetyDiff / MaxPosableOverTime) * 100

Teraz, keď máme percento využitia siete, stačí ho zapísať do meradla. Robíme to v 2 krokoch. Najprv použijeme funkciu updateDownloadGauge. V tejto funkcii používame „mapu“na konverziu percenta na číslo, ktoré predstavuje radiánovú polohu na meradle. Potom dáme toto číslo funkcii setMeterPosition, aby sa ihla posunula do novej polohy.

Krok 4: Dizajn puzdra

Dizajn puzdra
Dizajn puzdra
Dizajn puzdra
Dizajn puzdra
Dizajn puzdra
Dizajn puzdra

Aby všetko obsahovalo, navrhol som kryt vo fusion360 a 3Dtlačil ho. Dizajn, ktorý som urobil, je pomerne jednoduchý. Na upevnenie komponentov zvnútra som použil horúce lepidlo a meradlo je držané na svojom mieste zovretím medzi predný kryt a zadný kryt. Na vytvorenie puzdra nepotrebujete použiť 3D tlač. Môžete napríklad vyrobiť puzdro z dreva alebo môžete všetko vrátiť do pôvodného puzdra, v ktorom prišli meradlá.

Moje súbory STL sú k dispozícii na univerzite, ak sa na ne chcete pozrieť, ale je nepravdepodobné, že by pre vás fungovali, pokiaľ nezískate presne tie isté meradlá, ktoré som použil.

Súbory prípadov:

Vďaka za prečítanie. V prípade akýchkoľvek otázok mi dajte vedieť a ja sa pokúsim zodpovedať.

Odporúča: