INHOUDSOPGAWE:

Internetsnelheidsmeter: 9 stappe (met foto's)
Internetsnelheidsmeter: 9 stappe (met foto's)

Video: Internetsnelheidsmeter: 9 stappe (met foto's)

Video: Internetsnelheidsmeter: 9 stappe (met foto's)
Video: 😳😂 Alex probeert Athena te zoenen in vlog Gio #gio #alex #athena #vlog 2024, November
Anonim
Image
Image
Die plan
Die plan

Met die volledige sluiting in Indië, is alles, insluitend posdienste, gesluit. Geen nuwe PCB -projekte, geen nuwe komponente, niks! Om die verveling te oorkom en myself besig te hou, het ek besluit om iets te maak uit die dele wat ek reeds by die huis het. Ek het begin soek uit die hoop elektroniese rommel en 'n ou, gebreekte analoog multimeter gevind. Ek het die 'meterbeweging' daarvan gered en besluit om 'n soort inligting te vertoon, maar ek weet nie presies wat nie. Eerstens het ek daaraan gedink om COVID-19-statistieke te vertoon, maar daar is reeds baie beter projekte op die internet. Die data word ook na 'n paar uur bygewerk, en 'n stilwyser van die meter sal vervelig wees. Ek wou data hê wat vinnig verander, elke sekonde verander. Ek het voorstelle op Instagram gevra en een van my volgelinge het geantwoord met die internet -snelheidsmeter. Dit klink interessant en besluit om dit te maak!

In hierdie instruksies sal ek u wys hoe ek data van my WiFi -router met SNMP gegryp en die op- en aflaaisnelhede op die meter vertoon het.

Laat ons begin

Stap 1: Die plan

Soos altyd voordat ek met die projek begin het, het ek 'n bietjie navorsing op die internet gedoen. Ek het 'n paar projekte gevind wat verband hou met hierdie onderwerp. Hulle was van twee soorte. Een wat internetsnelheid getoon het deur die 'sterkte' van die WiFi -sein te meet. Ek is nie 'n netwerk -deskundige nie, maar dit klink nie reg nie. Die ander het die latensie gemeet en die snelheid as stadig, medium of vinnig gekategoriseer. Latency is die tydsvertraging tussen die stuur van die versoek en die ontvangs van die antwoord, en dit kan dus nie die werklike voorstelling van die internetspoed wees nie. Ons kan dit egter 'n netwerkresponsnelheid noem! Dan was daar wettige projekte wat die tyd wat dit nodig was om data af te laai, gemeet het en die internetspoed daarop bereken het.

Maar in hierdie projek (deur Alistair) het ek geleer oor Simple Network Management Protocol of SNMP. Met SNMP kan ons met die WiFi -router kommunikeer en die nodige data direk daaruit kry. Maklik, reg? Eintlik nee! Omdat verskillende modelle van WiFi -routers gebruik verskillende instellings het en baie proef en fout nodig het voordat u uiteindelik die uitset kry. Moenie bang wees nie. Ek sal kortliks verduidelik wat ek geleer het oor SNMP en die probleme waarmee ek in die komende stappe te kampe gehad het.

Die plan is dus om NodeMCU te gebruik om aan te sluit op die WiFi -router. Dit is die stappe om by die finale uitset uit te kom:

  • Stuur 'n versoek aan die router wat die vereiste data versoek
  • Kry die antwoord van die router
  • Ontleed die reaksie en ontleed die vereiste data daaruit
  • Skakel die 'rou' data om in verstaanbare inligting
  • Genereer spanning in verhouding tot die internetspoed van die meter
  • Herhaal

Ek sal 'n DAC of Digital to Analog Converter gebruik om die meter te beheer.

Stap 2: Dinge wat u benodig

Dinge wat u benodig
Dinge wat u benodig
Dinge wat u benodig
Dinge wat u benodig
Dinge wat u benodig
Dinge wat u benodig

1x NodeMCU

1x Analoog meterbeweging

1x MPU4725 DAC

1x SPDT -skakelaar

1x 10k potensiometer

1x weerstand

Stap 3: Berekening van volskaalse afbuigstroom

Berekening van volskaalse afbuigstroom
Berekening van volskaalse afbuigstroom
Berekening van volskaalse afbuigstroom
Berekening van volskaalse afbuigstroom

Nota: Spring na stap 7 vir die werklike konstruksie!

Slaan hierdie stap oor as u reeds die volskaalse afbuigstroom van u meter ken. Daar was geen melding van my meter nie, so ek moes bereken. Maar laat ons eers vinnig kyk hoe werk so 'n beweging. Dit bestaan uit 'n spoel wat in 'n magnetiese veld hang. As die stroom deur die spoel vloei, ondervind dit volgens Faraday se wet 'n krag. Die spoel mag vrylik in die magnetiese veld draai, en die wyser wat aan die spoel geheg is, kan ook. Die grootte van die stroom wat die wyser aan die einde van die skaal laat beweeg, word volskaalse afbuigstroom genoem. Dit is ook die maksimum stroom wat deur die spoel moet vloei.

Daar is nog baie meer aan die gang, maar dit is genoeg vir wat ons doen. Ons het nou die beweging. Dit kan as 'n voltmeter gebruik word deur 'n hoë weerstand in serie daarmee by te voeg of as 'n Ammeter deur 'n klein weerstand parallel daaraan toe te voeg. Ons sal dit as 'n voltmeter gebruik om die spanning in verhouding tot die internetspoed weer te gee. Ons moet dus die weerstand wat in serie bygevoeg moet word, bereken. Hiervoor moet ons eers die volskaalse afbuigstroom bereken.

  1. Kies 'n hoë weerstandswaarde (soos> 100k)
  2. Verbind dit in serie met die beweging en pas 'n veranderlike spanning daaroor toe met die pot.
  3. Hou die spanning stadig verhoog totdat die wyser die einde van die skaal bereik.
  4. Meet met behulp van 'n multimeter die stroom wat deurvloei. Dit is die volskaalse afbuigstroom. (I = 150uA in my geval)

Ons gebruik 'n DAC met 'n uitsetspanning van 0 tot VCC (3.3V as gevolg van NodeMCU). Dit beteken dat wanneer 3.3V op die meter toegedien word, dit aan die einde van die skaal moet wys. Dit kan gebeur wanneer volskaalse afbuigstroom deur die stroombaan vloei wanneer 3,3V toegedien word. Met behulp van Ohm's Law, gee 3.3/(volskaalse afbuigstroom) die waarde aan weerstand wat in serie ingevoeg moet word.

Stap 4: Skep SNMP GET Request

Skep SNMP GET Request
Skep SNMP GET Request
Skep SNMP GET Request
Skep SNMP GET Request
Skep SNMP GET Request
Skep SNMP GET Request

Simple Network Management Protocol (SNMP) is 'n internetstandaardprotokol vir die versameling en organisering van inligting oor bestuurde toestelle op IP -netwerke en om die inligting te verander om die gedrag van die toestel te verander. Toestelle wat tipies SNMP ondersteun, sluit in kabelmodems, routers, skakelaars, bedieners, werkstasies, drukkers en meer. Vir hierdie opbou kommunikeer ons met ons WiFi -router met behulp van SNMP en kry ons die nodige data.

Maar eers moet ons 'n versoek, bekend as 'GET Request', na die router stuur met die besonderhede van die data wat ons wil hê. GET Request -formaat word op die foto getoon. Die versoek bestaan uit verskillende dele. Ek het die grepe uitgelig wat u dalk wil verander.

Let asseblief daarop dat alles in heksadesimaal is.

SNMP -boodskap -In my geval is die lengte van die hele boodskap 40 (grys kleur), wat as dit omgeskakel word na heksadesimaal 0x28 is.

SNMP Community String - Die waarde 'PUBLIC' word in heksadesimaal geskryf as '70 75 62 6C 69 63 ', waarvan die lengte 6 (geel) is.

SNMP PDU -tipe - In my geval is die lengte van die boodskap 27 (blou), dit wil sê 0x1B.

Varbind List Type - In my geval is die lengte van die boodskap 16 (groen), dit wil sê 0x10.

Varbind -tipe - In my geval is die lengte van die boodskap 14 (pienk), dit wil sê 0x0E.

Voorwerp -identifiseerder -

Soos vroeër genoem, onderhou SNMP-geaktiveerde netwerktoestelle (bv. Routers, skakelaars, ens.) 'N databasis van stelselstatus, beskikbaarheid en prestasie-inligting as voorwerpe, geïdentifiseer deur OID's. U moet die OID's van u router identifiseer vir oplaai en aflaai van pakkies. Dit kan gedoen word met behulp van 'n gratis MIB -blaaier soos hierdie.

Voer Adres in as 192.168.1.1 en OID as.1.3.6.1.2.1.2.2.1.10.x (ifInOctets) of.1.3.6.1.2.1.2.2.1.16.x. (ifOutOctets). Kies Kry operasie en klik op Gaan. U moet die OID saam met die waarde en tipe daarvan sien.

In my geval is die lengte van die boodskap 10 (rooi), dit wil sê 0x0A. Vervang die waarde met die OID. In hierdie geval, '2B 06 01 02 01 02 02 01 10 10'

Dis dit! Jou versoekboodskap is gereed. Hou die res van die grepe soos dit is.

SNMP aanskakel op u router:

  • Meld aan op u WiFi -router se bladsy deur die standaard gateway. Tik 192.168.1.1 in u blaaier en druk enter. Die gebruikersnaam en wagwoord moet standaard 'admin' wees.
  • Ek gebruik 'n TP-LINK (TD-W8961N) router. Vir hierdie router, moet u na Access Management> SNMP gaan en 'Geaktiveer' kies.
  • KRY Gemeenskap: publiek
  • Val gasheer: 0.0.0.0

Stap 5: Begrip van GET Response

Begrip van GET Response
Begrip van GET Response

U kan hierdie stap oorslaan, maar dit is goed om te weet of u probleme moet oplos.

Sodra u die kode opgelaai en uitgevoer het, kan u via die seriële monitor na die reaksie kyk. Dit moet lyk soos op die foto. Daar is 'n paar grepe waarna u moet soek, waarna ek gemerk het.

Vanaf 0, 15de greep vertel die PDU -tipe - 0xA2 beteken dat dit 'n GetResponse is.

48ste greep vertel die datatipe - 0x41 beteken dat die datatipe Counter is.

49ste greep vertel die lengte van data - 0x04 beteken dat die data 4 grepe lank is.

Byte 50, 51, 52, 53 bevat die data.

Stap 6: Digitaal na analoog omskakelaar (DAC)

Digitaal na analoog omskakelaar (DAC)
Digitaal na analoog omskakelaar (DAC)

Mikrobeheerders is digitale toestelle wat nie analoogspanning direk verstaan nie. Ek gebruik 'n analoog meter wat 'n veranderlike spanning benodig as die ingang. Maar die mikrobeheerder kan net HOOG (3.3V in geval van NodeMCU) en LAAG (0V) uitvoer. Nou kan u sê hoekom moet u nie net PWM gebruik nie. Dit werk nie, aangesien die meter slegs die gemiddelde waarde sal vertoon.

Ek gebruik MCP4725 DAC om veranderlike spanning te kry. Dit is 'n 12-bis DAC, dit wil sê in eenvoudige terme 0 tot 3.3V in 4096 (= 2^12) dele. Die resolusie sal 3,3/4096 = 0,8056mV wees. Dit beteken dat 0 ooreenstem met 0V, 1 ooreenstem met 0.8056mV, 2 stem ooreen met 1.6112mV, ….., 4095 stem ooreen met 3.3V.

Die internetspoed word 'gekarteer' van '0 tot 7 mbps' na '0 tot 4095' en dan word hierdie waarde aan DAC gegee om 'n spanning af te lewer wat eweredig is aan die internetspoed.

Stap 7: Die vergadering

Die Vergadering
Die Vergadering
Die Vergadering
Die Vergadering
Die Vergadering
Die Vergadering
Die Vergadering
Die Vergadering

Verbindings is baie eenvoudig. Die skematika is hier aangeheg.

Ek het die skaal ontwerp en gedruk. Die boonste is vir aflaaisnelheid en die onderste vir oplaaisnelheid. Ek plak die nuwe skaal oor die ou.

Ek het al die ou goed uit die multimeter verwyder en alles daarin geprop. Dit was 'n stywe pas. Ek moes 'n gat aan die voorkant boor om die skakelaar aan te skakel, wat gebruik word om te kies tussen die oplaai- en aflaaisnelheid.

Stap 8: Tyd vir kodering

Tyd vir kodering
Tyd vir kodering
Tyd vir kodering
Tyd vir kodering
Tyd vir kodering
Tyd vir kodering

Die kode is hier aangeheg. Laai dit af en maak dit oop in Arduino IDE. Installeer die MCP4725 -biblioteek vanaf Adafruit.

Voordat jy oplaai:

  1. Voer u WiFi SSID en wagwoord in
  2. Voer die maksimum op- en aflaaisnelheid in wat op die skaal genoem word.
  3. Maak die nodige veranderinge in die versoekreeks vir aflaai sowel as oplaai pakkies.
  4. Laat reël 165 nie op om die reaksie op die seriële monitor te sien nie.

Druk oplaai!

Stap 9: Geniet dit

Skakel dit aan en geniet hoe u die naald kan sien dans terwyl u op die internet surf!

Dankie dat u by die einde bly. Hoop julle hou almal van hierdie projek en het vandag iets nuuts geleer. Laat weet my as u een vir u self maak. Teken in op my YouTube -kanaal vir meer sulke projekte.

Aanbeveel: