崔浩斌,劉 偉
(中船重工縱橫科技有限公司,湖北宜昌443000)
隨著計(jì)算機(jī)的普及,5G 技術(shù)的到來以及人工智能[1]的推廣,智能家居正不斷向日常的家用電器領(lǐng)域延伸。在多元化的技術(shù)發(fā)展時代,不管是嵌入式硬件技術(shù),還是軟件技術(shù),技術(shù)之間的相互融合是必然趨勢。正是由于各技術(shù)間的相互整合,使得傳統(tǒng)的家用電器能夠在新技術(shù)融合的包裝下滿足人們高質(zhì)量的生活需求。智能家居控制系統(tǒng)主要是提供對家居設(shè)備的智能控制方案,從而提供高效、舒適的生活環(huán)境。技術(shù)上不必非常復(fù)雜,主要以用戶體驗(yàn)為首要指標(biāo)。在當(dāng)今節(jié)能減排、注重環(huán)保的趨勢下,智能家居系統(tǒng)的推廣可以提供更優(yōu)質(zhì)的空氣、更安全的飲用水和更節(jié)能用電的生活方式,人們在享受信息時代所帶來的便利的同時,對智能化生活方式還會激發(fā)出進(jìn)一步的需求,從而進(jìn)一步推動技術(shù)的發(fā)展。
設(shè)計(jì)一款智能家居控制系統(tǒng)[2],選用STM32 作為主控芯片,外接各模塊電路。外接集成電路模塊有Wi-Fi 無線通訊模塊、非特定人語音識別模塊、電源控制模塊等?;A(chǔ)功能需求由這幾個模塊通過導(dǎo)線與主控模塊集合在一起來實(shí)現(xiàn),各個模塊都需要實(shí)現(xiàn)特定的功能,主控模塊則需要從各個模塊那里獲得反饋信息,再經(jīng)過解析處理,下達(dá)正確的指令,通過局域網(wǎng)絡(luò)反饋給用戶相關(guān)信息,從而形成一個閉環(huán)系統(tǒng)。
在本系統(tǒng)控制中,主要以語音識別模塊發(fā)送特定指令來控制室內(nèi)溫度控制、采光系統(tǒng)控制等。本智能家居控制系統(tǒng)可以隨時隨地對家居環(huán)境中的智能終端進(jìn)行控制。用戶可以通過語音控制模塊來打開家里的空調(diào)、燈光等。例如,可對著語音識別模塊說:“小智,請打開空調(diào),并設(shè)為26℃”,系統(tǒng)語音輸入模塊就會將采集到的語音模擬量轉(zhuǎn)換為數(shù)字信號,傳輸給STM32 主控模塊,STM32 解析處理后,通過Wi-Fi 模塊發(fā)送相應(yīng)的指令到空調(diào)終端,空調(diào)開啟,并設(shè)置為目標(biāo)溫度。此過程中語音輸入模塊與STM32 通過串口通訊,空調(diào)與STM32 通過Wi-Fi 轉(zhuǎn)串口通訊,實(shí)質(zhì)上也是串口通訊。
系統(tǒng)需要首先保證各子模塊的功能正常運(yùn)行,然后將各子模塊與主控模塊聯(lián)調(diào)組合,最后通過軟件不斷調(diào)試改善系統(tǒng)的功能。利用這些功能實(shí)現(xiàn)真正意義家居智能化,直接有效地為用戶家居生活提供便利。智能家居的控制系統(tǒng)圖如圖1 所示[3]。
圖1 智能控制系統(tǒng)示意圖
系統(tǒng)具體選用STM32F103ZET6 作為主控芯片,外接各子模塊實(shí)現(xiàn)整體設(shè)計(jì)。外接的主要子模塊包括非特定人語音識別模塊和Wi-Fi 模塊等[4]。
主控芯片所采用的STM32F103ZET6 是由ST公司出品的STM32 系列當(dāng)中的一款144 腳的芯片,它擁有512k 閃存控制器32 位Cortex-M3 內(nèi)核,該內(nèi)核是專門用于設(shè)計(jì)低功耗、高性能、低成本的主控芯片。64k 片內(nèi)RAM(相當(dāng)于內(nèi)存),片內(nèi)FLASH 支持在線編程(IPA),具有高達(dá)72MHz 的頻率,數(shù)據(jù)、指令分別走不同的流水線,以確保CPU 運(yùn)行速度達(dá)到最大化。片內(nèi)雙RC 晶振,提供8MHz 和32kHz 的頻率。支持片外高速(8MHz)與低速(32kHz)晶振。其中片外低速晶振可用于CPU 的實(shí)時時鐘,其自帶的后備電源引腳可用于掉電后的時鐘行走。此外還包含多達(dá)80 個IO(大部分兼容5V 邏輯),4 個通用定時器,2 個高級定時器,2 個基本定時器,3 路 SPI 接口,2 路 IIS 接口,2 路 IIC 接口,5 路 USART 等。其構(gòu)成的最小系統(tǒng)的工作原理如圖2 所示。
圖2 最小系統(tǒng)工作原理
語音識別模塊選用XFMT101,目前支持語音識別、語音合成、語音播放等功能,支持 UART 作為通信接口,功能豐富,接口簡單,完美展現(xiàn)語音技術(shù)在方案上的應(yīng)用,為用戶提供便捷的語音解決方案[5]。該模塊由訓(xùn)練和識別兩個階段組成。訓(xùn)練階段的主要工作是收集大量的語音語料,經(jīng)過預(yù)處理和特征提取后得到特征參數(shù),通過特征建模,達(dá)到建立訓(xùn)練語音模型庫的目的;識別階段的具體工作是把輸入的語音的特征參數(shù)和模型庫中的參考模型進(jìn)行相似度對比,最后將相似度高的輸入特征作為結(jié)果輸出。從而實(shí)現(xiàn)語音識別功能。
模塊集中器RAK831 是多通道高性能發(fā)射器/接收器模塊,旨在接收多個LoRa 數(shù)據(jù)包,同時在多個通道上使用不同的擴(kuò)頻因子,是一款半雙工的LoRa/LoRaWAN 網(wǎng)關(guān)模塊,采用Semtech1301 芯片,支持8 個通道信道,發(fā)射功率20dBm,接收靈敏度最低-138dBm。它可以集成到網(wǎng)關(guān)中作為該網(wǎng)關(guān)的完整射頻前端,在RoLa 網(wǎng)關(guān)和大量LoRa 終端節(jié)點(diǎn)之間提供距離廣泛的穩(wěn)健通信。本模塊內(nèi)部寫入了OpenWrt 系統(tǒng)。OpenWrt 系統(tǒng)的軟件包管理提供了一個完全可寫的文件系統(tǒng),并允許自定義,以適應(yīng)任何應(yīng)用程序使用該軟件包。
在電源部分的設(shè)計(jì)中,主電源選用12V 輸入,1路5V 輸出,兩路12V 輸出,總電流為5A,為控制板、Wi-Fi 模塊、語音識別模塊供電。其中控制板5V電源也可以通過USB 接口提供。部分電路如圖3 所示[6]。
圖3 電源電路示意圖
硬件設(shè)計(jì)主要是串口通訊部分。語音識別模塊、Wi-Fi 模塊通訊本質(zhì)上都是通過串口通訊。示意電路圖如圖4 所示。
圖4 串口通訊電路示意圖
5.1.1 溫度控制接口
溫度控制采用單線智能的DS18B20 溫度傳感器,將被測溫度直接轉(zhuǎn)換成計(jì)算機(jī)能識別的數(shù)字信號輸出。溫度不需要經(jīng)電橋電路先獲得電壓模擬量再經(jīng)信號放大和A/D 轉(zhuǎn)換成數(shù)字信號,其信息傳輸只需要1 根信號線,與控制板接口十分方便,讀寫及溫度變換的功率來自于數(shù)據(jù)線而不需要額外電源,與STM32 可以采用VCC 接外部電源,GND 接地,I/O 與STM32 的I/O 線相連;另外還可用寄生電源供電,此時,UDD 與 GND 接地,I/O 接單片機(jī) I/O。在此設(shè)計(jì)中采用的是第二種方式。
在寄生電源供電方式下,DS18B20 從單線信號線上汲取能量,過程為:在信號線DQ 處于高電平期間把能量存儲在內(nèi)部電容里,在信號線處于低電平期間消耗電容上的電能工作,直到高電平到來再給寄生電源(電容)充電。
獨(dú)特的寄生電源方式有三點(diǎn)好處:
1) 進(jìn)行遠(yuǎn)距離測溫時,無需本地電源;
2) 可以在沒有常規(guī)電源的條件下讀取ROM;
3) 電路更加簡潔,僅用一根I/O 口實(shí)現(xiàn)測溫。
搜集室內(nèi)的溫度變化數(shù)據(jù),經(jīng)STM32 處理后,按照需求設(shè)定溫度變化的觸摸要求,打開空調(diào)制冷或制熱功能。當(dāng)溫度達(dá)到預(yù)設(shè)的觸摸要求時,就聯(lián)動收回控制命令。當(dāng)溫度高時,空調(diào)開端制冷;當(dāng)溫度低時,空調(diào)開端制熱。與設(shè)定的溫度對比,如果有偏差則發(fā)出相應(yīng)的數(shù)據(jù)指令,直到與設(shè)定的溫度在允許偏差范圍內(nèi),從而形成閉環(huán)控制。
5.1.2 Wi-Fi 控制接口
Wi-Fi 模塊SX1301 和單片機(jī)的通訊相對比較簡單,主要利用了Wi-Fi 模塊的串口(VCC 、RX、TX、GND)[7-8]。Wi-Fi 模塊的作用就是將串口轉(zhuǎn)化成無線 Wi-Fi 信號。Wi-Fi 模塊的 TXD、RXD、VDD、GND 分別連接到 STM32 的 UART_RX、UART_TX、VCC_3.3V、GND,模塊供電電壓為直流3.3V,接口信號電壓為標(biāo)準(zhǔn)串口 TTL 電平,nRESET 引腳與STM32 連接,便于必要時對模塊進(jìn)行復(fù)位操作,也可將此引腳懸空,不影響正常工作。
單片機(jī)與Wi-Fi 模塊連接,上電對Wi-Fi 模塊進(jìn)行初始化設(shè)置,對Wi-Fi 模塊發(fā)送熱點(diǎn)連接指令(連接熱點(diǎn)的名稱、密碼)即可。Wi-Fi 模式工作在AP 模式,可以設(shè)置成UDP 廣播模式發(fā)送廣播信息,智能終端直接接入Wi-Fi 模塊提供的網(wǎng)絡(luò),在同一熱點(diǎn)網(wǎng)絡(luò)實(shí)現(xiàn)無線控制單片機(jī)或遠(yuǎn)程通訊。Wi-Fi模式工作在STA 模式,智能終端和Wi-Fi 模塊工作在無線路由提供的無線網(wǎng)絡(luò)環(huán)境中,數(shù)據(jù)信號經(jīng)過無線路由器轉(zhuǎn)發(fā),從而實(shí)現(xiàn)局域網(wǎng)無線控制。
通過控制系統(tǒng)的Wi-Fi 路由得到對應(yīng)的指令,通過控制板與Wi-Fi 建立連接,系統(tǒng)采用Wi-Fi 轉(zhuǎn)串口模塊,當(dāng)串口接收到數(shù)據(jù)后,由STM32 主控來解析并發(fā)出相應(yīng)的指令,因此Wi-Fi 模塊要與STM32 進(jìn)行數(shù)據(jù)通訊,并且STM32 主控和各個外設(shè)模塊之間也要進(jìn)行相互通訊。STM32 擁有很強(qiáng)的串口通訊能力,因此可以采用其串口實(shí)現(xiàn)與各個模塊間的數(shù)據(jù)傳輸。需要對Wi-Fi 模塊進(jìn)行配置,本系統(tǒng)側(cè)重于局域網(wǎng)的控制。
在接收數(shù)據(jù)時,由RXD 口負(fù)責(zé)接收數(shù)據(jù)。單片機(jī)不斷對RXD 進(jìn)行數(shù)據(jù)采樣,當(dāng)發(fā)現(xiàn)線路有電平變化時,經(jīng)過芯片的判斷,確認(rèn)收到了一幀信息的起始位時,便開始一幀數(shù)據(jù)的接收過程。
系統(tǒng)針對家居的單一功能進(jìn)行了智能化設(shè)計(jì),該智能化控制系統(tǒng)充分利用了現(xiàn)有的網(wǎng)絡(luò)資源,突破了對傳統(tǒng)有限距離的約束,并具有很高的模塊化和可擴(kuò)展性,達(dá)到家居真正意義上的智能化,對提高人們的生活品質(zhì)具有重要的現(xiàn)實(shí)意義。智能家居前景廣闊,隨著技術(shù)的發(fā)展,在本系統(tǒng)知識基礎(chǔ)上,更細(xì)致更新穎的應(yīng)用還有待進(jìn)一步的探索。