Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-23 14:40
Kuna Indias toimub täielik sulgemine, on kõik, sealhulgas postiteenused, suletud. Ei mingeid uusi trükkplaatide projekte, uusi komponente ega midagi! Nii et igavuse ületamiseks ja enda hõivamiseks otsustasin teha midagi nendest osadest, mis mul juba kodus on. Hakkasin elektroonikaprügi hunnikust otsima ja leidsin vana katkise analoog -multimeetri. Päästsin sellest 'meeterliikumise' ja otsustasin kuvada mingit teavet, kuid ei teadnud täpselt, mida. Esiteks mõtlesin kuvada COVID-19 statistikat, kuid Internetis on juba palju paremaid projekte. Samuti värskendatakse andmeid mõne tunni pärast ja arvesti liikumatu osuti oleks igav. Tahtsin andmeid, mis muutuvad kiiresti, muutuvad iga sekund. Küsisin Instagramis ettepanekuid ja üks mu jälgijatest vastas Interneti -spidomeetriga. See kõlas huvitavalt ja otsustas seda teha!
Selles juhendis näitan teile, kuidas ma SNMP abil oma WiFi -ruuterist andmeid haarasin ja arvesti üles- ja allalaadimiskiirust kuvasin.
Alustame
Samm: plaan
Nagu alati enne projektiga alustamist, uurisin natuke Internetis. Leidsin mõned selle teemaga seotud projektid. Neid oli kahte sorti. Üks, mis näitas Interneti -kiirust, mõõtes WiFi -signaali tugevust. Ma ei ole võrgustike ekspert, kuid see ei kõlanud õigesti. Teised mõõtsid latentsusaega ja liigitasid kiiruse aeglaseks, keskmiseks või kiireks. Latentsus on viivitus päringu saatmise ja vastuse saamise vahel ning seega ei saa see olla Interneti kiiruse tegelik esitus. Võime seda nimetada võrgu reageerimiskiiruseks! Siis olid legitiimsed projektid, mis mõõtsid andmete allalaadimiseks kuluvat aega ja arvutasid selle põhjal Interneti kiiruse.
Kuid just selles projektis (Alistair) sain teada lihtsast võrguhaldusprotokollist või SNMP -st. SNMP abil saame suhelda WiFi ruuteriga ja saada vajalikke andmeid otse sellelt. Lihtne, eks? Tegelikult mitte! Kuna erinevatel WiFi -ruuterite mudelitel on erinevad seadistused ja enne väljundi saamist on vaja palju katsetusi ja vigu. Ärge kartke. Selgitan lühidalt kõike, mida ma SNMP kohta õppisin ja raskusi, millega eelseisvates sammudes silmitsi seisin.
Seega on plaan WiFi -ruuteriga ühenduse loomiseks kasutada NodeMCU -d. Lõpliku väljundini jõudmiseks toimige järgmiselt.
- Saatke ruuterile päring, milles nõutakse nõutavaid andmeid
- Saate vastuse ruuterilt
- Analüüsige vastust ja parsige sellest vajalikud andmed
- Teisendage töötlemata andmed arusaadavaks teabeks
- Looge arvesti Interneti -kiirusega proportsionaalne pinge
- Korda
Arvesti juhtimiseks kasutan DAC -d või digitaalset analoogmuundurit.
Samm: asjad, mida vajate
1x sõlmeMCU
1x analoogmõõturi liikumine
1x MPU4725 DAC
1x SPDT lüliti
1x 10k potentsiomeeter
1x takisti
3. samm: täismõõduga läbipaindevoolu arvutamine
Märkus: tegeliku ehituse jaoks minge 7. sammu juurde!
Jätke see samm vahele, kui teate juba oma mõõturi täisväärtuslikku läbipaindevoolu. Minu arvesti ei maininud seda, nii et pidin arvutama. Kuid kõigepealt vaatame kiiresti, kuidas selline liikumine toimib. See koosneb magnetväljas riputatud mähist. Kui vool voolab mähist läbi, kogeb see Faraday seaduse kohaselt jõudu. Spiraalil on lubatud magnetväljas vabalt pöörelda, samuti pooli külge kinnitatud osuti. Voolu suurust, mis paneb kursori skaala lõpus liikuma, nimetatakse täisskaala läbipaindevooluks. See on ka maksimaalne vool, mis peab pooli kaudu voolama.
Toimub palju muud, kuid sellest piisab, mida me teeme. Nüüd on meil liikumine. Seda saab kasutada voltmeetrina, lisades sellega järjestikku suure takistuse või ampermeetrina, lisades sellega paralleelselt väikese takistuse. Me kasutame seda voltmeetrina, et kuvada pinge, mis on proportsionaalne Interneti kiirusega. Niisiis, peame arvutama vastupanu, mis tuleb järjestikku lisada. Selleks peame kõigepealt arvutama täismõõduga läbipaindevoolu.
- Valige kõrge takistuse väärtus (nt> 100k)
- Ühendage see liigutusega järjestikku ja rakendage potti kasutades sellele muutuv pinge.
- Suurendage pinget aeglaselt, kuni osuti jõuab skaala lõppu.
- Mõõtke multimeetriga voolav vool. See on täismõõduline läbipaindevool. (I = 150uA minu puhul)
Kasutame DAC -d, mille väljundpinge on vahemikus 0 kuni VCC (NodeMCU tõttu 3,3 V). See tähendab, et kui arvestile rakendatakse 3,3 V, peaks see näitama skaala lõppu. See võib juhtuda, kui 3,3 V rakendamisel voolab vooluringist läbi täismõõduline läbipaindevool. Kasutades Ohmi seadust, annab 3.3/(täismõõduline läbipaindevool) järjestikku sisestatava takistuse väärtuse.
Samm 4: SNMP GET päringu loomine
Lihtne võrguhaldusprotokoll (SNMP) on Interneti standardprotokoll hallatavate seadmete kohta IP -võrkudes teabe kogumiseks ja korraldamiseks ning selle teabe muutmiseks seadme käitumise muutmiseks. Seadmed, mis tavaliselt toetavad SNMP -d, hõlmavad kaabelmodemid, ruuterid, lülitid, serverid, tööjaamad, printerid ja palju muud. Selle ehituse jaoks suhtleme oma WiFi -ruuteriga SNMP abil ja saame vajalikud andmed.
Kuid kõigepealt peame saatma ruuterile päringu, mida nimetatakse GET -päringuks, mainides soovitud andmete üksikasju. GET päringu vorm on näidatud pildil. Taotlus koosneb erinevatest osadest. Olen toonud esile baidid, mida võiksite muuta.
Pange tähele, et kõik on kuueteistkümnendsüsteemis.
SNMP -sõnum -minu puhul on kogu sõnumi pikkus 40 (hall värv), mis kuueteistkümnendkohaks teisendamisel on 0x28.
SNMP kogukonnastring - väärtus „PUBLIC” on kirjutatud kuueteistkümnendmärgiga „70 75 62 6C 69 63”, mille pikkus on 6 (kollane).
SNMP PDU tüüp - minu puhul on sõnumi pikkus 27 (sinine), st 0x1B.
Varbind List Type - Minu puhul on sõnumi pikkus 16 (roheline), st 0x10.
Varbind Type - Minu puhul on sõnumi pikkus 14 (roosa), st 0x0E.
Objekti identifikaator -
Nagu varem mainitud, säilitavad SNMP-toega võrguseadmed (nt ruuterid, lülitid jne) andmebaasi süsteemi oleku, kättesaadavuse ja toimivusinfo kohta objektidena, mida identifitseerivad OID-d. Pakettide üles- ja allalaadimiseks peate kindlaks määrama ruuteri OID -d. Seda saab teha, kasutades sellist tasuta MIB -brauserit.
Sisestage aadress 192.168.1.1 ja OID.1.3.6.1.2.1.2.2.1.10.x (ifInOctets) või.1.3.6.1.2.1.2.2.1.16.x. (ifOutOctets). Valige Hangi operatsioon ja klõpsake nuppu Mine. Te peaksite nägema OID -d koos selle väärtuse ja tüübiga.
Minu puhul on sõnumi pikkus 10 (punane), st 0x0A. Asendage väärtus OID -ga. Sel juhul on „2B 06 01 02 01 02 02 01 10 10”
See on kõik! Teie taotlussõnum on valmis. Hoidke ülejäänud baidid sellistena, nagu need on.
SNMP sisselülitamine ruuteris:
- Logige oma WiFi ruuteri lehele sisse vaikelüüsi kaudu. Sisestage brauserisse 192.168.1.1 ja vajutage sisestusklahvi. Vaikimisi peaks kasutajanimi ja parool olema "admin".
- Ma kasutan TP-LINK (TD-W8961N) ruuterit. Selle ruuteri jaoks peate valima Juurdepääsuhaldus> SNMP ja valima „Aktiveeritud”.
- GET Community: avalik
- Lõksu vastuvõtja: 0.0.0.0
Samm 5: GET -vastuse mõistmine
Võite selle sammu vahele jätta, kuid on hea teada, kas teil on vaja tõrkeotsingut teha.
Kui olete koodi üles laadinud ja selle käivitanud, saate vastust seriaalmonitori kaudu vaadata. See peaks välja nägema nagu pildil näidatud. Peate otsima paar baiti, mille olen esile toonud.
Alates 0, 15. bait ütleb PDU tüübile - 0xA2 tähendab, et see on GetResponse.
48. bait ütleb andmetüübi - 0x41 tähendab, et andmetüüp on loendur.
49. bait ütleb andmete pikkuse - 0x04 tähendab, et andmed on 4 baiti pikad.
Bait 50, 51, 52, 53 sisaldab andmeid.
6. samm: digitaalsest analoogiks muundur (DAC)
Mikrokontrollerid on digitaalsed seadmed, mis ei mõista otse analoogpingeid. Ma kasutan analoogmõõturit, mis vajab sisendina muutuvat pinget. Kuid mikrokontroller võib lihtsalt väljastada HIGH (NodeMCU puhul 3,3 V) ja LOW (0 V). Nüüd võite öelda, miks mitte kasutada ainult PWM -i. See ei tööta, kuna arvesti kuvab ainult keskmise väärtuse.
Ma kasutan muutuva pinge saamiseks MCP4725 DAC -i. See on 12-bitine DAC, st lihtsustatult jagab see 0 kuni 3,3 V 4096 (= 2^12) osaks. Eraldusvõime on 3,3/4096 = 0,8056 mV. See tähendab, et 0 vastab 0 V -le, 1 vastab 0,8056 mV -le, 2 vastab 1,6112 mV -le,….., 4095 vastab 3,3 V -le.
Interneti kiirus kaardistatakse vahemikus 0 kuni 7 Mbps kuni 0 kuni 4095 ja seejärel antakse see väärtus DAC -le, et väljastada pinge, mis on proportsionaalne Interneti kiirusega.
7. samm: kokkupanek
Ühendused on väga lihtsad. Skeem on lisatud siia.
Kavandasin ja printisin skaala. Ülemine on allalaadimiskiiruseks ja alumine üleslaadimiskiiruseks. Kleepisin uue skaala vana peale.
Eemaldasin multimeetrist kõik vanad asjad ja toppisin kõik sinna sisse. See oli tihe istumine. Pidin ette augu puurima, et kinnitada lülituslüliti, mida kasutatakse üles- ja allalaadimiskiiruse valimiseks.
Samm: kodeerimise aeg
Kood on siia lisatud. Laadige see alla ja avage see Arduino IDE -s. Installige Adafruitist teek MCP4725.
Enne üleslaadimist:
- Sisestage oma WiFi SSID ja parool
- Sisestage skaalal mainitud maksimaalne üles- ja allalaadimiskiirus.
- Tehke vajalikud muudatused päringumassiivis allalaadimiseks ja pakettide üleslaadimiseks.
- Tühistage rida 165, et vaadata jadamonitori vastust.
Vajutage üleslaadimist!
Samm: nautige
Lülitage see sisse ja nautige Internetis surfamise ajal nõela tantsimist!
Aitäh, et lõpuni jäite. Loodan, et teile kõigile meeldib see projekt ja õppisite täna midagi uut. Andke mulle teada, kui teete selle endale. Selliste projektide jaoks tellige minu YouTube'i kanal.
Soovitan:
BOSEBerry Pi Interneti -raadio: 4 sammu (koos piltidega)
BOSEBerry Pi Interneti -raadio: mulle meeldib raadiot kuulata! Ma kasutasin oma majas DAB -raadiot, kuid leidsin, et vastuvõtt oli pisut lünklik ja heli katkes pidevalt, mistõttu otsustasin ehitada oma Interneti -raadio. Mul on maja ümber tugev wifi -signaal ja digitaalne vend
DIY INTERNETI JUHTITAV SMART LED MATRIX (ADAFRUIT + ESP8266 + WS2812): 8 sammu (koos piltidega)
DIY INTERNETI KONTROLLITAV SMART LED MATRIX (ADAFRUIT + ESP8266 + WS2812): Siin on minu teine edusamm projektis, mida mul on väga hea meel teile näidata. See puudutab DIY nutikat LED -maatriksit, mis võimaldab teil sellel näidata andmeid, nagu YouTube'i statistika, teie nutika kodu statistika, temperatuuri, niiskuse või lihtsa kellana
Ehitage oma Interneti-juhitav video voogesitusrobot Arduino ja Raspberry Pi abil: 15 sammu (piltidega)
Arduino ja Raspberry Pi abil saate luua oma Interneti-juhitava videovoo robot: olen @RedPhantom (teise nimega LiquidCrystalDisplay / Itay), 14-aastane Iisraeli õpilane, kes õpib Max Sheini kõrgkooli kõrgkoolis. Teen selle projekti kõigile õppimiseks ja jagamiseks! Võimalik, et olete mures
Vaarika Pi toitega Interneti-raadio: 5 sammu (koos piltidega)
Vaarika Pi toitega Interneti-raadio: valimisnuppude keeramisel ja nuppude vajutamisel on midagi rahuldust pakkuvat, nagu vanadel raadiotel. Kahjuks on paljud neist raadiotest katki või jaamad vaikseks jäänud. Õnneks pole raadio värskendamine Interneti -raadioks, kasutades
Toatemperatuur Interneti kaudu BLYNK ESP8266 ja DHT11 abil: 5 sammu (koos piltidega)
Toatemperatuur Interneti kaudu BLYNK ESP8266 ja DHT11 abil: Tere poisid, täna valmistame toatemperatuuri monitori, mille abil saame oma tuba igal pool maailmas jälgida ja selleks kasutame BLYNK IoT plaadivormi. DHT11 toatemperatuuri lugemiseks kasutame ESP8266