Indholdsfortegnelse:
Video: Internethastighedsmåler: 4 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Oversigt
Denne "internethastighedsmåler" giver dig nærtidsovervågning af dit netforbrug. Disse oplysninger er tilgængelige på webgrænsefladen for de fleste hjemmeroutere. Men adgang til den kræver, at du stopper din nuværende opgave for at slå den op.
Jeg ville se disse oplysninger uden at skulle afbryde min nuværende opgave, vise dem i et format, der var forståeligt med et hurtigt blik, og at få informationen på en måde, der ville fungere med så mange routere som muligt, så andre kunne muligvis også bruge det.
Hvordan det gør tingene
Jeg besluttede mig for SNMP (Simple Network Management Protocol) som måden at hente oplysningerne fra routeren. SNMP bruges meget i netværksudstyr, og hvis din enhed ikke understøtter det som standard, kan DDWRT (open source router -firmware) bruges til at implementere SNMP.
For at vise oplysningerne på en letforståelig måde brugte jeg en måler fra en bil. Bilmålere er designet til at give dig information uden at være distraherende eller forvirrende, så føreren kan holde øje med vejen. Jeg havde også nogle liggende.
Da dette ville være på mit skrivebord, besluttede jeg, at jeg også ville lave baggrundslyset RGB, fordi computertilbehør alle skulle være RGB. Ret?
Udfordringer
Målerne, jeg havde, brugte en Air-Core-aktuator. Jeg havde aldrig hørt om disse før dette projekt.
Fra Wikipedia: Luftkernemåleren består af to uafhængige, vinkelrette spoler, der omgiver et hul kammer. En nålestang stikker ind i kammeret, hvor en permanent magnet er fastgjort til skaftet. Når strøm strømmer gennem de vinkelrette spoler, overlejrer deres magnetfelter, og magneten er fri til at justere med de kombinerede felter.
Jeg kunne ikke finde et bibliotek til Arduino, der understøttede SNMP i managerkonfigurationen. SNMP har to hovedformer, agent og manager. Agenter reagerer på anmodning, og ledere sender anmodning til agenter. Jeg var i stand til at få managerfunktionaliteten til at fungere ved at ændre Arduino_SNMP -biblioteket oprettet af 0neblock. Jeg har aldrig programmeret i C ++ andet end at få lysdioder til at blinke på en Arduino, så lad mig vide det, hvis der er problemer med SNMP -biblioteket, så prøver jeg at rette dem, for nu virker det dog.
Derudover er SNMP ikke designet til visning i realtid. Den påtænkte anvendelse er til sporing af statistik og registrering af afbrydelser. På grund af dette opdateres oplysningerne på routeren kun cirka hvert 5. sekund (din enhed kan variere). Det er årsagen til forsinkelsen mellem nummeret på hastighedstesten og nålen, der bevæger sig.
Trin 1: Værktøjer og materialer
Vi skal bruge 3 fulde H-broer. De modeller, jeg brugte, er Dual TB6612FNGand Dual L298N.
Hver Air-Core-aktuator kræver 2 fulde H-broer, fordi spolerne skal styres uafhængigt.
En af målerne, jeg bruger, har en spole, der er kortsluttet til jorden med en diode og modstand. Jeg er ikke sikker på videnskaben bag det, men det gør det muligt at rotere omkring 90 grader med kun en spole drevet.
Jeg bruger 12v til 5v regulatoren, der er en del af L298N -kortet, som jeg valgte til at drive ESP32.
Alle LED -kredsløb er valgfrie samt JST -stik. Du kan let lodde ledningerne direkte til ESP32 og motordriveren.
Trin 3: Kodesign
Kodeopsætning
Vi bliver nødt til at konfigurere Arduino for at kunne bruge ESP32 -kortet. Der er en god guide placeret her, der vil lede dig gennem ESP32 Arduino -opsætning.
Du får også brug for Arduino_SNMP -biblioteket her.
For at konfigurere koden skal du indsamle nogle oplysninger.
- Router IP
- Maksimal uploadhastighed
- Maksimal downloadhastighed
- Dit WiFi -navn og adgangskode
- OID, der indeholder oktettællinger for "in" og "out" på din routers WAN -interface
Der er standard OID'er (Object Identifiers) til de oplysninger, vi ønsker. I henhold til MIB-2-standarden er de tal, vi ønsker:
ifInOctets.1.3.6.1.2.1.2.2.1.16. X
ifOutOctets.1.3.6.1.2.1.2.2.1.10. X
Hvor X er det nummer, der er tildelt den grænseflade, du vil hente statistikken fra. For mig er dette nummer 3. En måde at bekræfte, at dette er den korrekte OID for dig og identificere, hvilket grænsefladesnummer du skal bruge, er at bruge et værktøj som MIB Browser.
For at få maks hastigheder brugte jeg SpeedTest.net. Når du har dine hastigheder i Mbps, skal du konvertere dem til oktetter ved hjælp af denne formel.
Oktetter pr. Sekund = (Resultat fra hastighedstest i Mbps * 1048576) / 8
Kodefunktion
Koden sender en SNMP get-anmodning til routeren. Routeren svarer derefter med et nummer, tallet repræsenterer antallet af oktetter, der er blevet sendt eller modtaget. På samme tid registrerer vi antallet af millisekunder, der er gået siden Arduino startede.
Når denne proces er sket mindst to gange, kan vi beregne procentdelen af brug baseret på vores maksimalværdier ved hjælp af denne kode
percentDown = ((float) (byteDown - byteDownLast)/(float) (maxDown * ((millis () - timeLast)/1000)))) * 100;
Matematikken bryder således sammen:
octetsDiff = snmp_result - Forrige_ snmp_result
timeFrame = currentTime - timeLast
MaxPosableOverTime = (timeFrame * Octets_per_second)/1000
Procent = (octetsDiff / MaxPosableOverTime) * 100
Nu hvor vi har procentdelen af netværksforbruget, skal vi bare skrive det til måleren. Det gør vi i 2 trin. Først bruger vi updateDownloadGauge -funktionen. I denne funktion bruger vi "kort" til at konvertere procentdelen til et tal, der repræsenterer en radianposition på måleren. Derefter giver vi dette nummer til setMeterPosition -funktionen for at flytte nålen til den nye position.
Trin 4: Case Design
For at indeholde alt designede jeg et kabinet i fusion360 og 3Dprintede det. Det design, jeg lavede, er relativt enkelt. Jeg brugte varm lim til at fastgøre komponenterne på indersiden, og måleren holdes på plads ved at blive klemt mellem frontdækslet og bagdækslet. Du behøver ikke bruge 3D -print til at oprette sagen. For eksempel kan du lave en kasse af træ, eller du kan lægge alt tilbage i den originale kasse, som målerne kom i.
Mine STL -filer er tilgængelige på thingiverse, hvis du vil se på dem, men det er usandsynligt, at de vil fungere for dig, medmindre du får de nøjagtig samme målere, som jeg brugte.
Sagsakter:
Tak fordi du læste. Lad mig vide, hvis du har spørgsmål, og jeg vil gøre mit bedste for at svare.
Anbefalede:
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: 7 trin (med billeder)
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: Jeg planlægger at bruge denne Rapsberry PI i en masse sjove projekter tilbage i min blog. Tjek det gerne ud. Jeg ville tilbage til at bruge min Raspberry PI, men jeg havde ikke et tastatur eller en mus på min nye placering. Det var et stykke tid siden jeg konfigurerede en hindbær
Internethastighedsmåler: 9 trin (med billeder)
Internethastighedsmåler: Med fuldstændig lockdown i gang i Indien er alt inklusive posttjenester blevet lukket. Ingen nye PCB -projekter, ingen nye komponenter, ingenting! Så for at overvinde kedsomheden og holde mig beskæftiget besluttede jeg mig for at lave noget fra de dele, som jeg alr
Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder)
Sådan adskilles en computer med nemme trin og billeder: Dette er en instruktion om, hvordan du adskiller en pc. De fleste af de grundlæggende komponenter er modulopbyggede og nemme at fjerne. Det er dog vigtigt, at du er organiseret omkring det. Dette hjælper med at forhindre dig i at miste dele og også ved at lave genmonteringen til
Ciclop 3d Scanner My Way Trin for trin: 16 trin (med billeder)
Ciclop 3d Scanner My Way Step by Step: Hej alle sammen, jeg kommer til at indse den berømte Ciclop 3D -scanner.Alle trin, der er godt forklaret på det originale projekt, er ikke til stede.Jeg lavede nogle rettelser for at forenkle processen, først Jeg udskriver basen, og end jeg genstarter printkortet, men fortsæt
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: 7 trin (med billeder)
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: Selv efter 25 års introduktion til forbrugermarkedet er infrarød kommunikation stadig meget relevant i de seneste dage. Uanset om det er dit 55 tommer 4K -fjernsyn eller dit billydsystem, har alt brug for en IR -fjernbetjening for at reagere på vores