王 艷,陳姝君,李 昂,王秀梅
(1.南京理工大學紫金學院 電子工程與光電技術學院,江蘇 南京 210046;2.南京郵電大學 電子與光學工程學院,江蘇 南京 210046)
隨著科技的不斷發展,人們對家居生活的要求不再局限于簡單的物質需求,而是更加關注家居的智能化。對于用戶來說,真正智能化的家居生活是需要使機器在感應環境的情況下,可以自身做判斷,根據實際的環境自己做出改變。真正的智能家居應該做到真正的無感化,可以直接與其“對話”,實現對家電家居的控制,真正打造一款無感化的智能家居系統[1]。本文設計了一個基于語音控制和藍牙通信的智能家居系統,通過語音和手機APP兩種方式控制彩燈亮滅、彩燈顏色及窗簾狀態。
智能語音控制系統采用無線藍牙通信的方式,分為主機和從機兩個部分,系統框圖如圖1所示。從機通過語音模塊或者手機發送信號給主機,主單片機反饋信號操控燈的亮滅與顏色變化,同時,控制電機的運轉,模擬窗簾的升降,內置光敏電阻檢測室內環境,控制室內小夜燈的亮滅。

圖1 系統框圖
從機有如下兩種形式:
(1)通過智能語音模塊采集人的語音信號發送給從藍牙1;
(2)通過智能手機藍牙APP將指令發送給手機內置的從藍牙2。
主藍牙接收從藍牙信號的控制信號,發送給單片機,再通過單片機控制彩燈的亮滅、彩燈的顏色及窗簾的升降。
智能語音模塊使用LDV5語音識別模塊,該模塊主要包括語音芯片和微處理器。其中語音芯片采用LD3320芯片,微處理器采用STM32F103芯片。LD3320芯片是一款基于非特定人語音識別技術的語音識別/聲控芯片[2]。該芯片內部集成了高精度的A/D接口,無需外接輔助的FLASH和RAM,即可實現語音識別/聲控/人機對話功能;并且識別的關鍵詞語列表可動態編輯[3-4]。STM32F103芯片是一種具有32位標準精簡指令集(RISC)的處理器,其ARM內核的高性能在通常8位和16位系統的存儲空間得到了極大的體現;此外,其內部集成了FLASH存儲、SRAM、豐富的I/O接口及先進的中斷響應系統等[5-6]。
(1)LDV5模塊具備USB接口及TF卡讀取U盤功能;
(2)具備支持最大4G mini低速TF卡;
(3)可實現人機對話,播放MP3功能,播放歌曲、對話等功能;
(4)具備串口輸出識別碼功能,支持1~12字節自定義16進制輸出;
(5)支持口令識別方式(例如,若定義模塊為“智能家居”,只有每次說出“智能家居”后,模塊才能接收其他操作);
(6)支持普通識別模式、按鍵觸發模式,以適應不同的應用環境;
(7)具備看門狗復位功能,系統更穩定耐用。
模塊上有一個TF卡,在利用語音模塊時,只需對TF卡內容進行修改,就可對該模塊進行操作。例如,預留了PA0-PA78個I/O口,只需簡單設置TF卡中菜單文對應的序號即可使用I/O口。每個端口具備高電平、低電平、高電平0.5 s點動、高電平1 s點動功能。在利用 I/O口輸出時,只關聯序號,與其他無關,序號對應的關鍵詞識別正確,端口就會有對應狀態輸出,不受識別碼的影響。
圖2主菜單文件中的序號1和2,分別是控制PA0端口的低電平和高電平。若利用繼電器模塊,則高電平就表示開,低電平表示關。

圖2 主菜單文件
該模塊還配備3.3 V TTL電平的串口,可以利用串口通信。在本文設計中,該模塊與從藍牙進行通信,成功識別關鍵詞后,串口會自動輸出識別碼,并且發送給從藍牙。識別碼可在1~12字節(16進制格式)內自由規定數值。如要輸出 A1 A5 11 11 5B 給串口,那么就將主菜單文件編寫修改為《1:A1 A5 11 11 5B FF FF FF FF FF FF FF FF FF FF:guan bi tai deng:關臺燈.mp3》即可。最多輸出12個數據,后面跟FF,連續3個FF之前的數據為串口輸出的數據,則該識別碼長度共為15 B,且必須保持該格式。
本文采用HC-08藍牙串口模塊,該模塊采用CC2540F256芯片,是一款基于Bluetooth Specification V4.0 BLE藍牙協議的數傳模塊,具備2.4 GHz ISM的工作頻段和GFSK的調制方式。該藍牙最大發射功率的接受靈敏度達4 dBm,-93 dBm,可以實現長達80 m的遠距離傳輸。
本文設計中藍牙連接方式有兩種:一種是藍牙與藍牙間的連接;另一種是藍牙與手機連接。

圖3 藍牙和藍牙的連接
(1)藍牙與藍牙的連接
藍牙與藍牙的連接通過藍牙模塊將從藍牙與主藍牙連接,如圖3所示。
本文設計是由語音模塊發送指令,通過藍牙傳輸給單片機,單片機接收信號后,采取相應的措施操控燈的亮滅和顏色變化,以及驅動電機改變窗簾狀態。
當使用模塊與模塊之間的連接時,需要將藍牙和語音模塊、單片機根據圖3所示方式連接,①為語音模塊LDV5,②為主機單片機STC89C52。由于HC-O8默認為從藍牙,所以需要對藍牙進行設置,只要將藍牙與串口轉TTL模塊相連,使用串口調試助手通過AT指令發送“AT+ROLE=0”即可,當藍牙斷電再上電時,即可變成主藍牙模式,從藍牙上電后,主、從藍牙會自動連接,實現透傳功能。
(2)藍牙與手機的連接
該連接方式通過藍牙模塊實現手機和單片機的無線傳輸,如圖4所示。手機發送指令,通過藍牙傳輸給單片機,單片機接收信號后,采取相應的措施實現操控彩燈的亮滅和顏色變化,以及驅動電機改變窗簾狀態的要求。

圖4 模塊與手機的連接
當使用手機與藍牙連接時,選用手機中的藍牙。手機下載藍牙助手APP,通過藍牙助手連接主藍牙,如圖5所示。由于藍牙助手默認為16進制,因此寫入“f8”“ff”等指令時,該指令就會發送給單片機,從而實現家居控制。
主機的處理器選擇STC系列的STC89C52芯片[7]。這是一種功耗較低但性能很高的芯片,具備8位CMOS微控制器,內含8 kB可編程FLASH存儲器,支持ISP下載,常用于控制電路的檢測。此外,當調試電路時,若需要重新載入程序,可通過軟件直接燒錄程序,避免多次拔插芯片,所以不會對芯片造成損壞。STC89C52總共有40個引腳,具有4 kB的FLASH片內存儲器,128 B的隨機存儲數據存儲器(RAM),32個外部雙向I/O口,5個中斷優先級,2個16位可編程定時計數器,2個全雙工串行通信口片內時鐘振蕩器。它有空閑模式、正常模式及掉電模式等,不同模式配合不同情況,以合理分配內部資源。

圖5 藍牙助手服務
由于步進電機操作方便、誤差小,不超載的情況下不受重量限制,故可在與速度、位置等相關的需要控制的領域使用步進電機,因此本文電機模塊采用步進電機。其將電脈沖信號轉變為角位移或線位移的開環控制元件。步進電機驅動板采用ULN2003。ULN2003是高耐壓、大電流達林頓陣列,由7個硅NPN達林頓管組成。ULN2003的每1對達林頓都串聯一個2.7 kΩ的基極電阻,在5 V的工作電壓下能與TTL和CMOS電路直接相連,處理原先需要標準邏輯緩沖器處理的數據[8]。電機模塊電路如圖6所示。

圖6 電機模塊電路圖
本文采用 ULN2003 驅動,驅動端口為 P0.0(A),P0.1(B),P0.2(C),P0.3(C)。正轉次序為:AB組-BC組-CD組-DA組;反轉次序為:AB組-AD組-CD組-CB組。“-”即一個脈沖,正轉、反轉都是5.625°。四相五線制步進電機連接P0.0,P0.1,P0.2,P0.3口,分別對應步進電機A,B,C,D四相。
彩燈模塊采用一個全彩LED,由紅綠藍三原色組合而成。紅燈、藍燈、綠燈分別連接單片機P1.0,P1.1,P1.2引腳,通過設置低電平點亮不同的引腳,實現顏色的變化。同時,也可通過顏色的疊加實現更多顏色,如開紫燈由紅燈加藍燈即可實現。
根據硬件設計思路,智能語音控制系統有兩種操作方式。
本文設計中智能家居的控制采用兩種方式:一種是語音控制,流程如圖7所示;另一種是手機控制,流程如圖8所示。

圖7 語音控制系統流程圖
語音控制由人發出語音指令給語音模塊,通過藍牙傳輸給單片機,從而控制燈和窗簾。開啟語音模塊時,單片機進行初始化,當人向語音模塊發出指令后,語音模塊檢測指令匹配度,匹配符合時,向單片機傳送數據,同時調用MP3的語音反饋給用戶,形成人機對話模式。
手機控制通過藍牙助手發送指令,藍牙傳輸給單片機,從而進行燈和窗簾的控制。這兩種方式都能實現對燈的亮滅、顏色變化的控制以及控制電機的運轉模擬窗簾的升降。同時,內置光敏電阻檢測室內環境,控制室內小夜燈的亮滅。
主機中的單片機程序流程如圖9所示。當單片機串口接收到信號時,對該信號進行檢測,若是需要的信號則根據信號指示進行相應的操作,若不是,則重新監測串口信號。

圖8 手機控制系統流程圖

圖9 主機中的單片機程序流程圖
本文設計了基于智能語音的家具控制系統,可通過語音對話和手機APP兩種模式控制家里彩燈亮滅、彩燈顏色及窗簾升降,通過光敏傳感器實時測量光線的強弱,實現智能夜燈的功能,為人們的生活提供便利。