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