Tartalomjegyzék:

Internet sebességmérő: 4 lépés (képekkel)
Internet sebességmérő: 4 lépés (képekkel)

Videó: Internet sebességmérő: 4 lépés (képekkel)

Videó: Internet sebességmérő: 4 lépés (képekkel)
Videó: Legjobb találmányok Kickstarteren 4 2024, November
Anonim
Image
Image
Internet sebességmérő
Internet sebességmérő
Internet sebességmérő
Internet sebességmérő

Áttekintés

Ez az "Internet sebességmérő" közel valós idejű felügyeletet biztosít a hálózathasználathoz. Ez az információ a legtöbb otthoni útválasztó webes felületén érhető el. Ennek eléréséhez azonban le kell állítania az aktuális feladatot, és utána kell néznie.

Szerettem volna megtekinteni ezeket az információkat, anélkül, hogy meg kellene szakítanom a jelenlegi feladatomat, hogy csak egy gyors pillantással érthető formában jelenítsem meg őket, és úgy szerezzem be az információkat, hogy a lehető legtöbb útválasztóval működjenek együtt, így mások is potenciálisan használni is.

Hogyan teszi a dolgokat

Úgy döntöttem, hogy az SNMP -t (Simple Network Management Protocol) használom az útválasztótól származó információk megszerzésének módjaként. Az SNMP -t széles körben használják a hálózati berendezésekben, és ha a készülék alapértelmezés szerint nem támogatja, akkor a DDWRT (nyílt forráskódú útválasztó firmware) használható az SNMP megvalósítására.

Az információk könnyen érthető módon történő megjelenítéséhez egy autóból származó mérőt használtam. Az autómérőket úgy tervezték, hogy információkat nyújtsanak anélkül, hogy zavaróak vagy zavaróak lennének, így a vezető figyelheti az utat. Ezenkívül feküdtem is.

Mivel ez az asztalomon lenne, úgy döntöttem, hogy a háttérvilágítást is RGB -re készítem, mert a számítógép -kiegészítőknek mind RGB -nek kell lenniük. Jobb?

Kihívások

Az általam használt műszerek Air-Core állítóművet használnak. A projekt előtt még nem hallottam ezekről.

A Wikipédiából: A levegőmagasság -mérő két független, merőleges tekercsből áll, amelyek körülveszik az üreges kamrát. Egy tűtengely nyúlik ki a kamrába, ahol egy állandó mágnest rögzítenek a tengelyre. Amikor az áram áthalad a merőleges tekercseken, mágneses mezőik egymásra helyezkednek, és a mágnes szabadon igazodik a kombinált mezőkhöz.

Nem találtam olyan könyvtárat az Arduino számára, amely támogatta az SNMP -t a kezelői konfigurációban. Az SNMP -nek két fő formája van, ügynök és menedzser. Az ügynökök válaszolnak a kérésekre, a vezetők pedig kéréseket küldenek az ügynököknek. A 0neblock által létrehozott Arduino_SNMP könyvtár módosításával sikerült elérnem a kezelői funkció működését. Soha nem programoztam C ++ nyelven, kivéve, hogy a LED -ek villogni kezdenek egy Arduino -n, ezért ha problémák vannak az SNMP könyvtárral, tudassa velem, és megpróbálom kijavítani, egyelőre működik.

Ezenkívül az SNMP -t nem valós idejű megtekintésre tervezték. A rendeltetés a statisztikák nyomon követésére és az üzemzavarok észlelésére szolgál. Emiatt az útválasztón lévő információk csak körülbelül 5 másodpercenként frissülnek (az eszköz változhat). Ez az oka annak, hogy késleltetik a sebességi teszt számát és a tűt.

1. lépés: Eszközök és anyagok

Eszközök és anyagok
Eszközök és anyagok
Eszközök és anyagok
Eszközök és anyagok
Eszközök és anyagok
Eszközök és anyagok
Eszközök és anyagok
Eszközök és anyagok
Áramkör tervezés
Áramkör tervezés

3 teljes H-hídra lesz szükségünk. Az általam használt modellek a Dual TB6612FNG és a Dual L298N.

Minden légmagos hajtómű 2 teljes H-hidat igényel, mivel a tekercseket egymástól függetlenül kell vezérelni.

Az egyik használt mérőműszerben van egy tekercs, amely diódával és ellenállással van földelve. Nem vagyok biztos a mögöttes tudományban, de ez lehetővé teszi, hogy csak egy tekercs meghajtásával körülbelül 90 fokban forogjon.

A 12V -5V szabályozót fogom használni, amely az L298N kártya része, amelyet az ESP32 áramellátására választottam.

Az összes LED áramkör opcionális, valamint a JST csatlakozók. Könnyen forraszthatja a vezetékeket közvetlenül az ESP32 -hez és a motor meghajtójához.

3. lépés: Kódtervezés

Kód beállítása

Be kell állítanunk az Arduino -t, hogy használni tudjuk az ESP32 kártyát. Itt található egy jó útmutató, amely végigvezeti Önt az ESP32 Arduino beállításán.

Szüksége lesz az itt található Arduino_SNMP könyvtárra is.

A kód konfigurálásához bizonyos információkat kell gyűjtenie.

  1. Router IP
  2. Max feltöltési sebesség
  3. Max letöltési sebesség
  4. A WiFi neve és jelszava
  5. Az OID, amely tartalmazza az oktett számokat, az „in” és „out” az útválasztó WAN felületén

Vannak szabványos OID -k (Object Identifiers) a kívánt információhoz. A MIB-2 szabvány szerint a következő számokat szeretnénk:

ifInOctets.1.3.6.1.2.1.2.2.1.16. X

ifOutOctets.1.3.6.1.2.1.2.2.1.10. X

Ahol X az a felülethez rendelt szám, amelyről statisztikákat szeretne kapni. Számomra ez a szám 3. Az egyik módja annak, hogy megerősítsük, hogy ez a megfelelő OID az Ön számára, és hogy melyik interfész számot kell használni, egy olyan eszköz használata, mint a MIB Browser.

A maximális sebesség eléréséhez a SpeedTest.net -t használtam. Miután megadta a sebességet Mbps -ban, ezt a képletet használva oktettre kell alakítania.

Oktettek másodpercenként = (A sebességvizsgálat eredménye Mbps -ban * 1048576) / 8

Kód funkció

A kód SNMP kérést küld az útválasztónak. Az útválasztó ezután számmal válaszol, a szám az elküldött vagy fogadott oktettek számát jelenti. Ugyanakkor rögzítjük az Arduino indulása óta eltelt ezredmásodpercek számát.

Ha ez a folyamat legalább kétszer megtörtént, ezt a kódot használva kiszámíthatjuk a használat százalékát a maximális értékeink alapján

percentDown = ((float) (byteDown - byteDownLast)/(float) (maxDown * ((millis () - timeLast)/1000))) * 100;

A matek így bomlik le:

octetsDiff = snmp_result - Előző_ snmp_result

timeFrame = currentTime - timeLast

MaxPosableOverTime = (timeFrame * Octets_per_second)/1000

Százalék = (octetsDiff / MaxPosableOverTime) * 100

Most, hogy megvan a hálózati használat százalékos aránya, csak be kell írnunk a mérőbe. Ezt 2 lépésben tesszük. Először az updateDownloadGauge függvényt használjuk. Ebben a függvényben a „térkép” segítségével konvertáljuk a százalékot olyan számra, amely a mérőóra radián pozícióját képviseli. Ezután megadjuk ezt a számot a setMeterPosition függvénynek, hogy a tűt az új pozícióba vigye.

4. lépés: A tok tervezése

Tok tervezése
Tok tervezése
Tok tervezése
Tok tervezése
Tok tervezése
Tok tervezése

Ahhoz, hogy mindent tartalmazzon, megterveztem egy házat a fusion360 -ban, és kinyomtattam. Az általam készített kivitel viszonylag egyszerű. Forró ragasztóval rögzítettem az alkatrészeket a belső oldalra, és a mérőműszert a helyén tartják, ha becsípik az előlap és a hátlap közé. A tok létrehozásához nem kell 3D nyomtatást használni. Például készíthet egy tokot fából, vagy mindent visszahelyezhet az eredeti tokba, amelybe a mérők érkeztek.

Az STL fájljaim elérhetők a thingiverse webhelyen, ha meg akarják nézni őket, de nem valószínű, hogy működni fognak, hacsak nem ugyanazokat a mérőeszközöket kapom, mint amit használtam.

Ügyiratok:

Köszönöm, hogy elolvasta. Ha bármilyen kérdése van, tudassa velem, és mindent megteszek, hogy válaszoljak.

Ajánlott: