亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于物聯(lián)網(wǎng)技術的遠程溫濕度監(jiān)測系統(tǒng)

        2014-12-25 02:08:36朱俊光戚海峰謝亞卓莊建軍
        實驗技術與管理 2014年11期
        關鍵詞:嵌入式

        朱俊光,高 健,田 俊,趙 敏,戚海峰,謝亞卓,莊建軍

        (南京大學 電子科學與工程學院電工電子實驗中心,江蘇 南京 210023)

        一切生命體賴以生存的環(huán)境中必不可少的元素除了合適的光照、水分、空氣、養(yǎng)料,還有環(huán)境的溫濕度。環(huán)境溫濕度對農(nóng)業(yè)、醫(yī)藥業(yè)、氣象業(yè)、食品行業(yè)、工控行業(yè)等都有極其重要的影響。因此設計出一種溫濕度實時監(jiān)測的系統(tǒng),并能方便地為人們所掌握顯得尤其重要。另外,隨著互聯(lián)網(wǎng)的不斷發(fā)展壯大,新一代的網(wǎng)絡——物聯(lián)網(wǎng)[1],即物物相連的互聯(lián)網(wǎng)應運而生。物聯(lián)網(wǎng)有著極大的發(fā)展?jié)摿Γ梢越o人類的生活環(huán)境帶來更多的快捷,而且方便與智能[2-3]。

        隨著物聯(lián)網(wǎng)技術最近幾年的迅速發(fā)展,無線傳感網(wǎng)技術進入應用階段[4-7]。本文在充分研 究 ZStack協(xié)議棧、嵌入式開發(fā)以及網(wǎng)頁設計的基礎上進行了綜合設計,即首先利用無線傳感網(wǎng)中的ZigBee技術,在底層建立短距離無線傳感網(wǎng)并實現(xiàn)采樣數(shù)據(jù)傳輸,將底層數(shù)據(jù)傳輸至上層的嵌入式網(wǎng)關平臺,對數(shù)據(jù)進行加工處理,通過驅動平臺中的LCD屏幕來提供一個友好的UI界面,方便人們實時觀察溫濕度,并在嵌入式平臺上搭建服務器,利用 WiFi來訪問相應的動態(tài)數(shù)據(jù)網(wǎng)頁,從而實現(xiàn)實時監(jiān)測環(huán)境溫濕度的變化。

        1 系統(tǒng)體系結構介紹

        按照由下至上的順序將整個系統(tǒng)分為3個大模塊,即底層數(shù)據(jù)采集模塊、中間層數(shù)據(jù)傳輸模塊和上層數(shù)據(jù)處理模塊。

        底層模塊由溫濕度傳感器SHT11和TI公司的ZigBee芯片CC2530構成,由CC2530控制傳感器檢測環(huán)境溫濕度,并作為無線傳感網(wǎng)中的節(jié)點模塊。中間層數(shù)據(jù)傳輸模塊由兩塊CC2530構成,分別作為ZigBee網(wǎng)絡中節(jié)點和協(xié)調(diào)器自動組網(wǎng),無線傳輸溫濕度數(shù)據(jù),并在協(xié)調(diào)器一端將數(shù)據(jù)通過異步串口通信交由嵌入式網(wǎng)關平臺處理。上層數(shù)據(jù)處理模塊為整個嵌入式網(wǎng)關平臺,所需用到資源有核心板(搭載ARM11架構的S3C6410微處理器、256MB Mobile DDR、128 MB NAND Flash)、DM9000A10/100MB網(wǎng)卡、真彩色寬屏LCD和USB無線網(wǎng)卡。最后還需搭建實驗環(huán)境中的局域網(wǎng),利用WiFi加入無線局域網(wǎng),利用網(wǎng)內(nèi)設備進行測試,其系統(tǒng)結構框圖見圖1示。

        圖1 系統(tǒng)結構框圖

        溫濕度傳感器SHT11為瑞士Sensirion公司設計的數(shù)字式溫濕度傳感器,具有全量程標定,兩線數(shù)字輸出;濕度測量范圍0~100%RH,溫度測量范圍-40~+123.8℃,濕度測量精度±3.0%RH,溫度測量精度±0.4℃[8]。作為ZigBee模塊的CC2530具有射頻收發(fā)器產(chǎn)品中的許多優(yōu)良性能。

        CC2530內(nèi)部集成了一塊具有增強型的8051處理器,一塊可讀寫的Flash閃存,一定大小的內(nèi)存塊以及大量其他功能模塊。為了簡化開發(fā),使用CC2530支持的Z-Stack網(wǎng)絡協(xié)議棧,它是由TI開發(fā)的遵循Zig-Bee協(xié)議規(guī)范的網(wǎng)絡協(xié)議棧[9]。

        為了開發(fā)調(diào)試的需要,將宿主機的串口分別與嵌入式平臺和CC2530相連接,實現(xiàn)將調(diào)試信息通過串口打印在宿主機上。另外,利用以太網(wǎng)接口將開發(fā)板與宿主機兩端用網(wǎng)線互聯(lián),因為在使用NFS、TFTP服務或者其他一些網(wǎng)絡服務時要用到。通過USB-A轉Mini連接宿主機與ZigBee模塊,用于向其下載調(diào)試程序。

        2 模塊的具體功能與實現(xiàn)

        根據(jù)各個模塊的具體實現(xiàn)功能的不同,按照由下至上的順序分別予以設計。

        2.1 溫濕度數(shù)據(jù)采集模塊

        這部分工作主要是對ZigBee節(jié)點內(nèi)部的單片機模塊進行編程。首先考慮到CC2530有3個8位端口組成,端口1、2、3分別用P0,P1,P2來表示,其中,P0和P1是完全的8位端口,而P2僅有5位可用。所有的端口均可以通過SFR寄存器P0、P1和P2位尋址和字節(jié)尋址。傳感器芯片只提供2個I/O端口:DATA和SCK,前者為數(shù)據(jù)輸入輸出端口,后者為只可輸入的時鐘信號端口。因此將P0_0與SCK相連以提供時鐘序列,P0_1與DATA相連以讀寫溫濕度數(shù)據(jù)。

        在了解硬件連接基礎上對數(shù)據(jù)采集模塊進行軟件設計,程序由3部分構成:

        (1)主函數(shù)部分:首先調(diào)用函數(shù)初始化串口通信以及溫濕度傳感器,然后調(diào)用函數(shù)獲取溫濕度數(shù)據(jù),最后將數(shù)據(jù)處理后調(diào)用串口控制函數(shù),打印調(diào)試信息。

        (2)溫濕度傳感器控制部分:具體實現(xiàn)初始化傳感器函數(shù),即設置P0端口的相關寄存器;實現(xiàn)獲取溫濕度數(shù)據(jù)的函數(shù),根據(jù)傳感器資料說明,端口按照一定時序發(fā)出特定的序列即可進行相應控制;實現(xiàn)將得到的數(shù)據(jù)進行計算修正的函數(shù)。

        (3)串口打印控制部分:包括從串口獲取PC鍵盤按鍵值、發(fā)送一個字符、發(fā)送一串字符等功能使主函數(shù)的打印信息能顯示在串口通信軟件界面上。

        其主要部分的流程圖見圖2。

        圖2 溫濕度采集模塊流程圖

        2.2 溫濕度數(shù)據(jù)傳輸模塊

        該模塊分為兩部分,一為基于Z-Stack協(xié)議棧開發(fā)使節(jié)點與協(xié)調(diào)器自動組網(wǎng)形成ZigBee網(wǎng)絡,并通過該網(wǎng)絡實現(xiàn)數(shù)據(jù)無線傳輸;二為使協(xié)調(diào)器與嵌入式核心板中ARM處理器進行串行異步通信,將數(shù)據(jù)最終交由嵌入式平臺處理。

        Z-Stack采用分布式尋址,兼容AODV路由協(xié)議,可以滿足近程通信的要求,即使通信鏈路失效發(fā)生也可有效工作。為了區(qū)分Z-Stack協(xié)議棧中復雜的硬件驅動系統(tǒng),又提供了OSAL層[10](類似于單片機上的操作系統(tǒng),實則為根據(jù)所觸發(fā)的事件選擇調(diào)度相應任務),可調(diào)度APP層的任務。另外,Z-Stack提供了源碼例程SampleApp。該例程實現(xiàn)的功能主要是協(xié)調(diào)器自啟動(組網(wǎng))和節(jié)點設備自動入網(wǎng)。在了解ZStack的工作流程后,程序的開發(fā)將在APP層對SampleApp.c進行改寫完成。

        這部分程序主要為利用OSAL層任務事件輪詢調(diào)度機制,通過系統(tǒng)周期性定時廣播數(shù)據(jù)到group1中去實現(xiàn)。當ZigBee節(jié)點加入網(wǎng)絡后觸發(fā)狀態(tài)改變事件,系統(tǒng)開啟定時器,定時時間一到就觸發(fā)廣播消息事件;系統(tǒng)為其創(chuàng)建相應的任務ID,調(diào)用廣播消息函數(shù);節(jié)點端的廣播消息函數(shù)讀取前一個模塊得到的數(shù)據(jù),利用AF_DataRequest()函數(shù)接口調(diào)用下層射頻硬件驅動函數(shù)發(fā)送溫濕度數(shù)據(jù);觸發(fā)協(xié)調(diào)器端的接收數(shù)據(jù)事件處理函數(shù)SampleApp_MessageMSGCB(),將捕獲的溫濕度數(shù)據(jù)處理后,以字符串的形式通過串口顯示在宿主機的終端中,以方便調(diào)試和開發(fā)。另外,協(xié)調(diào)器通過異步串行接口將數(shù)據(jù)交由ARM處理器。

        2.3 溫濕度處理模塊

        為了后續(xù)拓展,為可處理多個節(jié)點溫濕度數(shù)據(jù),該模塊設計采用服務器與客戶端兩進程間通信來實現(xiàn)[11]。將接收ZigBee協(xié)調(diào)器通過異步串行通信發(fā)送過來的數(shù)據(jù)作為服務器進程,并封裝ZigBee功能提供相應應用接口??蛻舳诉M程則主要是用于同服務器端進行交互,解析獲取溫濕度數(shù)據(jù),同時為實現(xiàn)UI圖形界面提供封裝好的接口,為此還需用Qt設計UI界面。其中雙方是利用套接口(Socket)來使進程之間通信,但是由于Socket本身不支持同時等待和超時處理,所以它不能直接用來完成多進程之間的相互實時通信。本實驗采用事件驅動庫libev的方式構建服務器模型。

        Libev是一種高性能事件循環(huán)/事件驅動庫。需要循環(huán)探測事件是否產(chǎn)生,其循環(huán)體用ev_loop結構來表達,并用ev_loop()來啟動。用戶需要做的僅僅是在合適的時候,將某些ev_io從ev_loop加入或剔除。

        服務器主要實現(xiàn)流程:首先開啟一個Zigbee后臺線程(底層)監(jiān)聽服務器調(diào)用信息,接著利用ev_io_start(loop,&ev_io_watcher)啟動一個接收線程,專門用來接收客戶端發(fā)送過來的命令數(shù)據(jù)幀;然后按照相應的協(xié)議進行解析,跳轉到相應的接口,進一步調(diào)用底層Zigbee協(xié)調(diào)器并返回正確的信息給客戶端。

        客戶端主要實現(xiàn)流程:首先調(diào)用GetConnect接口函數(shù)連接到服務器的端口,然后開啟一個Zigbeetopo線程用來調(diào)用接口函數(shù),發(fā)出獲取ZigBee網(wǎng)絡拓撲結構信息的數(shù)據(jù)幀,創(chuàng)建另一線程接收并解析服務器端返回的數(shù)據(jù)幀,同時已創(chuàng)建的UI界面設置定時器,動態(tài)刷新加載溫濕度數(shù)據(jù),繪制成溫濕度曲線圖。

        服務器與客戶端進程間通信模型如圖3所示。

        此外還需利用Qt對UI界面設計。首先利用Qtdesigner為整體界面布局,其中包括背景顯示框、LCD數(shù)值顯示框以及曲線圖顯示框,編譯生成一個UI類;然后采用多繼承的方法構造新類,并使用Qt中的信號與槽函數(shù)機制,使得接收到溫濕度數(shù)據(jù)觸發(fā)LCD數(shù)值顯示和曲線圖顯示槽函數(shù)動作。設計流程見圖4。

        圖3 服務器與客戶端進程間通信模型

        圖4 LCD數(shù)值顯示和曲線圖顯示槽函數(shù)設計流程

        3 Web服務搭建

        以上只是完成了溫濕度的采集顯示,還未真正發(fā)揮出物聯(lián)網(wǎng)所實現(xiàn)的人與物相連,這部分就需要搭建Web服務來實現(xiàn)[12-13]。實現(xiàn) Web服務需要移植嵌入式服務器,設計動態(tài)網(wǎng)頁,并通過WiFi最終在已搭建好的局域網(wǎng)內(nèi)實現(xiàn)手機、PC等可實時查看數(shù)據(jù)。

        3.1 嵌入式服務器移植

        由于嵌入式設備資源一般都比較有限,并且也不需要同時處理多用戶的請求,因此不能使用Linux下最常用的如Apache等服務器,而需要使用一些專門為嵌入式設備設計的Web服務器。常見的嵌入式Web服務器主要有:lighttpd、thttpd、shttpd和BOA等。本文選擇移植BOA作為嵌入式服務器。BOA是一個非常小巧的Web服務器,可執(zhí)行代碼只有約60KB,它是一個單任務Web服務器,只能依次完成用戶的請求,而不會fork出新的進程來處理并發(fā)連接請求,但BOA支持CGI,能夠為CGI程序fork出一個進程來執(zhí)行。

        對BOA服務器的配置主要是在/etc/boa目錄下創(chuàng)建一個boa.conf文件,此文件包括服務器將使用主機的端口號、運行服務器的身份、錯誤信息記錄的指定文件、存放html文件的目錄、默認首頁文件等相關信息,此外還需根據(jù)配置信息在相應的一些目錄下創(chuàng)建文件。

        3.2 網(wǎng)頁設計及動態(tài)顯示

        網(wǎng)頁設計則是利用html制作靜態(tài)頁面,并結合JavaScript實現(xiàn)動態(tài)顯示。JavaScript是一種基于對象和事件驅動并具有相對安全性的客戶端腳本語言,同時也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML網(wǎng)頁添加動態(tài)功能,比如響應用戶的各種操作。JavaScript腳本可以獨立成文件,也可以內(nèi)聯(lián)到HTML文檔之中。

        另外,利用AJAX實時刷新網(wǎng)頁數(shù)據(jù)。AJAX:異步JavaScript和XML,它是一種在無需重新加載整個網(wǎng)頁的情況下,就能更新部分網(wǎng)頁的技術[14]。它通過在后臺與服務器進行少量的數(shù)據(jù)交換,便可以使網(wǎng)頁實現(xiàn)異步更新。這意味著可以在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁的某部分元素進行更新。由于溫濕度數(shù)據(jù)放入數(shù)據(jù)緩沖區(qū),是利用fopen、fread、fwrite以及fseek函數(shù)將數(shù)據(jù)緩沖區(qū)內(nèi)數(shù)據(jù)寫入XML文本適當位置中,要想讀取XML文檔中的數(shù)據(jù)并將它顯示在Web頁面上,需將XML文件轉化為XMLDOM(XML文檔對象模型),然后再利用JavaScript來解析并實時它。

        3.3 WIFI模塊搭建

        通過搭建WIFI模塊,使得用戶可以通過支持WIFI的設備比如手機等更加便捷地查看溫濕度數(shù)據(jù)。WIFI是一個無線網(wǎng)絡通信技術的品牌,WIFI的運作至少需要1個AP和1個或1個以上的client。AP由路由器搭建的局域網(wǎng)充當,將插上無線網(wǎng)卡的嵌入式開發(fā)板看作一個client,然后就可以與其他client進行通信。要使無線網(wǎng)卡能正常工作,首先需加載驅動,然后對其進行一系列設置,使之加入到局域網(wǎng)中。由于開發(fā)板上配置有服務器,因此設置好合適IP以后,在手機等瀏覽器中輸入IP,就能查看溫濕度數(shù)據(jù)。

        最終實現(xiàn)的效果如圖5和圖6所示。

        圖5 顯示在LCD上的溫濕度曲線

        圖6 手機和PC訪問溫濕度數(shù)據(jù)網(wǎng)頁

        4 結束語

        通過以上綜合設計實現(xiàn)的溫濕度系統(tǒng),既可以在LCD屏幕上看到實時動態(tài)曲線,又可以用手機查看實時更新的數(shù)據(jù)網(wǎng)頁,實現(xiàn)了物聯(lián)網(wǎng)所提出的人物相連的概念,使通信交流不僅局限于人與人之間進行。

        [1]彭揚,蔣長兵.物聯(lián)網(wǎng)技術與應用基礎[M].北京:中國物資出版社,2011.

        [2]車轔轔,孔英會,趙建立,等.基于物聯(lián)網(wǎng)的智慧實驗室設計[J].實驗技術與管理,2013,30(10):212-215.

        [3]黃崢,古鵬.物聯(lián)網(wǎng)實驗室建設研究與探討[J].實驗技術與管理,2012,29(2):191-195.

        [4]彭程.基于物聯(lián)網(wǎng)技術的智慧農(nóng)業(yè)發(fā)展策略研究[J].西安郵電學院學報,2012,17(2):94-98.

        [5]周建國,周勇,丁立人,等.物聯(lián)網(wǎng)技術在大型儀器共享中的應用研究[J].物聯(lián)網(wǎng)技術,2012(8):74-77.

        [6]馬榮飛.基于物聯(lián)網(wǎng)技術網(wǎng)絡自適應移動節(jié)點資源監(jiān)測研究[J].計算機工程與設計,2012,33(5):1725-1728.

        [7]饒緒黎,張美平,馬現(xiàn)虎.基于物聯(lián)網(wǎng)技術的實驗設備運行監(jiān)控管理系統(tǒng)設計[J].山東大學學報:理學版,2012,47(11):74-77.

        [8]馮顯英,葛榮雨.基于數(shù)字溫濕度傳感器SHT11的溫濕度測控系統(tǒng)[J].自動化儀表,2006,27(1):59-61.

        [9]童英華.基于Z-Stack的無線溫濕度采集系統(tǒng)[J].現(xiàn)代電子技術,2012,35(23):115-117.

        [10]曾寶國.Z-STACK協(xié)議棧應用開發(fā)分析[J].物聯(lián)網(wǎng)技術,2011,1(3):71-73.

        [11]曾寶國,曾妍.基于 WSN的開放性實驗室電源管理系統(tǒng)[J].物聯(lián)網(wǎng)技術,2012(6):56-58.

        [12]馬驥,喬雙,李丹.基于Web的嵌入式DSP測控系統(tǒng)設計[J].東北師大學報:自然科學版,2007,39(1):41-45.

        [13]劉佳,劉柏全,宋鐵成,等.一種物聯(lián)網(wǎng)教學實驗系統(tǒng)的設計與實現(xiàn)[J].電氣電子教學學報,2010,32(6):89-92.

        [14]劉西杰,柳林.HTML、CSS、JavaScript網(wǎng)頁制作從入門到精通[M].北京:人民郵電出版社,2013.

        猜你喜歡
        嵌入式
        Focal&Naim同框發(fā)布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
        TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應用
        電子制作(2019年7期)2019-04-25 13:17:14
        基于嵌入式Linux內(nèi)核的自恢復設計
        嵌入式系統(tǒng)通信技術的應用
        電子制作(2018年18期)2018-11-14 01:48:16
        嵌入式PLC的設計與研究
        電子制作(2018年16期)2018-09-26 03:27:18
        搭建基于Qt的嵌入式開發(fā)平臺
        基于嵌入式系統(tǒng)Windows CE的應用程序開發(fā)
        嵌入式單片機在電機控制系統(tǒng)中的應用探討
        電子制作(2017年8期)2017-06-05 09:36:15
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
        Altera加入嵌入式視覺聯(lián)盟
        青青草在线公开免费视频| 久久久久久久99精品国产片| 中文字幕人妻伦伦| 色视频线观看在线网站| 国内露脸少妇精品视频| 亚洲综合欧美日本另类激情| 亚洲国产视频精品一区二区| 男女视频网站在线观看| 一区二区三区激情免费视频| 久久国产色av免费观看| 国产精品美女久久久久久久| 无码精品人妻一区二区三区98| 亚洲最黄视频一区二区| 亚洲国产成人久久精品不卡| 国产青榴视频在线观看| 亚洲综合一区二区三区四区五区| 国产精品女同一区二区久| 91成人自拍在线观看| 日日躁夜夜躁狠狠躁| 伴郎粗大的内捧猛烈进出视频观看| 久久88综合| 国产精品久久久精品三级18| 亚洲精品午夜久久久九九 | 久久人人97超碰超国产| 国产精品麻豆A在线播放| 国产性虐视频在线观看| 日本亚洲欧美色视频在线播放| 玩弄少妇高潮ⅹxxxyw| 亚洲国产AV无码男人的天堂| 日产精品一区二区三区免费| 久久av粉嫩一区二区| 国产精品无码久久久久久| 国产精品视频一区二区噜噜| 无码91 亚洲| 中文字幕高清不卡视频二区| 少妇高潮惨叫久久久久电影69| 亚洲国产精品ⅴa在线观看| 激情欧美日韩一区二区| 亚洲欧美日韩一区在线观看| 亚洲综合自拍偷拍一区| 美女高潮黄又色高清视频免费|