張曉光
(福建水利電力職業(yè)技術(shù)學(xué)院,福建 永安 366000)
基于WiFi的無線數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
張曉光
(福建水利電力職業(yè)技術(shù)學(xué)院,福建 永安 366000)
本設(shè)計(jì)采用WiFi技術(shù)進(jìn)行數(shù)據(jù)和命令的雙向傳輸。其主要包括數(shù)據(jù)采集控制器、路由器和上位機(jī)??刂破鬟x用51系列單片機(jī),通過各種接口與傳感器和執(zhí)行機(jī)構(gòu)相連,完成多種環(huán)境參數(shù)采集與顯示,同時(shí)可以通過鍵盤設(shè)定和查詢參數(shù)。多個(gè)數(shù)據(jù)采集控制器與路由器相連,作為上位機(jī)的電腦或手機(jī)也與之相連。這樣構(gòu)成了一個(gè)多點(diǎn)無線數(shù)據(jù)采集及傳輸系統(tǒng),可用于智能溫室、醫(yī)院病房等場所,無須布線、施工成本低、終端可以移動(dòng)。
WiFi;單片機(jī);數(shù)據(jù)采集控制器;無線數(shù)據(jù)采集
數(shù)據(jù)采集系統(tǒng)應(yīng)用范圍越來越廣,功能越來越全,更需要一種高效、簡潔、高性價(jià)比的無線傳輸方式。本文設(shè)計(jì)了一套由單片機(jī)與WiFi模塊構(gòu)成的無線數(shù)據(jù)采集傳輸系統(tǒng),可以滿足多數(shù)環(huán)境的需要。
本方案采用價(jià)格低廉的51單片機(jī)作為主控芯片,其與WiFi模塊和各種傳感器及IO設(shè)備構(gòu)成數(shù)據(jù)采集控制器。這些控制器通過預(yù)設(shè)的通信協(xié)議與路由器連接并通信。上位機(jī)可以由電腦、平板甚至手機(jī)構(gòu)成,同樣以WiFi技術(shù)接入路由器。通過編制相應(yīng)的上位機(jī)軟件,上位機(jī)可實(shí)現(xiàn)對各個(gè)數(shù)據(jù)采集控制器的參數(shù)查詢和控制。
數(shù)據(jù)采集控制器是本設(shè)計(jì)的主要設(shè)備。由單片機(jī)、顯示模塊、按鍵模塊、撥碼開關(guān)、傳感器信號輸入接口、執(zhí)行器控制信號輸出接口,串行接口等部分構(gòu)成,其結(jié)構(gòu)及原理如圖1所示。
圖1 數(shù)據(jù)采集控制器模塊
根據(jù)設(shè)計(jì)要求,數(shù)據(jù)采集控制器需具備以下功能:
(1)信號輸入與處理:各種傳感器對現(xiàn)場環(huán)境參數(shù)進(jìn)行采集,然后通過AD轉(zhuǎn)換電路,將所得信號轉(zhuǎn)換為數(shù)字信號,通過傳感器數(shù)據(jù)輸入接口送到單片機(jī)處理。
(2)設(shè)備地址設(shè)置:設(shè)備地址設(shè)置包括兩個(gè)方面,第一,對WiFi模塊的IP地址配置,可由專用軟件配置工具完成。第二,對數(shù)據(jù)采集控制器的地址設(shè)置,即控制器的編號,用以區(qū)別多個(gè)數(shù)據(jù)采集控制器,可由撥碼開關(guān)設(shè)置。
(3)液晶顯示:控制器對采集的數(shù)據(jù)進(jìn)行實(shí)時(shí)記錄并顯示。
(4)按鍵設(shè)置:通過按鍵可以對各參數(shù)閾值進(jìn)行設(shè)定,并可查詢各種數(shù)據(jù)。
(5)串行通信:WiFi模塊與單片機(jī)通過串行口進(jìn)行通信,硬件上通過RS-232標(biāo)準(zhǔn),軟件需要設(shè)計(jì)相應(yīng)的通信協(xié)議。
(6)執(zhí)行控制信號輸出:采集的各種數(shù)據(jù)如果超出閾值范圍,則需要控制相應(yīng)的執(zhí)行機(jī)構(gòu)進(jìn)行調(diào)整。
2.1 數(shù)據(jù)采集控制器主要電路
控制器的主要電路部分是單片機(jī)的最小系統(tǒng),其他功能設(shè)計(jì)為插座接口,使擴(kuò)展和更改更加靈活。其中J7對應(yīng)顯示接口,J9對應(yīng)傳感器信號輸入接口,J10對應(yīng)鍵盤及執(zhí)行控制信號輸出接口。
S2為撥碼開關(guān),用來設(shè)置本控制器編號或地址。方便系統(tǒng)隨時(shí)加入新的控制器。通過對S2狀態(tài)的讀取,單片機(jī)可獲取該控制器的編號或地址。
2.2 按鍵與液晶顯示
按鍵電路設(shè)計(jì)采用4個(gè)獨(dú)立按鍵,基本可以滿足本系統(tǒng)的各種功能設(shè)置。如:菜單/功能鍵、上翻/+鍵、下翻/-鍵、確認(rèn)鍵。
顯示部分采用12232液晶顯示器,其是一種自帶字庫及ASCII字符集的顯示器件,比起1602來說,它可以顯示漢字,并且體積較小。
2.3 WiFi模塊
本系統(tǒng)采用的WiFi模塊是海凌科電子推出的全新的第三代嵌入式UART WiFi模塊產(chǎn)品,型號為HLK-WiFi-M03。UART WiFi是基于Uart接口的符合WiFi無線網(wǎng)絡(luò)標(biāo)準(zhǔn)的嵌入式模塊,內(nèi)置無線網(wǎng)絡(luò)協(xié)IEEE802.11協(xié)議棧以及TCP/IP協(xié)議棧,能夠?qū)崿F(xiàn)用戶串口數(shù)據(jù)到無線網(wǎng)絡(luò)之間的轉(zhuǎn)換。通過UART WiFi模塊,傳統(tǒng)的串口設(shè)備也能輕松接入無線網(wǎng)絡(luò)。
該模塊在使用前根據(jù)控制器地址設(shè)置好參數(shù),一般控制器地址或編號,作為IP的最后3位。
(1)IP地址的最后3位設(shè)置為241,端口為:27011。
(2)無線路由的無線網(wǎng)絡(luò)名稱設(shè)置為:ANHUI,無密碼。
(3)無線路由的IP地址為:192.168.0.1。
(4)測試用主機(jī)可以用無線或有線方式連接到無線路由器,其IP地址固定設(shè)置為:192.168.0.2。
各數(shù)據(jù)采集控制器與上位機(jī)的WiFi通信實(shí)際上是串行通信,這就需要嚴(yán)格的通信協(xié)議。本文協(xié)議以工業(yè)MODBUS協(xié)議為藍(lán)本生成。通信協(xié)議設(shè)定為:通信波特率為9 600 bps,全雙工異步,8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn)。
每幀內(nèi)容:ASCII碼傳輸,起始字節(jié)為:02H,結(jié)束字符為03H和校驗(yàn)。
(1)開始符、結(jié)束符:這里采用ASCII碼的傳輸方式,根據(jù)表1,協(xié)議里起始符采用02H,結(jié)束符采用03H。當(dāng)然這只是實(shí)驗(yàn)階段的協(xié)議,實(shí)際可以采用更復(fù)雜的開始符和結(jié)束符,比如,兩個(gè)字節(jié)的開始結(jié)束符。
表1 開始符-結(jié)束符
(2)設(shè)備地址:起始符后面緊接著用兩個(gè)字節(jié)來裝設(shè)備的地址,可以表示從01號到FF號共255個(gè)設(shè)備,即可以添加255個(gè)主控制器。注意這里的兩個(gè)字節(jié)存儲以ASCII碼形式,如設(shè)備地址是FA,則實(shí)際存在里面的兩個(gè)字節(jié)是:46H 41H。
(3)功能代碼:設(shè)備地址后面用2個(gè)字節(jié)來存儲功能代碼,當(dāng)然,如果要執(zhí)行的功能較多,也可以擴(kuò)展更多個(gè)字節(jié)。第一個(gè)字節(jié)表示功能,如查詢用31H,設(shè)置用32H 。第二個(gè)字節(jié)表示對象,如溫度用31H,溫度用32H。則查詢溫度的功能代碼即為:31H 31H。
(4)數(shù)據(jù)及校驗(yàn):功能代碼之后就是要傳輸?shù)木唧w數(shù)據(jù),數(shù)據(jù)的長短可根據(jù)具體返回的參數(shù)進(jìn)行設(shè)置。
數(shù)據(jù)之后就是校驗(yàn)碼。校驗(yàn)碼對于傳輸來說十分重要,它關(guān)系到傳輸?shù)乃俣群途_度。對于校驗(yàn)方法的設(shè)計(jì)可以多種多樣。下面舉例說明。
例1:校驗(yàn)字節(jié)需1個(gè)字節(jié),產(chǎn)生方式:將設(shè)備地址、功能代碼、數(shù)據(jù)的所有字節(jié)(不包含起始符和結(jié)束符字節(jié))求和,取和的低 8 位(最后1個(gè)字節(jié)),然后:先取反,再循環(huán)左移1位。最后,將上述計(jì)算得到的數(shù)只保留低 4 位(半字節(jié))的十六進(jìn)制的ASCII碼作為校驗(yàn)字節(jié)(例如:假設(shè)上述計(jì)算得到的數(shù)是“5AH”,只保留低 4 位的十六進(jìn)制表示為“A”,其ASCII碼為“41H”,則校驗(yàn)字節(jié)為:“41H”)。
要實(shí)現(xiàn)整個(gè)系統(tǒng)的運(yùn)行,除了對數(shù)據(jù)采集控制器進(jìn)行編程外,還需要設(shè)計(jì)配合使用的上位機(jī)軟件。如果采用PC作為上位機(jī),可以用VB或VC來編程實(shí)現(xiàn)。如果采用平板或手機(jī),則要開發(fā)相應(yīng)的App。
本設(shè)計(jì)方案簡單、組網(wǎng)方便快捷、成本低廉,并且可根據(jù)具體情況隨時(shí)增加或減少接入終端數(shù)量。可以應(yīng)用到農(nóng)業(yè)、工業(yè)、醫(yī)療等生產(chǎn)生活的各個(gè)領(lǐng)域。例如:對智能溫室各個(gè)溫室的溫度、濕度、光照度、二氧化碳濃度等參數(shù)的采集和數(shù)據(jù)傳輸。對于醫(yī)院病房中各床位病人的輸液進(jìn)度、心率、脈搏等實(shí)時(shí)數(shù)據(jù)的監(jiān)控和測量。本系統(tǒng)有較好的應(yīng)用性和可移植性,有一定的理論和應(yīng)用價(jià)值。
[1]馬增煒,馬錦儒,李亞敏.基于WiFi的智能溫室監(jiān)控系統(tǒng)設(shè)計(jì)[J].農(nóng)機(jī)化研究,2011(2):154-157.
[2]李山,楊波.基于WiFi的環(huán)境監(jiān)測系統(tǒng)設(shè)計(jì)[J].軟件,2011(1):42-45.
Design of wireless data acquisition system based on WiFi
Zhang Xiaoguang
(Fujian College of Water Conservancy and Electric Power, Yongan 366000, China)
This design uses the WiFi technology to carry on bidirectional transmission of data and commands. It mainly includes data acquisition controller, router, and the host computer. The controller uses 51 Series MCU, connected through a variety of interfaces and the sensor and actuator, to complete the acquisition and display of various environmental parameters, at the same time it can query the parameters set by keyboard. And a plurality of data acquisition controller connected to a router, as PC computer or mobile phone connected. This constitutes a multi point wireless data acquisition and transmission system, which can be used for intelligent greenhouse, medicine hospital ward and other places, with no wiring, low construction costs, the terminal can be mobile and so on.
WiFi; single chip microcomputer; data acquisition controller; wireless data acquisition
張曉光(1980— ),男,吉林梅河口,講師;研究方向:電子信息工程,自動(dòng)化,單片機(jī)與嵌入式系統(tǒng)。