張曉光
(福建水利電力職業(yè)技術(shù)學(xué)院,福建 永安 366000)
基于WiFi的無(wú)線數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
張曉光
(福建水利電力職業(yè)技術(shù)學(xué)院,福建 永安 366000)
本設(shè)計(jì)采用WiFi技術(shù)進(jìn)行數(shù)據(jù)和命令的雙向傳輸。其主要包括數(shù)據(jù)采集控制器、路由器和上位機(jī)??刂破鬟x用51系列單片機(jī),通過(guò)各種接口與傳感器和執(zhí)行機(jī)構(gòu)相連,完成多種環(huán)境參數(shù)采集與顯示,同時(shí)可以通過(guò)鍵盤設(shè)定和查詢參數(shù)。多個(gè)數(shù)據(jù)采集控制器與路由器相連,作為上位機(jī)的電腦或手機(jī)也與之相連。這樣構(gòu)成了一個(gè)多點(diǎn)無(wú)線數(shù)據(jù)采集及傳輸系統(tǒng),可用于智能溫室、醫(yī)院病房等場(chǎng)所,無(wú)須布線、施工成本低、終端可以移動(dòng)。
WiFi;單片機(jī);數(shù)據(jù)采集控制器;無(wú)線數(shù)據(jù)采集
數(shù)據(jù)采集系統(tǒng)應(yīng)用范圍越來(lái)越廣,功能越來(lái)越全,更需要一種高效、簡(jiǎn)潔、高性價(jià)比的無(wú)線傳輸方式。本文設(shè)計(jì)了一套由單片機(jī)與WiFi模塊構(gòu)成的無(wú)線數(shù)據(jù)采集傳輸系統(tǒng),可以滿足多數(shù)環(huán)境的需要。
本方案采用價(jià)格低廉的51單片機(jī)作為主控芯片,其與WiFi模塊和各種傳感器及IO設(shè)備構(gòu)成數(shù)據(jù)采集控制器。這些控制器通過(guò)預(yù)設(shè)的通信協(xié)議與路由器連接并通信。上位機(jī)可以由電腦、平板甚至手機(jī)構(gòu)成,同樣以WiFi技術(shù)接入路由器。通過(guò)編制相應(yīng)的上位機(jī)軟件,上位機(jī)可實(shí)現(xiàn)對(duì)各個(gè)數(shù)據(jù)采集控制器的參數(shù)查詢和控制。
數(shù)據(jù)采集控制器是本設(shè)計(jì)的主要設(shè)備。由單片機(jī)、顯示模塊、按鍵模塊、撥碼開(kāi)關(guān)、傳感器信號(hào)輸入接口、執(zhí)行器控制信號(hào)輸出接口,串行接口等部分構(gòu)成,其結(jié)構(gòu)及原理如圖1所示。
圖1 數(shù)據(jù)采集控制器模塊
根據(jù)設(shè)計(jì)要求,數(shù)據(jù)采集控制器需具備以下功能:
(1)信號(hào)輸入與處理:各種傳感器對(duì)現(xiàn)場(chǎng)環(huán)境參數(shù)進(jìn)行采集,然后通過(guò)AD轉(zhuǎn)換電路,將所得信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),通過(guò)傳感器數(shù)據(jù)輸入接口送到單片機(jī)處理。
(2)設(shè)備地址設(shè)置:設(shè)備地址設(shè)置包括兩個(gè)方面,第一,對(duì)WiFi模塊的IP地址配置,可由專用軟件配置工具完成。第二,對(duì)數(shù)據(jù)采集控制器的地址設(shè)置,即控制器的編號(hào),用以區(qū)別多個(gè)數(shù)據(jù)采集控制器,可由撥碼開(kāi)關(guān)設(shè)置。
(3)液晶顯示:控制器對(duì)采集的數(shù)據(jù)進(jìn)行實(shí)時(shí)記錄并顯示。
(4)按鍵設(shè)置:通過(guò)按鍵可以對(duì)各參數(shù)閾值進(jìn)行設(shè)定,并可查詢各種數(shù)據(jù)。
(5)串行通信:WiFi模塊與單片機(jī)通過(guò)串行口進(jìn)行通信,硬件上通過(guò)RS-232標(biāo)準(zhǔn),軟件需要設(shè)計(jì)相應(yīng)的通信協(xié)議。
(6)執(zhí)行控制信號(hào)輸出:采集的各種數(shù)據(jù)如果超出閾值范圍,則需要控制相應(yīng)的執(zhí)行機(jī)構(gòu)進(jìn)行調(diào)整。
2.1 數(shù)據(jù)采集控制器主要電路
控制器的主要電路部分是單片機(jī)的最小系統(tǒng),其他功能設(shè)計(jì)為插座接口,使擴(kuò)展和更改更加靈活。其中J7對(duì)應(yīng)顯示接口,J9對(duì)應(yīng)傳感器信號(hào)輸入接口,J10對(duì)應(yīng)鍵盤及執(zhí)行控制信號(hào)輸出接口。
S2為撥碼開(kāi)關(guān),用來(lái)設(shè)置本控制器編號(hào)或地址。方便系統(tǒng)隨時(shí)加入新的控制器。通過(guò)對(duì)S2狀態(tài)的讀取,單片機(jī)可獲取該控制器的編號(hào)或地址。
2.2 按鍵與液晶顯示
按鍵電路設(shè)計(jì)采用4個(gè)獨(dú)立按鍵,基本可以滿足本系統(tǒng)的各種功能設(shè)置。如:菜單/功能鍵、上翻/+鍵、下翻/-鍵、確認(rèn)鍵。
顯示部分采用12232液晶顯示器,其是一種自帶字庫(kù)及ASCII字符集的顯示器件,比起1602來(lái)說(shuō),它可以顯示漢字,并且體積較小。
2.3 WiFi模塊
本系統(tǒng)采用的WiFi模塊是海凌科電子推出的全新的第三代嵌入式UART WiFi模塊產(chǎn)品,型號(hào)為HLK-WiFi-M03。UART WiFi是基于Uart接口的符合WiFi無(wú)線網(wǎng)絡(luò)標(biāo)準(zhǔn)的嵌入式模塊,內(nèi)置無(wú)線網(wǎng)絡(luò)協(xié)IEEE802.11協(xié)議棧以及TCP/IP協(xié)議棧,能夠?qū)崿F(xiàn)用戶串口數(shù)據(jù)到無(wú)線網(wǎng)絡(luò)之間的轉(zhuǎn)換。通過(guò)UART WiFi模塊,傳統(tǒng)的串口設(shè)備也能輕松接入無(wú)線網(wǎng)絡(luò)。
該模塊在使用前根據(jù)控制器地址設(shè)置好參數(shù),一般控制器地址或編號(hào),作為IP的最后3位。
(1)IP地址的最后3位設(shè)置為241,端口為:27011。
(2)無(wú)線路由的無(wú)線網(wǎng)絡(luò)名稱設(shè)置為:ANHUI,無(wú)密碼。
(3)無(wú)線路由的IP地址為:192.168.0.1。
(4)測(cè)試用主機(jī)可以用無(wú)線或有線方式連接到無(wú)線路由器,其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位停止位,無(wú)奇偶校驗(yàn)。
每幀內(nèi)容:ASCII碼傳輸,起始字節(jié)為:02H,結(jié)束字符為03H和校驗(yàn)。
(1)開(kāi)始符、結(jié)束符:這里采用ASCII碼的傳輸方式,根據(jù)表1,協(xié)議里起始符采用02H,結(jié)束符采用03H。當(dāng)然這只是實(shí)驗(yàn)階段的協(xié)議,實(shí)際可以采用更復(fù)雜的開(kāi)始符和結(jié)束符,比如,兩個(gè)字節(jié)的開(kāi)始結(jié)束符。
表1 開(kāi)始符-結(jié)束符
(2)設(shè)備地址:起始符后面緊接著用兩個(gè)字節(jié)來(lái)裝設(shè)備的地址,可以表示從01號(hào)到FF號(hào)共255個(gè)設(shè)備,即可以添加255個(gè)主控制器。注意這里的兩個(gè)字節(jié)存儲(chǔ)以ASCII碼形式,如設(shè)備地址是FA,則實(shí)際存在里面的兩個(gè)字節(jié)是:46H 41H。
(3)功能代碼:設(shè)備地址后面用2個(gè)字節(jié)來(lái)存儲(chǔ)功能代碼,當(dāng)然,如果要執(zhí)行的功能較多,也可以擴(kuò)展更多個(gè)字節(jié)。第一個(gè)字節(jié)表示功能,如查詢用31H,設(shè)置用32H 。第二個(gè)字節(jié)表示對(duì)象,如溫度用31H,溫度用32H。則查詢溫度的功能代碼即為:31H 31H。
(4)數(shù)據(jù)及校驗(yàn):功能代碼之后就是要傳輸?shù)木唧w數(shù)據(jù),數(shù)據(jù)的長(zhǎng)短可根據(jù)具體返回的參數(shù)進(jìn)行設(shè)置。
數(shù)據(jù)之后就是校驗(yàn)碼。校驗(yàn)碼對(duì)于傳輸來(lái)說(shuō)十分重要,它關(guān)系到傳輸?shù)乃俣群途_度。對(duì)于校驗(yàn)方法的設(shè)計(jì)可以多種多樣。下面舉例說(shuō)明。
例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)行,除了對(duì)數(shù)據(jù)采集控制器進(jìn)行編程外,還需要設(shè)計(jì)配合使用的上位機(jī)軟件。如果采用PC作為上位機(jī),可以用VB或VC來(lái)編程實(shí)現(xiàn)。如果采用平板或手機(jī),則要開(kāi)發(fā)相應(yīng)的App。
本設(shè)計(jì)方案簡(jiǎn)單、組網(wǎng)方便快捷、成本低廉,并且可根據(jù)具體情況隨時(shí)增加或減少接入終端數(shù)量??梢詰?yīng)用到農(nóng)業(yè)、工業(yè)、醫(yī)療等生產(chǎn)生活的各個(gè)領(lǐng)域。例如:對(duì)智能溫室各個(gè)溫室的溫度、濕度、光照度、二氧化碳濃度等參數(shù)的采集和數(shù)據(jù)傳輸。對(duì)于醫(yī)院病房中各床位病人的輸液進(jìn)度、心率、脈搏等實(shí)時(shí)數(shù)據(jù)的監(jiān)控和測(cè)量。本系統(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)測(cè)系統(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)。