Sisällysluettelo:

Internetin nopeusmittari: 4 vaihetta (kuvilla)
Internetin nopeusmittari: 4 vaihetta (kuvilla)

Video: Internetin nopeusmittari: 4 vaihetta (kuvilla)

Video: Internetin nopeusmittari: 4 vaihetta (kuvilla)
Video: STARLINK за 500$/ интернет Илона Маска/ тест/ супер скорость 2024, Marraskuu
Anonim
Image
Image
Internetin nopeusmittari
Internetin nopeusmittari
Internetin nopeusmittari
Internetin nopeusmittari

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

Työkalut ja materiaalit
Työkalut ja materiaalit
Työkalut ja materiaalit
Työkalut ja materiaalit
Työkalut ja materiaalit
Työkalut ja materiaalit
Työkalut ja materiaalit
Työkalut ja materiaalit
Piirin suunnittelu
Piirin suunnittelu

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.

  1. Reitittimen IP
  2. Suurin latausnopeus
  3. Suurin latausnopeus
  4. WiFi -nimesi ja salasanasi
  5. 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

Kotelon suunnittelu
Kotelon suunnittelu
Kotelon suunnittelu
Kotelon suunnittelu
Kotelon suunnittelu
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: