Sisällysluettelo:
Video: Internetin nopeusmittari: 4 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Yleiskatsaus
Tämä "Internet -nopeusmittari" antaa sinulle lähes reaaliaikaisen valvonnan verkon käytöstä. Nämä tiedot ovat saatavilla useimpien kotireitittimien verkkokäyttöliittymässä. Sen käyttäminen edellyttää kuitenkin, että lopetat nykyisen tehtävän ja lähdet etsimään sitä.
Halusin tarkastella näitä tietoja ilman, että minun tarvitsisi keskeyttää nykyistä tehtävääni, näyttää ne muodossa, joka oli ymmärrettävissä vain yhdellä vilkaisulla, ja saada tiedot tavalla, joka toimisi mahdollisimman monien reitittimien kanssa, jotta muut voisivat mahdollisesti myös käyttää sitä.
Miten se tekee asiat
Päätin valita SNMP (Simple Network Management Protocol) -protokollan tapaksi saada tietoja reitittimeltä. SNMP: tä käytetään laajalti verkkolaitteissa, ja jos laitteesi ei tue sitä oletuksena, DDWRT (avoimen lähdekoodin reitittimen laiteohjelmisto) voidaan käyttää SNMP: n toteuttamiseen.
Tietojen näyttämiseksi helposti ymmärrettävällä tavalla käytin auton mittaria. Automittarit on suunniteltu antamaan sinulle tietoja häiritsemättä tai hämmentämättä, joten kuljettaja voi pitää katseensa tiellä. Lisäksi minulla oli jonkin verran makaamista.
Koska tämä olisi työpöydälläni, päätin tehdä myös taustavalon RGB: ksi, koska tietokonetarvikkeiden tulisi olla RGB. Oikein?
Haasteet
Mittarit käyttivät Air-Core-toimilaitetta. En ollut kuullut näistä ennen tätä projektia.
Wikipediasta: Ilmamittari koostuu kahdesta itsenäisestä, kohtisuorasta kelasta, jotka ympäröivät onttoa kammiota. Neula -akseli työntyy kammioon, jossa akseliin on kiinnitetty kestomagneetti. Kun virta kulkee kohtisuoran kelan läpi, niiden magneettikentät ovat päällekkäin ja magneetti voi vapaasti kohdistaa yhdistettyjen kenttien kanssa.
En löytänyt Arduinolle kirjastoa, joka tukisi SNMP: tä hallintamäärityksissä. SNMP: llä on kaksi päämuotoa, agentti ja johtaja. Agentit vastaavat pyyntöön ja johtajat lähettävät pyynnön agentteille. Pystyin saamaan hallintatoiminnot toimimaan muokkaamalla 0neblockin luomaa Arduino_SNMP -kirjastoa. En ole koskaan ohjelmoinut C ++ - ohjelmaa, paitsi että LED -valot vilkkuvat Arduinossa, joten jos SNMP -kirjastossa on ongelmia, ilmoita siitä minulle ja yritän korjata ne, toistaiseksi se kuitenkin toimii.
Lisäksi SNMP: tä ei ole suunniteltu reaaliaikaiseen katseluun. Tarkoituksena on seurata tilastoja ja havaita käyttökatkoja. Tämän vuoksi reitittimen tiedot päivitetään vain noin 5 sekunnin välein (laitteesi voi vaihdella). Siitä johtuu nopeustestin numeron ja neulan liikkumisen välinen viive.
Vaihe 1: Työkalut ja materiaalit
Tarvitsemme 3 täyttä H-siltaa. Käyttämäni mallit ovat Dual TB6612FNG ja Dual L298N.
Jokainen Air-Core-toimilaite vaatii kaksi täyttä H-siltaa, koska kelat on ohjattava itsenäisesti.
Yhdessä käyttämistäni mittareista on yksi kela, joka on oikosuljettu maahan diodilla ja vastuksella. En ole varma sen takana olevasta tieteestä, mutta sen avulla se voi pyöriä noin 90 astetta vain yhdellä kelalla.
Aion käyttää 12v - 5v säädintä, joka on osa L298N -korttia, jonka valitsin ESP32: n virtalähteeksi.
Kaikki LED -piirit ovat valinnaisia, samoin kuin JST -liittimet. Voit helposti juottaa johdot suoraan ESP32: een ja moottorin ohjaimeen.
Vaihe 3: Koodisuunnittelu
Koodin asetukset
Meidän on asennettava Arduino voidaksemme käyttää ESP32 -korttia. Täällä on hyvä opas, joka opastaa sinua ESP32 Arduino -asetusten läpi.
Tarvitset myös täällä sijaitsevan Arduino_SNMP -kirjaston.
Koodin määrittämiseksi sinun on kerättävä joitain tietoja.
- Reitittimen IP
- Suurin latausnopeus
- Suurin latausnopeus
- WiFi -nimesi ja salasanasi
- OID, joka sisältää oktetin laskurit "sisään" ja "ulos" reitittimen WAN -liittymässä
Halutuille tiedoille on olemassa vakio -OID -tunnukset (Object Identifiers). MIB-2-standardin mukaan haluamme numerot:
ifInOctets.1.3.6.1.2.1.2.2.1.16. X
ifOutOctets.1.3.6.1.2.1.2.2.1.10. X
Missä X on numero, joka on määritetty käyttöliittymälle, josta haluat tilastot. Minulle tämä luku on 3. Yksi tapa varmistaa, että tämä on oikea OID sinulle ja tunnistaa, mitä käyttöliittymän numeroa sinun on käytettävä, on käyttää työkalua, kuten MIB Browser.
Maksiminopeuksien saamiseksi käytin SpeedTest.net -sivustoa. Kun nopeutesi on Mbps, sinun on muunnettava ne okteteiksi käyttämällä tätä kaavaa.
Oktetteja sekunnissa = (Tulos nopeustestistä Mbps * 1048576) / 8
Kooditoiminto
Koodi lähettää SNMP-vastaanottopyynnön reitittimelle. Reititin vastaa sitten numerolla, joka edustaa lähetettyjen tai vastaanotettujen oktettien määrää. Samaan aikaan kirjaamme Arduinon alkamisen jälkeen kuluneet millisekunnit.
Kun tämä prosessi on tapahtunut vähintään kahdesti, voimme laskea käyttöprosentin, joka perustuu enimmäisarvoihimme käyttämällä tätä koodia
percentDown = ((float) (byteDown - byteDownLast)/(float) (maxDown * ((millis () - timeLast)/1000))) * 100;
Matematiikka jakautuu näin:
octetsDiff = snmp_result - Edellinen_ snmp_result
timeFrame = currentTime - timeLast
MaxPosableOverTime = (timeFrame * Octets_per_second)/1000
Prosentti = (oktetitDiff / MaxPosableOverTime) * 100
Nyt kun meillä on prosenttiosuus verkkokäytöstä, meidän tarvitsee vain kirjoittaa se mittariin. Teemme sen 2 vaiheessa. Käytämme ensin updateDownloadGauge -toimintoa. Tässä toiminnossa käytämme karttaa muuntamaan prosenttiosuus lukuun, joka edustaa radiaaniasemaa mittarissa. Sitten annamme tämän numeron setMeterPosition -toiminnolle neulan siirtämiseksi uuteen asentoon.
Vaihe 4: Kotelon suunnittelu
Sisällyttääkseni kaiken, suunnittelin kotelon fusion360: een ja 3D -tulostin sen. Suunnitteluni on suhteellisen yksinkertainen. Kiinnitin komponentit sisäpuolelle kuumaliimalla ja mittari pysyy paikallaan puristamalla etu- ja takakannen väliin. Sinun ei tarvitse käyttää 3D -tulostusta kotelon luomiseen. Voit esimerkiksi tehdä kotelon puusta tai laittaa kaiken takaisin alkuperäiseen koteloon, johon mittarit tulivat.
Omat STL -tiedostot ovat saatavilla thingiversessa, jos haluat katsoa niitä, mutta on epätodennäköistä, että ne toimivat sinulle, ellet saa täsmälleen samoja mittareita, joita käytin.
Asiakirjat:
Kiitos lukemisesta. Kerro minulle, jos sinulla on kysyttävää, niin yritän parhaani mukaan vastata.
Suositeltava:
Internet -nopeusmittari: 9 vaihetta (kuvilla)
Internet -nopeusmittari: Kun Intiassa on täydellinen lukitus, kaikki postipalvelut mukaan lukien on suljettu. Ei uusia piirilevyprojekteja, ei uusia komponentteja, ei mitään! Joten voittaakseni tylsyyden ja pitääkseni itseni kiireisenä päätin tehdä jotain niistä osista, joita olen
Arduino -polkupyörän nopeusmittari GPS: n avulla: 8 vaihetta
Arduino -polkupyörän nopeusmittari GPS: n avulla: Tässä opetusohjelmassa käytämme Arduinoa ja Visuinoa näyttämään nykyinen polkupyörän nopeus GPS: stä ST7735 -näytöllä
GPS -nopeusmittari: 4 vaihetta (kuvilla)
GPS -nopeusmittari: Yrityssäni, jolla yleensä ajelen, on yleensä "pieni" ajoittain, nopeusmittari laskee 0 km/h ajon aikana (jonkin ajan kuluttua se jatkaa uudelleen) .Normaalisti tämä ei ole suuri ongelma, koska jos osaat ajaa autoa
Toimiva RC -auton nopeusmittari: 4 vaihetta (kuvilla)
Toimiva RC -auton nopeusmittari: Tämä on lyhyt projekti, jonka loin osana suurempaa RC -rakennetta kevyestä Land Roverista. Päätin, että ajattelin, että kojelaudassa olisi toimiva nopeusmittari, mutta tiesin, että servo ei leikkaa sitä. Oli vain yksi järkevä vaihtoehto: d
DIY -syklin nopeusmittari: 6 vaihetta (kuvilla)
DIY -syklinopeusmittari: Tämä projekti tuli mieleeni, kun tein MEM (Mechanical Engineering Measurement) -projektiani, joka on B.tech -oppiaineeni. Ajatuksena on mitata polkupyörän pyörän kulmanopeus. Näin tiedetään halkaisija ja kaikkien aikojen matemaattinen legenda