Përmbajtje:

Matës i shpejtësisë së internetit: 4 hapa (me fotografi)
Matës i shpejtësisë së internetit: 4 hapa (me fotografi)

Video: Matës i shpejtësisë së internetit: 4 hapa (me fotografi)

Video: Matës i shpejtësisë së internetit: 4 hapa (me fotografi)
Video: Gjeniu i matematikës, 13-vjeçari që zgjidh ushtrimet më shpejt së makina llogaritëse 2024, Korrik
Anonim
Image
Image
Matës i shpejtësisë së internetit
Matës i shpejtësisë së internetit
Matës i shpejtësisë së internetit
Matës i shpejtësisë së internetit

Vështrim i përgjithshëm

Ky "Matës i Shpejtësisë së Internetit" do t'ju japë mbikëqyrje në kohë reale të përdorimit të rrjetit tuaj. Ky informacion është i disponueshëm në ndërfaqen në internet të shumicës së ruterëve shtëpiak. Sidoqoftë, qasja në të kërkon që të ndalosh detyrën tënde aktuale për të kërkuar.

Doja ta shikoja këtë informacion pa pasur nevojë të ndërpres detyrën time aktuale, ta shfaq atë në një format që ishte i kuptueshëm me një shikim të shpejtë dhe të merrja informacionin në një mënyrë që do të punonte me sa më shumë ruterë, në mënyrë që të tjerët të mund të potencialisht ta përdorni edhe atë.

Si i bën gjërat

Vendosa për SNMP (Simple Network Management Protocol) si mënyrë për të marrë informacionin nga ruteri. SNMP përdoret gjerësisht në pajisjet e rrjetit dhe nëse pajisja juaj nuk e mbështet atë si parazgjedhje, DDWRT (firmware i ruterit me burim të hapur) mund të përdoret për të zbatuar SNMP.

Për të shfaqur informacionin në një mënyrë që është e lehtë për t'u kuptuar, kam përdorur një matës nga një makinë. Matësit e automobilave janë krijuar për t'ju dhënë informacion pa u tërhequr ose konfuzuar, kështu që shoferi mund t'i mbajë sytë në rrugë. Gjithashtu, kisha disa shtrirë përreth.

Meqenëse kjo do të ishte në tryezën time vendosa që gjithashtu do ta bëja dritën e pasme RGB sepse aksesorët e kompjuterit duhet të jenë të gjithë RGB. E drejtë?

Sfidat

Matësit që kam përdorur përdorin një shtytës të ajrit. Unë kurrë nuk kisha dëgjuar për këto para këtij projekti.

Nga Wikipedia: Matësi i bërthamës së ajrit përbëhet nga dy spirale të pavarura, pingul që rrethojnë një dhomë të uritur. Një bosht gjilpërë del në dhomë, ku një magnet i përhershëm është ngjitur në bosht. Kur rryma rrjedh nëpër mbështjelljet pingul, fushat e tyre magnetike mbivendosen dhe magneti është i lirë të rreshtohet me fushat e kombinuara.

Unë nuk isha në gjendje të gjeja një bibliotekë për Arduino që mbështeste SNMP në konfigurimin e menaxherit. SNMP ka dy forma kryesore, agjent dhe menaxher. Agjentët i përgjigjen kërkesës dhe menaxherët u dërgojnë kërkesë agjentëve. Unë kam qenë në gjendje të marr funksionimin e menaxherit duke modifikuar bibliotekën Arduino_SNMP të krijuar nga 0neblock. Unë kurrë nuk kam programuar në C ++ përveçse të vezulloj LED në një Arduino, kështu që nëse ka probleme me bibliotekën SNMP më njoftoni dhe do të përpiqem t'i rregulloj, tani për tani po funksionon.

Për më tepër, SNMP nuk është krijuar për shikimin në kohë reale. Përdorimi i synuar është për gjurmimin e statistikave dhe zbulimin e ndërprerjeve. Për shkak të kësaj, informacioni në ruter përditësohet vetëm çdo 5 sekonda (pajisja juaj mund të ndryshojë). Ky është shkaku i vonesës midis numrit në testin e shpejtësisë dhe lëvizjes së gjilpërës.

Hapi 1: Mjetet dhe materialet

Mjetet dhe materialet
Mjetet dhe materialet
Mjetet dhe materialet
Mjetet dhe materialet
Mjetet dhe materialet
Mjetet dhe materialet
Mjetet dhe materialet
Mjetet dhe materialet
Dizajni i Qarkut
Dizajni i Qarkut

Do të na duhen 3 ura të plota H. Modelet që kam përdorur janë Dual TB6612FNGand Dual L298N.

Çdo aktivizues Air-Core kërkon 2 ura të plota H sepse mbështjelljet duhet të kontrollohen në mënyrë të pavarur.

Një nga matësit që po përdor ka një spirale të shkurtuar në tokë me një diodë dhe rezistencë. Unë nuk jam i sigurt për shkencën që qëndron pas saj, por kjo e lejon atë të rrotullohet rreth 90 gradë me vetëm një spirale të mundësuar.

Unë do të përdor rregullatorin 12v në 5v që është pjesë e bordit L298N që zgjodha për të fuqizuar ESP32.

Të gjitha qarqet LED janë opsionale, si dhe lidhësit JST. Ju lehtë mund t'i lidhni telat drejtpërdrejt në ESP32 dhe drejtuesin e motorit.

Hapi 3: Dizajni i Kodit

Konfigurimi i Kodit

Ne do të duhet të konfigurojmë Arduino për të qenë në gjendje të përdorim bordin ESP32. Ekziston një udhëzues i mirë i vendosur këtu që do t'ju përcjellë përmes konfigurimit të ESP32 Arduino.

Ju gjithashtu do të keni nevojë për bibliotekën Arduino_SNMP të vendosur këtu.

Për të konfiguruar kodin, do t'ju duhet të grumbulloni disa informacione.

  1. IP e ruterit
  2. Shpejtësia maksimale e ngarkimit
  3. Shpejtësia maksimale e shkarkimit
  4. Emri dhe fjalëkalimi juaj WiFi
  5. OID që përmban numërimin e oktetëve për "in" dhe "out" në ndërfaqen WAN të ruterëve tuaj

Ekzistojnë OID -të standarde (Identifikuesit e Objekteve) për informacionin që duam. Sipas standardit MIB-2 numrat që duam janë:

ifInOctets.1.3.6.1.2.1.2.2.1.16. X

ifOutOctets.1.3.6.1.2.1.2.2.1.10. X

Ku X është numri i caktuar për ndërfaqen nga e cila dëshironi të merrni statistikat. Për mua ai numër është 3. Një mënyrë për të konfirmuar që ky është OID -i i duhur për ju dhe për të identifikuar numrin e ndërfaqes që duhet të përdorni, është të përdorni një mjet si MIB Browser.

Për të marrë shpejtësinë maksimale, unë përdor SpeedTest.net. pasi të keni shpejtësinë tuaj në Mbps, do t'ju duhet t'i shndërroni ato në okte duke përdorur këtë formulë.

Oktet për sekondë = (Rezultati i testit të shpejtësisë në Mbps * 1048576) / 8

Funksioni i Kodit

Kodi dërgon një kërkesë për marrje SNMP në ruter. Pastaj ruteri përgjigjet me një numër, numri përfaqëson numrin e oktetëve që janë dërguar ose marrë. Në të njëjtën kohë, ne regjistrojmë numrin e milisekondave që kanë kaluar që nga fillimi i Arduino.

Pasi të ketë ndodhur ky proces të paktën dy herë, ne mund të llogarisim përqindjen e përdorimit bazuar në vlerat tona maksimale duke përdorur këtë kod

përqindDown = ((noton) (byteDown - byteDownLast)/(noton) (maxDown * ((millis () - timeLast)/1000))) * 100;

Matematika prishet kështu:

octetsDiff = snmp_result - Previous_ snmp_result

timeFrame = aktualeTime - timeLast

MaxPosableOverTime = (afati kohor * Octets_per_second)/1000

Përqindja = (oktetsDiff / MaxPosableOverTime) * 100

Tani që kemi përqindjen e përdorimit të rrjetit, ne vetëm duhet ta shkruajmë atë në matës. Ne e bëjmë atë në 2 hapa. Së pari ne përdorim funksionin updateDownloadGauge. Në këtë funksion ne përdorim "hartë" për të kthyer përqindjen në një numër që përfaqëson një pozicion radian në matës. Pastaj ia japim atë numër funksionit setMeterPosition për të lëvizur gjilpërën në pozicionin e ri.

Hapi 4: Hartimi i rastit

Dizajni i rastit
Dizajni i rastit
Dizajni i rastit
Dizajni i rastit
Dizajni i rastit
Dizajni i rastit

Për të përmbajtur gjithçka, unë projektova një rrethim në fusion360 dhe e printova 3D. Dizajni që kam bërë është relativisht i thjeshtë. Kam përdorur zam të nxehtë për të lidhur përbërësit në brendësi dhe matësi mbahet në vend duke u kapur midis kapakut të përparmë dhe kapakut të pasmë. Nuk keni nevojë të përdorni printimin 3D për të krijuar kutinë. Për shembull, ju mund të bëni një kuti prej druri, ose mund të vendosni gjithçka përsëri në kutinë origjinale ku kanë ardhur matësit.

Dosjet e mia STL janë të disponueshme në thingiverse nëse doni t'i shikoni ato, por nuk ka gjasa që ato të funksionojnë për ju nëse nuk merrni të njëjtat matës të përdorur unë.

Dosjet e çështjes:

Faleminderit per leximin. Më tregoni nëse keni ndonjë pyetje dhe unë do të bëj çmos për t'iu përgjigjur.

Recommended: