Përmbajtje:

Speedometër në internet: 9 hapa (me fotografi)
Speedometër në internet: 9 hapa (me fotografi)

Video: Speedometër në internet: 9 hapa (me fotografi)

Video: Speedometër në internet: 9 hapa (me fotografi)
Video: 9 октября 2016 г. 2024, Nëntor
Anonim
Image
Image
Plani
Plani

Me bllokimin e plotë që po ndodh në Indi, gjithçka përfshirë shërbimet e postës është mbyllur. Asnjë projekt i ri PCB, asnjë përbërës i ri, asgjë! Kështu që për të kapërcyer mërzinë dhe për ta mbajtur veten të zënë, vendosa të bëj diçka nga pjesët që tashmë i kam në shtëpi. Fillova të kërkoja nga grumbulli i mbeturinave elektronike dhe gjeta një multimetër analog të vjetër, të prishur. Unë shpëtova 'lëvizjen e njehsorit' prej tij dhe vendosa të shfaq një lloj informacioni, por nuk e di saktësisht se çfarë. Së pari, mendova të shfaqja statistikat e COVID-19, por tashmë ka shumë projekte më të mira në internet. Gjithashtu, të dhënat azhurnohen pas disa orësh dhe një tregues akoma i njehsorit do të ishte i mërzitshëm. Doja të dhëna që ndryshojnë shpejt, ndryshojnë çdo sekondë. Unë kërkova sugjerime në Instagram dhe një nga ndjekësit e mi u përgjigj me Speedometer të Internetit. Tingëllonte interesante dhe vendosa ta bëja!

Në këtë Udhëzues, unë do t'ju tregoj se si kam marrë të dhëna nga ruteri im WiFi duke përdorur SNMP dhe kam shfaqur shpejtësinë e ngarkimit dhe shkarkimit në njehsor.

Le të fillojmë

Hapi 1: Plani

Si gjithmonë para se të filloja me projektin bëra pak kërkime në internet. Kam gjetur disa projekte që lidhen me këtë temë. Ato ishin dy llojesh. Njëra që tregoi shpejtësinë e internetit duke matur 'fuqinë' e sinjalit WiFi. Unë nuk jam një ekspert i rrjeteve, por kjo nuk tingëlloi si duhet. Të tjerët matën vonesën dhe e kategorizuan shpejtësinë si të ngadaltë, të mesme ose të shpejtë. Vonesa është vonesa kohore midis dërgimit të kërkesës dhe marrjes së përgjigjes dhe kështu nuk mund të jetë përfaqësimi aktual i shpejtësisë së internetit. Mund ta quajmë një shpejtësi reagimi në rrjet! Pastaj kishte projekte të ligjshme të cilat matën kohën e nevojshme për të shkarkuar disa të dhëna dhe llogaritën shpejtësinë e internetit në bazë të kësaj.

Por ishte në këtë projekt (nga Alistair) që mësova për Simple Network Management Protocol ose SNMP. Duke përdorur SNMP, ne mund të komunikojmë me ruterin WiFi dhe të marrim të dhënat e kërkuara drejtpërdrejt prej tij. E lehtë, apo jo? Në fakt, jo! Për shkak se modele të ndryshme të ruterave WiFi përdorin sisteme të ndryshme dhe kanë nevojë për shumë prova dhe gabime para se të merrni përfundimisht daljen. Mos u trembni. Unë do të shpjegoj shkurtimisht gjithçka që kam mësuar në lidhje me SNMP dhe vështirësitë me të cilat jam përballur në hapat e ardhshëm.

Pra, plani është të përdorni NodeMCU për t'u lidhur me Router WiFi. Këtu janë hapat për të arritur në daljen përfundimtare:

  • Dërgo një kërkesë te ruteri duke 'kërkuar' të dhënat e kërkuara
  • Merrni përgjigjen nga ruteri
  • Analizoni përgjigjen dhe analizoni të dhënat e kërkuara prej tij
  • Shndërroni të dhënat 'e papërpunuara' në informacion të kuptueshëm
  • Gjeneroni tension proporcional me shpejtësinë e internetit për njehsorin
  • Përsëriteni

Unë do të përdor një DAC ose Konvertues dixhital në analog për kontrollimin e njehsorit.

Hapi 2: Gjërat që do t'ju nevojiten

Gjërat që do t'ju nevojiten
Gjërat që do t'ju nevojiten
Gjërat që do t'ju nevojiten
Gjërat që do t'ju nevojiten
Gjërat që do t'ju nevojiten
Gjërat që do t'ju nevojiten

1x NodeMCU

1x Lëvizja Anometër Metale

1x MPU4725 DAC

1x Çelës SPDT

Potenciometër 1x 10k

1x Rezistor

Hapi 3: Llogaritja e Rrymës së Devijimit në Shkallë të Plotë

Llogaritja e Rrymës së Devijimit në Shkallë të Plotë
Llogaritja e Rrymës së Devijimit në Shkallë të Plotë
Llogaritja e Rrymës së Devijimit në Shkallë të Plotë
Llogaritja e Rrymës së Devijimit në Shkallë të Plotë

Shënim: Shko te Hapi 7 për ndërtimin aktual!

Kaloni këtë hap nëse e dini tashmë rrymën e devijimit në shkallë të plotë për njehsorin tuaj. Matësi im nuk e kishte përmendur atë, kështu që më duhej të llogarisja. Por së pari, le të shohim shpejt se si funksionon një lëvizje e tillë. Ai përbëhet nga një spirale e pezulluar në një fushë magnetike. Kur rryma rrjedh nëpër spirale, sipas ligjit të Faraday, ajo përjeton një forcë. Spiralja lejohet të rrotullohet lirshëm në fushën magnetike dhe po ashtu edhe treguesi i cili është ngjitur në spirale. Madhësia e rrymës e cila e bën treguesin të lëvizë në 'fundin e shkallës' quhet rrymë devijimi në shkallë të plotë. Kjo është gjithashtu rryma maksimale e cila duhet të lejohet të rrjedhë nëpër spirale.

Ka shumë më tepër, por kjo është e mjaftueshme për atë që po bëjmë. Tani kemi lëvizjen. Mund të përdoret si voltmetër duke shtuar një rezistencë të lartë në seri me të ose si një Ammetër duke shtuar një rezistencë të vogël paralelisht me të. Ne do ta përdorim atë si një voltmetër për të shfaqur tensionin proporcional me shpejtësinë e internetit. Pra, ne duhet të llogarisim rezistencën e cila do të shtohet në seri. Për këtë, ne së pari duhet të llogarisim rrymën e devijimit në shkallë të plotë.

  1. Zgjidhni një vlerë të lartë të rezistencës (si> 100k)
  2. Lidheni atë në seri me lëvizjen dhe aplikoni një tension të ndryshueshëm në të duke përdorur tenxheren.
  3. Vazhdoni të rrisni tensionin ngadalë derisa treguesi të arrijë në fund të shkallës.
  4. Duke përdorur një multimetër, matni rrymën që rrjedh. Kjo është rryma e devijimit në shkallë të plotë. (I = 150uA në rastin tim)

Ne po përdorim një DAC e cila ka gamën e tensionit të daljes nga 0 në VCC (3.3V për shkak të NodeMCU). Kjo do të thotë që kur 3.3V aplikohet në njehsor, ai duhet të tregojë në fund të shkallës. Kjo mund të ndodhë kur rryma e devijimit në shkallë të plotë rrjedh nëpër qark kur aplikohet 3.3V. Duke përdorur Ligjin e Ohmit, 3.3/(rryma e devijimit në shkallë të plotë) i jep vlerën rezistencës që do të futet në seri.

Hapi 4: Krijimi i një kërkese SNMP GET

Krijimi i një kërkese SNMP GET
Krijimi i një kërkese SNMP GET
Krijimi i një kërkese SNMP GET
Krijimi i një kërkese SNMP GET
Krijimi i një kërkese SNMP GET
Krijimi i një kërkese SNMP GET

Protokolli i Simple i Menaxhimit të Rrjetit (SNMP) është një protokoll standard i Internetit për mbledhjen dhe organizimin e informacionit në lidhje me pajisjet e menaxhuara në rrjetet IP dhe për modifikimin e atij informacioni për të ndryshuar sjelljen e pajisjes. Pajisjet që zakonisht mbështesin SNMP përfshijnë modemë kabllorë, rutera, ndërprerës, serverë, stacione pune, printera dhe më shumë. Për këtë ndërtim, ne do të komunikojmë me Routerin tonë WiFi duke përdorur SNMP dhe do të marrim të dhënat e kërkuara.

Por së pari, ne duhet të dërgojmë një kërkesë të njohur si një 'Kërkesë GET' te ruteri duke përmendur detajet e të dhënave që duam. Formati i Kërkesës GET tregohet në figurë. Kërkesa përbëhet nga pjesë të ndryshme. Unë kam nxjerrë në pah bajtët të cilët mund të dëshironi t'i ndryshoni.

Ju lutemi vini re se gjithçka është në Hexadecimal.

Mesazhi SNMP -Në rastin tim, gjatësia e të gjithë mesazhit është 40 (ngjyrë gri) e cila kur konvertohet në heksadecimal është 0x28.

Vargu i Komunitetit SNMP - Vlera 'PUBLIC' është shkruar në formë heksadecimal si '70 75 62 6C 69 63 'gjatësia e së cilës është 6 (e verdhë).

Lloji SNMP PDU - Në rastin tim, gjatësia e mesazhit është 27 (blu) dmth 0x1B.

Lloji i Listës Varbind - Në rastin tim, gjatësia e mesazhit është 16 (jeshile) dmth 0x10.

Lloji Varbind - Në rastin tim, gjatësia e mesazhit është 14 (rozë) dmth 0x0E.

Identifikuesi i objektit -

Siç u përmend më herët, pajisjet e rrjetit të aktivizuara nga SNMP (p.sh. ruterat, ndërprerësit, etj.) Mbajnë një bazë të dhënash të statusit të sistemit, disponueshmërisë dhe informacionit të performancës si objekte, të identifikuara nga OID. Ju duhet të identifikoni OID -të e ruterit tuaj për paketat Ngarko dhe Shkarkoni. Mund të bëhet duke përdorur një Shfletues falas MIB si ky.

Shkruani Adresën si 192.168.1.1 dhe OID si.1.3.6.1.2.1.2.2.1.10.x (ifInOctets) ose.1.3.6.1.2.1.2.2.1.16.x. (ifOutOctets). Zgjidhni Merr operacionin dhe kliko Shko. Ju duhet të shihni OID së bashku me vlerën dhe llojin e tij.

Në rastin tim, gjatësia e mesazhit është 10 (e kuqe) dmth 0x0A. Zëvendësoni vlerën me OID. Në këtë rast, '2B 06 01 02 01 02 02 01 01 10 10'

Kjo eshte! Mesazhi i kërkesës suaj është gati. Mbani pjesën tjetër të bajtëve ashtu siç janë.

Aktivizimi i SNMP në ruterin tuaj:

  • Hyni në faqen e routerit tuaj WiFi përmes portës së paracaktuar. Shkruani 192.168.1.1 në shfletuesin tuaj dhe shtypni enter. Si parazgjedhje, emri i përdoruesit dhe fjalëkalimi duhet të jenë 'admin'.
  • Unë jam duke përdorur një ruter TP-LINK (TD-W8961N). Për këtë ruter, duhet të shkoni te Menaxhimi i Qasjes> SNMP dhe zgjidhni 'Aktivizuar'.
  • GET Komuniteti: publik
  • Pritësi kurth: 0.0.0.0

Hapi 5: Kuptimi i Përgjigjes GET

Kuptimi i përgjigjes GET
Kuptimi i përgjigjes GET

Ju mund ta kaloni këtë hap, por është mirë të dini nëse keni nevojë të bëni disa probleme.

Pasi të ngarkoni kodin dhe ta ekzekutoni, mund të hidhni një sy në përgjigjen përmes monitorit Serial. Duhet të duket si në figurë. Ka disa bajtë që duhet të kërkoni për të cilat i kam theksuar.

Duke filluar nga 0, Bajti i 15 -të tregon PDU Type - 0xA2 do të thotë se është një GetResponse.

Bajti i 48 -të tregon llojin e të dhënave - 0x41 do të thotë që lloji i të dhënave është Counter.

Bajti i 49 -të tregon gjatësinë e të dhënave - 0x04 do të thotë që të dhënat janë 4 bajtë të gjatë.

Byte 50, 51, 52, 53 përmban të dhënat.

Hapi 6: Konvertuesi dixhital në analog (DAC)

Konvertuesi dixhital në analog (DAC)
Konvertuesi dixhital në analog (DAC)

Mikrokontrolluesit janë pajisje dixhitale që nuk i kuptojnë drejtpërdrejt tensionet analoge. Unë jam duke përdorur një njehsor analog që ka nevojë për një tension të ndryshueshëm si hyrje. Por mikrokontrolluesi thjesht mund të dalë LART HIGH (3.3V në rastin e NodeMCU) dhe LOW (0V). Tani mund të thoni pse të mos përdorni vetëm PWM. Nuk do të funksionojë pasi njehsori do të shfaqë vetëm vlerën mesatare.

Unë jam duke përdorur MCP4725 DAC për të marrë tension të ndryshueshëm. Shtë një DAC 12-bitësh, domethënë në terma të thjeshtë, do të ndajë 0 deri në 3.3V në 4096 (= 2^12) pjesë. Rezolucioni do të jetë 3.3/4096 = 0.8056mV. Kjo do të thotë se 0 korrespondon me 0V, 1 korrespondon me 0.8056mV, 2 korrespondon me 1.6112mV,….., 4095 korrespondon me 3.3V.

Shpejtësia e internetit do të 'hartohet' nga '0 në 7 mbps' në '0 në 4095' dhe më pas kjo vlerë do t'i jepet DAC për të nxjerrë një tension i cili do të jetë proporcional me shpejtësinë e internetit.

Hapi 7: Kuvendi

Kuvendi
Kuvendi
Kuvendi
Kuvendi
Kuvendi
Kuvendi
Kuvendi
Kuvendi

Lidhjet janë shumë të thjeshta. Skema është bashkangjitur këtu.

Kam projektuar dhe shtypur peshoren. E sipërmja është për shpejtësinë e shkarkimit dhe e poshtme është për shpejtësinë e ngarkimit. Unë ngjita shkallën e re mbi atë të vjetër.

I hoqa të gjitha gjërat e vjetra nga multimetri dhe mbërtheva gjithçka në të. Ishte një përshtatje e ngushtë. Më duhej të bëja një vrimë në pjesën e përparme për të bashkuar çelësin e ndërrimit i cili përdoret për të zgjedhur midis shpejtësisë së ngarkimit dhe shkarkimit.

Hapi 8: Koha për Kodim

Koha për Kodim
Koha për Kodim
Koha për Kodim
Koha për Kodim
Koha për Kodim
Koha për Kodim

Kodi është bashkangjitur këtu. Shkarkoni dhe hapeni atë në Arduino IDE. Instaloni bibliotekën MCP4725 nga Adafruit.

Para se të ngarkoni:

  1. Vendosni SSID dhe fjalëkalimin tuaj të WiFi
  2. Futni shpejtësinë maksimale të ngarkimit dhe shkarkimit të përmendur në shkallë.
  3. Bëni ndryshimet e nevojshme në grupin e kërkesave për shkarkim si dhe ngarkimin e paketave.
  4. Mos e komentoni rreshtin 165 për të parë përgjigjen në monitorin serik.

Goditi ngarkimin!

Hapi 9: Shijoni

Ndizeni atë dhe kënaquni duke shikuar gjilpërën që vallëzon kur lundroni në internet!

Faleminderit që i qëndruat deri në fund. Shpresoj se të gjithë ju pëlqen ky projekt dhe keni mësuar diçka të re sot. Më tregoni nëse e bëni një për veten tuaj. Regjistrohuni në kanalin tim në YouTube për më shumë projekte të tilla.

Recommended: