陶志豪 趙 婧 邢世波 孫 唯
(西京學院,陜西 西安710123)
STM32F103xx采用高性能ARM。 其工作頻率可達到72MHz,flash 閃存高達128 千字節和SRAM高達20 千字節,可外接FIFO 模塊優化存儲器的讀寫能力,廣泛范圍的增強I/O和外圍設備連接到兩個APB總線。所有設備提供兩個12 位adc,三個通用16 位定時器加一個pwm 計時器:三個USARTs,一個USB和一個CAN。
STM32F103xx 中等密度性能線系列包括六種不同封裝類型的設備:從36 個引腳到100 個引腳。這些特性使STM32F103xx 中等密度性能線微控制器系列適用于廣泛地應用。
本系統組成主要由五部分組成:
a. ESP8266+云網絡+手機App 控制
b. LD3320 語音識別模塊處理信息
c. 以STM32F103C8T6 組成的中央處理單元:處理信號并發出控制命令;
d. 得到指令,通過單片機進行數據處理然后通過外圍元器件開開啟關閉風扇等。
e.DHT11 溫濕度傳感器,BH1750 光強傳感器讀取周圍環境信息,MCU處理信息自動模式下自動控制燈風扇空調的開關(圖1)。
其性能強大,成本低廉,最重要的是整體框架已經搭好,不需要使用者去二次設計開發,只要編輯指令即可。該芯片已經為用戶設計好了相關外部電路好和語音識別單元,其中包含模擬電路、數字電路轉換模塊、麥克風接口、聲音輸出接口等。其強大的節能優化計算處理能力深受設計者的歡迎,最主要的是這一些小范圍識別的場合下,完全不需要外接任何的輔助芯片如Flash、RAM,直接集成在現有的產品中即可以實現語音識別/聲控/人機對話功能。
通過芯片自身的優化算法,對不同的語音指令進行識別。其容錯率高,識別范圍寬無需使用者可以訓練普通話。一般的使用情況下其自身擁有的指令存儲深度和讀取速度優良,無需外接SRAM模塊和FLASH 模塊,就可以完成語音識別功能。常見的LD3320 模塊最多可以設置50 項候選識別句,如果需要更大的存儲范圍,可以外接存儲模塊進行語音指令的擴展。其識別句內容可以動態編輯修改,使用場合及其廣泛。

圖1 智能家居系統框架圖
芯片內部分別準備了16 位模數電轉換器、16 位數模電轉換器,運放芯片,帶連接器可拆卸麥克風、芯片管腳外接耳機接口和喇叭的連接排座,支持熱插拔。為了達到喇叭和耳機的輸出功率,電路中設計下拉電阻降低帶負載能力,既能保護電路,又能保證正常輸出。
支持并行和串行接口兩種模式,串行連接的線路簡單,其傳輸速率完全能達到該設計的需求。
常用的3.3v供電模式,既能保證輸出,又能節能減排。
ESP8266 是一款超低功耗32 位微型MCU,主頻支持80 MHz -160 MHz,支持RTOS,集成Wi-Fi MAC/ BB/RF/PA/LNA,板載天線。該模塊支持標準的IEEE802.11 b/g/n 協議,完整的TCP/IP 協議棧。
ESP8266 負責無線上網接入承擔Wi-Fi 適配器的任務時,只需通過SPI/SDIO接口或I2C/UART口連接即可。本設計中用到的系統功能有:睡眠/喚醒模式的快速切換功能及相關、配合低功率操作的自適應無線電偏置、前端信號的處理功能及相關、故障排除和無線電系統共存特性功能,消除蜂窩/藍牙/DDR/LVDS/LCD 干擾功能。
ULN2003 是高耐壓、大電流達林頓陳列的芯片。每對達林頓與一個2.7k 基極電阻串聯,當給芯片輸入5v驅動電流時,該芯片各個管腳支持TTL 和CMOS 的電路連接方式,通過緩沖器預先編寫好的邏輯設計,可以直接仲裁優先級,確保電路穩定運行。ULN2003 工作電壓高,工作電流大,其輸出端I/O 灌電流可達500mA,其保護電路的設計使得芯片在關態時承受50V 的電壓。ULN2003 芯片引腳介紹: 引腳1:CPU 脈沖輸入端,端口對應一個信號輸出端。引腳2-7:CPU脈沖輸入端。引腳8:接地。引腳9:該腳是內部7 個續流二極管負極的公共端,各二極管的正極分別接各達林頓管的集電極。用于感性負載時,該腳接負載電源正極,實現續流作用。如果該腳接地,實際上就是達林頓管的集電極對地接通。引腳10-19:脈沖信號輸出端,對應7-1 腳信號輸入端。

圖2 軟件流程圖
BH1750F 的設計中采用兩線串行的總線連接。不同的光照強度使得鍵盤和夜晶背景燈產生不同程度的亮度,在通過反饋與優化處理探測出較大范圍的光照變化。特點:1:I2C 總線接口(f/s 模式支持)2:光譜的范圍是人眼相近3:照度數字轉換器4:寬范圍和高分解.(1-65535勒克斯)5:低電流關機功能6:50Hz/60Hz 光噪聲reject-function 7:1.8V邏輯輸入接口8:無需任何外部零件9:光源的依賴性不大.(例如白熾燈.熒光燈.鹵素燈.白LED.孫光)10:是有可能的選擇2 類型的IC slave-address.11:可調的光學窗口測量結果的影響12:小測變異(+/- 20%)13:的紅外線的影響很小軟件部分
軟件部分的主要任務是完成對語音進行識別和處理然后控制各個器件對當前不同的指令進行判斷光基于上述分析,系統軟件設計流程如圖2 所示。
3.1 上電進行測試,打開對應的App 觀察溫濕度數據,光照強度數據是否已經上傳,App 上顯示的數據與oled 上是否相同。多次實驗測得數據能正常上傳,并且與實際數據誤差不大能正常使用。
3.2 語音輸入或者App 控制自動模式,看是否正確進入自動模式,遮住BH1750 的光敏傳感器。檢測到環境光照度不足20lux,自動打開燈。測試結果能正常運行。
3.3 打開手機App 依次執行命令:3.3.1 打開關閉燈按鈕,App將數據發送到云服務器,云服務器下發到Wi-Fi 模塊,Wi-Fi 通過串口發給MCU,MCU執行命令打開關閉LED燈。3.3.2 打開關閉電視按鈕,App 將數據發送到云服務器,云服務器下發到Wi-Fi 模塊,Wi-Fi 通過串口發給MCU,MCU 執行命令打開關閉繼電器1。
3.3.3 打開關閉空調按鈕,App 將數據發送到云服務器,云服務器下發到Wi-Fi 模塊,Wi-Fi 通過串口發給MCU,MCU執行命令打開關閉繼電器2。3.3.4 打開關閉風扇按鈕,App 將數據發送到云服務器,云服務器下發到Wi-Fi 模塊,Wi-Fi 通過串口發給MCU,MCU執行命令打開關閉風扇。3.3.5 打開關閉窗簾按鈕,App 將數據發送到云服務器,云服務器下發到Wi-Fi 模塊,Wi-Fi 通過串口發給MCU,MCU執行命令打開關閉步進電機。3.3.6 打開關閉全部電源按鈕,App 將數據發送到云服務器,云服務器下發到Wi-Fi 模塊,Wi-Fi通過串口發給MCU,MCU執行命令關閉所有用電設備。
4.1 說出“開燈關燈”指令;語音識別模塊采集,STM32 核心板對數據進行處理,控制LED 燈開關;同時觀察手機App 上按鈕是不會同步顯示燈當前狀態。
4.2 說出“打開/關閉電視”指令;語音識別模塊采集,STM32 核心板對數據進行處理,控制繼電器1 通斷;同時觀察手機App 上按鈕是不會同步顯示電視當前狀態。
4.3 說出“打開/關閉空調”指令;語音識別模塊采集,STM32 核心板對數據進行處理,控制繼電器2 通斷;同時觀察手機App 上按鈕是不會同步顯示空調當前狀態。
4.4 說出“打開/關閉風扇”指令;語音識別模塊采集,STM32 核心板對數據進行處理,控制風扇打開關閉;同時觀察手機App 上按鈕是不會同步顯示風扇當前狀態。
4.5 說出“打開/關閉窗簾”指令;語音識別模塊采集,STM32 核心板對數據進行處理,控制步進電機轉動;同時觀察手機App 上按鈕是不會同步顯示窗簾當前狀態。
4.6 說出“關閉電源”指令;語音識別模塊采集,STM32 核心板對數據進行處理,控制所有運行中的設備斷開電源關閉;同時觀察手機App 上按鈕是不會同步顯示全部電源當前狀態。根據測試結果,系統能較精確的識別我們發出的指令,并根據指令操作用電設備,達到目標要求。同時自動模式中燈也會自動打開。
隨著物聯網的飛速發展,智能家居也從當初的理論跨越為如今的廣泛應用,未來隨著芯片技術越來越先進,更加強大的智能語音模塊,電源模塊,也會應運而生。本設計依托物聯網技術,搭建起整個系統,充分利用各個模塊的優勢,使得智能家居的實現成為可能。