Turinys:
Video: Interneto greičio matuoklis: 4 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Apžvalga
Šis „interneto greičio matuoklis“leis jums beveik realiu laiku stebėti tinklo naudojimą. Šią informaciją galima rasti daugelio namų maršrutizatorių žiniatinklio sąsajoje. Tačiau norint jį pasiekti reikia sustabdyti dabartinę užduotį ir eiti jos ieškoti.
Norėjau peržiūrėti šią informaciją nenutraukdamas dabartinės užduoties, parodyti ją tokiu formatu, kuris būtų suprantamas vos vienu žvilgsniu, ir gauti informaciją taip, kad ji veiktų su kuo daugiau maršrutizatorių, kad kiti galėtų potencialiai jį taip pat naudoti.
Kaip tai daro dalykus
Aš nusprendžiau naudoti SNMP (paprastą tinklo valdymo protokolą) kaip būdą gauti informaciją iš maršrutizatoriaus. SNMP yra plačiai naudojamas tinklo įrangoje ir, jei jūsų įrenginys jo nepalaiko pagal numatytuosius nustatymus, DMPW (atvirojo kodo maršrutizatoriaus programinė įranga) gali būti naudojama SNMP įdiegti.
Norėdami pateikti informaciją lengvai suprantamu būdu, naudoju automobilio matuoklį. Automobilio matuokliai yra skirti suteikti jums informacijos, netrukdant ir nesuklaidinant, todėl vairuotojas gali nepamiršti kelio. Be to, aš šiek tiek gulėjau.
Kadangi tai būtų ant mano stalo, nusprendžiau, kad taip pat padarysiu foninį apšvietimą RGB, nes visi kompiuterių priedai turėtų būti RGB. Teisingai?
Iššūkiai
Mano matuokliai naudojo „Air-Core“pavarą. Aš niekada negirdėjau apie juos iki šio projekto.
Iš Vikipedijos: Oro šerdies matuoklį sudaro dvi nepriklausomos, statmenos ritės, supančios tuščiavidurę kamerą. Adatos velenas išsikiša į kamerą, kur prie veleno pritvirtintas nuolatinis magnetas. Kai srovė teka per statmenas rites, jų magnetiniai laukai sutampa, o magnetas gali laisvai derintis prie kombinuotų laukų.
Nepavyko rasti „Arduino“bibliotekos, kuri palaikytų SNMP valdytojo konfigūracijoje. SNMP turi dvi pagrindines formas - agentą ir vadybininką. Agentai atsako į užklausą, o vadovai siunčia užklausą agentams. Man pavyko įjungti valdytojo funkcijas, pakeisdamas „0neblock“sukurtą „Arduino_SNMP“biblioteką. Niekada nesu programavęs C ++, išskyrus tai, kad „Arduino“mirksi šviesos diodai, taigi, jei kyla problemų dėl SNMP bibliotekos, praneškite man ir aš pabandysiu jas išspręsti, kol kas ji veikia.
Be to, SNMP nėra skirtas žiūrėti realiuoju laiku. Numatoma naudoti statistikai stebėti ir sutrikimams nustatyti. Dėl šios priežasties informacija maršrutizatoriuje atnaujinama tik maždaug kas 5 sekundes (jūsų įrenginys gali skirtis). Tai yra priežastis, dėl kurios vėluojama tarp greičio bandymo skaičiaus ir adatos judėjimo.
1 žingsnis: įrankiai ir medžiagos
Mums reikės 3 pilnų H tiltų. Mano naudojami modeliai yra „Dual TB6612FNG“ir „Dual L298N“.
Kiekvienai „Air-Core“pavarai reikia 2 pilnų H tiltų, nes ritės turi būti valdomos nepriklausomai.
Vienas iš mano naudojamų matuoklių turi vieną ritę, sujungtą su žeme su diodu ir rezistoriumi. Nesu tikras dėl to slypinčio mokslo, tačiau tai leidžia suktis apie 90 laipsnių, kai naudojama tik viena ritė.
Aš naudosiu 12–5 V reguliatorių, kuris yra L298N plokštės dalis, kurią pasirinkau ESP32 maitinti.
Visos LED grandinės yra neprivalomos, taip pat JST jungtys. Galite lengvai lituoti laidus tiesiai prie ESP32 ir variklio tvarkyklės.
3 žingsnis: kodo projektavimas
Kodo sąranka
Turėsime nustatyti „Arduino“, kad galėtume naudoti ESP32 plokštę. Čia yra geras vadovas, kuris padės jums atlikti ESP32 „Arduino“sąranką.
Jums taip pat reikės Arduino_SNMP bibliotekos, esančios čia.
Norėdami sukonfigūruoti kodą, turėsite surinkti tam tikrą informaciją.
- Maršrutizatoriaus IP
- Maksimalus įkėlimo greitis
- Maksimalus atsisiuntimo greitis
- Jūsų „WiFi“vardas ir slaptažodis
- OID, kuriame yra oktetas, reiškia „įeiti“ir „išeiti“jūsų maršrutizatoriaus WAN sąsajoje
Yra standartiniai norimos informacijos OID (objektų identifikatoriai). Pagal MIB-2 standartą norime tokių skaičių:
ifInOctets.1.3.6.1.2.1.2.2.1.16. X
ifOutOctets.1.3.6.1.2.1.2.2.1.10. X
Kur X yra numeris, priskirtas sąsajai, iš kurios norite gauti statistiką. Man šis skaičius yra 3. Vienas iš būdų patvirtinti, kad tai tinkamas OID, ir nustatyti, kokį sąsajos numerį reikia naudoti, yra naudoti tokį įrankį kaip MIB naršyklė.
Norėdami gauti maksimalų greitį, naudoju SpeedTest.net. Kai turėsite greitį Mbps, turėsite konvertuoti juos į oktetus pagal šią formulę.
Oktetai per sekundę = (greičio bandymo rezultatas Mbps * 1048576) / 8
Kodo funkcija
Kodas siunčia SNMP gavimo užklausą maršrutizatoriui. Tada maršrutizatorius atsako skaičiumi, šis skaičius reiškia išsiųstų ar gautų oktetų skaičių. Tuo pačiu metu mes įrašome milisekundžių skaičių, praėjusį nuo „Arduino“pradžios.
Kai šis procesas įvyks bent du kartus, naudodami šį kodą galime apskaičiuoti naudojimo procentą pagal maksimalias vertes
procentasDown = ((plūdė) (baitas žemyn - baitasDownLast)/(plūdė) (maxDown * ((milis () - laikasLast)/1000))) * 100;
Matematika suskyla taip:
octetsDiff = snmp_result - Ankstesnis_ snmp_result
timeFrame = currentTime - timeLast
MaxPosableOverTime = (timeFrame * Octets_per_second)/1000
Procentas = (oktetaiDiff / MaxPosableOverTime) * 100
Dabar, kai turime tinklo naudojimo procentą, mes tiesiog turime jį parašyti matuoklyje. Mes tai darome 2 žingsniais. Pirmiausia mes naudojame funkciją updateDownloadGauge. Šioje funkcijoje mes naudojame „žemėlapį“, norėdami konvertuoti procentą į skaičių, kuris reiškia radianinę padėtį matuoklyje. Tada mes suteikiame šį skaičių funkcijai setMeterPosition, kad adata būtų perkelta į naują padėtį.
4 žingsnis: korpuso dizainas
Kad būtų viskas, sukūriau „fusion360“korpusą ir atspausdinau 3D. Mano sukurtas dizainas yra gana paprastas. Naudojau karštus klijus, kad pritvirtinčiau komponentus į vidų, o matuoklis laikomas vietoje, nes jis yra suspaustas tarp priekinio ir galinio dangčio. Norėdami sukurti dėklą, jums nereikia naudoti 3D spausdinimo. Pvz., Galite pagaminti dėklą iš medžio arba įdėti viską atgal į originalią dėžutę, kurioje buvo matuokliai.
Mano STL failai yra pasiekiami „thingiverse“, jei norite į juos pažvelgti, tačiau mažai tikėtina, kad jie jums padės, nebent gausite tuos pačius matuoklius, kuriuos naudojau.
Bylos failai:
Ačiū, kad perskaitėte. Praneškite man, jei turite klausimų, ir aš padarysiu viską, kad atsakyčiau.
Rekomenduojamas:
Aukščio matuoklis (aukščio matuoklis) pagal atmosferos slėgį: 7 žingsniai (su nuotraukomis)
Aukščio matuoklis (aukščio matuoklis) Remiantis atmosferos slėgiu: [Redaguoti]; Žr. 2 versiją 6 veiksme su rankiniu įvesties aukščio įvedimu. Tai yra aukščio matuoklio (aukščio matuoklio), pagrįsto „Arduino Nano“ir „Bosch BMP180“atmosferos slėgio jutikliu, pastato aprašymas. Dizainas paprastas, bet matavimai
Daiktų interneto temperatūros ir drėgmės matuoklis su OLED ekranu: 5 žingsniai (su nuotraukomis)
Daiktų interneto temperatūros ir drėgmės matuoklis su OLED ekranu: Patikrinkite temperatūrą ir drėgmę OLED ekrane bet kuriuo jums patogiu metu ir tuo pačiu metu surinkite tuos duomenis į daiktų interneto platformą. Praėjusią savaitę paskelbiau projektą „Paprasčiausias daiktų interneto temperatūros ir drėgmės matuoklis“. Tai geras projektas, nes galite
Paprasčiausias daiktų interneto temperatūros ir drėgmės matuoklis: 5 žingsniai (su nuotraukomis)
Paprasčiausias IoT temperatūros ir drėgmės matuoklis: Paprasčiausias IoT temperatūros ir drėgmės matuoklis leidžia surinkti temperatūros, drėgmės ir šilumos indeksą. Tada nusiųskite juos į „Adafruit IO“
Purvo pigus nešvarumų matuoklis-9 USD „Arduino“garsinis aukščio matuoklis: 4 žingsniai (su nuotraukomis)
Nešvarūs pigūs nešvarumų matuokliai-9 USD „Arduino“pagrįstas garsinis aukščio matuoklis: „Dytters“(A.K.A garsiniai aukščio matuokliai) tiek metų išgelbėjo parašiutininkų gyvybes. Dabar „Audible Abby“taip pat sutaupys pinigų. „Basic Dytters“turi keturis aliarmus, vieną pakeliui aukštyn ir tris žemyn. Skrisdami lėktuvu, parašiutininkai turi žinoti, kada
Daiktų interneto pagrindai: savo daiktų interneto prijungimas prie debesies naudojant „Mongoose“OS: 5 žingsniai
Daiktų interneto pagrindai: savo daiktų interneto prijungimas prie debesies naudojant „Mongoose“OS: Jei esate žmogus, kuris užsiima tinkle ir elektronika, dažniausiai susidursite su daiktų internetu, paprastai sutrumpintu kaip daiktų internetas, ir kad reiškia įrenginių, galinčių prisijungti prie interneto, rinkinį! Būdamas toks žmogus