智能家居系統的開發-基于米爾瑞薩RZ/G2UL開發板
1、項目背景
智能家居控制系統,是以智能家居系統為平臺,家居電器及家電設備為主要控制對象,利用綜合布線技術、網絡通信技術、自動控制系統、音頻技術等將家居生活有關的設施進行高效集成,提升家居智能、安全、便利、舒適,為我們的生活帶來很的方便性。隨著物聯網技術的飛速發展,隨之而誕生的智能家居成為了物聯網技術中的佼佼者。智能家居是隨著人們生活水平的提高而逐漸發展起來的朝陽產業。它的出現給人們的生活帶來極大的便利;同時,智能家居的出現也帶動了一大批經濟產業。對于傳統的智能家居而言,功能相對單一,且不能將各種家電設備之間進行有效互聯;再者傳統的智能家居一般采用有線的方式進行組網,組網不便,維修不易。
2、作品簡介
本文設計了一個基于ZigBee的智能家居控制系統,該系統巧妙地使用了ZigBee的一大優勢--自組網功能,完全避免了傳統的組網方式。ZigBee技術具有組網簡單、方便,且組網容量大等優點。本智能控制系統將ZigBee技術和家庭智能網關技術有效結合,以MYD-YG2UL為智能網關的處理器,在MYD-YG2UL嵌入一個Linux系統,該系統是一個高度集成的網關系統,從而對家庭設備進行本地和遠程操作,真正實現了家電設備的智能化。
3、系統框圖
本項目嘗試通過構建一體化、實時控制的智能家居,可用于普通居民家庭、大中小型商場以及工業領域等。下圖展示了家居智能設備與終端系統互聯情況。MYD-YG2UL作為控制端,與家具智能設備直接連接,并接有傳感設備。同時,MYD-YG2UL作為端點與云端相連,為云端提供家具智能設備的運行情況并接收云端控制命令。遠程終端設備可通過云端實時查詢和控制家居智能設備。
本文所提出的智能家居系統解決方案整體框架如圖所示。通過技術論證和架構分析后,決定將系統劃分為三個子系統:ZigBee無線傳感器監控子系統,網關子系統,監控子系統。ZigBee無線傳感器監控子系統通過各個傳感器節點采集數據,將采集的數據通過無線網絡系統傳遞給路由節點,再通過路由節點將收集的各個終端節點的數據進行二次傳遞給協調器,由協調器與智能網關進行數據交換,以完成數據的傳遞。用戶就能在遠程進行查家中的各種環境信息,實時掌握家中的最新動態。網關子系統有兩大作用,一是連接以太網;二是搭載攝像頭采集視頻數據,實施遠程監控的功能。智能網關為整個智能家居系統的核心所在,協調各個子系統正常運轉。
4、詳細設計
在系統提供在線查看安全監測數據的功能,通過多傳感器采集數據,搭建無線局域網,實時同步各個傳感器信息,實現全方位的安全監測和報警功能;同時搭建了Web服務器,供用戶遠程查看監控信息。
4.1 ZigBee無線傳感監控子系統
ZigBee協議為智能家居環境監測提供了無線自組局域網解決方案。協調器節點可以實時獲取到各個終端節點的環境信息,實時傳遞給用戶便于用戶查看,路由節點用于終端節點的二次傳遞,起到信息傳遞的作用;終端節點用于通過各個傳感器收集環境信息,判斷采集信息是否達到預警、報警閥值,是否執行相應動作,將用戶指定的信息數據通過路由器傳遞給終端節點,最后在傳遞給用戶,方便用戶了解環境信息。
4.1.1 ZigBee工作流程圖
ZigBee的工作流程圖如下圖所示。
Figure 4-1 Z-Stack工作流程圖
Z-Stack采用操作系統的思想來構建,采用事件輪循機制,而且有一個專門的Timer2 來負責定時。從CC2530工作開始,Timer2 周而復始地計時,有采集、發送、接收、顯示等任務要執行時就執行。當各層初始化之后,系統進入低功耗模式,當事件發生時,喚醒系統,開始進入中斷處理事件,結束后繼續進入低功耗模式。如果同時有幾個事件發生,判斷優先級,逐次處理事件。這種軟件構架可以極大地降級系統的功耗。整個Z-Stack 的主要工作流程,如圖所示,大致分為以下6步:
● 關閉所有中斷;
● 芯片外部(板載外設)初始化;
● 芯片內部初始化;
● 初始化操作系統;
● 打開所有中斷;
● 執行操作系統。
4.1.2 ZigBee建立網絡、加入網絡流程分析
本設計主要是用ZigBee組建網絡系統,建立網絡、加入網絡為本設計的一個重點,下面分別介紹協調器建立網絡、路由器加入網絡、終端節點加入網絡的組網過程。協調器的建立網絡過程如下圖所示。
Figure 4-2協調器建立網絡過程
從上圖可以發現,網絡的建立是從ZDO來實現的,網絡建立后,從應用層收到ZDO_ATATE_CHANGE消息,對該消息包含當前節點網絡狀態。路由器節點加入網絡過程如下圖所示。路由器加入網絡的過程是由ZDO實現的,當路由器加入網絡以后,在應用程會收到當前節點的網絡狀態。
Figure 4-3路由器加入網絡過程
終端節點加入網絡如下圖所示。由下圖可知,終端節點加入網絡的過程也是由ZDO實現的,在應用層收到該節點的信息后,即可讀出當前的網絡狀態。
Figure 4-4終端節點加入網絡過程
4.1.3 ZigBee環境監測流程
環境監測的流程圖如下所示。
ZigBee各個節點進行初始化化后進行組網,各個終端節點不斷采集環境信息,在一切準備妥當之后,協調器就會定時向網關環境信息。ZigBee子系統與網關通過ser2net實現交互,將ZigBee子系統的協調器的串口數據傳給網關,網關通過TCP協議與外界交互。智能網關上電后,進行系統初始化,網絡連接等,等待協調器發送環境信息,當接收到數據后,通過無線網絡將數據發送至云端。云端得到相應的數據后,繪制每個終端的溫濕度曲線,也可實時查看當前的環境信息。當然移動端也可獲取環境信息,同時也可控制家電設備。另外,為了保證數據傳輸的可靠性,設計了簡單的數據傳輸協議保證數據的可靠交互。
4.2 網關/監控子系統
網關/監控子系統有攝像頭、智能網關和移動終端組成。智能網關上電之后完成板級初始化,連接號WiFi,初始化攝像頭。當有用戶請求視頻信息時,智能網關立即獲取攝像頭數據傳給用戶。
5、具體部署
5.1 ZigBee無線傳感監控子系統
IAR編譯
打開工程
ZStack-CC2530-2.3.0-1.4.0ProjectszstackUtilitiesSerialAppCC2530DB下的SerialApp.eww。
Figure 5-1編譯固件
編譯完后單擊下載按鈕。
Figure 5-2編譯完成
固件燒寫
使用SmartRF Flash Programmer燒寫Hex固件到ZigBee節點,將Coordinator.hex和EndDevice 1-4.hex分別下載到協調器和終端。注意:如果沒有那么多板子的話,只要下載 Cocodinator.hex和 EndDevice1.hex就可以了。
Figure 5-3下載方法
上位機調試
一定要給協調器先上電,因為使用的USB轉串口,程序自動識別串口。筆者提供免安裝和安裝版本,在這里使用免安裝版本,雙擊ZigBee.exe。筆者這里這是為自動刷新數據。筆者使用了一個終端,可看到如下圖所示的信息。
Figure 5-4上位機軟件
手機控制
如果想手機也控制則需要有無線路由器,手機打開 wifi 并連接好后,先點網絡設置,輸入電腦 IP 地址后點連接,手機顯示連接成功后,會自動刷新數據。如下圖所示。
Figure 5-5手機網路設置及控制
5.2 網關/監控子系統
網關子系統可以使用Yocto或者Openwrt系統,其中有幾個關鍵組件,下面一一講解
6、總結
由于此項目中涉及到的知識非常的多,如:
● Linux開發,包括系統移植,驅動開發等
● 電腦端C#程序,包括串口、界面開發等;
● 搭建安卓開發環境,學習安卓界面開發,安卓的socket通訊;
● ZigBee組網實驗,多終端通訊,對于簡單項目在我們上面修改一下就可做成自己的產品;
● 項目中使用的通訊協議是基本Modbus協議修改而來的,結構相同只是命令碼不同,更標準、更完善。
MYC-YG2UL核心板及開發板
基于RZ/G2UL處理器,通用64位工業MPU
RZ/G2UL是瑞薩一款高性能處理器;
內核Cortex-A55@1.0GHz CPU、Cortex-M33@200MHz;
16位DDR3L/DDR4接口以及LCD控制器;
攝像頭輸入、顯示輸出、USB2.0和千兆以太網;
尺寸37mm*39mm,工業級:-40℃-85℃,郵票孔+LGA,190PIN;
應用:工業網關、入門級工業HMI、醫療器械、PLC控制器、充電樁、儲能系統。
評論