Tartalomjegyzék:
Videó: Internet sebességmérő: 4 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Á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
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.
- Router IP
- Max feltöltési sebesség
- Max letöltési sebesség
- A WiFi neve és jelszava
- 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
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:
Internetes sebességmérő: 9 lépés (képekkel)
Internetes sebességmérő: Indiában a teljes lezárás miatt mindent bezártak, beleértve a levelező szolgáltatásokat is. Nincs új NYÁK -projekt, nincs új alkatrész, semmi! Tehát, hogy legyőzzem az unalmat és elfoglaljam magam, úgy döntöttem, hogy valamit készítek azokból a részekből, amelyeket elfelejtettem
Arduino kerékpáros sebességmérő GPS használatával: 8 lépés
Arduino kerékpáros sebességmérő GPS használatával: Ebben az oktatóanyagban az Arduino és Visuino segítségével jelenítjük meg az aktuális kerékpáros sebességet a GPS -ből az ST7735 kijelzőn. Nézzen meg egy bemutató videót
Kerékpár sebességmérő kijelző: 10 lépés (képekkel)
Kerékpáros sebességmérő kijelző: mi ez? Ahogy a neve is sugallja, ebben a projektben megtanulhatja, hogyan hozzon létre egy kerékpáros kijelzőt, amely mind sebességmérőből, mind kilométer -számlálóból áll. A valós idejű sebesség és a megtett távolság jelzése. A projekt teljes költsége kb
GPS sebességmérő: 4 lépés (képekkel)
GPS sebességmérő: Általában vezetett cégautómban általában " kicsi " időről időre a sebességmérő 0 km/h sebességre csökken vezetés közben (egy idő után újra folytatódik). Általában ez nem jelent nagy problémát, mivel ha tud autót vezetni
DIY ciklus sebességmérő: 6 lépés (képekkel)
DIY Ciklus Sebességmérő: Ez a projekt akkor jutott eszembe, amikor a MEM (Gépészmérnöki Mérés) projektemet végeztem, ami a B.tech témája. Az ötlet az, hogy megmérjem a kerékpárom szögsebességét. Így ismerve az átmérőt és a mindenkori matematikai legendát