Sisällysluettelo:

Internet -nopeusmittari: 9 vaihetta (kuvilla)
Internet -nopeusmittari: 9 vaihetta (kuvilla)

Video: Internet -nopeusmittari: 9 vaihetta (kuvilla)

Video: Internet -nopeusmittari: 9 vaihetta (kuvilla)
Video: 10 привычек, чтобы стать счастливым 2024, Marraskuu
Anonim
Image
Image
Suunnitelma
Suunnitelma

Intiassa on tapahtunut täydellinen lukitus, kaikki postipalvelut mukaan lukien. Ei uusia piirilevyprojekteja, ei uusia komponentteja, ei mitään! Joten voittaakseni tylsyyden ja pitääkseni itseni kiireisenä päätin tehdä jotain niistä osista, jotka minulla on jo kotona. Aloitin etsinnän elektroniikkaromun kasasta ja löysin vanhan, rikki analogisen yleismittarin. Pelastin siitä "mittariliikkeen" ja päätin näyttää jonkinlaista tietoa, mutta en tiennyt tarkalleen mitä. Ensiksi ajattelin näyttää COVID-19-tilastot, mutta Internetissä on jo monia parempia projekteja. Lisäksi tiedot päivitetään muutaman tunnin kuluttua ja mittarin pysäytysosoitin olisi tylsää. Halusin tietoja, jotka muuttuvat nopeasti, muuttuvat joka sekunti. Pyysin ehdotuksia Instagramissa ja yksi seuraajistani vastasi Internet -nopeusmittarilla. Kuulosti mielenkiintoiselta ja päätti tehdä sen!

Tässä Instructable -ohjelmassa näytän sinulle, kuinka otin tietoja WiFi -reitittimeltäni SNMP: n avulla ja näytin lataus- ja latausnopeudet mittarissa.

Aloitetaan

Vaihe 1: Suunnitelma

Kuten aina ennen projektin aloittamista, tein hieman tutkimusta Internetistä. Löysin muutamia aiheeseen liittyviä projekteja. Ne olivat kahdenlaisia. Yksi, joka osoitti Internetin nopeuden mittaamalla WiFi -signaalin voimakkuuden. En ole verkostoitumisen asiantuntija, mutta tämä ei kuulostanut oikealta. Muut mitasivat latenssin ja luokittelivat nopeuden hitaiksi, keskisuuriksi tai nopeiksi. Latenssi on viive pyynnön lähettämisen ja vastauksen saamisen välillä, joten se ei voi olla todellinen esitys internetin nopeudesta. Voimme kuitenkin kutsua sitä verkon vastausnopeudeksi! Sitten oli laillisia projekteja, joissa mitattiin joidenkin tietojen lataamiseen tarvittava aika ja laskettiin Internet -nopeus sen perusteella.

Mutta juuri tässä projektissa (Alistair) sain tietää Simple Network Management Protocolista tai SNMP: stä. SNMP: n avulla voimme kommunikoida WiFi -reitittimen kanssa ja saada tarvittavat tiedot suoraan siitä. Helppoa, eikö? Itseasiassa ei! Koska eri WiFi -reitittimien malleilla on erilaiset asetukset ja ne tarvitsevat paljon kokeiluja ja virheitä ennen kuin lopulta saat tuloksen. Älä pelkää. Selitän lyhyesti mitä olen oppinut SNMP: stä ja tulevissa vaiheissa kohtaamistani vaikeuksista.

Suunnitelma on siis käyttää NodeMCU: ta yhteyden muodostamiseen WiFi -reitittimeen. Lopputulokseen pääset seuraavasti:

  • Lähetä pyyntö reitittimelle, joka pyytää vaadittuja tietoja
  • Saat vastauksen reitittimeltä
  • Analysoi vastaus ja jäsennä siitä tarvittavat tiedot
  • Muunna raakatiedot ymmärrettäviksi tiedoiksi
  • Luo mittarille jännite, joka on verrannollinen Internet -nopeuteen
  • Toistaa

Käytän DAC- tai digitaali -analogimuunninta mittarin ohjaamiseen.

Vaihe 2: Tarvitsemasi asiat

Asioita, joita tarvitset
Asioita, joita tarvitset
Asioita, joita tarvitset
Asioita, joita tarvitset
Asioita, joita tarvitset
Asioita, joita tarvitset

1x NodeMCU

1x analoginen mittariliike

1x MPU4725 DAC

1x SPDT -kytkin

1x 10k potentiometri

1x vastus

Vaihe 3: Täyden asteikon taipumavirran laskeminen

Täyden asteikon taipumavirran laskeminen
Täyden asteikon taipumavirran laskeminen
Täyden asteikon taipumavirran laskeminen
Täyden asteikon taipumavirran laskeminen

Huomautus: Siirry vaiheeseen 7 saadaksesi todellisen rakenteen!

Ohita tämä vaihe, jos tiedät jo mittarin täyden asteikon poikkeutusvirran. Mittarissani ei ollut siitä mainintaa, joten minun piti laskea. Mutta ensin katsotaan nopeasti, miten tällainen liike toimii. Se koostuu kelasta, joka on ripustettu magneettikenttään. Kun virta kulkee kelan läpi Faradayn lain mukaan, se kokee voiman. Kelan annetaan pyöriä vapaasti magneettikentässä ja samoin kelaan kiinnitetty osoitin. Virran suuruutta, joka saa osoittimen liikkumaan asteikon lopussa, kutsutaan täyden asteikon taipumavirraksi. Tämä on myös suurin virta, jonka on annettava virrata kelan läpi.

Paljon enemmän on meneillään, mutta tämä riittää siihen, mitä teemme. Meillä on nyt liike. Sitä voidaan käyttää volttimittarina lisäämällä sen kanssa suurta vastusta sarjaan tai ampeerimittarina lisäämällä pieni vastus rinnakkain sen kanssa. Käytämme sitä voltimittarina näyttääksesi jännitteen suhteessa Internetin nopeuteen. Joten meidän on laskettava sarjaan lisättävä vastus. Tätä varten meidän on ensin laskettava koko asteikon poikkeutusvirta.

  1. Valitse korkea vastusarvo (kuten> 100k)
  2. Liitä se sarjaan liikkeen kanssa ja käytä vaihtelevaa jännitettä sen avulla kattilan avulla.
  3. Jatka jännitteen nostamista hitaasti, kunnes osoitin saavuttaa asteikon loppuun.
  4. Mittaa yleismittarilla virtaava virta. Tämä on täysimittainen taipumavirta. (I = 150uA minun tapauksessani)

Käytämme DAC: ia, jonka lähtöjännitealue on 0 - VCC (3,3 V NodeMCU: n vuoksi). Tämä tarkoittaa sitä, että kun 3,3 V on kytketty mittariin, sen tulee osoittaa asteikon loppuun. Tämä voi tapahtua, kun täysimittainen poikkeutusvirta virtaa piirin läpi, kun 3.3V on käytössä. Ohmin lakia käyttämällä 3.3/(täysimittainen taipumavirta) antaa arvoksi vastus, joka lisätään sarjaan.

Vaihe 4: SNMP GET -pyynnön luominen

Luodaan SNMP GET -pyyntö
Luodaan SNMP GET -pyyntö
Luodaan SNMP GET -pyyntö
Luodaan SNMP GET -pyyntö
Luodaan SNMP GET -pyyntö
Luodaan SNMP GET -pyyntö

Yksinkertainen verkonhallintaprotokolla (SNMP) on Internet -standardiprotokolla IP -verkkojen hallittujen laitteiden tietojen keräämiseen ja järjestämiseen sekä näiden tietojen muuttamiseen laitteen käyttäytymisen muuttamiseksi. Laitteita, jotka yleensä tukevat SNMP: tä, ovat kaapelimodeemit, reitittimet, kytkimet, palvelimet, työasemat, tulostimet ja paljon muuta. Tätä rakennetta varten kommunikoimme WiFi -reitittimemme kanssa SNMP: n avulla ja saamme tarvittavat tiedot.

Mutta ensin meidän on lähetettävä reitittimelle "GET Request" -pyyntö, jossa mainitaan haluamiemme tietojen tiedot. GET Request -muoto näkyy kuvassa. Pyyntö koostuu eri osista. Olen korostanut tavut, jotka haluat ehkä muuttaa.

Huomaa, että kaikki on heksadesimaalilukua.

SNMP -viesti -Minun tapauksessani koko viestin pituus on 40 (harmaa väri), joka heksadesimaaliksi muunnettuna on 0x28.

SNMP -yhteisön merkkijono - PUBLIC -arvo kirjoitetaan heksadesimaalina muodossa '70 75 62 6C 69 63 ', jonka pituus on 6 (keltainen).

SNMP PDU -tyyppi - Minun tapauksessani viestin pituus on 27 (sininen) eli 0x1B.

Varbind List Type - Minun tapauksessani viestin pituus on 16 (vihreä) eli 0x10.

Varbind -tyyppi - Minun tapauksessani viestin pituus on 14 (vaaleanpunainen) eli 0x0E.

Kohteen tunniste -

Kuten aiemmin mainittiin, SNMP-yhteensopivat verkkolaitteet (esim. Reitittimet, kytkimet jne.) Ylläpitävät tietokannan järjestelmän tilasta, saatavuudesta ja suorituskykytiedoista OID-tunnisteiden tunnistamina objekteina. Sinun on tunnistettava reitittimen OID -tunnukset, jotta voit ladata ja ladata paketteja. Se voidaan tehdä käyttämällä tämän kaltaista ilmaista MIB -selainta.

Kirjoita osoite 192.168.1.1 ja OID muodossa.1.3.6.1.2.1.2.2.1.10.x (ifInOctets) tai.1.3.6.1.2.1.2.2.1.16.x. (ifOutOctets). Valitse Hanki toiminto ja napsauta Siirry. Sinun pitäisi nähdä OID sekä sen arvo ja tyyppi.

Minun tapauksessani viestin pituus on 10 (punainen) eli 0x0A. Korvaa arvo OID: llä. Tässä tapauksessa '' 2B 06 01 02 01 02 02 01 10 10 ''

Se siitä! Pyyntöviesti on valmis. Pidä loput tavut sellaisina kuin ne ovat.

SNMP: n kytkeminen päälle reitittimessä:

  • Kirjaudu WiFi -reitittimen sivulle oletusyhdyskäytävän kautta. Kirjoita selaimeesi 192.168.1.1 ja paina enter. Oletuksena käyttäjänimen ja salasanan tulee olla 'admin'.
  • Käytän TP-LINK (TD-W8961N) -reititintä. Tämän reitittimen kohdalla sinun on siirryttävä käyttöoikeuksien hallintaan> SNMP ja valittava Aktivoitu.
  • GET -yhteisö: julkinen
  • Loukun isäntä: 0.0.0.0

Vaihe 5: GET -vastauksen ymmärtäminen

GET -vastauksen ymmärtäminen
GET -vastauksen ymmärtäminen

Voit ohittaa tämän vaiheen, mutta on hyvä tietää, tarvitsetko vianmääritystä.

Kun olet lähettänyt koodin ja suorittanut sen, voit katsoa vastausta sarjamonitorin kautta. Sen pitäisi näyttää siltä kuin kuvassa näkyy. Sinun on etsittävä muutamia tavuja, jotka olen korostanut.

Alkaen 0, 15. tavu kertoo PDU -tyypille - 0xA2 tarkoittaa, että se on GetResponse.

48. tavu kertoo tietotyypin - 0x41 tarkoittaa, että tietotyyppi on Laskuri.

49. tavu kertoo datan pituuden - 0x04 tarkoittaa, että data on 4 tavua pitkä.

Tavu 50, 51, 52, 53 sisältää tiedot.

Vaihe 6: Digitaalinen analogimuunnin (DAC)

Digitaalinen -analogimuunnin (DAC)
Digitaalinen -analogimuunnin (DAC)

Mikro -ohjaimet ovat digitaalisia laitteita, jotka eivät ymmärrä analogisia jännitteitä suoraan. Käytän analogista mittaria, joka tarvitsee muuttuvan jännitteen tuloksi. Mutta mikro -ohjain voi lähettää vain HIGH (3.3V NodeMCU: n tapauksessa) ja LOW (0V). Nyt voit sanoa, miksi et käytä vain PWM: ää. Se ei toimi, koska mittari näyttää vain keskiarvon.

Käytän MCP4725 DAC -laitetta saadaksesi vaihtelevan jännitteen. Se on 12-bittinen DAC eli yksinkertaisesti sanottuna se jakaa 0-3,3 V 4096 (= 2^12) osaan. Resoluutio on 3,3/4096 = 0,8056 mV. Tämä tarkoittaa, että 0 vastaa 0V, 1 vastaa 0,8056mV, 2 vastaa 1,6112mV,….., 4095 vastaa 3,3V.

Internetin nopeus "kartoitetaan" arvosta "0-7 Mbps" arvoon "0-4095", ja sitten tämä arvo annetaan DAC: lle antamaan jännite, joka on verrannollinen Internet -nopeuteen.

Vaihe 7: Kokoonpano

Kokoontuminen
Kokoontuminen
Kokoontuminen
Kokoontuminen
Kokoontuminen
Kokoontuminen
Kokoontuminen
Kokoontuminen

Liitännät ovat hyvin yksinkertaisia. Kaavio on liitetty tähän.

Suunnittelin ja tulostin vaa'an. Ylempi on tarkoitettu latausnopeudelle ja alempi latausnopeudelle. Liimasin uuden asteikon vanhan päälle.

Poistin kaikki vanhat tavarat yleismittarista ja täytin kaiken siihen. Se oli tiukka istuvuus. Minun piti porata reikä eteen kiinnittääksesi vaihtokytkimen, jota käytetään valitsemaan lataus- ja latausnopeus.

Vaihe 8: Koodauksen aika

Koodauksen aika
Koodauksen aika
Koodauksen aika
Koodauksen aika
Koodauksen aika
Koodauksen aika

Koodi on liitetty tähän. Lataa ja avaa se Arduino IDE: ssä. Asenna MCP4725 -kirjasto Adafruitista.

Ennen lataamista:

  1. Anna WiFi SSID ja salasana
  2. Syötä asteikossa mainittu suurin lataus- ja latausnopeus.
  3. Tee tarvittavat muutokset pyyntöjoukkoon ladattavaksi ja lähetä paketteja.
  4. Poista kommentti riviltä 165 nähdäksesi vastauksen sarjamonitorissa.

Napsauta latausta!

Vaihe 9: Nauti

Käynnistä se ja nauti neulan tanssimisesta Internetin selaamisen aikana!

Kiitos, että pysyt loppuun asti. Toivottavasti te kaikki rakastatte tätä projektia ja opitte jotain uutta tänään. Kerro minulle, jos teet sellaisen itsellesi. Tilaa YouTube -kanavani saadaksesi lisää tällaisia projekteja.

Suositeltava: