Sadržaj:
Video: Mjerač brzine interneta: 4 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Pregled
Ovaj "internetski mjerač brzine" omogućit će vam nadzor u stvarnom vremenu nad korištenjem vaše mreže. Ove su informacije dostupne na web sučelju većine kućnih usmjerivača. Međutim, da biste mu pristupili, morate zaustaviti trenutni zadatak da biste ga potražili.
Htio sam pregledati ove podatke bez prekidanja trenutnog zadatka, prikazati ih u formatu koji je razumljiv samo kratkim pogledom i dobiti informacije na način koji će raditi sa što je moguće više usmjerivača, kako bi drugi mogli potencijalno ga koristiti i.
Kako radi stvari
Odlučio sam se za SNMP (Simple Network Management Protocol) kao način za dobijanje informacija s usmjerivača. SNMP se široko koristi u mrežnoj opremi i ako ga vaš uređaj ne podržava prema zadanim postavkama, DDWRT (otvoreni izvorni softver usmjerivača) može se koristiti za implementaciju SNMP -a.
Za prikaz informacija na način koji je lako razumljiv upotrijebio sam mjerač iz automobila. Automobilski mjerači dizajnirani su da vam daju informacije bez ometanja ili zbunjivanja, tako da vozač može držati pogled na cesti. Takođe, malo sam legao.
Budući da bi ovo bilo na mom stolu, odlučio sam da napravim i pozadinsko svjetlo RGB jer bi svi računarski dodaci trebali biti RGB. Tačno?
Izazovi
Mjerači koje sam koristio koriste Air-Core aktuator. Nikada prije ovog projekta nisam čuo za njih.
Iz Wikipedije: Mjerač jezgre zraka sastoji se od dva nezavisna, okomita namotaja koji okružuju šuplju komoru. Vratilo igle strši u komoru, gdje je na vratilo pričvršćen stalni magnet. Kada struja teče kroz okomite zavojnice, njihova se magnetska polja nadovezuju, a magnet se može slobodno poravnati s kombiniranim poljima.
Nisam uspio pronaći biblioteku za Arduino koja podržava SNMP u konfiguraciji upravitelja. SNMP ima dva glavna oblika, agenta i menadžera. Agenti odgovaraju na zahtjev, a menadžeri šalju zahtjev agentima. Uspio sam pokrenuti funkcionalnost menadžera izmjenom Arduino_SNMP biblioteke koju je kreirao 0neblock. Nikada nisam programirao u C ++ osim što LED -e trepere na Arduinu, pa ako postoje problemi sa SNMP bibliotekom, obavijestite me i pokušat ću ih popraviti, ali zasad funkcionira.
Osim toga, SNMP nije dizajniran za gledanje u stvarnom vremenu. Predviđena upotreba je za praćenje statistike i otkrivanje prekida. Zbog toga se podaci na usmjerivaču ažuriraju otprilike svakih 5 sekundi (vaš uređaj može varirati). To je uzrok kašnjenja između broja na testu brzine i pomicanja igle.
Korak 1: Alati i materijali
Trebat će nam 3 puna H-mosta. Modeli koje sam koristio su Dual TB6612FNG i Dual L298N.
Svaki pokretač s Air-Core-om zahtijeva 2 puna H-mosta jer se zavojnice moraju kontrolirati nezavisno.
Jedan od mjerača koje koristim ima jednu zavojnicu kratko spojenu na masu s diodom i otpornikom. Nisam siguran u nauku koja stoji iza toga, ali to mu omogućava da se okreće za oko 90 stepeni sa samo jednom zavojnicom.
Koristit ću regulator od 12v do 5v koji je dio ploče L298N koju sam odabrao za napajanje ESP32.
Sva LED kola su opcionalna, kao i JST konektori. Možete jednostavno spajati žice direktno na ESP32 i upravljački program motora.
Korak 3: Dizajn koda
Podešavanje koda
Morat ćemo postaviti Arduino da bi mogao koristiti ESP32 ploču. Ovdje se nalazi dobar vodič koji će vas provesti kroz postavljanje ESP32 Arduino.
Trebat će vam i biblioteka Arduino_SNMP koja se nalazi ovdje.
Da biste konfigurirali kôd, morat ćete prikupiti neke podatke.
- IP usmjerivača
- Maksimalna brzina otpremanja
- Maksimalna brzina preuzimanja
- Vaše WiFi ime i lozinka
- OID koji sadrži oktete za "ulaz" i "izlaz" na WAN sučelju vaših usmjerivača
Postoje standardni OID -ovi (identifikatori objekata) za informacije koje želimo. Prema standardu MIB-2, brojevi koje želimo su:
ifInOctets.1.3.6.1.2.1.2.2.1.16. X
ifOutOctets.1.3.6.1.2.1.2.2.1.10. X
Gdje je X broj dodijeljen sučelju s kojeg želite dobiti statistiku. Za mene je taj broj 3. Jedan način da potvrdite da je ovo ispravan OID za vas i da odredite koji broj sučelja trebate koristiti je korištenje alata poput MIB Browser.
Da bih postigao maksimalne brzine, koristio sam SpeedTest.net. nakon što imate svoje brzine u Mbps, morat ćete ih pretvoriti u oktete koristeći ovu formulu.
Okteti u sekundi = (Rezultat testa brzine u Mbps * 1048576) / 8
Funkcija koda
Kod šalje usmjerivaču SNMP get-request. Ruter zatim odgovara brojem, broj predstavlja broj okteta koji su poslani ili primljeni. U isto vrijeme bilježimo broj milisekundi koje su prošle od pokretanja Arduina.
Kada se ovaj proces dogodi najmanje dva puta, pomoću ovog koda možemo izračunati postotak korištenja na osnovu naših maksimalnih vrijednosti
percentDown = ((float) (byteDown - byteDownLast)/(float) (maxDown * ((millis () - timeLast)/1000))) * 100;
Matematika se pokvari ovako:
octetsDiff = snmp_result - Prethodni_ snmp_result
timeFrame = currentTime - timeLast
MaxPosableOverTime = (timeFrame * Octets_per_second)/1000
Postotak = (octetsDiff / MaxPosableOverTime) * 100
Sada kada imamo postotak korištenja mreže, samo ga trebamo zapisati u mjerač. To radimo u 2 koraka. Prvo koristimo funkciju updateDownloadGauge. U ovoj funkciji koristimo “map” za pretvaranje postotka u broj koji predstavlja radijansku poziciju na mjeraču. Zatim dajemo taj broj funkciji setMeterPosition za pomicanje igle na novi položaj.
Korak 4: Dizajn kućišta
Da bih sadržao sve, dizajnirao sam kućište u fusion360 i 3D ga odštampao. Dizajn koji sam napravio je relativno jednostavan. Upotrijebio sam vruće ljepilo za pričvršćivanje komponenti iznutra, a mjerač se drži na mjestu tako da se stisne između prednjeg i stražnjeg poklopca. Za izradu kućišta ne morate koristiti 3D štampanje. Na primjer, možete napraviti kovčeg od drveta ili možete sve vratiti u originalno kućište u koje su ušli mjerači.
Moji STL fajlovi su dostupni na thingiverse -u ako ih želite pogledati, ali malo je vjerojatno da će vam uspjeti ako ne nabavite potpuno iste mjerače koje sam koristio.
Dokumenti slučaja:
Hvala na čitanju. Javite mi ako imate pitanja i potrudit ću se odgovoriti.
Preporučuje se:
Snimač brzine vjetra i sunčevog zračenja: 3 koraka (sa slikama)
Snimač brzine vjetra i sunčevog zračenja: Moram snimiti brzinu vjetra i snagu sunčevog zračenja (iradijaciju) kako bih procijenio koliko bi se snage moglo izvući pomoću vjetroturbine i/ili solarnih panela. Mjeriću jednu godinu, analizirati podatke, a zatim dizajnirati vanmrežni sistem
Napravite vlastitu BiQuad 4G antenu s testom brzine: 7 koraka (sa slikama)
Napravite vlastitu BiQuad 4G antenu s testom brzine: U ovom uputstvu ću vam pokazati kako sam napravio BiQuad 4G antenu. Prijem signala u mojoj kući je slab zbog planina oko moje kuće. Signalni toranj udaljen je 4,5 km od kuće. U okrugu Colombo moj davatelj usluga daje brzinu od 20mbps. ali u m
Regulator brzine WiFi ventilatora (ESP8266 AC Dimmer): 8 koraka (sa slikama)
Regulator brzine WiFi ventilatora (ESP8266 AC Dimmer): Ovo uputstvo će vas uputiti kako napraviti regulator brzine ventilatora na plafonu pomoću metode kontrole faznog ugla Triac. Triac se konvencionalno kontrolira Atmega8 samostalnim arduino konfiguriranim čipom. Wemos D1 mini dodaje WiFi funkcionalnost za ovaj regulator
Za napajanje alata upotrijebite DC pogonski motor s trakom za trčanje i kontroler brzine PWM: 13 koraka (sa slikama)
Za pogon alata upotrijebite istosmjerni pogonski motor s trakom za trčanje i kontroler brzine PWM: Električni alati, poput glodalica i tokarilica za rezanje metala, bušilica, tračnih pila, brusilica i drugih mogu zahtijevati motore snage od 5 do 2 KS sa mogućnošću finog podešavanja brzine uz održavanje zakretnog momenta .Slučajno, većina traka za trčanje koristi motor od 80-260 VDC sa
Znak brzine radara za nisku cijenu: 11 koraka (sa slikama)
Znak brzine radara sa niskim troškovima: Jeste li ikada poželjeli izgraditi vlastiti niskobudžetni znak brzine radara? Živim u ulici u kojoj automobili voze prebrzo i brinem se za sigurnost svoje djece. Mislio sam da bi bilo mnogo sigurnije da mogu postaviti vlastiti radarski znak za brzinu koji prikazuje