基于單片機和WiFi的無(wú)線(xiàn)溫濕度檢測節點(diǎn)設計
本文引用地址:http://dyxdggzs.com/article/249571.htm

1.2.2 WiFi透明傳輸模式
USR-WiFi232-G支持串口透明傳輸模式,可以實(shí)現串口即插即用,從而最大程度降低用戶(hù)使用的復雜度。首次使用時(shí)需要對模塊進(jìn)行配置,作為無(wú)線(xiàn)傳感器網(wǎng)絡(luò )節點(diǎn)使用時(shí),需要通過(guò)PC的無(wú)線(xiàn)網(wǎng)卡連接USR-WiFi232-G,默認網(wǎng)絡(luò )名稱(chēng)(SSID)為HF-A11X_AP。加入網(wǎng)絡(luò )后,在IE瀏覽器地址欄輸入http://10.10.100.254,在無(wú)線(xiàn)終端設置選項中,鍵入模塊要連接的無(wú)線(xiàn)接入點(diǎn)的SSID和密碼,并選擇自動(dòng)獲取IP地址。
然后在模式選擇選項中設置USR-WiFi232-G模塊工作模式為AP+STA模式,保存后重新啟動(dòng)模塊。打開(kāi)智能手機或者PC的上位機終端,選擇客戶(hù)機(TCP client)模式,服務(wù)器IP地址輸入自動(dòng)分配給USR-WiFi232-G的地址,服務(wù)器端口號為8899,此為模塊默認監聽(tīng)的TCP端口號,點(diǎn)擊連接建立TCP連接,即可進(jìn)行遠程數據收發(fā)。
1.3 STC15F104W單片機
本設計采用宏晶科技有限公司生產(chǎn)的STC15F104W單片機。該單片機工作電壓為3.8~5.5 V,采用增強型8051CPU內核,指令代碼完全兼容傳統51單片機,速度更快。片內128字節RAM,1K EEPROM,4 KB Flash程序存儲器;內部高可靠復位,可徹底省掉外部復位電路;具有高精度R/C時(shí)鐘,內部時(shí)鐘為5~35 MHz可選。采用8引腳封裝,有2個(gè)普通16位重裝載定時(shí)器/計數器,共有6個(gè)通用I/O端口,可利用I/O口結合定時(shí)器實(shí)現串口功能(通常使用P3.0和P3.1端口)。該單片機價(jià)格便宜,單個(gè)售價(jià)少于2.0元,設計采用該系列單片機,完全可以滿(mǎn)足進(jìn)行溫濕度檢測的要求。
2 節點(diǎn)軟件設計
2.1 讀取1位數據
單片機讀取一位數據流程如圖5所示。由于每位數據都有約50μs的低電平時(shí)隙和其后的高電平時(shí)隙兩部分,單片機將根據高電平時(shí)隙的長(cháng)度確定當前位數據的取值。讀取數據時(shí),單片機持續檢測數據線(xiàn)SDA狀態(tài),當SDA變力高電平時(shí),利用軟件延時(shí)約30 μs,然后再次檢測SDA電平狀態(tài)。若此耐SDA處于高電平狀態(tài),則表示當前位數據為“1”,存儲當前位數據,等待SDA重新變?yōu)榈碗娮訝顟B(tài)時(shí),開(kāi)始讀取下一位數據;若SDA處于低電子狀態(tài),則表示當前位數據為“0”,存儲數據后開(kāi)始讀取下一位數據。

2.2 讀取AM2303數據
單片機讀取AM2303數據采用KEIL C51實(shí)現,流程如圖6所示。AM2303上電后需等待2 s以越過(guò)不穩定狀態(tài),期間單片機不能向其發(fā)送指令。讀取AM2303數據時(shí),單片機通過(guò)I/O口向AM2303數據線(xiàn)SDA發(fā)送起始信號,待接收到響應信號后,依次從數據線(xiàn)SDA串行讀取濕度高8位、濕度低8位、溫度高8位、溫度低8位以及8位校驗位。

單片機通過(guò)判斷濕度高、低8位與溫度高、低8位之和是否等于校驗位,來(lái)確定所接收的溫濕度數據是否準確,校驗正確則將溫濕度數據通過(guò)串口送至WiFi模塊;否則重新獲取溫濕度數據。由于A(yíng)M2303硬件原因,讀取間隔小于2 s可能導致讀取溫濕度數據不準確或通信不成功等情況,所以單片機連續兩次讀取溫濕度數據時(shí)間至少間隔2 s。
結語(yǔ)
本文介紹的溫濕度檢測節點(diǎn)作為無(wú)線(xiàn)溫濕度傳感器網(wǎng)絡(luò )節點(diǎn)可以實(shí)現靈活組網(wǎng),并可針對現場(chǎng)溫濕度信息進(jìn)行實(shí)吋監測。通過(guò)打開(kāi)路由器網(wǎng)絡(luò )設置中的動(dòng)態(tài)DHCP客戶(hù)端列表,獲取路由器分配給節點(diǎn)的IP地址。使用智能手機客戶(hù)端連接節點(diǎn)IP,選擇TCP Client模式,默認端口號8899,連接后即可接收節點(diǎn)數據。經(jīng)測試,在無(wú)障礙物的室外環(huán)境,節點(diǎn)可接入約300m范圍內的路由器,并可穩定地通過(guò)路由器上傳溫濕度數據,數據傳輸錯誤出錯率很低。測試效果如圖7所示。

測試表明節點(diǎn)用于采集環(huán)境溫濕度數據,檢測距離遠并且運行穩定。該設計節點(diǎn)的通用性良好,組網(wǎng)方便,具有擴充能力與發(fā)展余地,并可接入互聯(lián)網(wǎng)方便遠程測控與資源共享,具有較強的實(shí)用性。
單片機相關(guān)文章:單片機教程
單片機相關(guān)文章:單片機視頻教程
單片機相關(guān)文章:單片機工作原理
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
斷路器相關(guān)文章:斷路器原理
高壓真空斷路器相關(guān)文章:高壓真空斷路器原理 上拉電阻相關(guān)文章:上拉電阻原理 土壤濕度傳感器相關(guān)文章:土壤濕度傳感器原理 溫濕度控制器相關(guān)文章:溫濕度控制器原理 漏電斷路器相關(guān)文章:漏電斷路器原理
評論