黃川
摘 要:本文研究了一種可以實現(xiàn)自動數(shù)據(jù)采集、處理和傳輸?shù)奈锫?lián)網(wǎng)溫濕度監(jiān)測系統(tǒng)。數(shù)據(jù)采集終端設(shè)備納入物聯(lián)網(wǎng)系統(tǒng),并且可以直接互聯(lián)互通,實現(xiàn)自組局域網(wǎng),相互協(xié)作完成特定的業(yè)務(wù)。此系統(tǒng)具有智能化、遠(yuǎn)程化等特點,可用于室內(nèi)監(jiān)測、大棚蔬菜等領(lǐng)域。
關(guān)鍵詞:物聯(lián)網(wǎng) Zigbee ARM UDP/TCP Linux
中圖分類號:TP319 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2018)01(b)-0001-02
社會經(jīng)濟(jì)和人類活動的發(fā)展,對環(huán)境監(jiān)測的需求和意識不斷增強(qiáng)。人們對環(huán)境監(jiān)測的指標(biāo)、范圍、領(lǐng)域、頻次、質(zhì)控等方面的要求也逐步得到擴(kuò)展和提高。本文在充分研究嵌入式開發(fā)的基礎(chǔ)上進(jìn)行了綜合設(shè)計,即通過對ARM開發(fā)板串行口的讀寫操作將Zigbee開發(fā)板上的溫濕度數(shù)據(jù)讀出并存入數(shù)據(jù)庫,然后將數(shù)據(jù)庫里面的數(shù)據(jù)讀出,利用C/S架構(gòu)將溫濕度數(shù)據(jù)傳輸至手機(jī)等移動終端上,便于隨時接收最新數(shù)據(jù)。
1 系統(tǒng)設(shè)計思路
本設(shè)計基于Zigbee開發(fā)板和ARM開發(fā)板,通過讀取DHT11傳感器的溫濕度數(shù)據(jù),將讀出來的溫濕度數(shù)據(jù)顯示到Zigbee開發(fā)板的LCD屏上;然后通過串行口的讀寫操作將溫濕度數(shù)據(jù)讀取到ARM開發(fā)板,并將溫濕度數(shù)據(jù)存入中心數(shù)據(jù)庫;最后將溫濕度數(shù)據(jù)利用網(wǎng)絡(luò)發(fā)送到手機(jī)移動端或者瀏覽器上顯示。
2 系統(tǒng)總設(shè)計方案
本系統(tǒng)所采用的主要硬件是網(wǎng)蜂科技的Zibee開發(fā)板以及ARM(A9)開發(fā)板。
第一步:利用IAR編程軟件將監(jiān)測溫度和濕度的應(yīng)用程序下載到Zibee底板(該底板采用CC2530芯片,具有一個溫濕度傳感器),通過無線傳輸將采集到的溫度和濕度等數(shù)據(jù)傳輸?shù)胶诵陌?。第二步:將核心板通過串行口線插到ARM開發(fā)板,通過對ARM串行口的讀寫操作將得到的數(shù)據(jù)插入到ARM板的中心數(shù)據(jù)庫(Sqlite)中。第三步:通過對數(shù)據(jù)庫的讀操作,將數(shù)據(jù)庫中的最后一條(最新)數(shù)據(jù)讀出來通過C/S架構(gòu)(即UDP或者TCP協(xié)議)把數(shù)據(jù)顯示到手機(jī)、平板等移動終端。(注:C/S架構(gòu)采用的是TCP協(xié)議,PC機(jī)作為服務(wù)器,手機(jī)為客戶端,通過Eclipse寫APK客戶端。)
3 系統(tǒng)電路設(shè)計
3.1 硬件系統(tǒng)
物聯(lián)網(wǎng)溫濕度監(jiān)測項目硬件系統(tǒng)主要包括:網(wǎng)蜂科技的Zigbee開發(fā)板、ARM(A9)開發(fā)板、路由器、手機(jī)(移動終端)等。ZigBee主要有CC2530(集成了8051單片機(jī))核心板和傳感器底板組成,ZigBee節(jié)點所屬類別主要分3種,分別是協(xié)調(diào)器(Coordinator)、路由器(Router)和終端(End Device)。其特點是近距離、低復(fù)雜度、自組織、低功耗、低數(shù)據(jù)速率、低成本。主要適合用于自動控制和遠(yuǎn)程控制領(lǐng)域,可以嵌入各種設(shè)備。
3.2 系統(tǒng)軟件
3.2.1 數(shù)據(jù)采集終端
將大量的環(huán)境數(shù)據(jù)信息采集出來之后,通過串行口通信的讀寫操作將溫濕度數(shù)據(jù)信息發(fā)送至PC機(jī),然后將讀出來的數(shù)據(jù)信息保存到中心數(shù)據(jù)庫(ARM數(shù)據(jù)庫,這里使用的是Sqlite數(shù)據(jù)庫)。
3.2.2 中心服務(wù)器
將數(shù)據(jù)庫里面的數(shù)據(jù)讀出來(每次讀取最后一條數(shù)據(jù)即最新數(shù)據(jù)),建立一個服務(wù)器,將讀取到的最新數(shù)據(jù)發(fā)送至客戶端。
3.2.3 移動客戶端
利用Eclipse編寫一個apk(建立一個客戶,編寫好apk后安裝到手機(jī)上)用于接收服務(wù)器發(fā)送來的數(shù)據(jù),手機(jī)等移動終端上能隨時查收溫濕度數(shù)據(jù)信息。
4 設(shè)計過程
根據(jù)系統(tǒng)的設(shè)計方案和任務(wù)要求,本設(shè)計分為三步。首先將溫濕度數(shù)據(jù)采集出來后通過PC機(jī)串行口編程將ZigBee模塊的數(shù)據(jù)讀出來后存入數(shù)據(jù)庫;然后編寫一個服務(wù)器,每次讀取數(shù)據(jù)庫中的最新數(shù)據(jù)通過已建好的服務(wù)器發(fā)送溫濕度數(shù)據(jù);安裝好Eclipse后用Eclipse編寫一個客戶端,編寫好后生成APK安裝包安裝到手機(jī)上,手機(jī)和PC機(jī)連接同一個局域網(wǎng),手機(jī)可實時查看溫濕度數(shù)據(jù)。
4.1 軟件編程調(diào)試
本項目主要用VI編輯器在linux操作系統(tǒng)上編寫和運(yùn)行程序;其中利用德州儀器IAR編寫ZigBee開發(fā)板上的代碼和下載代碼;利用Eclipse編程軟件在window操作系統(tǒng)上編寫Android安裝包APK。
4.2 軟件流程
本項目主要分為三大模塊,具體流程圖如圖1所示。
(1)數(shù)據(jù)采集終端,此終端能夠采集大量的環(huán)境信息,比如溫度、濕度、光線強(qiáng)弱、煙霧等。然后通過串行口的讀寫操作傳送至基于嵌入式的中心服務(wù)器(數(shù)據(jù)庫)。
(2)中心服務(wù)器,采用基于ARM CortexA9的三星Exynos4412開發(fā)板,此開發(fā)板具有接口豐富、性能強(qiáng)大等特點。將數(shù)據(jù)庫里面的數(shù)據(jù)讀出來后建立一個服務(wù)器(用于發(fā)送數(shù)據(jù)),然后開啟網(wǎng)絡(luò)服務(wù)器與路由器相連。
(3)移動手持終端,普通手機(jī)或者平板的設(shè)備。開發(fā)普通的APP等程序(建立一個客戶端,用于連接服務(wù)器接收數(shù)據(jù)信息),能夠通過WIFI連接到路由器,并與中心服務(wù)器進(jìn)行數(shù)據(jù)交換。實時查詢掌握當(dāng)前環(huán)境狀況。
5 結(jié)語
本系統(tǒng)能夠通過主數(shù)據(jù)采集終端設(shè)備節(jié)點,利用遠(yuǎn)程數(shù)據(jù)采集終端的智能軟件實現(xiàn)無線傳輸至中心服務(wù)器處理存儲;用戶可通過手持設(shè)備(比如手機(jī)、平板電腦等)實時查看當(dāng)前環(huán)境數(shù)據(jù)。本系統(tǒng)的設(shè)計充分考慮了當(dāng)前物聯(lián)網(wǎng)的發(fā)展趨勢,為后續(xù)物聯(lián)網(wǎng)在各個監(jiān)測行業(yè)中的進(jìn)一步發(fā)展提供了一定的可行性依據(jù)。
參考文獻(xiàn)
[1] 弓雷.Linux典藏大系.ARM嵌入式Linux系統(tǒng)開發(fā)詳解[M].清華大學(xué)出版社,2010.
[2] 網(wǎng)蜂團(tuán)隊.ZigBee實戰(zhàn)演練VI[M].廣州:廣州大學(xué)出版社,2012.
[3] (美)Kenneth L.Calvert Michael J.Donahoo.TCP/IP Socket編程[M].機(jī)械工業(yè)出版社,2009.
[4] (英)馬修.斯通斯,著.linux程序設(shè)計[M].4版.人民郵電出版社,2010.
[5] Eclipse practical tutorial.Eclipse實用教程[M].電子工業(yè)出版社,2009.
[6] 周潤景,郝曉霞.傳感器與檢測技術(shù)[M].北京:電子工藝出版社,2014.