Sadržaj:

Internetski mjerač brzine: 4 koraka (sa slikama)
Internetski mjerač brzine: 4 koraka (sa slikama)

Video: Internetski mjerač brzine: 4 koraka (sa slikama)

Video: Internetski mjerač brzine: 4 koraka (sa slikama)
Video: Miletov cuveni pad sa bicikla. :D 2024, Srpanj
Anonim
Image
Image
Internetski mjerač brzine
Internetski mjerač brzine
Internetski mjerač brzine
Internetski mjerač brzine

Pregled

Ovaj "internetski mjerač brzine" omogućit će vam nadzor u stvarnom vremenu nad upotrebom 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.

Želio sam pregledati ove podatke bez potrebe za prekidanjem trenutnog zadatka, prikazati ih u formatu koji je razumljiv samo kratkim pogledom i dobiti informacije na način koji bi radio s što je moguće više usmjerivača, kako bi drugi mogli potencijalno ga i koristiti.

Kako radi stvari

Odlučio sam se za SNMP (Simple Network Management Protocol) kao način za dobivanje informacija s usmjerivača. SNMP se naširoko koristi u mrežnoj opremi, a ako ga vaš uređaj prema zadanim postavkama ne podržava, DDWRT (firmver usmjerivača otvorenog koda) 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 za pružanje informacija bez ometanja ili zbunjivanja, tako da vozač može držati pogled na cesti. Također, malo sam legao.

Budući da bi ovo bilo na mom stolu, odlučio sam napraviti i pozadinsko svjetlo RGB jer bi svi računalni dodaci trebali biti RGB. Pravo?

Izazovi

Mjerači koje sam imao koriste Air-Core aktuator. Nikada prije ovog projekta nisam čuo za njih.

Iz Wikipedije: Mjerač jezgre zraka sastoji se od dvije neovisne, okomite zavojnice koje okružuju šuplju komoru. Vratilo igle strši u komoru, gdje je na osovinu pričvršćen stalni magnet. Kad struja teče kroz okomite zavojnice, njihova se magnetska polja preklapaju, 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 upravitelja. Agenti odgovaraju na zahtjev, a menadžeri šalju zahtjev agentima. Uspio sam pokrenuti funkcionalnost upravitelja izmijenom biblioteke Arduino_SNMP koju je stvorio 0neblock. Nikada nisam programirao u C ++ osim što LED -e trepere na Arduinu, pa ako postoje problemi sa SNMP knjižnicom, obavijestite me i pokušat ću ih popraviti, ali zasad radi.

Osim toga, SNMP nije dizajniran za gledanje u stvarnom vremenu. Namijenjena je upotreba za praćenje statistike i otkrivanje kvarova. 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

Alati i materijali
Alati i materijali
Alati i materijali
Alati i materijali
Alati i materijali
Alati i materijali
Alati i materijali
Alati i materijali
Dizajn sklopa
Dizajn sklopa

Trebat će nam 3 puna H-mosta. Modeli koje sam koristio su Dual TB6612FNG i Dual L298N.

Svaki pokretač Air-Core zahtijeva 2 puna H-mosta jer se zavojnicama treba upravljati neovisno.

Jedan od mjerača koje koristim ima jednu zavojnicu kratko spojenu na masu s diodom i otpornikom. Nisam siguran u znanost koja stoji iza toga, ali to mu omogućuje da se okreće za 90 stupnjeva 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 izravno na ESP32 i upravljački program motora.

Korak 3: Dizajn koda

Postavljanje 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.

  1. IP usmjerivača
  2. Maksimalna brzina prijenosa
  3. Maksimalna brzina preuzimanja
  4. Vaše WiFi ime i lozinka
  5. OID koji sadrži oktete za "ulaz" i "izlaz" na WAN sučelju vaših usmjerivača

Postoje standardni OID -i (Object Identifiers) za željene informacije. Prema standardu MIB-2, brojke 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 preglednika.

Za postizanje maksimalnih brzina koristio sam SpeedTest.net. nakon što imate svoje brzine u Mbps, morat ćete ih pretvoriti u oktete pomoću ove formule.

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. Istodobno bilježimo broj milisekundi koje su prošle od pokretanja Arduina.

Nakon što se ovaj proces dogodio najmanje dva puta, pomoću ovog koda možemo izračunati postotak korištenja na temelju 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 = (oktetiDiff / MaxPosableOverTime) * 100

Sada kada imamo postotak korištenja mreže, samo ga moramo zapisati u mjerač. To radimo u 2 koraka. Prvo koristimo funkciju updateDownloadGauge. U ovoj funkciji koristimo "kartu" za pretvaranje postotka u broj koji predstavlja radijanski položaj na mjeraču. Zatim taj broj dajemo funkciji setMeterPosition za pomicanje igle na novi položaj.

Korak 4: Dizajn kućišta

Dizajn kućišta
Dizajn kućišta
Dizajn kućišta
Dizajn kućišta
Dizajn kućišta
Dizajn kućišta

Kako bih sadržao sve, dizajnirao sam kućište u fusion360 i 3D ga ispisao. Dizajn koji sam napravio relativno je jednostavan. Upotrijebio sam vruće ljepilo za pričvršćivanje komponenti s unutarnje strane, 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 ispis. Na primjer, možete napraviti kovčeg od drveta ili možete sve vratiti u izvornu kutiju u koju su ušli mjerači.

Moje STL datoteke su dostupne 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.

Datoteke predmeta:

Hvala na čitanju. Javite mi ako imate pitanja i potrudit ću se odgovoriti.

Preporučeni: