曹士明 宋吉峰
(吉林建筑科技學(xué)院 吉林省長(zhǎng)春市 130000)
近年來(lái)互聯(lián)網(wǎng)是信息科學(xué)技術(shù)的新浪潮,國(guó)內(nèi)外企業(yè)、政府重視物聯(lián)網(wǎng)技術(shù)構(gòu)建,其包含傳感器技術(shù),計(jì)算機(jī)和通信技術(shù)等,具有較廣的應(yīng)用范圍,涉及工業(yè)檢測(cè),智能交通、溯源管理、城市管理、門(mén)禁管理等多個(gè)方面。在家具使用過(guò)程中,目前海爾推出物聯(lián)網(wǎng)智能家居uhom 戰(zhàn)略,能夠借助ZigBee 協(xié)議使家用電器與海爾家電進(jìn)行網(wǎng)絡(luò)連接,目前研究針對(duì)物聯(lián)網(wǎng)技術(shù)通信和控制開(kāi)關(guān)研究較少。因此,本研究重點(diǎn)分析了基于智能家居中物聯(lián)網(wǎng)技術(shù)以及微控制器的具體應(yīng)用,以期能夠?yàn)榛谖锫?lián)網(wǎng)技術(shù),智能家居設(shè)備研發(fā)奠定基礎(chǔ)。
如圖1 所示為系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì)圖。
該系統(tǒng)是由上位機(jī)、下位機(jī)這兩個(gè)部分共同構(gòu)成的。上位機(jī)的顯示程序可通過(guò)LabVIEW 進(jìn)行編寫(xiě),下位機(jī)是由液晶顯示電路、外設(shè)外圍設(shè)備、ARM 最小系統(tǒng)構(gòu)成,其中主控芯片是STM32F107,通過(guò)RS-232 串口進(jìn)行外圍設(shè)備的預(yù)警控制,為確保控制準(zhǔn)確度,在每次狀態(tài)參數(shù)發(fā)生變化時(shí),外圍設(shè)備均需要向ARM 返回改變后的狀態(tài),并通過(guò)上位機(jī)進(jìn)行顯示。
從該系統(tǒng)的硬件設(shè)計(jì)上來(lái)看:
(1)微控制器的選型。在本系統(tǒng)中使用的處理器為STM32系列產(chǎn)品,該處理器為32 位處理器,是基于ARMV7 所構(gòu)架的Cortex-M3 內(nèi)核,其主頻為72MHz,含有256 字節(jié)FLASH 和64K字節(jié)SRAM,同時(shí)具有32 位寬路徑,寄存器庫(kù)和內(nèi)存接口,包含通用寄存器13 個(gè),堆棧指針兩個(gè),鏈接寄存器一個(gè),程序計(jì)數(shù)器一個(gè),其具有較快的運(yùn)行處理速度,代碼產(chǎn)生量較少。這種嵌入式快速中斷控制器,能夠幫助系統(tǒng)實(shí)現(xiàn)延遲操作和實(shí)時(shí)性功能。
(2)在TFT 液晶屏選型中,TFT 是指薄膜液晶管能夠主動(dòng)控制屏幕的獨(dú)立像素。圖像產(chǎn)生原理是,顯示屏由較多可發(fā)出任意顏色光線像素構(gòu)成,控制各像素顯示顏色即可實(shí)現(xiàn)。在本系統(tǒng)中可使用TFTLCD 屏,其分辨率為320×240,262K 色,采用控制器ILI9320 包含720 路源極驅(qū)動(dòng)以及320 路柵極驅(qū)動(dòng),顯存容量可達(dá)到172800 字節(jié)。在ST M 32F107 處理器與LIL9320 控制模塊中,其接口是i80-sys tem 接口,數(shù)據(jù)總線為DB,其余信號(hào)為控制信號(hào)。由于該控制器芯片無(wú)法支持FSMC,因此該系統(tǒng)需要通過(guò)GPIO 總線,以實(shí)現(xiàn)對(duì)屏幕訪問(wèn)操作。
(3)設(shè)計(jì)串口模塊,本系統(tǒng)需使用有ARM 所自帶的串行通訊模塊,由于ST M32F107 芯片具有豐富的串口功能,可提供五路串口,本系統(tǒng)使用兩個(gè)串口,其中一個(gè)可用于上位機(jī)命令接收,另一個(gè)用于外圍設(shè)備的實(shí)時(shí)控制。本系統(tǒng)串口接口為9 個(gè)引腳的 RS-232 接口,由于ST M 32F107 處理器所輸出的電平為T(mén)TL/COMS,而PC 串口是RS-232 電平,因此,在硬件設(shè)計(jì)上使用MAX232 轉(zhuǎn)換芯片,以實(shí)現(xiàn)雙向電壓切換。
在軟件設(shè)計(jì)中,由于該智能家居控制系統(tǒng),包含上位機(jī)、下位機(jī)這兩個(gè)部分軟件,其中利用LabVIEW 來(lái)編寫(xiě)上位機(jī)軟件,可實(shí)現(xiàn)人機(jī)交互,主要負(fù)責(zé)命令發(fā)送。而下位機(jī)是由STM23 底層驅(qū)動(dòng)程序,液晶屏顯示程序和串口通訊程序構(gòu)成的。在上位機(jī)設(shè)計(jì)中,LabVIEW 是使用圖標(biāo)來(lái)代替文本構(gòu)建的圖形編輯語(yǔ)言,在本系統(tǒng)設(shè)計(jì)中通過(guò)LabVIEW 所提供的VISA 控件,其串口為CONI 口,波特率可達(dá)到9600b/s,能夠通過(guò)事件結(jié)構(gòu)及時(shí)做出用戶(hù)界面響應(yīng)。每次按下顯示界面的按鍵后,則會(huì)形成一個(gè)事件,事件能夠?qū)ν鈬O(shè)備運(yùn)行控制。在下位機(jī)設(shè)計(jì)中,系統(tǒng)初始化之后,顯示屏?xí)@示歡迎使用的界面,其內(nèi)容包括系統(tǒng)名字以及系統(tǒng)使用的注意事項(xiàng)等,ARM 在接收上位機(jī)傳送的信號(hào)之后,會(huì)將相應(yīng)的信號(hào)按照協(xié)議打包發(fā)送給外圍設(shè)備,外圍設(shè)備將變化狀態(tài)按照通信協(xié)議返回給ARM,ARM 提取數(shù)據(jù),并將數(shù)據(jù)傳送給上位機(jī)顯示。
利用該系統(tǒng)進(jìn)行實(shí)時(shí)遠(yuǎn)程控制,選擇實(shí)驗(yàn)終端配置4 個(gè)繼電器控制板,摁下上位機(jī)的顯示界面按鍵之后,對(duì)應(yīng)繼電器會(huì)及時(shí)作出響應(yīng),如果打開(kāi)繼電器,那么上位機(jī)的顯示界面會(huì)有對(duì)應(yīng)的指示燈亮,如果關(guān)閉繼電器,會(huì)有對(duì)應(yīng)的上位機(jī)指示燈熄滅,正常條件下,液晶屏?xí)@示歡迎使用的界面,包含系統(tǒng)名字和注意事項(xiàng)。一旦系統(tǒng)運(yùn)行時(shí)存在故障,那么液晶顯示屏?xí)苯语@示ERROR,并且ARM 會(huì)及時(shí)發(fā)出蜂鳴報(bào)警信號(hào),如果該報(bào)警器響起,則測(cè)試可達(dá)到預(yù)期效果。
圖1:系統(tǒng)總體設(shè)計(jì)圖
圖2:燈光控制系統(tǒng)結(jié)構(gòu)示意圖
目前在智能家居中,燈具控制方式相對(duì)單一,缺乏智能化控制,因此,本研究基于物聯(lián)網(wǎng)技術(shù)提出了家居燈光智能控制系統(tǒng),以實(shí)現(xiàn)對(duì)燈光的智能化控制,采用單片機(jī)STC12C5A60S2 作為設(shè)計(jì)平臺(tái),能夠結(jié)合GSM 模塊、藍(lán)牙、紅外等模塊,以實(shí)現(xiàn)對(duì)燈光的無(wú)線控制。在設(shè)備中還安裝了時(shí)鐘芯片,DS 12C887 能夠?qū)崿F(xiàn)定時(shí)控制,通過(guò)共同作用,在時(shí)間上及時(shí)提醒用戶(hù)。首先,在系統(tǒng)設(shè)計(jì)上有以下幾個(gè)部分構(gòu)成,包括 GSM 接收模塊、藍(lán)牙接收模塊、繼電器、定時(shí)設(shè)置模塊,電壓模塊等,能夠通過(guò)GSM 接收模塊,藍(lán)牙模塊向單片機(jī)傳送信號(hào),同時(shí)由液晶顯示屏顯示時(shí)間,通過(guò)傳感器進(jìn)行用戶(hù)時(shí)間提醒,在多種模塊配合下能夠進(jìn)行燈光無(wú)線控制。如圖2 所示為燈光的控制系統(tǒng)結(jié)構(gòu)示意圖。
從其原理上來(lái)看,該燈光控制系統(tǒng)是以單片機(jī)STC12C5A60S2作為主控制芯片,同時(shí),時(shí)鐘芯片、DS124887 配合同時(shí),采用多站P2338DP 作為藍(lán)牙智能模塊以及單片機(jī)窗口橋梁,由單片機(jī)來(lái)接受指令,此時(shí)系統(tǒng)增加芯片組,經(jīng)放大電路進(jìn)行信號(hào)放大,配合繼電器完成對(duì)應(yīng)功能,串聯(lián)二極管IN4007 進(jìn)行電壓檢測(cè),能夠?qū)崿F(xiàn)燈光亮度調(diào)節(jié)。具體來(lái)看:
(1) GS 模塊單片機(jī)與藍(lán)牙模塊連接,藍(lán)牙與GSM 模塊采用窗口方式實(shí)現(xiàn)單片機(jī)通信研究,STC12C5A60S2 單片機(jī)能夠提供一個(gè)串口,利用多串口擴(kuò)展器SP2338DP,可解決藍(lán)牙GS 模塊無(wú)法與大面積串口連接問(wèn)題,在無(wú)線控制系統(tǒng)中藍(lán)牙模塊具有重要作用,可通過(guò)V2.0 協(xié)議,借助HC-07 從模塊引出接口,進(jìn)而實(shí)現(xiàn)與單片機(jī)串口進(jìn)行連接。GSM 模塊能夠通過(guò)RS-232 接口,進(jìn)而與外圍設(shè)備連接,通過(guò)單電源電平轉(zhuǎn)換芯片處理之后,可將該信號(hào)傳送給多串口擴(kuò)展芯片。
(2)手機(jī)APP 和短信發(fā)送端設(shè)計(jì)。在藍(lán)牙發(fā)送指令前需安裝Arduino 程序,將該APP 與藍(lán)牙連接,根據(jù)藍(lán)牙顯示,如果燈閃爍則表示未成功連接,如果指示燈常亮則表示已完成連接,并打開(kāi)端口,在用戶(hù)連接時(shí)手機(jī)會(huì)自動(dòng)彈出匹配窗口,用戶(hù)需要輸入密碼后即可實(shí)現(xiàn)與藍(lán)牙模塊的連接,再次連接手機(jī)可自動(dòng)匹配。在手機(jī)中輸入on、off、y5 等相關(guān)字符,會(huì)實(shí)現(xiàn)燈光狀態(tài)的實(shí)時(shí)控制。單片機(jī)在接在接收到數(shù)據(jù)后,將原有數(shù)據(jù)及時(shí)傳送給軟件,并在顯示屏中進(jìn)行顯示確認(rèn)是否進(jìn)行指令發(fā)送,如果藍(lán)牙模塊預(yù)約手機(jī)發(fā)送端。之間的距離超出信號(hào)接收范圍,需通過(guò)短信方式發(fā)送指令,到達(dá)GSM 接收模塊完成操作。
(3)設(shè)計(jì)紅外控制模塊,可通過(guò)芯片紅外遙控控制實(shí)現(xiàn)與燈光連接,采用PT2272 解碼芯片僅能夠用于接收端指令接收,設(shè)備可保持對(duì)應(yīng)電平,進(jìn)而接受不同指令使電平發(fā)生變化,按下遙控端的4 個(gè)按鈕中其中任何一個(gè),這種情況下系統(tǒng)能夠控制燈光顯示狀態(tài),上述A,B,C,D,4 個(gè)符號(hào)中分別對(duì)應(yīng)燈光打開(kāi),強(qiáng)光弱,光以及燈光關(guān)閉4 種狀態(tài)。
(4)設(shè)計(jì)定時(shí)控制模塊,物聯(lián)網(wǎng)燈光控制系統(tǒng)使用時(shí)中心面鏡設(shè)計(jì),其型號(hào)為DS1241887,該芯片能夠顯示日期,時(shí)間和信息的那個(gè)信息,通過(guò)芯片采集信息進(jìn)行系統(tǒng)定時(shí)控制同時(shí)該模塊還有4 個(gè)按鍵,利用S1,S2,S3,S4 能夠設(shè)定定時(shí)控制系統(tǒng)參數(shù),當(dāng)達(dá)到提醒狀態(tài)時(shí)可由系統(tǒng)其自動(dòng)向p2.3 輸出低電平,經(jīng)放大電路后可使揚(yáng)聲器動(dòng)作并向用戶(hù)發(fā)出提醒,同時(shí)向P2.6 輸出低電平,通過(guò)放大電路可驅(qū)動(dòng)B 顯示燈操作。這種情況下燈光能夠與蜂鳴器同時(shí)處于動(dòng)作,如需關(guān)閉揚(yáng)聲器,可通過(guò)APP 自動(dòng)字符發(fā)送或通過(guò)S5 按鍵來(lái)操作。
基于物聯(lián)網(wǎng)技術(shù)的智能燈光控制系統(tǒng),根據(jù)其功能系統(tǒng)軟件分為以下4 個(gè)模塊:
(1)系統(tǒng)初始化,包括藍(lán)牙,GSM 模塊以及電視機(jī)初始化,數(shù)據(jù)初始化等。
(2)通過(guò)短信進(jìn)行指令發(fā)送,可通過(guò)手機(jī)短信編輯等多種方式將指令發(fā)送于GSM 接收端中,通過(guò)該模塊中的RS232 串口可提取接收指令,并將其傳送給單片機(jī)完成操作。
(3)藍(lán)牙接收指令模塊,通過(guò)藍(lán)牙接收的指令,經(jīng)過(guò)TXD 或RXD 模塊進(jìn)而傳送給串口芯片,最終由單片機(jī)進(jìn)行后續(xù)處理,如果單片機(jī)接受指令之后,通過(guò)程序判斷后續(xù)繼電器的動(dòng)作,選擇SP2338DP 中TXD 或RXD 完成串口接收,將所接收新指令傳送給APP。
(4)定時(shí)控制模塊,包括設(shè)計(jì)掃描和終端控制,此時(shí)如果摁下按鍵會(huì)設(shè)置提醒時(shí)間,設(shè)置完成后自動(dòng)退出屏幕,目前一旦到達(dá)預(yù)期的顯示時(shí)間,系統(tǒng)會(huì)啟動(dòng)繼電器照明功能。
智能家居系統(tǒng)整體設(shè)計(jì)比較復(fù)雜,其能夠借助多個(gè)網(wǎng)絡(luò)設(shè)備訪問(wèn)單片機(jī),進(jìn)而對(duì)家中的門(mén)禁系統(tǒng)以及家用電器進(jìn)行實(shí)時(shí)監(jiān)控,該智能系統(tǒng)平臺(tái)設(shè)計(jì)是由多個(gè)子系統(tǒng)構(gòu)成的,彼此之間可進(jìn)行信息交換和采集,同時(shí)監(jiān)控系統(tǒng)還能夠?qū)崿F(xiàn)遠(yuǎn)程問(wèn)題解決,用戶(hù)可通過(guò)電腦或手機(jī)APP 即可遠(yuǎn)程遙控。對(duì)智能家居發(fā)出指令之后,可對(duì)系統(tǒng)實(shí)現(xiàn)有效控制。通常智能家居系統(tǒng)控制分為三個(gè)方式,第一可通過(guò)WEB 服務(wù)器控制按鈕控制家庭電器;第二用戶(hù)可在家中通過(guò)觸摸屏點(diǎn)擊控制;第三通過(guò)手機(jī)進(jìn)行控制,比如短信、電子郵件等。上述三種方式均可通過(guò)遠(yuǎn)程或者直接控制。電路控制需要借助傳感器,該模塊功能的實(shí)現(xiàn)需要利用電壓編寫(xiě)電路程序,對(duì)ADC 部分程序進(jìn)行監(jiān)測(cè)。確保輸出電壓可達(dá)到標(biāo)準(zhǔn)范圍,一旦ADC 電壓存在問(wèn)題會(huì)及時(shí)發(fā)出蜂鳴報(bào)警,確保住宅安全性。
總而言之,近年來(lái),隨著物聯(lián)網(wǎng)和微控制器技術(shù)的發(fā)展,本研究基于AR M 微控制器和labVIEW 進(jìn)行智能家居控制系統(tǒng)的設(shè)計(jì),處理器是下位機(jī)接收上位機(jī)發(fā)送指令,以實(shí)現(xiàn)家電、窗簾、照明、電話等設(shè)備的遠(yuǎn)程控制。過(guò)去智能家居控制系統(tǒng)功能要求較低,大多采用8 位微控制器作為核心,隨新技術(shù)發(fā)展,本系統(tǒng)在設(shè)計(jì)中采用32 位ARM 處理器,同時(shí)搭配LabVIEW 進(jìn)行上位機(jī)程序的編寫(xiě),能夠提高智能家具性能,在控制方式上由過(guò)去的定時(shí)控制轉(zhuǎn)為實(shí)時(shí)遠(yuǎn)程控制,在任務(wù)執(zhí)行上由單任務(wù)創(chuàng)新改變?yōu)槎嗳蝿?wù)創(chuàng)新,最后在終端中能夠?qū)崿F(xiàn)可視化,操作完成界面較好,功能豐富,操作簡(jiǎn)單的智能家居遠(yuǎn)程控制系統(tǒng)。