Sisukord:

Interneti kiiruse mõõtur: 4 sammu (koos piltidega)
Interneti kiiruse mõõtur: 4 sammu (koos piltidega)

Video: Interneti kiiruse mõõtur: 4 sammu (koos piltidega)

Video: Interneti kiiruse mõõtur: 4 sammu (koos piltidega)
Video: juhtmevaba videovalve WIFI komplekt inimeste jälgimisega 2024, Juuli
Anonim
Image
Image
Interneti kiirusmõõtur
Interneti kiirusmõõtur
Interneti kiirusmõõtur
Interneti kiirusmõõtur

Ülevaade

See "Interneti kiirusemõõtja" annab teile peaaegu reaalajas järelevalve võrgukasutuse üle. See teave on saadaval enamiku koduste ruuterite veebiliideses. Sellele juurdepääsuks peate siiski praeguse ülesande peatama, et seda otsida.

Tahtsin seda teavet vaadata, ilma et peaksin oma praegust ülesannet katkestama, kuvama selle lihtsalt kiire pilguga arusaadavas vormingus ja saada teavet viisil, mis töötaks võimalikult paljude ruuteritega, nii et teised saaksid seda teha potentsiaalselt ka seda kasutada.

Kuidas see asju ajab

Otsustasin ruuterist teabe hankimiseks kasutada SNMP -d (Simple Network Management Protocol). SNMP -d kasutatakse laialdaselt võrguseadmetes ja kui teie seade seda vaikimisi ei toeta, saab SNMP rakendamiseks kasutada DDWRT -d (avatud lähtekoodiga ruuteri püsivara).

Teabe kuvamiseks hõlpsasti arusaadaval viisil kasutasin autost saadud mõõdikut. Autonäidikud on loodud andma teile teavet, ilma et see segaks või tekitaks segadust, nii et juht saaks pilgu teel hoida. Lisaks lasin ma natuke ringi laotada.

Kuna see oleks minu laual, otsustasin teha ka taustvalgustuse RGB -ks, sest arvutitarvikud peaksid olema kõik RGB -d. Õige?

Väljakutsed

Mõõdikud, mis mul olid, kasutasid Air-Core täiturmehhanismi. Ma polnud neist enne seda projekti kuulnud.

Wikipediast: Õhusüdamiku gabariit koosneb kahest sõltumatust risti asetsevast mähisest, mis ümbritsevad õõnsat kambrit. Nõelvõll ulatub kambrisse, kus võllile on kinnitatud püsimagnet. Kui vool voolab läbi risti asetsevate mähiste, asetsevad nende magnetväljad üksteise kohal ja magnet võib vabalt joonduda kombineeritud väljadega.

Ma ei suutnud leida Arduino raamatukogu, mis toetaks halduri konfiguratsioonis SNMP -d. SNMP -l on kaks peamist vormi, agent ja juht. Agendid vastavad päringule ja juhid saadavad taotluse agentidele. Mul õnnestus halduri funktsionaalsus tööle saada, muutes 0neblocki loodud Arduino_SNMP raamatukogu. Ma pole kunagi programmeerinud C ++ -se, välja arvatud see, et panin LED -id Arduinole vilkuma, nii et kui SNMP raamatukogus on probleeme, andke mulle sellest teada ja proovin need parandada, praegu see töötab.

Lisaks pole SNMP mõeldud reaalajas vaatamiseks. Eesmärk on statistika jälgimine ja katkestuste tuvastamine. Seetõttu värskendatakse ruuteri teavet ainult umbes iga 5 sekundi järel (teie seade võib erineda). Sellest tuleneb viivitus kiiruskatsel oleva numbri ja nõela liikumise vahel.

Samm: tööriistad ja materjalid

Tööriistad ja materjalid
Tööriistad ja materjalid
Tööriistad ja materjalid
Tööriistad ja materjalid
Tööriistad ja materjalid
Tööriistad ja materjalid
Tööriistad ja materjalid
Tööriistad ja materjalid
Vooluahela disain
Vooluahela disain

Vajame 3 täielikku H-silda. Kasutatud mudelid on Dual TB6612FNG ja Dual L298N.

Iga Air-Core täiturmehhanism vajab 2 täielikku H-silda, kuna mähiseid tuleb sõltumatult juhtida.

Ühel minu kasutusel oleval gabariidil on üks mähis, mis on dioodi ja takistiga maandatud. Ma ei ole selle taga olevas teaduses kindel, kuid see võimaldab tal pöörata ainult 90 kraadi ainult ühe mähisega.

Ma kasutan 12v kuni 5v regulaatorit, mis on osa L298N plaadist, mille valisin ESP32 toiteks.

Kõik LED -ahelad ja JST -pistikud on valikulised. Juhtmeid saate hõlpsalt otse ESP32 ja mootori draiverisse jootma.

3. samm: koodi kujundamine

Koodi seadistamine

Peame seadistama Arduino, et saaksime kasutada ESP32 plaati. Siin asub hea juhend, mis juhendab teid ESP32 Arduino seadistamisel.

Teil on vaja ka siin asuvat Arduino_SNMP raamatukogu.

Koodi seadistamiseks peate koguma teatud teavet.

  1. Ruuteri IP
  2. Maksimaalne üleslaadimiskiirus
  3. Maksimaalne allalaadimiskiirus
  4. Teie WiFi nimi ja parool
  5. OID, mis sisaldab oktetti, loeb ruuteri WAN -liideses sisse ja välja

Soovitud teabe jaoks on olemas standardsed OID -d (objektide identifikaatorid). Vastavalt standardile MIB-2 soovime järgmisi numbreid:

ifInOctets.1.3.6.1.2.1.2.2.1.16. X

ifOutOctets.1.3.6.1.2.1.2.2.1.10. X

Kus X on liidesele määratud number, kust soovite statistikat saada. Minu jaoks on see number 3. Üks võimalus kinnitada, et see on teie jaoks õige OID ja tuvastada, millist liidese numbrit peate kasutama, on kasutada sellist tööriista nagu MIB Browser.

Maksimaalse kiiruse saamiseks kasutasin SpeedTest.net. kui olete oma kiiruse Mbps -is määranud, peate selle valemi abil teisendama oktettideks.

Okette sekundis = (kiiruskatse tulemus Mbps * 1048576) / 8

Koodi funktsioon

Kood saadab ruuterile SNMP hankimise taotluse. Seejärel vastab ruuter numbriga, number tähistab saadetud või vastuvõetud oktettide arvu. Samal ajal registreerime Arduino käivitamisest möödunud millisekundite arvu.

Kui see protsess on toimunud vähemalt kaks korda, saame selle koodi abil arvutada kasutuse protsendi oma maksimaalsete väärtuste põhjal

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

Matemaatika laguneb järgmiselt:

octetsDiff = snmp_result - Eelmine_ snmp_result

timeFrame = currentTime - timeLast

MaxPosableOverTime = (timeFrame * Octets_per_second)/1000

Protsent = (oktettidDiff / MaxPosableOverTime) * 100

Nüüd, kui meil on võrgukasutuse protsent, peame selle lihtsalt gabariidile kirjutama. Me teeme seda kahes etapis. Esiteks kasutame funktsiooni updateDownloadGauge. Selle funktsiooni puhul kasutame “kaarti”, et teisendada protsent arvuks, mis tähistab mõõturi radiaani positsiooni. Seejärel anname selle numbri funktsioonile setMeterPosition, et viia nõel uude asendisse.

4. samm: korpuse kujundamine

Korpuse disain
Korpuse disain
Korpuse disain
Korpuse disain
Korpuse disain
Korpuse disain

Et kõike sisaldada, kujundasin fusion360 ümbrise ja printisin selle 3D -le. Minu tehtud disain on suhteliselt lihtne. Komponentide kinnitamiseks seestpoolt kasutasin kuuma liimi ja gabariit hoitakse paigal esikaane ja tagakaane vahele surudes. Korpuse loomiseks ei pea te 3D -printimist kasutama. Näiteks võite teha puidust korpuse või panna kõik tagasi algsesse ümbrisesse, mille mõõturid sisse tulid.

Minu STL -failid on saidil thingiverse saadaval, kui soovite neid vaadata, kuid on ebatõenäoline, et need teie jaoks töötavad, kui te ei saa täpselt samu gabariite, mida ma kasutasin.

Juhtumifailid:

Täname lugemise eest. Andke mulle teada, kui teil on küsimusi, ja ma annan endast parima, et vastata.

Soovitan: