Obsah:
Video: Merač rýchlosti internetu: 4 kroky (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
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
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í.
- Smerovač IP
- Maximálna rýchlosť nahrávania
- Maximálna rýchlosť sťahovania
- Vaše WiFi meno a heslo
- 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
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:
Zapisovač rýchlosti vetra a slnečného žiarenia: 3 kroky (s obrázkami)
Zapisovač rýchlosti vetra a slnečného žiarenia: Potrebujem zaznamenať rýchlosť vetra a silu slnečného žiarenia (ožarovanie), aby som vyhodnotil, koľko energie je možné získať pomocou veternej turbíny a/alebo solárnych panelov. Budem merať jeden rok, analyzovať údaje a potom navrhnite systém mimo siete
Vytvorte si vlastný merač VU s LED nápisom: 4 kroky (s obrázkami)
Vytvorte si vlastný merač VU s LED znakom: V tomto projekte vám ukážem, ako vytvoriť vlastný LED indikátor, ktorý reaguje na hlasitosť vašej hudby rovnako ako merač VU. Začnime
Lacný merač špiny-9 dolárov počuteľný výškomer založený na Arduine: 4 kroky (s obrázkami)
Špinavý lacný merač špiny-9 dolárov počuteľný výškomer založený na Arduine: Dytters (A.K.A Audible Altimeterers) zachránil životy parašutistov na mnoho rokov. Teraz im Audible Abby ušetrí aj peniaze. Základné Dytters majú štyri alarmy, jeden na ceste hore a tri na ceste dole. Pri lietadle hore parašutisti potrebujú vedieť, kedy
Mini digitálny merač LUX: 4 kroky (s obrázkami)
Mini digitálny merač LUX: Čo je to lux meter? Digitálny lux meter je zariadenie na meranie intenzity zdroja svetla. Na odhadnutie jasu blesku a tiež okolitého osvetlenia sa vo fotografii použije luxmeter. princíp činnosti luxmetra:
Merač alebo značka nebezpečného hluku: 4 kroky (s obrázkami)
Nebezpečný hlukomer alebo znamenie: Rád sa pozerám na kreatívne projekty ľudí. Moderné nástroje & Technológia nám dáva toľko kreatívnych možností. Učím tvrdé materiály pre študentov stredných škôl na strednej škole na Novom Zélande, takže sa neustále rozvíjam & skúšanie nových vecí. Tieto