Tartalomjegyzék:

Internetes sebességmérő: 9 lépés (képekkel)
Internetes sebességmérő: 9 lépés (képekkel)

Videó: Internetes sebességmérő: 9 lépés (képekkel)

Videó: Internetes sebességmérő: 9 lépés (képekkel)
Videó: Beilleszkedés:) 2024, November
Anonim
Image
Image
A terv
A terv

A teljes lezárás miatt Indiában mindent lezártak, beleértve a levelező szolgáltatásokat is. Nincs új NYÁK -projekt, nincs új alkatrész, semmi! Így, hogy legyőzzem az unalmat és elfoglaljam magam, úgy döntöttem, hogy valamit készítek azokból a részekből, amelyek már otthon vannak. Elkezdtem keresni az elektronikai szeméthalomból, és találtam egy régi, törött analóg multimétert. Kimentettem belőle a „mérőmozgást”, és úgy döntöttem, hogy megjelenítek valamilyen információt, de nem tudtam pontosan, hogy mit. Először a COVID-19 statisztikák megjelenítésére gondoltam, de már sok jobb projekt van az interneten. Ezenkívül az adatok néhány óra múlva frissülnek, és a mérő álló mutatója unalmas lenne. Olyan adatokat akartam, amelyek gyorsan változnak, másodpercenként változnak. Javaslatokat kértem az Instagramon, és az egyik követőm válaszolt az Internet sebességmérővel. Érdekesen hangzott, és úgy döntöttem, hogy elkészítem!

Ebben az utasításban megmutatom, hogyan kaptam adatokat a WiFi útválasztómon az SNMP használatával, és hogyan jelenítettem meg a feltöltési és letöltési sebességet a mérőn.

Lássunk neki

1. lépés: A terv

Mint mindig, mielőtt elkezdtem a projektet, kicsit kutattam az interneten. Találtam pár projektet ezzel a témával kapcsolatban. Kétféle voltak. Az egyik, amely megmutatta az internet sebességét a WiFi jel „erősségének” mérésével. Nem vagyok hálózati szakértő, de ez nem hangzott jól. A többiek a késleltetést mérték és a sebességet lassúnak, közepesnek vagy gyorsnak minősítették. A késleltetés a kérelem elküldése és a válasz megérkezése közötti késleltetés, így nem lehet az internet sebességének tényleges ábrázolása. Hívhatjuk hálózati válaszsebességnek! Aztán voltak legitim projektek, amelyek megmérték az adatok letöltéséhez szükséges időt, és ennek alapján kiszámították az internet sebességét.

De ebben a projektben (Alistair) tanultam meg az Egyszerű hálózatkezelési protokollról vagy az SNMP -ről. Az SNMP használatával kommunikálhatunk a WiFi útválasztóval, és közvetlenül tőle szerezhetjük be a szükséges adatokat. Könnyű, igaz? Ami azt illeti, nem! Mivel a WiFi útválasztók különböző modelljei eltérő beállításokkal rendelkeznek, és sok kísérletet és hibát igényelnek, mielőtt végre megkapja a kimenetet. Ne ijedjen meg. Röviden elmagyarázom, hogy mit tanultam az SNMP -ről, és milyen nehézségekkel szembesültem a következő lépések során.

Tehát a terv az, hogy a NodeMCU segítségével csatlakozzon a WiFi útválasztóhoz. Ezek a lépések a végső kimenet eléréséhez:

  • Küldjön egy kérést az útválasztónak, „kérve” a szükséges adatokat
  • Kérje a választ az útválasztótól
  • Elemezze a választ, és elemezze belőle a szükséges adatokat
  • Konvertálja a „nyers” adatokat érthető információkká
  • Hozzon létre a mérő internetsebességével arányos feszültséget
  • Ismétlés

DAC vagy digitális -analóg átalakítót fogok használni a mérő vezérléséhez.

2. lépés: Amire szüksége lesz

Dolgok, amire szüksége lesz
Dolgok, amire szüksége lesz
Dolgok, amire szüksége lesz
Dolgok, amire szüksége lesz
Dolgok, amire szüksége lesz
Dolgok, amire szüksége lesz

1x NodeMCU

1x analóg mérő mozgás

1x MPU4725 DAC

1x SPDT kapcsoló

1x 10k potenciométer

1x ellenállás

3. lépés: A teljes mértékű eltérítési áram kiszámítása

A teljes mértékű eltérítési áram kiszámítása
A teljes mértékű eltérítési áram kiszámítása
A teljes mértékű eltérítési áram kiszámítása
A teljes mértékű eltérítési áram kiszámítása

Megjegyzés: Ugorjon a 7. lépéshez a tényleges felépítéshez!

Hagyja ki ezt a lépést, ha már ismeri a mérő teljes skáláját. A mérőm nem szólt róla, ezért számolnom kellett. De először nézzük meg gyorsan, hogyan működik egy ilyen mozgás. Egy mágneses mezőben felfüggesztett tekercsből áll. Amikor Faraday törvénye szerint áram folyik a tekercsen, erőt tapasztal. A tekercs szabadon foroghat a mágneses térben, és a tekercshez rögzített mutató is. Azt az áramerősséget, amely a mutatót a „skála végén” mozgatja, teljes skála eltérítési áramnak nevezzük. Ez is a maximális áram, amelyet a tekercsen át kell engedni.

Sok minden történik még, de ez elég ahhoz, amit csinálunk. Most megvan a mozgás. Voltmérőként használható, ha sorban nagy ellenállást ad hozzá, vagy ampermérőként kis ellenállást párhuzamosan. Voltmérőként fogjuk használni az internet sebességével arányos feszültség megjelenítésére. Tehát ki kell számolnunk az ellenállást, amelyet sorosan kell hozzáadni. Ehhez először ki kell számolnunk a teljes skálájú eltérítési áramot.

  1. Válasszon nagy ellenállási értéket (például> 100k)
  2. Csatlakoztassa sorba a mozgással, és az edény segítségével váltakozó feszültséget alkalmazzon rajta.
  3. Lassan növelje a feszültséget, amíg a mutató el nem éri a skála végét.
  4. Multiméterrel mérje meg az átáramló áramot. Ez a teljes skála eltérítési áram. (I = 150uA az én esetemben)

DAC -ot használunk, amelynek kimeneti feszültsége 0 és VCC között van (3,3 V a NodeMCU miatt). Ez azt jelenti, hogy amikor 3,3 V feszültséget alkalmaznak a mérőórán, annak a skála végére kell mutatnia. Ez akkor fordulhat elő, ha a 3.3V feszültség alkalmazása esetén teljes körű eltérítési áram folyik az áramkörön. Az Ohm-törvény alkalmazásával a 3.3/(teljes mértékű eltérítési áram) megadja a sorba illesztendő ellenállás értékét.

4. lépés: Az SNMP GET kérés létrehozása

SNMP GET kérés létrehozása
SNMP GET kérés létrehozása
SNMP GET kérés létrehozása
SNMP GET kérés létrehozása
SNMP GET kérés létrehozása
SNMP GET kérés létrehozása

Az egyszerű hálózatkezelési protokoll (SNMP) egy internetes szabványos protokoll az IP -hálózatokon lévő felügyelt eszközökről szóló információk gyűjtésére és rendszerezésére, valamint az adatok módosítására, hogy megváltoztassa az eszköz viselkedését. Az SNMP -t jellemzően támogató eszközök közé tartoznak a kábelmodemek, útválasztók, kapcsolók, szerverek, munkaállomások, nyomtatók és egyebek. Ehhez az építéshez az SNMP használatával kommunikálni fogunk a WiFi útválasztóval, és megkapjuk a szükséges adatokat.

Először azonban el kell küldenünk egy „GET Request” néven ismert kérést az útválasztónak, megemlítve a kívánt adatok részleteit. A GET Request formátum a képen látható. A kérés különböző részekből áll. Kiemeltem a bájtokat, amelyeket érdemes megváltoztatni.

Felhívjuk figyelmét, hogy minden hexadecimális.

SNMP üzenet -Az én esetemben a teljes üzenet hossza 40 (szürke színű), amely hexadecimálisra konvertálva 0x28.

SNMP közösségi karakterlánc - A „PUBLIC” érték hexadecimális számmal van írva: „70 75 62 6C 69 63”, amelynek hossza 6 (sárga).

SNMP PDU típus - Esetemben az üzenet hossza 27 (kék), azaz 0x1B.

Varbind List Type - Esetemben az üzenet hossza 16 (zöld) azaz 0x10.

Varbind típus - Az én esetemben az üzenet hossza 14 (rózsaszín) azaz 0x0E.

Objektumazonosító -

Amint azt korábban említettük, az SNMP-kompatibilis hálózati eszközök (például útválasztók, kapcsolók stb.) Adatbázist tartanak fenn a rendszer állapotáról, elérhetőségéről és teljesítményadatairól, mint objektumokat, amelyeket OID azonosít. A csomagok feltöltéséhez és letöltéséhez azonosítania kell az útválasztó OID -jeit. Ezt megteheti egy ingyenes MIB böngészővel, mint ez.

Adja meg a címet 192.168.1.1 -ként, az OID -t pedig.1.3.6.1.2.1.2.2.1.10.x -ként (ifInOctets) vagy.1.3.6.1.2.1.2.2.1.16.x -ként. (ifOutOctets). Válassza a Művelet beszerzése lehetőséget, majd kattintson az Ugrás gombra. Látnia kell az OID értékét és típusát.

Esetemben az üzenet hossza 10 (piros) azaz 0x0A. Cserélje ki az értéket az OID értékre. Ebben az esetben a „2B 06 01 02 01 02 02 01 10 10”

Ez az! Kérési üzenete kész. Tartsa a többi bájtot úgy, ahogy van.

Az SNMP bekapcsolása az útválasztón:

  • Jelentkezzen be a WiFi útválasztó oldalára az alapértelmezett átjárón keresztül. Írja be a 192.168.1.1 böngészőbe, és nyomja meg az enter billentyűt. Alapértelmezés szerint a felhasználónév és jelszó 'admin' kell legyen.
  • TP-LINK (TD-W8961N) routert használok. Ehhez az útválasztóhoz lépjen a Hozzáférés -kezelés> SNMP menübe, és válassza az „Aktivált” lehetőséget.
  • GET közösség: nyilvános
  • Csapda fogadó: 0.0.0.0

5. lépés: A GET Response megértése

A GET Response megértése
A GET Response megértése

Ezt a lépést kihagyhatja, de jó tudni, hogy szükség van -e valamilyen hibaelhárításra.

Miután feltöltötte és futtatta a kódot, a soros monitoron keresztül megnézheti a választ. Úgy kell kinéznie, mint a képen. Néhány bájtot kell keresnie, amelyeket kiemeltem.

0 -tól, A 15. bájt megmondja a PDU típusát - a 0xA2 azt jelenti, hogy GetResponse.

A 48. bájt megmondja az adattípust - a 0x41 azt jelenti, hogy az adattípus számláló.

A 49. bájt az adatok hosszát jelzi - a 0x04 azt jelenti, hogy az adatok 4 bájt hosszúak.

Az 50, 51, 52, 53 bájt tartalmazza az adatokat.

6. lépés: Digitális -analóg átalakító (DAC)

Digitális -analóg átalakító (DAC)
Digitális -analóg átalakító (DAC)

A mikrokontrollerek olyan digitális eszközök, amelyek nem értik közvetlenül az analóg feszültségeket. Analóg mérőt használok, amelynek változó feszültségű bemenetre van szüksége. De a mikrokontroller csak HIGH (3,3 V NodeMCU esetén) és LOW (0 V) kimenetet tud kiadni. Most azt mondhatja, miért nem használja csak a PWM -et. Ez nem fog működni, mivel a mérő csak az átlagos értéket jeleníti meg.

Az MCP4725 DAC -t használom a változó feszültség megszerzésére. Ez egy 12 bites DAC, azaz leegyszerűsítve a 0–3,3 V-ot 4096 (= 2^12) részre osztja. A felbontás 3,3/4096 = 0,8056mV lesz. Ez azt jelenti, hogy 0 0V -nak felel meg, 1 0,8056 mV -nak, 2 1,6112 mV -nak,….., 4095 3,3 V -nak felel meg.

Az internet sebessége „0-7 mbps" -ről „0 -ra és 4095" -re lesz „leképezve”, majd ezt az értéket a DAC kapja meg, hogy olyan feszültséget adjon ki, amely arányos lesz az internet sebességével.

7. lépés: Az összeszerelés

Az összeszerelés
Az összeszerelés
Az összeszerelés
Az összeszerelés
Az összeszerelés
Az összeszerelés
Az összeszerelés
Az összeszerelés

A kapcsolatok nagyon egyszerűek. A vázlatot itt csatoltuk.

Megterveztem és kinyomtattam a mérleget. A felső a letöltési sebességre, az alsó pedig a feltöltési sebességre vonatkozik. Felragasztottam az új mérleget a régire.

Kivettem az összes régi cuccot a multiméterből, és mindent belepakoltam. Szoros szabás volt. Elöl lyukat kellett fúrnom, hogy rögzítsem a váltókapcsolót, amellyel választhatunk a feltöltési és letöltési sebesség között.

8. lépés: A kódolás ideje

A kódolás ideje
A kódolás ideje
A kódolás ideje
A kódolás ideje
A kódolás ideje
A kódolás ideje

A kódot ide csatoltuk. Töltse le és nyissa meg az Arduino IDE -ben. Telepítse az MCP4725 könyvtárat az Adafruitból.

A feltöltés előtt:

  1. Írja be WiFi SSID -jét és jelszavát
  2. Adja meg a skálán említett maximális feltöltési és letöltési sebességet.
  3. Végezze el a szükséges módosításokat a kérési tömbben a letöltéshez, valamint töltse fel a csomagokat.
  4. Szüntesse meg a 165 -ös sort, ha meg szeretné tekinteni a választ a soros monitoron.

Nyomja meg a feltöltést!

9. lépés: Élvezze

Kapcsolja be, és élvezze, ahogy az interneten böngészve nézi a táncot!

Köszönöm, hogy kitartottál a végére. Remélem, mindenki szereti ezt a projektet, és ma valami újat tanult. Szólj, ha készítesz magadnak egyet. Iratkozzon fel YouTube -csatornámra további ilyen projektekért.

Ajánlott: