智能家居系統(tǒng)主要基于RT-thread與ZigBee開發(fā),該系統(tǒng)主要分為五大部分,ZigBee無線傳感器監(jiān)控子系統(tǒng),語音識別子系統(tǒng),總控子系統(tǒng),網(wǎng)關(guān)子系統(tǒng),云端監(jiān)控子系統(tǒng)。ZigBee無線傳感器子系統(tǒng)通過各個傳感器節(jié)點采集數(shù)據(jù),將采集的數(shù)據(jù)通過無線網(wǎng)絡(luò)系統(tǒng)傳遞給協(xié)調(diào)器,由協(xié)調(diào)器與總控系統(tǒng)進行數(shù)據(jù)交換,以完成數(shù)據(jù)的傳遞??偪叵到y(tǒng)通過網(wǎng)絡(luò)將數(shù)據(jù)上傳至網(wǎng)絡(luò),用戶就能在遠程進行查家中的各種環(huán)境信息,實時掌握家中的最新動態(tài)。語音識別子系統(tǒng)可實現(xiàn)人機交互,實現(xiàn)家電設(shè)備的智能化控制。網(wǎng)關(guān)子系統(tǒng)有兩大作用,一是提供整個系統(tǒng)的網(wǎng)絡(luò);二是搭載攝像頭來采集視頻數(shù)據(jù),實施遠程監(jiān)控的功能。云端監(jiān)控子系統(tǒng)主要用于統(tǒng)計分析家中環(huán)境信息,通過可視化的界面了解家中最新動態(tài)??偪刈酉到y(tǒng)為整個智能家居系統(tǒng)的核心所在,協(xié)調(diào)各個子系統(tǒng)正常運轉(zhuǎn)。
開發(fā)環(huán)境
硬件:ART-Pi,ZigBee終端,STM32F103最小系統(tǒng)板,MT7628最小系統(tǒng)板
傳感器:DH11傳感器, LD3320語音識別模塊,SYN6288語音合成模塊等
RT-Thread版本:RT-Thread V 4.0.3
開發(fā)工具及版本:
MDK: 5.30
Ubuntu:1604
IAR:8.20
RT-Thread使用情況概述
該智能家居系統(tǒng)有兩個子系統(tǒng)采用了RT-Thread系統(tǒng),分別是語音識別子系統(tǒng),總控子系統(tǒng)。
語音識別子系統(tǒng)使用的是RT-Thread Nano,使用了多線程,移植了FinSH 組件,方便了該子系統(tǒng)調(diào)試。
總控子系統(tǒng)采用了完整版的RT-Thread系統(tǒng),內(nèi)核部分使用了調(diào)度器,信號量等;驅(qū)動部分使用了UART、SPI、BT、WiFi等;協(xié)議棧使用了MQTT等。軟件包部分使用了Onenet、cJSON等。
系統(tǒng)架構(gòu)
本文所提出的智能家居系統(tǒng)解決方案整體框架如圖所示。通過技術(shù)論證和架構(gòu)分析后,決定將系統(tǒng)劃分為五個子系統(tǒng):ZigBee無線傳感器監(jiān)控子系統(tǒng),語音識別子系統(tǒng),總控子系統(tǒng),網(wǎng)關(guān)子系統(tǒng),云端監(jiān)控子系統(tǒng)。ZigBee無線傳感器監(jiān)控子系統(tǒng)通過各個傳感器節(jié)點采集數(shù)據(jù),將采集的數(shù)據(jù)通過無線網(wǎng)絡(luò)系統(tǒng)傳遞給路由節(jié)點,再通過路由節(jié)點將收集的各個終端節(jié)點的數(shù)據(jù)進行二次傳遞給協(xié)調(diào)器,由協(xié)調(diào)器與總控系統(tǒng)進行數(shù)據(jù)交換,以完成數(shù)據(jù)的傳遞。總控系統(tǒng)通過無線網(wǎng)絡(luò)將數(shù)據(jù)上傳至網(wǎng)絡(luò),用戶就能在遠程進行查家中的各種環(huán)境信息,實時掌握家中的最新動態(tài)。語音識別子系統(tǒng)可實現(xiàn)人機交互,實現(xiàn)家電設(shè)備的智能化控制。網(wǎng)關(guān)子系統(tǒng)有兩大作用,一是連接以太網(wǎng);二是搭載攝像頭采集視頻數(shù)據(jù),實施遠程監(jiān)控的功能。云端監(jiān)控子系統(tǒng)主要用于統(tǒng)計分析家中環(huán)境信息,通過可視化的界面了解家中最新動態(tài)??偪刈酉到y(tǒng)為整個智能家居系統(tǒng)的核心所在,協(xié)調(diào)各個子系統(tǒng)正常運轉(zhuǎn)。
演示效果
心得感悟
通過本次比賽,我不僅豐富可項目實踐經(jīng)驗,而且對RT-Thread有了深入的學習和理解,我學習了RT-Thread的多線程及其調(diào)度、信號量、郵箱、消息隊列、內(nèi)存管理等,外設(shè)驅(qū)動以及各個組件等相關(guān)知識。通過這次比賽的項目實踐,我又積累了不少調(diào)試經(jīng)驗,豐富了我的知識體系。
最后感謝主辦方提供了這么好的一個平臺,讓我有機會展示自己,還讓我學到很多知識。希望在以后的自己里也能為RT-Thread開源社區(qū)貢獻自己的力量。