袁 興,鄧成中,譚 天,何紫楊
(西華大學 機械工程學院,四川 成都 610039)
近幾年來,隨著社會經濟和科學技術的不斷發展,人民的生活水平不斷提高,人們對于生活品質的要求也越來越高,這促進了智能家居行業的快速發展。智能家居控制系統主要運用了自動控制技術、傳感器技術、網絡通信等技術來為人們提供一種安全、方便、舒適的居住環境[1]。目前的智能家居控制系統大多數采用藍牙、WiFi、ZigBee等無線通信技術先構成無線局域網絡后,再連接控制終端的方式來實現對家居環境參數和家用電器的監測與控制。但藍牙、WiFi、ZigBee等無線通信技術存在著通信距離短、功耗大、連接小、成本高等缺點[2-3],在一定程度上限制了智能家居控制系統的發展。
低功耗廣域網技術的不斷發展與成熟為智能家居控制系統的發展開辟了一條新的道路。其中NB-IoT技術作為低功耗廣域網技術中的一種,具有功耗低、覆蓋廣、連接大、成本低等優點[4-5]。基于NB-IoT技術的優勢,本文設計了一種基于M5310A與OneNET云平臺的智能家居控制系統。該系統通過采用基于M5310A芯片的NB-IoT無線傳輸模塊將智能家居控制系統的硬件設備接入到OneNET云平臺,OneNET云平臺再連接用戶終端,最后通過用戶終端實現對智能家居環境參數的實時查詢與常用家電的遠程控制。由于采用了NB-IoT技術與OneNET云平臺技術,使得本系統具有功耗低、覆蓋廣、開發周期短、成本低等特點。
基于M5310A與OneNET云平臺的智能家居控制系統由感知層、傳輸層、平臺層和應用層組成[6],其總體系統結構如圖1所示。

圖1 系統總體結構圖
感知層的主要功能是檢測智能家居的環境參數以及控制常用家電的開啟和關閉,其主要包括有各種環境參數檢測傳感器、微控制器、窗簾電機驅動模塊、繼電器驅動模塊、火災報警模塊等。傳輸層主要包括NB-IoT模塊和NB-IoT基站,其利用NB-IoT無線傳輸技術和物聯網協議將系統的底層硬件接入到OneNET云平臺,實現底層硬件與OneNET云平臺之間的數據和命令傳輸。平臺層主要用于接收和存儲底層硬件上傳的環境參數以及向底層硬件下發家電控制命令。應用層的主要作用是通過用戶終端實現對智能家居環境參數的實時查詢以及對常用家電進行遠程控制。
底層硬件控制器硬件結構如圖2所示,主要包括有傳感器檢測模塊、電源模塊、微控制器、窗簾電機驅動模塊、繼電器驅動模塊和火災報警模塊等。傳感器檢測模塊用于檢測智能家居的環境參數,包括溫濕度傳感器DHT11、煙霧傳感器MQ-2和光照傳感器BH1750,分別用于對家居環境的溫濕度參數、煙霧濃度和光照強度的檢測[7]。微控制器采用的兆易創新生產的GD32F103CBT6單片機,其具有4個定時器,3個串口,2個ADC等豐富的內部資源,最高主頻可達108 MHz。微控制器的主要作用是接收傳感器檢測模塊采集

圖2 底層硬件控制器硬件結構
到的環境參數,并通過NB-IoT模塊上傳到OneNET云平臺;以及通過NB-IoT模塊接收OneNET云平臺下發的家電控制命令,并根據控制命令類型控制常用家電的開啟和關閉;并且還能驅動火災報警模塊實現火災報警。微控制器最小系統硬件電路如圖3所示。電源模塊的作用是為智能家居控制系統的各個模塊提供所需大小的電壓。

圖3 微控制器最小系統電路
窗簾電機驅動模塊用于驅動窗簾直流電機正轉或反轉,實現對窗簾的拉開或關閉。本系統使用4個N型MOS管構成H橋電路來實現對窗簾直流電機的驅動[8],其硬件電路如圖4所示。其中Q1~Q4為4個N型MOS管;EG2104芯片是一款高耐壓帶SD快速關斷功能的MOS管專用驅動芯片,用于驅動4個MOS管;C11和C12為自舉電容;IN1和IN2為一組互補PWM輸入驅動信號;SD為快速關斷信號。驅動電路工作原理如下:當IN1為高電平,IN2為低電平時,MOS管Q1、Q4導通,Q2、Q3截止;當IN1為低電平,IN2為高電平時,MOS 管Q2、Q3導通,Q1、Q4截止 ;Q1、Q4和 Q2、Q3交替導通驅動窗簾直流電機正轉或反轉;當SD為低電平時,Q1~Q4均截止,從而實現快速關斷功能。

圖4 窗簾電機驅動模塊電路
繼電器驅動模塊用于實現對常用家用電器的開啟或關閉,其硬件電路如圖5所示。繼電器驅動模塊通過光耦和三極管控制繼電器的通斷來實現對常用家用電器的開啟和關閉,如電燈、電視、飲水機、空調等。

圖5 繼電器驅動模塊電路
當智能家居發生火災時,傳感器檢測模塊檢測到環境的溫度和煙霧濃度過高,則認為有火災發生,微控制器驅動火災報警模塊報警。火災報警模塊的硬件電路如圖6所示,這里通過驅動蜂鳴器和LED燈來實現聲光報警。

圖6 火災報警模塊電路
NB-IoT模塊的作用是將智能家居控制系統的底層硬件接入到OneNET云平臺,實現底層硬件與OneNET云平臺之間的數據和命令交互,其硬件電路如圖7所示,主要包括M5310A芯片、SIM卡座、RF天線和固件下載接口等。M5310A芯片是中移物聯網公司生產的一款工業級多頻段NB-IoT模組芯片,內嵌MQTT/LwM2M/COAP等多種傳輸協議及擴展AT指令,通過使用簡單的AT指令即可實現NB-IoT模塊與OneNET云平臺之間的連接[9]。并且M5310A芯片支持PSM和eDRX兩種節電技術,滿足系統對低功耗的要求。通過NB-IoT模塊可將智能家居的環境參數上傳到OneNET云平臺,以及接收OneNET云平臺下發的家電控制命令。

圖7 NB-IoT模塊硬件電路
系統軟件設計主要包括環境參數采集與上傳程序設計、命令接收與家電控制程序設計和用戶終端界面設計3部分。
環境參數采集與上傳程序流程圖如圖8所示。在系統上電后,首先對基本外設、I/O口、傳感器檢測模塊和NB-IoT模塊等進行初始化;接著通過向NB-IoT模塊發送AT指令連接OneNET云平臺;OneNET云平臺連接成功后開啟定時器中斷并等待定時時間到;定時時間達到后利用傳感器檢測模塊采集家居環境參數并通過NB-IoT模塊上傳到OneNET云平臺;數據上傳完成后等待下一次定時時間達到后再進行環境參數的采集與上傳。

圖8 環境參數采集與上傳程序流程
命令接收與家電控制程序流程圖如圖9所示。首先對系統進行初始化操作;接著通過NB-IoT模塊接收OneNET云平臺下發的家電控制命令并通過串口發送給底層硬件控制器;底層硬件控制器通過串口接收下發的家電控制命令,并根據控制命令的類型驅動繼電器或窗簾直流電機,實現對常用家用電器(窗簾、電燈、電視、飲水機、空調等)的開啟與關閉。控制命令執行完成后繼續等待接收下一個控制命令。

圖9 命令接收與家電控制程序流程
本系統通過用戶終端可實現對智能家居環境參數的實時查詢以及可對常用家電進行遠程控制,其主要包括手機移動端和Web網頁端。用戶終端的界面設計是一個相對復雜的過程,但OneNET云平臺為開發者提供了一個比較簡單實用的開發工具,使開發者可以快速的構建自己的應用終端界面。開發者只需在OneNET云平臺應用開發端拖拽相應控件,并設置好參數屬性,即可完成應用終端界面設計[10]。本文利用OneNET云平臺提供的應用開發工具來構建智能家居控制系統的手機APP和Web網頁用戶終端界面,用于對智能家居環境參數的實時查詢與常用家電的遠程控制。
燒寫好底層硬件控制器程序后對系統上電,登錄OneNET云平臺開發者中心,在設備列表中設備狀態顯示為在線狀態,如圖10所示,說明成功連接OneNET云平臺。通過OneNET云平臺應用管理Web網頁和手機APP,可實時查詢智能家居的環境參數(溫濕度、煙霧濃度、光照強度),以及通過相應控件可遠程控制常用家電(窗簾、電燈、電視、飲水機、空調等)的開啟與關閉。測試結果表明,系統運行穩定、上傳數據準確、控制命令的響應速度較快,滿足系統要求。手機APP界面和Web網頁界面分別如圖11和圖12所示。

圖10 設備狀態圖

圖11 手機APP界面

圖12 Web網頁界面
本文設計了一種基于M5310A與OneNET云平臺的智能家居控制系統。該系統采用基于M5310A芯片的NB-IoT模塊將智能家居控制系統的底層硬件接入到OneNET云平臺,可通過用戶終端實現對智能家居溫濕度參數、煙霧濃度、光照強度等環境參數的實時查詢,并且還能遠程控制常用家電的開啟和關閉。由于采用了NB-IoT技術與OneNET云平臺技術,使得本系統具有功耗低、覆蓋廣、成本低、開發周期短等優勢,在智能家居領域有一定的應用前景。