基于Dragon Board 410c實(shí)現(xiàn)對(duì)家庭電器的智能開(kāi)關(guān)控制
一、前言
智能家居越來(lái)越多的在普通家庭普及,一套智能家居就是一個(gè)系統(tǒng),包含傳感單元、中央處理單元、信號(hào)傳輸單元和控制單元等等,利用不同的傳感器和處理方法可以做出不同的體驗(yàn)效果,這里就基于Dragon Board 410C簡(jiǎn)單的搭建一個(gè)系統(tǒng),以實(shí)現(xiàn)“智能家居”,旨在拋磚引玉。
二、概述
最近發(fā)現(xiàn)一種比較有趣的Sensor——Grid-EYE(紅外陣列傳感器),與普通的紅外感應(yīng)器不同,顧名思義,這種sensor的感應(yīng)區(qū)是由陣列排布的若干紅外感應(yīng)頭組成,此sensor可以將外界物體表面發(fā)出的紅外光轉(zhuǎn)成二維陣列點(diǎn)圖像,隨著物體的移動(dòng),接收陣列紅外強(qiáng)度分別也相應(yīng)變化,那么我們可以應(yīng)用該Sensor做外界熱量分辯,進(jìn)而實(shí)現(xiàn)物體移動(dòng)位置跟蹤。在此,我們就舉個(gè)例子,基于Dragon Board 410c結(jié)合此類Sensor實(shí)現(xiàn)對(duì)家庭電器(如電燈、風(fēng)扇)的智能開(kāi)關(guān)控制。
三、設(shè)計(jì)說(shuō)明
3.1 系統(tǒng)原理
系統(tǒng)框圖如下圖所示,Grid-Eye通過(guò)I2C接口與Dragon Board 410C相連,接收到的外界紅外圖像由I2C傳給CPU APQ8016,由CPU分析當(dāng)前位置,相對(duì)與上次采集的數(shù)據(jù)對(duì)比,判斷物體(如:人體)的移動(dòng)方向,根據(jù)這些數(shù)據(jù),CPU可以提前發(fā)出電器(如:電燈)動(dòng)作控制指令,考慮到家庭現(xiàn)成布線情況,使用無(wú)線通信控制,可以大大簡(jiǎn)化安裝工作,所以CPU發(fā)出的指令會(huì)通過(guò)Dragon Board自帶的Wifi/BT模塊發(fā)送出去,由MCU Board上的Wifi/BT接收,再由MCU將指令解調(diào)并做出處理,通過(guò)GPIO對(duì)繼電器做出控制,最終使家用電器成功開(kāi)關(guān),從而實(shí)現(xiàn)電器“智能化”。
3.2 Grid-EYE原理
如上面所提到的,sensor的感應(yīng)區(qū)是由陣列排布的若干紅外感應(yīng)頭組成,舉例Panasonic的AMG88xx系列,感應(yīng)器由8*8=64個(gè)感應(yīng)頭,如下圖所示,人體發(fā)出的紅外線被感應(yīng)形成與人體形態(tài)對(duì)應(yīng)的圖像,人體做出不同形態(tài),對(duì)應(yīng)不同感應(yīng)圖像。同理,當(dāng)人體在“可視”范圍內(nèi)移動(dòng),Sensor會(huì)感應(yīng)到人體的運(yùn)動(dòng)位置,通過(guò)一定算法,還可以預(yù)測(cè)人體的運(yùn)動(dòng)趨勢(shì),進(jìn)而預(yù)先對(duì)外做出控制,給用戶帶來(lái)更貼心體驗(yàn)。
Sensor原理框圖如下,紅外接收頭陣列接收的光強(qiáng)通過(guò)光電轉(zhuǎn)換后,每一個(gè)點(diǎn)強(qiáng)度與內(nèi)部自帶的基準(zhǔn)溫度傳感器,再經(jīng)ADC轉(zhuǎn)為64組數(shù)據(jù),通過(guò)I2C接口一組一組送給CPU(APQ8016),數(shù)據(jù)處理和分析由CPU完成。
3.2 WiFi/BT模塊
在此Wifi/BT緊用于開(kāi)關(guān)控制指令的無(wú)線傳輸,考慮到不同無(wú)線通信距離的需求,一般同一房間內(nèi)BT可滿足10m可靠傳輸,若需要更遠(yuǎn)的距離可考慮使用Wifi模塊。由于傳輸數(shù)據(jù)量不大,對(duì)硬件接口速率要求不高,所以Wifi/BT模塊使用UART、SPI或者SDIO接口與MCU相連,又低端MCU一般不支持SDIO,選擇UART或者SPI接口較為適宜。
3.3 MCU控制
MCU通過(guò)UART/SPI從Wifi/BT模塊接收到數(shù)據(jù),其實(shí)是一個(gè)控制指令,MCU只是簡(jiǎn)單的將這個(gè)控制指令轉(zhuǎn)成幾個(gè)GPIO輸出狀態(tài)的變化,如當(dāng)人體移動(dòng)到電燈1照明區(qū)域時(shí),Dragon Board上的CPU會(huì)做出判斷,發(fā)出點(diǎn)亮電燈1的指令,MCU接收到指令后使GPIO1輸出高電平,經(jīng)過(guò)驅(qū)動(dòng)電路電流放大使繼電器1閉合,于是電燈1被點(diǎn)亮。
四、體驗(yàn)
搭建好此系統(tǒng),我們便可以記錄室內(nèi)/監(jiān)控范圍內(nèi)的人員情況,如存在的時(shí)間及簡(jiǎn)單的人數(shù)統(tǒng)計(jì)。在此基礎(chǔ)上,我們可以實(shí)現(xiàn)對(duì)人體所在的區(qū)域用電器的控制,如:在有人在的地方打開(kāi)照明,沒(méi)人的地方關(guān)閉照明,如下圖所示。再進(jìn)一步的,我們還可以預(yù)測(cè)室內(nèi)人體的運(yùn)動(dòng)方向,就可以預(yù)先打開(kāi)即將進(jìn)入?yún)^(qū)域的電器,顯得更人性化。