資料介紹
描述
隨著印度的全面封鎖,包括郵件服務在內的一切都已關閉。沒有新的 PCB 項目,沒有新的組件,什么都沒有!因此,為了克服無聊并讓自己忙碌起來,我決定用家里已有的零件制作一些東西。我開始從一堆電子垃圾中搜索,發現一個破舊的模擬萬用表。我從中挽救了“儀表運動”,并決定顯示某種信息,但不知道具體是什么。首先,我想展示 COVID-19 統計數據,但互聯網上已經有很多更好的項目。此外,數據會在幾個小時后更新,儀表的靜止指針會很無聊。我想要快速變化的數據,每秒都在變化。我在 Instagram 上征求建議,我的一位追隨者回復了 Internet Speedometer。
在本教程中,我將向您展示如何使用 SNMP 從我的 WiFi 路由器中獲取數據,并在儀表上顯示上傳和下載速度。
讓我們開始吧!
第 1 步:計劃
和往常一樣,在開始這個項目之前,我在互聯網上做了一些研究。我發現了一些與這個主題相關的項目。它們有兩種。一種通過測量 WiFi 信號的“強度”來顯示互聯網速度的方法。我不是網絡專家,但這聽起來不對。其他人測量延遲并將速度分類為慢、中或快。延遲是發送請求和獲得響應之間的時間延遲,因此它不能代表互聯網速度的實際表現。我們可以稱之為網絡響應速度!然后是一些合法的項目,它們測量下載一些數據所需的時間,并據此計算互聯網速度。
但正是在這個項目(由Alistair 編寫)中,我了解了簡單網絡管理協議或 SNMP。使用 SNMP,我們可以與 WiFi 路由器通信并直接從中獲取所需的數據。容易,對吧?其實,不!因為不同型號的 WiFi 路由器使用有不同的設置,需要大量的反復試驗才能最終得到輸出。不要害怕。我將簡要解釋我對 SNMP 的了解以及在接下來的步驟中遇到的困難。
所以計劃是使用NodeMCU連接WiFi路由器。這些是獲得最終輸出的步驟:
- 向“請求”所需數據的路由器發送請求
- 獲取路由器的響應
- 分析響應并從中解析所需的數據
- 將“原始”數據轉換為可理解的信息
- 為儀表生成與互聯網速度成比例的電壓
- 重復
第 2 步:你需要的東西
1x NodeMCU
1x 模擬儀表運動
1x MPU4725 DAC
1x 單刀雙擲開關
1x 10k 電位器
1x 電阻
第 3 步:計算滿量程偏轉電流
注意:跳轉到第 7 步進行實際構建!
如果您已經知道儀表的滿量程偏轉電流,請跳過此步驟。我的儀表沒有提到它,所以我不得不計算。但首先,讓我們快速了解一下這種運動是如何運作的。它由一個懸掛在磁場中的線圈組成。當電流流過線圈時,根據法拉第定律,它會受到力。允許線圈在磁場中自由旋轉,附在線圈上的指針也是如此。使指針在“刻度末端”移動的電流大小稱為滿刻度偏轉電流。這也是必須允許流過線圈的最大電流。
還有很多事情要做,但這對于我們正在做的事情來說已經足夠了。我們現在有了運動。它可以通過串聯一個高電阻用作電壓表,也可以通過并聯一個小電阻用作電流表。我們將使用它作為電壓表來顯示與互聯網速度成正比的電壓。因此,我們需要計算要串聯添加的電阻。為此,我們首先需要計算滿量程偏轉電流。
- 選擇高電阻值(如 >100k)
- 將其與機芯串聯,并使用電位器在其上施加可變電壓。
- 繼續緩慢增加電壓,直到指針到達刻度的末端。
- 使用萬用表測量流過的電流。這是滿量程偏轉電流。(在我的情況下,I = 150uA)
我們使用的 DAC 的輸出電壓范圍為 0 到 VCC(由于 NodeMCU 為 3.3V)。這意味著當向儀表施加 3.3V 時,它應該指向刻度的末端。當施加 3.3V 電壓時滿量程偏轉電流流過電路時,就會發生這種情況。使用歐姆定律,3.3/(滿量程偏轉電流)給出了串聯插入的電阻值。
第 4 步:創建 SNMP GET 請求
簡單網絡管理協議 (SNMP)是一種 Internet 標準協議,用于收集和組織有關 IP 網絡上受管設備的信息,并用于修改該信息以更改設備行為。通常支持 SNMP 的設備包括電纜調制解調器、路由器、交換機、服務器、工作站、打印機等。對于這個構建,我們將使用 SNMP 與我們的 WiFi 路由器通信并獲取所需的數據。
但首先,我們需要向路由器發送一個稱為“GET 請求”的請求,其中提及我們想要的數據的詳細信息。GET 請求格式如圖所示。該請求由多個部分組成。我已經突出顯示了您可能想要更改的字節。
請注意,一切都是十六進制的。
SNMP 消息- 就我而言,整個消息的長度為 40(灰色),轉換為十六進制時為 0x28。
SNMP 社區字符串- 值“PUBLIC”以十六進制寫為“70 75 62 6C 69 63”,長度為 6(黃色)。
SNMP PDU 類型- 在我的例子中,消息的長度是 27(藍色),即 0x1B。
Varbind 列表類型- 在我的例子中,消息的長度是 16(綠色),即 0x10。
Varbind 類型- 在我的例子中,消息的長度是 14(粉紅色),即 0x0E。
對象標識符-
如前所述,支持 SNMP 的網絡設備(例如路由器、交換機等)將系統狀態、可用性和性能信息作為對象維護一個數據庫,由 OID 標識。您需要為上傳和下載數據包識別路由器的 OID。可以使用像這樣的免費MIB 瀏覽器來完成。
輸入地址為192.168.1.1 ,OID 為.1.3.6.1.2.1.2.2.1.10.x (ifInOctets) 或.1.3.6.1.2.1.2.2.1.16.x。(ifOutOctets) 。選擇獲取操作并單擊執行。您應該會看到 OID 及其值和類型。
就我而言,消息的長度是 10(紅色),即 0x0A。將值替換為 OID。在這種情況下,'2B 06 01 02 01 02 02 01 10 10'
而已!您的請求消息已準備就緒。保持其余字節不變。
在路由器上打開 SNMP:
- 通過默認網關登錄到您的 WiFi 路由器頁面。在瀏覽器中輸入 192.168.1.1,然后按 Enter。默認情況下,用戶名和密碼應為“admin”。
- 我正在使用 TP-LINK (TD-W8961N) 路由器。對于此路由器,您必須進入訪問管理 > SNMP 并選擇“已激活”。
- GET 社區:公共
- 陷阱宿主:0.0.0.0
第 5 步:了解 GET 響應
您可以跳過此步驟,但最好知道您是否需要進行一些故障排除。
上傳代碼并運行后,您可以通過串行監視器查看響應。它應該如圖所示。您需要查找一些我已突出顯示的字節。
從0開始,
第 15 個字節告訴 PDU 類型 - 0xA2 表示它是一個 GetResponse。
第 48 個字節告訴數據類型 - 0x41 表示數據類型是 Counter 。
第 49 個字節表示數據的長度 - 0x04 表示數據長度為 4 個字節。
字節 50、51、52、53 包含數據。
第 6 步:數模轉換器 (DAC)
微控制器是不直接了解模擬電壓的數字設備。我正在使用一個需要可變電壓作為輸入的模擬儀表。但微控制器只能輸出高電平(NodeMCU 為 3.3V)和低電平(0V)。現在你可能會說為什么不只使用 PWM。它不起作用,因為儀表只會顯示平均值。
我正在使用 MCP4725 DAC 來獲得可變電壓。它是一個 12 位 DAC,簡單來說,它將 0 到 3.3V 分成 4096 (= 2^12) 個部分。分辨率為 3.3/4096 = 0.8056mV。也就是說0對應0V,1對應0.8056mV,2對應1.6112mV,......,4095對應3.3V。
互聯網速度將從“0 到 7 mbps”“映射”到“0 到 4095”,然后將該值提供給 DAC 以輸出與互聯網速度成正比的電壓。
第 7 步:大會
連接非常簡單。示意圖已附在此處。
我設計并打印了秤。上一個是下載速度,下一個是上傳速度。我把新秤粘在舊秤上。
我從萬用表中刪除了所有舊的東西,我把所有東西都塞進了里面。這是一個緊身。我不得不在前面鉆一個孔來連接用于在上傳和下載速度之間進行選擇的撥動開關。
第 8 步:編碼時間
代碼已附在此處。下載并在 Arduino IDE 中打開它。從 Adafruit安裝MCP4725 庫。
上傳前:
- 輸入您的 WiFi SSID 和密碼
- 輸入秤上提到的最大上傳和下載速度。
- 在請求數組中對下載和上傳數據包進行必要的更改。
- 取消注釋第 165 行以查看串行監視器上的響應。
點擊上傳!
第9步:享受!
啟動它,享受在網上沖浪時觀看針頭跳舞的樂趣!
謝謝你堅持到最后。希望你們都喜歡這個項目,并在今天學到了一些新東西。如果你為自己做一個,請告訴我。訂閱我的YouTube 頻道了解更多此類項目。
- TG-5006CG溫補晶振在WiFi6無線路由器模塊的應用
- WiFi路由器的DIY UPS系統
- totolink路由器WiFi的設置教程 0次下載
- 工業4G無線路由器網速的影響因素 2次下載
- WiFi信號滿格網速卻很卡?路由器放錯地方了...資料下載
- 如何使用OpenWRT路由器實現網絡存儲系統的設計 29次下載
- MT7622B SoC WIFI路由器系統的電路原理圖免費下載 136次下載
- RTL8188ER-WIFI RealTek 802.11n 10/100m無線路由器電路圖下載.pdf 64次下載
- F5934 WIFI ROUTER 路由器規格 6次下載
- 讓筆記本變身路由器釋放wifi的步驟圖解 7次下載
- wifi小知識:如何選購無線路由器 0次下載
- 路由器的WIFI接入設置 577次下載
- 路由器基本配置及路由器安全管理配置 71次下載
- 路由器的概念、網絡地位、應用
- 路由器總體介紹
- 怎么配置linux路由器 249次閱讀
- 路由器和交換機的區別 路由器的作用與功能 1691次閱讀
- 千兆路由器和百兆路由器的區別 萬兆路由器有什么好處? 2283次閱讀
- 路由器當交換機使用后可以用wifi嗎 9674次閱讀
- Wifi路由器如何變得更安全 1181次閱讀
- 帶有中繼功能的無線路由器轉化方案 6889次閱讀
- 細說WiFi信號與路由器和WiFi模塊的關系 1.3w次閱讀
- 思科路由器多少錢_思科路由器優勢有哪些_如何選擇選擇思科路由器 3209次閱讀
- wifi功率和發射功率的區別_怎么將路由器wifi加到最大功率 8.2w次閱讀
- fast無線路由器設置_fast路由器設置網址 5519次閱讀
- 無線路由器中ap隔離是什么意思 6.4w次閱讀
- 網關和路由器的區別 3.7w次閱讀
- 智能路由器和普通路由器的區別 1658次閱讀
- 路由器怎么設置信道wifi信號最好 9.6w次閱讀
- wifi小知識:如何選購無線路由器 1w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多