構(gòu)建基于ESP32的網(wǎng)絡(luò)速度監(jiān)視器
有沒有想過你的WiFi網(wǎng)絡(luò)到底有多快?雖然互聯(lián)網(wǎng)服務(wù)提供商承諾高速,但實(shí)際性能可能會(huì)因網(wǎng)絡(luò)擁塞、信號(hào)干擾或硬件限制而波動(dòng)。
在本教程中,我們將構(gòu)建一個(gè)基于ESP32的WiFi網(wǎng)絡(luò)速度監(jiān)視器,該監(jiān)視器運(yùn)行定期測(cè)試并以每秒請(qǐng)求數(shù)(req/s)或每秒兆比特?cái)?shù)(Mbps)顯示結(jié)果。這種物聯(lián)網(wǎng)驅(qū)動(dòng)的速度測(cè)試將有助于監(jiān)控網(wǎng)絡(luò)穩(wěn)定性并檢測(cè)停機(jī)時(shí)間。
你會(huì)學(xué)到什么:
?連接ESP32到WiFi
?發(fā)送HTTP請(qǐng)求和測(cè)量響應(yīng)時(shí)間
?以Mbps計(jì)算網(wǎng)絡(luò)速度
?通過串行監(jiān)視器或OLED顯示速度指標(biāo)
?自動(dòng)執(zhí)行網(wǎng)絡(luò)健康檢查
所需的組件
在開始之前,請(qǐng)確保您具備以下內(nèi)容:
?ESP32開發(fā)板
?WiFi連接(ESP32推薦2.4GHz)
?Arduino IDE(安裝ESP32板)
?跳線(如果使用顯示器)
?OLED顯示屏(可選)
ESP32網(wǎng)絡(luò)速度測(cè)試是如何工作的
?WiFi連接:ESP32連接到您的WiFi網(wǎng)絡(luò)。
?HTTP請(qǐng)求:它向測(cè)試服務(wù)器(httpbin.org)發(fā)送多個(gè)請(qǐng)求。
?響應(yīng)時(shí)間測(cè)量:計(jì)算請(qǐng)求持續(xù)時(shí)間以估計(jì)網(wǎng)絡(luò)速度。
?數(shù)據(jù)處理:將速度轉(zhuǎn)換為每秒請(qǐng)求數(shù)或每秒兆比特(Mbps)。
?顯示結(jié)果:通過串行監(jiān)視器或OLED屏幕輸出結(jié)果。
為您的項(xiàng)目制造pcb
您必須檢查PCBWAY在線訂購pcb便宜!
你得到10個(gè)高質(zhì)量的pcb制造和運(yùn)送到你的家門口便宜。你也可以在第一次訂購時(shí)獲得折扣。將您的Gerber文件上傳到PCBWAY,以獲得高質(zhì)量和快速周轉(zhuǎn)時(shí)間的制造。PCBWay現(xiàn)在可以提供完整的產(chǎn)品解決方案,從設(shè)計(jì)到外殼生產(chǎn)??纯此麄兊脑诰€Gerber瀏覽器功能。有了獎(jiǎng)勵(lì)積分,你就可以從他們的禮品店得到免費(fèi)的東西。此外,從這里查看這個(gè)有用的博客PCBWay插件KiCad。使用此插件,您可以在KiCad中完成設(shè)計(jì)后直接訂購pcb。
設(shè)置Arduino IDE
在編寫代碼之前,請(qǐng)安裝以下庫:
?WiFi.h - ESP32 WiFi連接
?WiFiClientSecure.h -保護(hù)HTTPS請(qǐng)求
?ArduinoJson.h -(可選)用于處理API數(shù)據(jù)
如何安裝:
?打開Arduino IDE→進(jìn)入Sketch→包含庫→管理庫
?搜索WiFiClientSecure和ArduinoJson,并安裝它們。
ESP32網(wǎng)絡(luò)速度測(cè)試代碼
這里是完整的ESP32代碼,用于測(cè)量WiFi速度(每秒請(qǐng)求數(shù)和Mbps)
代碼的解釋
?ESP32連接WiFi
?向httpbin.org發(fā)送10個(gè)HTTP請(qǐng)求
?度量所有請(qǐng)求所花費(fèi)的總時(shí)間
計(jì)算速度:
?每秒請(qǐng)求數(shù)(req/s)
?下載速度(Mbps)使用DataSize * 8 / TimeTaken公式
?每60秒重復(fù)速度測(cè)試
在OLED屏幕上顯示數(shù)據(jù)(可選)
如果你想要視覺反饋,連接一個(gè)SSD1306 OLED顯示器并修改代碼:
增強(qiáng)和未來改進(jìn)
您可以擴(kuò)展這個(gè)項(xiàng)目:
?添加一個(gè)Web儀表板- ESP32主機(jī)顯示結(jié)果的網(wǎng)頁。
?存儲(chǔ)數(shù)據(jù)-使用Firebase或SD卡記錄速度趨勢(shì)。
?實(shí)時(shí)警報(bào)-觸發(fā)通知時(shí),WiFi速度下降到低于閾值。
結(jié)論
使用這款ESP32供電的網(wǎng)絡(luò)速度監(jiān)視器,您可以檢查WiFi性能,檢測(cè)波動(dòng),甚至自動(dòng)化智能家居應(yīng)用程序的連接測(cè)試。
本文編譯自hackster.io