電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>如何使用SNMP從我的WiFi路由器中獲取數(shù)據(jù)

如何使用SNMP從我的WiFi路由器中獲取數(shù)據(jù)

2022-12-16 | zip | 0.10 MB | 次下載 | 免費

資料介紹

描述

隨著印度的全面封鎖,包括郵件服務在內的一切都已關閉。沒有新的 PCB 項目,沒有新的組件,什么都沒有!因此,為了克服無聊并讓自己忙碌起來,我決定用家里已有的零件制作一些東西。我開始從一堆電子垃圾中搜索,發(fā)現(xiàn)一個破舊的模擬萬用表。我從中挽救了“儀表運動”,并決定顯示某種信息,但不知道具體是什么。首先,我想展示 COVID-19 統(tǒng)計數(shù)據(jù),但互聯(lián)網(wǎng)上已經有很多更好的項目。此外,數(shù)據(jù)會在幾個小時后更新,儀表的靜止指針會很無聊。我想要快速變化的數(shù)據(jù),每秒都在變化。我在 Instagram 上征求建議,我的一位追隨者回復了 Internet Speedometer。

在本教程中,我將向您展示如何使用 SNMP 從我的 WiFi 路由器中獲取數(shù)據(jù),并在儀表上顯示上傳和下載速度。

讓我們開始吧!

第 1 步:計劃

?
poYBAGOYqUmAMPIaAAgsX93pl7w879.jpg
?

和往常一樣,在開始這個項目之前,我在互聯(lián)網(wǎng)上做了一些研究。我發(fā)現(xiàn)了一些與這個主題相關的項目。它們有兩種。一種通過測量 WiFi 信號的“強度”來顯示互聯(lián)網(wǎng)速度的方法。我不是網(wǎng)絡專家,但這聽起來不對。其他人測量延遲并將速度分類為慢、中或快。延遲是發(fā)送請求和獲得響應之間的時間延遲,因此它不能代表互聯(lián)網(wǎng)速度的實際表現(xiàn)。我們可以稱之為網(wǎng)絡響應速度!然后是一些合法的項目,它們測量下載一些數(shù)據(jù)所需的時間,并據(jù)此計算互聯(lián)網(wǎng)速度。

但正是在這個項目(由Alistair 編寫)中,我了解了簡單網(wǎng)絡管理協(xié)議或 SNMP。使用 SNMP,我們可以與 WiFi 路由器通信并直接從中獲取所需的數(shù)據(jù)。容易,對吧?其實,不!因為不同型號的 WiFi 路由器使用有不同的設置,需要大量的反復試驗才能最終得到輸出。不要害怕。我將簡要解釋我對 SNMP 的了解以及在接下來的步驟中遇到的困難。

所以計劃是使用NodeMCU連接WiFi路由器。這些是獲得最終輸出的步驟:

  • 向“請求”所需數(shù)據(jù)的路由器發(fā)送請求
  • 獲取路由器的響應
  • 分析響應并從中解析所需的數(shù)據(jù)
  • 將“原始”數(shù)據(jù)轉換為可理解的信息
  • 為儀表生成與互聯(lián)網(wǎng)速度成比例的電壓
  • 重復

我將使用 DAC數(shù)模轉換器來控制儀表。

第 2 步:你需要的東西

?
?
?
?
pYYBAGOYqU6AIbosAAJw-_AdDpE174.jpg
?
1 / 3
?

1x NodeMCU

1x 模擬儀表運動

1x MPU4725 DAC

1x 單刀雙擲開關

1x 10k 電位器

1x 電阻

第 3 步:計算滿量程偏轉電流

?
?
?
?
pYYBAGOYqVCAGch4AAATL0g0CJU311.jpg
?
1 / 2
?

注意:跳轉到第 7 步進行實際構建!

如果您已經知道儀表的滿量程偏轉電流,請?zhí)^此步驟。我的儀表沒有提到它,所以我不得不計算。但首先,讓我們快速了解一下這種運動是如何運作的。它由一個懸掛在磁場中的線圈組成。當電流流過線圈時,根據(jù)法拉第定律,它會受到力。允許線圈在磁場中自由旋轉,附在線圈上的指針也是如此。使指針在“刻度末端”移動的電流大小稱為滿刻度偏轉電流。這也是必須允許流過線圈的最大電流。

還有很多事情要做,但這對于我們正在做的事情來說已經足夠了。我們現(xiàn)在有了運動。它可以通過串聯(lián)一個高電阻用作電壓表,也可以通過并聯(lián)一個小電阻用作電流表。我們將使用它作為電壓表來顯示與互聯(lián)網(wǎng)速度成正比的電壓。因此,我們需要計算要串聯(lián)添加的電阻。為此,我們首先需要計算滿量程偏轉電流。

  • 選擇高電阻值(如 >100k)
  • 將其與機芯串聯(lián),并使用電位器在其上施加可變電壓。
  • 繼續(xù)緩慢增加電壓,直到指針到達刻度的末端。
  • 使用萬用表測量流過的電流。這是滿量程偏轉電流。(在我的情況下,I = 150uA)

我們使用的 DAC 的輸出電壓范圍為 0 到 VCC(由于 NodeMCU 為 3.3V)。這意味著當向儀表施加 3.3V 時,它應該指向刻度的末端。當施加 3.3V 電壓時滿量程偏轉電流流過電路時,就會發(fā)生這種情況。使用歐姆定律,3.3/(滿量程偏轉電流)給出了串聯(lián)插入的電阻值。

第 4 步:創(chuàng)建 SNMP GET 請求

?
?
?
?
poYBAGOYqWOAIm6VAAbhXh1CGb8573.jpg
?
1 / 3
?

簡單網(wǎng)絡管理協(xié)議 (SNMP)是一種 Internet 標準協(xié)議,用于收集和組織有關 IP 網(wǎng)絡上受管設備的信息,并用于修改該信息以更改設備行為。通常支持 SNMP 的設備包括電纜調制解調器、路由器、交換機、服務器、工作站、打印機等。對于這個構建,我們將使用 SNMP 與我們的 WiFi 路由器通信并獲取所需的數(shù)據(jù)。

但首先,我們需要向路由器發(fā)送一個稱為“GET 請求”的請求,其中提及我們想要的數(shù)據(jù)的詳細信息。GET 請求格式如圖所示。該請求由多個部分組成。我已經突出顯示了您可能想要更改的字節(jié)。

請注意,一切都是十六進制的。

SNMP 消息- 就我而言,整個消息的長度為 40(灰色),轉換為十六進制時為 0x28。

SNMP 社區(qū)字符串- 值“PUBLIC”以十六進制寫為“70 75 62 6C 69 63”,長度為 6(黃色)。

SNMP PDU 類型- 在我的例子中,消息的長度是 27(藍色),即 0x1B。

Varbind 列表類型- 在我的例子中,消息的長度是 16(綠色),即 0x10。

Varbind 類型- 在我的例子中,消息的長度是 14(粉紅色),即 0x0E。

對象標識符-

如前所述,支持 SNMP 的網(wǎng)絡設備(例如路由器、交換機等)將系統(tǒng)狀態(tài)、可用性和性能信息作為對象維護一個數(shù)據(jù)庫,由 OID 標識。您需要為上傳和下載數(shù)據(jù)包識別路由器的 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) 選擇獲取操作并單擊執(zhí)行。您應該會看到 OID 及其值和類型。

就我而言,消息的長度是 10(紅色),即 0x0A。將值替換為 OID。在這種情況下,'2B 06 01 02 01 02 02 01 10 10'

而已!您的請求消息已準備就緒。保持其余字節(jié)不變。

在路由器上打開 SNMP:

  • 通過默認網(wǎng)關登錄到您的 WiFi 路由器頁面。在瀏覽器中輸入 192.168.1.1,然后按 Enter。默認情況下,用戶名和密碼應為“admin”。
  • 我正在使用 TP-LINK (TD-W8961N) 路由器。對于此路由器,您必須進入訪問管理 > SNMP 并選擇“已激活”。
  • GET 社區(qū):公共
  • 陷阱宿主:0.0.0.0

第 5 步:了解 GET 響應

?
pYYBAGOYqXuAS4ZHAALbLFPoYh0578.jpg
?

您可以跳過此步驟,但最好知道您是否需要進行一些故障排除。

上傳代碼并運行后,您可以通過串行監(jiān)視器查看響應。它應該如圖所示。您需要查找一些我已突出顯示的字節(jié)。

從0開始,

第 15 個字節(jié)告訴 PDU 類型 - 0xA2 表示它是一個 GetResponse。

第 48 個字節(jié)告訴數(shù)據(jù)類型 - 0x41 表示數(shù)據(jù)類型是 Counter

第 49 個字節(jié)表示數(shù)據(jù)的長度 - 0x04 表示數(shù)據(jù)長度為 4 個字節(jié)。

字節(jié) 50、51、52、53 包含數(shù)據(jù)。

第 6 步:數(shù)模轉換器 (DAC)

?
pYYBAGOYqYCAcyi-AAEfaa3PPUw596.jpg
?

微控制器是不直接了解模擬電壓的數(shù)字設備。我正在使用一個需要可變電壓作為輸入的模擬儀表。但微控制器只能輸出高電平(NodeMCU 為 3.3V)和低電平(0V)。現(xiàn)在你可能會說為什么不只使用 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。

互聯(lián)網(wǎng)速度將從“0 到 7 mbps”“映射”到“0 到 4095”,然后將該值提供給 DAC 以輸出與互聯(lián)網(wǎng)速度成正比的電壓。

第 7 步:大會

?
?
?
?
poYBAGOYqY6ADlzcAAYX_Td7s9o818.jpg
?
1 / 10
?

連接非常簡單。示意圖已附在此處。

我設計并打印了秤。上一個是下載速度,下一個是上傳速度。我把新秤粘在舊秤上。

我從萬用表中刪除了所有舊的東西,我把所有東西都塞進了里面。這是一個緊身。我不得不在前面鉆一個孔來連接用于在上傳和下載速度之間進行選擇的撥動開關。

?

第 8 步:編碼時間

?
?
?
?
poYBAGOYqZCACHo_AABRew95B_U228.jpg
?
1 / 3
?

代碼已附在此處。下載并在 Arduino IDE 中打開它。從 Adafruit安裝MCP4725 庫。

上傳前:

  • 輸入您的 WiFi SSID 和密碼
  • 輸入秤上提到的最大上傳和下載速度。
  • 在請求數(shù)組中對下載和上傳數(shù)據(jù)包進行必要的更改。
  • 取消注釋第 165 行以查看串行監(jiān)視器上的響應。

點擊上傳!

第9步:享受!

啟動它,享受在網(wǎng)上沖浪時觀看針頭跳舞的樂趣!

謝謝你堅持到最后。希望你們都喜歡這個項目,并在今天學到了一些新東西。如果你為自己做一個,請告訴我。訂閱我的YouTube 頻道了解更多此類項目。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1美的電磁爐維修手冊大全
  2. 1.56 MB   |  5次下載  |  5 積分
  3. 2SMD LED選型手冊 貼片燈珠
  4. 5.47 MB   |  3次下載  |  免費
  5. 3基于PLC的拉絲機張力控制系統(tǒng)研究
  6. 0.14 MB   |  2次下載  |  5 積分
  7. 4加密芯片的一種破解方法和對應加密方案改進設計
  8. 0.29 MB   |  1次下載  |  免費
  9. 5萬用表UT58A原理圖
  10. 0.09 MB   |  1次下載  |  5 積分
  11. 6多功能MPU芯片GC9005數(shù)據(jù)手冊
  12. 2.67 MB   |  1次下載  |  免費
  13. 7面向NXP i.MX8處理器的電源解決方案
  14. 47.47KB   |  次下載  |  免費
  15. 8LP8733-Q1和LP8732-Q1為DRA78x和TDA3x供電的用戶指南
  16. 61.31KB   |  次下載  |  免費

本月

  1. 1使用單片機實現(xiàn)七人表決器的程序和仿真資料免費下載
  2. 2.96 MB   |  44次下載  |  免費
  3. 2UC3842/3/4/5電源管理芯片中文手冊
  4. 1.75 MB   |  20次下載  |  免費
  5. 3華瑞昇CR216芯片數(shù)字萬用表規(guī)格書附原理圖及校正流程方法
  6. 0.74 MB   |  14次下載  |  3 積分
  7. 4DMT0660數(shù)字萬用表產品說明書
  8. 0.70 MB   |  13次下載  |  免費
  9. 53314A函數(shù)發(fā)生器維修手冊
  10. 16.30 MB   |  13次下載  |  免費
  11. 6TPS54202H降壓轉換器評估模塊用戶指南
  12. 1.02MB   |  9次下載  |  免費
  13. 7STM32F101x8/STM32F101xB手冊
  14. 1.69 MB   |  8次下載  |  1 積分
  15. 8感應筆電路圖
  16. 0.06 MB   |  7次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935119次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420062次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191367次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183335次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73807次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65987次下載  |  10 積分