基于單片機(jī)和WiFi的無線溫濕度檢測節(jié)點(diǎn)設(shè)計(jì)
本文引用地址:http://butianyuan.cn/article/249571.htm
1.2.2 WiFi透明傳輸模式
USR-WiFi232-G支持串口透明傳輸模式,可以實(shí)現(xiàn)串口即插即用,從而最大程度降低用戶使用的復(fù)雜度。首次使用時(shí)需要對(duì)模塊進(jìn)行配置,作為無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)使用時(shí),需要通過PC的無線網(wǎng)卡連接USR-WiFi232-G,默認(rèn)網(wǎng)絡(luò)名稱(SSID)為HF-A11X_AP。加入網(wǎng)絡(luò)后,在IE瀏覽器地址欄輸入http://10.10.100.254,在無線終端設(shè)置選項(xiàng)中,鍵入模塊要連接的無線接入點(diǎn)的SSID和密碼,并選擇自動(dòng)獲取IP地址。
然后在模式選擇選項(xiàng)中設(shè)置USR-WiFi232-G模塊工作模式為AP+STA模式,保存后重新啟動(dòng)模塊。打開智能手機(jī)或者PC的上位機(jī)終端,選擇客戶機(jī)(TCP client)模式,服務(wù)器IP地址輸入自動(dòng)分配給USR-WiFi232-G的地址,服務(wù)器端口號(hào)為8899,此為模塊默認(rèn)監(jiān)聽的TCP端口號(hào),點(diǎn)擊連接建立TCP連接,即可進(jìn)行遠(yuǎn)程數(shù)據(jù)收發(fā)。
1.3 STC15F104W單片機(jī)
本設(shè)計(jì)采用宏晶科技有限公司生產(chǎn)的STC15F104W單片機(jī)。該單片機(jī)工作電壓為3.8~5.5 V,采用增強(qiáng)型8051CPU內(nèi)核,指令代碼完全兼容傳統(tǒng)51單片機(jī),速度更快。片內(nèi)128字節(jié)RAM,1K EEPROM,4 KB Flash程序存儲(chǔ)器;內(nèi)部高可靠復(fù)位,可徹底省掉外部復(fù)位電路;具有高精度R/C時(shí)鐘,內(nèi)部時(shí)鐘為5~35 MHz可選。采用8引腳封裝,有2個(gè)普通16位重裝載定時(shí)器/計(jì)數(shù)器,共有6個(gè)通用I/O端口,可利用I/O口結(jié)合定時(shí)器實(shí)現(xiàn)串口功能(通常使用P3.0和P3.1端口)。該單片機(jī)價(jià)格便宜,單個(gè)售價(jià)少于2.0元,設(shè)計(jì)采用該系列單片機(jī),完全可以滿足進(jìn)行溫濕度檢測的要求。
2 節(jié)點(diǎn)軟件設(shè)計(jì)
2.1 讀取1位數(shù)據(jù)
單片機(jī)讀取一位數(shù)據(jù)流程如圖5所示。由于每位數(shù)據(jù)都有約50μs的低電平時(shí)隙和其后的高電平時(shí)隙兩部分,單片機(jī)將根據(jù)高電平時(shí)隙的長度確定當(dāng)前位數(shù)據(jù)的取值。讀取數(shù)據(jù)時(shí),單片機(jī)持續(xù)檢測數(shù)據(jù)線SDA狀態(tài),當(dāng)SDA變力高電平時(shí),利用軟件延時(shí)約30 μs,然后再次檢測SDA電平狀態(tài)。若此耐SDA處于高電平狀態(tài),則表示當(dāng)前位數(shù)據(jù)為“1”,存儲(chǔ)當(dāng)前位數(shù)據(jù),等待SDA重新變?yōu)榈碗娮訝顟B(tài)時(shí),開始讀取下一位數(shù)據(jù);若SDA處于低電子狀態(tài),則表示當(dāng)前位數(shù)據(jù)為“0”,存儲(chǔ)數(shù)據(jù)后開始讀取下一位數(shù)據(jù)。
2.2 讀取AM2303數(shù)據(jù)
單片機(jī)讀取AM2303數(shù)據(jù)采用KEIL C51實(shí)現(xiàn),流程如圖6所示。AM2303上電后需等待2 s以越過不穩(wěn)定狀態(tài),期間單片機(jī)不能向其發(fā)送指令。讀取AM2303數(shù)據(jù)時(shí),單片機(jī)通過I/O口向AM2303數(shù)據(jù)線SDA發(fā)送起始信號(hào),待接收到響應(yīng)信號(hào)后,依次從數(shù)據(jù)線SDA串行讀取濕度高8位、濕度低8位、溫度高8位、溫度低8位以及8位校驗(yàn)位。
單片機(jī)通過判斷濕度高、低8位與溫度高、低8位之和是否等于校驗(yàn)位,來確定所接收的溫濕度數(shù)據(jù)是否準(zhǔn)確,校驗(yàn)正確則將溫濕度數(shù)據(jù)通過串口送至WiFi模塊;否則重新獲取溫濕度數(shù)據(jù)。由于AM2303硬件原因,讀取間隔小于2 s可能導(dǎo)致讀取溫濕度數(shù)據(jù)不準(zhǔn)確或通信不成功等情況,所以單片機(jī)連續(xù)兩次讀取溫濕度數(shù)據(jù)時(shí)間至少間隔2 s。
結(jié)語
本文介紹的溫濕度檢測節(jié)點(diǎn)作為無線溫濕度傳感器網(wǎng)絡(luò)節(jié)點(diǎn)可以實(shí)現(xiàn)靈活組網(wǎng),并可針對(duì)現(xiàn)場溫濕度信息進(jìn)行實(shí)吋監(jiān)測。通過打開路由器網(wǎng)絡(luò)設(shè)置中的動(dòng)態(tài)DHCP客戶端列表,獲取路由器分配給節(jié)點(diǎn)的IP地址。使用智能手機(jī)客戶端連接節(jié)點(diǎn)IP,選擇TCP Client模式,默認(rèn)端口號(hào)8899,連接后即可接收節(jié)點(diǎn)數(shù)據(jù)。經(jīng)測試,在無障礙物的室外環(huán)境,節(jié)點(diǎn)可接入約300m范圍內(nèi)的路由器,并可穩(wěn)定地通過路由器上傳溫濕度數(shù)據(jù),數(shù)據(jù)傳輸錯(cuò)誤出錯(cuò)率很低。測試效果如圖7所示。
測試表明節(jié)點(diǎn)用于采集環(huán)境溫濕度數(shù)據(jù),檢測距離遠(yuǎn)并且運(yùn)行穩(wěn)定。該設(shè)計(jì)節(jié)點(diǎn)的通用性良好,組網(wǎng)方便,具有擴(kuò)充能力與發(fā)展余地,并可接入互聯(lián)網(wǎng)方便遠(yuǎn)程測控與資源共享,具有較強(qiáng)的實(shí)用性。
單片機(jī)相關(guān)文章:單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)視頻教程
單片機(jī)相關(guān)文章:單片機(jī)工作原理
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
斷路器相關(guān)文章:斷路器原理
高壓真空斷路器相關(guān)文章:高壓真空斷路器原理 上拉電阻相關(guān)文章:上拉電阻原理 土壤濕度傳感器相關(guān)文章:土壤濕度傳感器原理 溫濕度控制器相關(guān)文章:溫濕度控制器原理 漏電斷路器相關(guān)文章:漏電斷路器原理
評(píng)論