999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于物聯網的照明控制系統—ARM客戶端軟件設計

2015-01-17 05:47:08曾妍
電子設計工程 2015年2期
關鍵詞:指令

曾妍

(四川信息職業技術學院 四川 廣元 628040)

基于物聯網的照明控制系統以ZigBee、單片機、傳感器、C#和PHP程序設計為主要技術手段,包括照明控制單元、ZigBee無線傳輸層(含網關)、PC展示及控制層3個層次的現場控制單元、CC2430無線傳輸網絡、ARM網關硬件單元、ARM網關客戶端軟件、基于C#的服務端軟件、基于PHP的展示軟件等6個子系統,用于實現一套模擬城市照明控制系統。

本課題首先規劃了WSN協調器與ARM網關的串口通訊協議及ARM客戶端與PC服務端的TCP/IP通訊協議,然后基于Windows CE 6.0操作系統,運用C#編程語言開發了ARM的客戶端軟件。經測試,客戶端軟件實現了按規劃的協議將協調器上傳數據發往服務端和將服務端下發數據發往協調器的功能,性能穩定,具有一定的實用價值。

1 需求分析

1.1 物聯網照明控制系統的組成及工作過程

1.1.1 系統組成

物聯網照明控制系統由感知層子系統、傳輸層子系統、應用層子系統三個部分組成,如圖1所示。其中,感知層子系統由開關量照明控制節點組成。傳輸層子系統包括基于CC2430的ZigBee無線傳輸網和基于TCP/IP的局域網傳輸網。應用層子程序系統由運行于服務器上的服務端軟件及其它展示軟件組成,本系統包括Web展示軟件和服務器Server軟件。如圖1所示。

圖1 物聯網照明控制系統的組成Fig.1 The composition of the network lighting control system

1.1.2 系統運行過程

在物聯網照明控制系統中,所有感知層節點的控制指令均由應用層子系統通過服務端下發給傳輸層ARM網關客戶端,然后由ARM處理器通過串口下發給CC2430協調器,再由后者通過ZigBee無線網絡下發給CC2430終端節點。執行的操作指令主要包括注冊網絡、獲取網絡參數、下發控制指令等3個方面。

1)注冊網絡

系統啟動后,CC2430協調器首先建立無線網絡,路由器和終端節點在發現網絡后,會主動加入網絡,并上傳網絡參數(物理地址、網絡地址、節點類型等)。

2)獲取網絡參數

系統運行中,為及時發現掉線節點,系統會周期性去詢問節點,要求返回網絡參數。獲取網絡參數的流程。

3)下發控制指令

當需要改變各被控對象的運行狀態時,系統就需要下發各類控制指令。

1.2 ARM客戶端軟件的功能需求分析

ARM網關[1]是傳輸層子系統的核心設備,主要完成數據轉發、協議轉換、命令代理和映射、本地存儲等功能,支持無線傳感器網絡內部數據協同和匯聚,支持ZigBee接入、TCP/IP網絡接入,從而橋接無線傳感器網絡與互聯網。

ARM客戶端軟件[2]主要用于實現接收ZigBee無線傳感網絡協調器上傳的數據,然后發送到服務器。同時,對于服務器下發的一些控制命令進行解析,并通過串口傳輸到無線網絡的協調器。

ARM網關整體上采用分層設計方案,體系結構如圖1所示。硬件部分主要包括ZigBee通信節點、S3C2440 ARM主控模塊、USB及網絡等外設模塊。軟件部分包括軟件支持層、應用層。圖2中,軟件支持層由硬件驅動、Windows CE操作系統以及支持Z-Stack的協議棧等構成。應用層由地址適配層、應用協議層、業務邏輯應用程序三部分構成,地址適配層用于Zigbee地址和以太網IP地址與應用層地址的映射,應用協議層是用于規范節點通信的數據幀格式,二者相互配合可實現節點間數據的透明傳輸。

圖2 ARM網關的體系結構Fig.2 The system structure of ARM gateway

本課題所需開發的是軟件部分的應用層軟件,涉及協議轉換、數據轉發、人機交互等功能,宜采用軟件設計中的三層架構進行軟件開發。所謂三層架構,是指數據訪問層、業務邏輯層以及窗體表示層。本課題主要涉及業務邏輯層和窗體表示層的設計與功能實現。

2 通信協議規劃

2.1 通信協議規劃原則

1)透明傳輸,將控制與傳輸分離。協議的規劃不宜采用按功能方式規劃,而應采用分層方式實施,以便明確邊界。對于本系統而言,整個協議從下自上為分三層,如圖3所示。

圖3 自定義協議的層次結構Fig.3 The hierarchical structure of custom protocol

2)本系統WSN類型節點由協調器、路由器、傳感器節點三種組成,拓撲結構有樹狀形、星形網絡等。由于本系統控制點不多、分布范圍較窄,故采用星形網絡拓撲結構。支持ZigBee無線網廣播、點對點通信。

2.2 ARM網關通訊協議詳細幀格式規劃

ARM網關通訊協議[3]詳細幀格式規劃包括注冊網絡、獲取網絡參數、返回網絡參數、下發操作指令、上傳操作結果等協議的規劃。

1)注冊網絡通訊協議

注冊網絡[4]是指當終端節點或路由器新加入網絡后,主動向上級節點發送源節點網絡參數的過程。從信息流向來看,注冊網絡的信息是由CC2430終端節點出發,經協調器轉發至PC。

2)獲取網絡參數通訊協議

獲取網絡參數是PC根據人機交互需要,通過WSN協調器下發獲取網絡參數指令,終端節點或路由器收到指令后,向上級節點返回源節點的網絡參數。本系統中只有當節點自動注冊網絡失敗時,才從服務器手動發送指令獲取節點網絡參數。從信息流向來看獲取網絡參數包括從PC到客戶端,再由客戶端發往協調器,最終到路由器和終端節點的下行發送指令,以及上行返回網絡參數兩個方面。

3)返回網絡參數通訊協議

當節點收到由客戶端轉發來自服務端的獲取網絡指令后,自動向客戶端返回節點的網絡參數,再由客戶端向服務端返回數據。

4)下發操作指令通訊協議

本系統中PC下發控制指令,是通過WSN協調器下發開燈或關燈指令,終端節點或路由器收到指令后,向上級節點返回源節點的執行結果。從信號流向來看,指令是由PC發出,經串口發送到客戶端,再由客戶端經串口將指令送入WSN協調器,然后下發到終端節點。

5)上傳操作結果通訊協議

本系統中控制上傳控制指令,是通過WSN協調器上傳到PC下發選擇開燈或關燈指令,終端節點或路由器收到指令后,向上級節點返回源節點的執行結果(包括提取到的溫度、濕度以及燈光亮度參數)。從信號流向來看,指令是由PC發出,經串口送入WSN協調器,然后下發到終端節點,再經串口傳輸到單片機。

3 ARM客戶端軟件設計

3.1 業務邏輯層的設計

業務邏輯層[5]涉及數據處理SerialPortClass.cs,包括搜尋設備可用的串口、打開串口、關閉串口、下發指令并接收數據4種方法。對應方法如表1所示。

表1 SerialPortClass類的方法描述Tab.1 The methods of the SerialPortClass class description

3.2 業務邏輯層的功能實現

1)SearchSerialPorts方法該方法主要用于搜尋設備可用串口,其詳細代碼如下:public bool SearchSerialPorts(out string[]ports, out string retstr)

{

ports=SerialPort.GetPortNames (); //搜尋可用串口

if(ports!=null)

{

retstr="搜尋到可用串口";

return true;

}

else

{

retstr="無可用串口";

return false;

}

}

2)OpenSerialPort方法

該方法主要用于打開串口,該方法先判斷串口是否已經打開(0--打開串口成功;1--串口被占用;2--打開串口異常;3--打開串口失敗;),然后在串口未被占用的情況下,打開串口。

3)CloseSerialPort方法

該方法主要用于關閉串口,該方法先判斷串口是否已經打開(串口未打開,無需關閉),然后在串口已打開情況下,關閉串口 (0--關閉串口成功;1--串口未打開;2--關閉串口失敗;3--關閉串口異常。

4)SendDataToPort方法

該方法主要用于下發指令并接收數據,定義一個byte[]類型封裝變量cmd,首先判斷串口是否打開。若打開,則通過第一個默認通道發送cmd,并返回true,若未打開,直接返回false。

3.3 窗體表示層的設計

1)添加窗體文件并設計窗體

窗體表示層[6]的設計,在設計器中選擇 “項目→添加Windons窗體”,打開“添加新項”對話框。 選擇“Windons”模板,添加frmClient.cs窗體,根據需求設計frmClient.cs窗體,如圖4所示。

圖4 創建frmClient.cs窗體界面Fig.4 Create a frmClient.cs form interface

2)frmClient窗體代碼文件(frmClient.cs)的結構

在frmClient.cs中,首先需要定義一些全局變量,實例化有關公共對象,然后編寫諸如連接設備(串口)、斷開設備(串口)、接收數據、轉發數據等事件的處理方法。

3.4 窗體表示層的功能實現

1)frmClient_Load事件處理方法

在frmClient窗體加載事件處理過程中,需搜尋并獲取當前可用串口號寫入ComboBox控件cbbSerialPort的Items中并顯示,并設置默認的波特率。其中,通過調用業務邏輯層的Get_Ports方法獲取可用串口。

2)btnConnectCoor_Click事件處理方法

該方法用于連接協調器,首先提取串口名稱、波特率,然后實例化一個串口操作對象并調用業務邏輯層OpenSerialPort方法打開串口,如果打開串口成功,則為已經打開的串口添加DataReceived事件并設置串口連接。如果打開串口不成功,則進行錯誤提示。

3)btnClosePort_Click事件處理方法

該方法用于斷開協調器,首先實例化一個串口操作類對象,然后調用業務邏輯層CloseSerialPort方法關閉串口,如果關閉串口成功,則設置串口連接。如果關閉串口不成功,則進行錯誤提示。

4)btnStartListen_Click事件處理方法

該事件執行啟動上傳功能,要實現該操作需先實例化客戶端和網絡數據流,再連接服務端,通過調用SendMessage方法將網關接入到服務器,并通過串口上傳數據到服務器,同時調用ReceiveMessage方法接收來自服務器發向協調器的指令。

5)btnStopListen_Click事件處理方法

該事件執行停止上傳功能,關閉客戶端與服務器之間的傳輸,并斷開網關接與服務器。

6)btnSendToServer_Click事件處理方法

該事件執行手動上傳功能,通過調用SendMessage方法手動向服務端上傳網關配置。

7)btnCleaeWSN_Click事件處理方法

該事件執行清空WSN無線網絡消息的功能。

8)btnClearTcpIP_Click事件處理方法

該事件執行清空TCP/IP局域網消息功能。

4 系統測試

4.1 ARM網關客服端軟件功能測試

利用VS20005軟件生成SmartHomeClient.exe應用文件,然后連接WinCE 6.0,利用同步軟件將SmartHomeClient.exe應用文件復制到WinCE 6.0操作平臺,然后打開在WinCE 6.0操作平臺中打開SmartHomeClient.exe應用文件。如圖5所示。然后連接協調器和服務端,開啟“啟動上傳”按鈕,協調器向服務端上傳節點數據,服務端下發操作指令,觀察網關是否有數據傳輸。

圖5 ARM網關客戶端軟件界面Fig.5 The ARM gateway client software interface

4.2 系統調試

1)連接服務器

在服務端打開的情況下,開啟“啟動上傳”,連接服務器成功則提示“接入服務器”,并在lbServerMsg中顯示來自服務器的信息。

2)組網

在已連接協調器和服務器的情況下,復位節點,通過協調器向網關發送節點信息,再由網關將節點信息轉發至服務器,進行組網。

3)服務器下發操作指令

服務器通過網關向協調器發送開燈指令,在已經開燈的情況下,服務器通過網關向協調器發送光照、濕度、溫度采集指令。

經測試本系統網關客戶端軟件,實現了數據的上傳和下發功能,達到了設計目的。

5 結束語

本文研究利用ZigBee無線通信技術組建無線網絡,并將其使用于教室、走廊、街道的智能照明控制系統中。無線智能照明系統的設計是為了對建筑的照明設備實現集中統一的管理,將建筑的照明設備按場景分類進行控制,并根據室外光照調節照明設備的照度,從而,使建筑以及室內室外都有一個良好的光環境,并能夠盡可能的節約能源。在智能照明控制系統中,使用無線通信的方式,可以避免有線電纜的鋪設,降低了系統的安裝成本與安裝難度,同時也便于系統的移動,即可以整體的搬遷至另外的環境中進行使用,這樣又在另一層面降低了系統的成本,以及縮短了系統回收利潤的時間。為了達到系統所需要的功能與要求,在本設計中利用了成都無線龍公司的無線單片機系統作為系統的硬件開發平臺,對系統中的節點設備進行了設計,完成了網絡協調器、路由器控制終端設備以及其他網絡節點的原理圖設計。同時利用軟件開發平臺IAR環境,進行了系統的主程序設計,以及主程序流程圖的繪制。利用Microsoft Visual Studio 2005開發環境對控制系統的設計制作,實現了真正的智能化。

[1]劉孟強,夏晶晶,劉俊輝.C#程序設計案例教程[M].北京:清華大學出版社,2011.

[2]王浩.Windows CE(C#)嵌入式應用開發[M].北京:中國水利水電出版社,2010.

[3]黃嘉輝.C#.NET網絡程序設計[M].科學出版社,2004.

[4]宋先斌.C#應用開發[M].北京:清華大學出版社,2010.

[5]鄭耀東.C#從入門到實踐[M].北京:清華大學出版社,2009.

[6]Scott Meyers.Effective C++[M].北京:電子工業出版社,2006.

猜你喜歡
指令
聽我指令:大催眠術
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
巧用G10指令實現橢圓輪廓零件倒圓角
時代農機(2015年3期)2015-11-14 01:14:29
中斷與跳轉操作對指令串的影響
科技傳播(2015年20期)2015-03-25 08:20:30
基于匯編指令分布的惡意代碼檢測算法研究
一種基于滑窗的余度指令判別算法
歐盟修訂電氣及電子設備等產品安全規定
家電科技(2014年5期)2014-04-16 03:11:28
MAC指令推動制冷劑行業發展
汽車零部件(2014年2期)2014-03-11 17:46:27
主站蜘蛛池模板: 国产男女XX00免费观看| 99免费视频观看| 中文字幕日韩丝袜一区| 亚洲天堂.com| 国产99视频精品免费视频7| 午夜日韩久久影院| 精品成人免费自拍视频| 全部免费特黄特色大片视频| julia中文字幕久久亚洲| 日韩东京热无码人妻| 九九九久久国产精品| 人妻熟妇日韩AV在线播放| 手机精品视频在线观看免费| 午夜视频在线观看免费网站| 日本高清免费不卡视频| 欧美视频在线不卡| 国产欧美日韩另类精彩视频| 中字无码av在线电影| 麻豆精品视频在线原创| 国产真实乱人视频| 69av在线| 久热这里只有精品6| 久久久久国产精品嫩草影院| 中文字幕永久在线看| 尤物国产在线| 99久久人妻精品免费二区| 欧美午夜在线视频| 久久这里只有精品免费| 91美女在线| 国产极品美女在线观看| 成人字幕网视频在线观看| 国产一级片网址| 国产一区在线观看无码| 国产精品30p| 国产九九精品视频| 伊人蕉久影院| 污污网站在线观看| 国产精品视频导航| 香蕉视频在线精品| 99视频在线观看免费| 另类欧美日韩| 91精品国产丝袜| 国产免费久久精品99re丫丫一| A级毛片无码久久精品免费| 91麻豆国产视频| 992tv国产人成在线观看| 国产自在线拍| 亚亚洲乱码一二三四区| 国内精品自在欧美一区| 日韩av高清无码一区二区三区| 91最新精品视频发布页| 精品人妻无码中字系列| 91视频首页| 精品少妇人妻一区二区| 亚洲综合九九| av一区二区无码在线| 四虎成人在线视频| 国产免费网址| 一本综合久久| 国产91小视频| 成人国产精品2021| 无码专区国产精品一区| 一级成人a做片免费| 无码福利视频| 亚洲中久无码永久在线观看软件| 国产专区综合另类日韩一区| 中文字幕在线看| 国产成年女人特黄特色毛片免| 国产午夜无码专区喷水| 精品国产www| Aⅴ无码专区在线观看| 亚洲男人的天堂在线| 亚洲成人在线免费观看| 欧美成a人片在线观看| 中文字幕不卡免费高清视频| av午夜福利一片免费看| 国产一区二区网站| 国产成人一区在线播放| 亚洲第一成网站| 成人免费视频一区| 超清无码一区二区三区| 无码中字出轨中文人妻中文中|