美章網 資料文庫 遠程溫濕度監測系統物聯網技術論文范文

遠程溫濕度監測系統物聯網技術論文范文

本站小編為你精心準備了遠程溫濕度監測系統物聯網技術論文參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。

遠程溫濕度監測系統物聯網技術論文

1模塊的具體功能與實現

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

1.1溫濕度數據采集模塊這部分工作主要是對ZigBee節點內部的單片機模塊進行編程。首先考慮到CC2530有3個8位端口組成,端口1、2、3分別用P0,P1,P2來表示,其中,P0和P1是完全的8位端口,而P2僅有5位可用。所有的端口均可以通過SFR寄存器P0、P1和P2位尋址和字節尋址。傳感器芯片只提供2個I/O端口:DA-TA和SCK,前者為數據輸入輸出端口,后者為只可輸入的時鐘信號端口。因此將P0_0與SCK相連以提供時鐘序列,P0_1與DATA相連以讀寫溫濕度數據。在了解硬件連接基礎上對數據采集模塊進行軟件設計,程序由3部分構成:(1)主函數部分:首先調用函數初始化串口通信以及溫濕度傳感器,然后調用函數獲取溫濕度數據,最后將數據處理后調用串口控制函數,打印調試信息。(2)溫濕度傳感器控制部分:具體實現初始化傳感器函數,即設置P0端口的相關寄存器;實現獲取溫濕度數據的函數,根據傳感器資料說明,端口按照一定時序發出特定的序列即可進行相應控制;實現將得到的數據進行計算修正的函數。(3)串口打印控制部分:包括從串口獲取PC鍵盤按鍵值、發送一個字符、發送一串字符等功能使主函數的打印信息能顯示在串口通信軟件界面上。其主要部分的流程圖見圖2。

1.2溫濕度數據傳輸模塊該模塊分為兩部分,一為基于Z-Stack協議棧開發使節點與協調器自動組網形成ZigBee網絡,并通過該網絡實現數據無線傳輸;二為使協調器與嵌入式核心板中ARM處理器進行串行異步通信,將數據最終交由嵌入式平臺處理。Z-Stack采用分布式尋址,兼容AODV路由協議,可以滿足近程通信的要求,即使通信鏈路失效發生也可有效工作。為了區分Z-Stack協議棧中復雜的硬件驅動系統,又提供了OSAL層[10](類似于單片機上的操作系統,實則為根據所觸發的事件選擇調度相應任務),可調度APP層的任務。另外,Z-Stack提供了源碼例程SampleApp。該例程實現的功能主要是協調器自啟動(組網)和節點設備自動入網。在了解Z-Stack的工作流程后,程序的開發將在APP層對Sam-pleApp.c進行改寫完成。這部分程序主要為利用OSAL層任務事件輪詢調度機制,通過系統周期性定時廣播數據到group1中去實現。當ZigBee節點加入網絡后觸發狀態改變事件,系統開啟定時器,定時時間一到就觸發廣播消息事件;系統為其創建相應的任務ID,調用廣播消息函數;節點端的廣播消息函數讀取前一個模塊得到的數據,利用AF_DataRequest()函數接口調用下層射頻硬件驅動函數發送溫濕度數據;觸發協調器端的接收數據事件處理函數SampleApp_MessageMSGCB(),將捕獲的溫濕度數據處理后,以字符串的形式通過串口顯示在宿主機的終端中,以方便調試和開發。另外,協調器通過異步串行接口將數據交由ARM處理器。

1.3溫濕度處理模塊為了后續拓展,為可處理多個節點溫濕度數據,該模塊設計采用服務器與客戶端兩進程間通信來實現[11]。將接收ZigBee協調器通過異步串行通信發送過來的數據作為服務器進程,并封裝ZigBee功能提供相應應用接口。客戶端進程則主要是用于同服務器端進行交互,解析獲取溫濕度數據,同時為實現UI圖形界面提供封裝好的接口,為此還需用Qt設計UI界面。其中雙方是利用套接口(Socket)來使進程之間通信,但是由于Socket本身不支持同時等待和超時處理,所以它不能直接用來完成多進程之間的相互實時通信。本實驗采用事件驅動庫libev的方式構建服務器模型。Libev是一種高性能事件循環/事件驅動庫。需要循環探測事件是否產生,其循環體用ev_loop結構來表達,并用ev_loop()來啟動。用戶需要做的僅僅是在合適的時候,將某些ev_io從ev_loop加入或剔除。服務器主要實現流程:首先開啟一個Zigbee后臺線程(底層)監聽服務器調用信息,接著利用ev_io_start(loop,&ev_io_watcher)啟動一個接收線程,專門用來接收客戶端發送過來的命令數據幀;然后按照相應的協議進行解析,跳轉到相應的接口,進一步調用底層Zigbee協調器并返回正確的信息給客戶端。客戶端主要實現流程:首先調用GetConnect接口函數連接到服務器的端口,然后開啟一個Zigbeetopo線程用來調用接口函數,發出獲取ZigBee網絡拓撲結構信息的數據幀,創建另一線程接收并解析服務器端返回的數據幀,同時已創建的UI界面設置定時器,動態刷新加載溫濕度數據,繪制成溫濕度曲線圖。服務器與客戶端進程間通信模型如圖3所示。此外還需利用Qt對UI界面設計。首先利用Qt-designer為整體界面布局,其中包括背景顯示框、LCD數值顯示框以及曲線圖顯示框,編譯生成一個UI類;然后采用多繼承的方法構造新類,并使用Qt中的信號與槽函數機制,使得接收到溫濕度數據觸發LCD數值顯示和曲線圖顯示槽函數動作。設計流程見圖4。

2Web服務搭建

以上只是完成了溫濕度的采集顯示,還未真正發揮出物聯網所實現的人與物相連,這部分就需要搭建Web服務來實現。實現Web服務需要移植嵌入式服務器,設計動態網頁,并通過WiFi最終在已搭建好的局域網內實現手機、PC等可實時查看數據。

2.1嵌入式服務器移植由于嵌入式設備資源一般都比較有限,并且也不需要同時處理多用戶的請求,因此不能使用Linux下最常用的如Apache等服務器,而需要使用一些專門為嵌入式設備設計的Web服務器。常見的嵌入式Web服務器主要有:lighttpd、thttpd、shttpd和BOA等。本文選擇移植BOA作為嵌入式服務器。BOA是一個非常小巧的Web服務器,可執行代碼只有約60KB,它是一個單任務Web服務器,只能依次完成用戶的請求,而不會fork出新的進程來處理并發連接請求,但BOA支持CGI,能夠為CGI程序fork出一個進程來執行。對BOA服務器的配置主要是在/etc/boa目錄下創建一個boa.conf文件,此文件包括服務器將使用主機的端口號、運行服務器的身份、錯誤信息記錄的指定文件、存放html文件的目錄、默認首頁文件等相關信息,此外還需根據配置信息在相應的一些目錄下創建文件。

2.2網頁設計及動態顯示網頁設計則是利用html制作靜態頁面,并結合JavaScript實現動態顯示。JavaScript是一種基于對象和事件驅動并具有相對安全性的客戶端腳本語言,同時也是一種廣泛用于客戶端Web開發的腳本語言,常用來給HTML網頁添加動態功能,比如響應用戶的各種操作。JavaScript腳本可以獨立成文件,也可以內聯到HTML文檔之中。另外,利用AJAX實時刷新網頁數據。AJAX:異步JavaScript和XML,它是一種在無需重新加載整個網頁的情況下,就能更新部分網頁的技術[14]。它通過在后臺與服務器進行少量的數據交換,便可以使網頁實現異步更新。這意味著可以在不重新加載整個網頁的情況下,對網頁的某部分元素進行更新。由于溫濕度數據放入數據緩沖區,是利用fopen、fread、fwrite以及fseek函數將數據緩沖區內數據寫入XML文本適當位置中,要想讀取XML文檔中的數據并將它顯示在Web頁面上,需將XML文件轉化為XMLDOM(XML文檔對象模型),然后再利用JavaScript來解析并實時它。

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

3結束語

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

作者:朱俊光高健田俊趙敏戚海峰謝亞卓莊建軍單位:南京大學電子科學與工程學院電工電子實驗中心

主站蜘蛛池模板: 成年人视频免费在线观看| 中文无码人妻有码人妻中文字幕| 狠狠人妻久久久久久综合蜜桃| 国产区视频在线| 在线视频你懂的国产福利| 女人张腿让男桶免费视频观看| 丰满少妇三级全黄| 最近中文字幕2018高清在线| 亚洲欧美在线综合一区二区三区| 精品三级66在线播放| 国产一国产一级毛片视频在线| 国产浮力影院第一页| 国产精品视频免费一区二区| a级毛片免费网站| 巨胸喷奶水视频www网快速| 久久久不卡国产精品一区二区| 日韩精品无码专区免费播放| 亚洲制服丝袜一区二区三区| 欧美粗大猛烈老熟妇| 亚洲视频一区二区在线观看| 精品一区二区三区在线播放视频| 国产av无码专区亚洲av毛片搜| 高清无码视频直接看| 国产欧美另类久久精品蜜芽| **aaaa**毛片在线播放| 国产视频福利一区| 9久久这里只有精品国产| 嫩草成人永久免费观看| 两个人看的www视频免费完整版| 日本a∨在线播放高清| 久久天天躁狠狠躁夜夜2020一| 最近日本字幕免费高清| 亚洲免费电影网站| 欧美日韩亚洲国产精品一区二区| 国产一区免费在线观看| 青娱乐国产在线视频| 国产在线无码视频一区二区三区| 久久精品老司机| 国产欧美亚洲精品第一页久久肉 | 在线免费黄色网址| chinesespanking2实践|