陶志豪 趙 婧 邢世波 孫 唯
(西京學(xué)院,陜西 西安710123)
STM32F103xx采用高性能ARM。 其工作頻率可達(dá)到72MHz,flash 閃存高達(dá)128 千字節(jié)和SRAM高達(dá)20 千字節(jié),可外接FIFO 模塊優(yōu)化存儲(chǔ)器的讀寫能力,廣泛范圍的增強(qiáng)I/O和外圍設(shè)備連接到兩個(gè)APB總線。所有設(shè)備提供兩個(gè)12 位adc,三個(gè)通用16 位定時(shí)器加一個(gè)pwm 計(jì)時(shí)器:三個(gè)USARTs,一個(gè)USB和一個(gè)CAN。
STM32F103xx 中等密度性能線系列包括六種不同封裝類型的設(shè)備:從36 個(gè)引腳到100 個(gè)引腳。這些特性使STM32F103xx 中等密度性能線微控制器系列適用于廣泛地應(yīng)用。
本系統(tǒng)組成主要由五部分組成:
a. ESP8266+云網(wǎng)絡(luò)+手機(jī)App 控制
b. LD3320 語音識(shí)別模塊處理信息
c. 以STM32F103C8T6 組成的中央處理單元:處理信號(hào)并發(fā)出控制命令;
d. 得到指令,通過單片機(jī)進(jìn)行數(shù)據(jù)處理然后通過外圍元器件開開啟關(guān)閉風(fēng)扇等。
e.DHT11 溫濕度傳感器,BH1750 光強(qiáng)傳感器讀取周圍環(huán)境信息,MCU處理信息自動(dòng)模式下自動(dòng)控制燈風(fēng)扇空調(diào)的開關(guān)(圖1)。
其性能強(qiáng)大,成本低廉,最重要的是整體框架已經(jīng)搭好,不需要使用者去二次設(shè)計(jì)開發(fā),只要編輯指令即可。該芯片已經(jīng)為用戶設(shè)計(jì)好了相關(guān)外部電路好和語音識(shí)別單元,其中包含模擬電路、數(shù)字電路轉(zhuǎn)換模塊、麥克風(fēng)接口、聲音輸出接口等。其強(qiáng)大的節(jié)能優(yōu)化計(jì)算處理能力深受設(shè)計(jì)者的歡迎,最主要的是這一些小范圍識(shí)別的場(chǎng)合下,完全不需要外接任何的輔助芯片如Flash、RAM,直接集成在現(xiàn)有的產(chǎn)品中即可以實(shí)現(xiàn)語音識(shí)別/聲控/人機(jī)對(duì)話功能。
通過芯片自身的優(yōu)化算法,對(duì)不同的語音指令進(jìn)行識(shí)別。其容錯(cuò)率高,識(shí)別范圍寬無需使用者可以訓(xùn)練普通話。一般的使用情況下其自身擁有的指令存儲(chǔ)深度和讀取速度優(yōu)良,無需外接SRAM模塊和FLASH 模塊,就可以完成語音識(shí)別功能。常見的LD3320 模塊最多可以設(shè)置50 項(xiàng)候選識(shí)別句,如果需要更大的存儲(chǔ)范圍,可以外接存儲(chǔ)模塊進(jìn)行語音指令的擴(kuò)展。其識(shí)別句內(nèi)容可以動(dòng)態(tài)編輯修改,使用場(chǎng)合及其廣泛。
圖1 智能家居系統(tǒng)框架圖
芯片內(nèi)部分別準(zhǔn)備了16 位模數(shù)電轉(zhuǎn)換器、16 位數(shù)模電轉(zhuǎn)換器,運(yùn)放芯片,帶連接器可拆卸麥克風(fēng)、芯片管腳外接耳機(jī)接口和喇叭的連接排座,支持熱插拔。為了達(dá)到喇叭和耳機(jī)的輸出功率,電路中設(shè)計(jì)下拉電阻降低帶負(fù)載能力,既能保護(hù)電路,又能保證正常輸出。
支持并行和串行接口兩種模式,串行連接的線路簡(jiǎn)單,其傳輸速率完全能達(dá)到該設(shè)計(jì)的需求。
常用的3.3v供電模式,既能保證輸出,又能節(jié)能減排。
ESP8266 是一款超低功耗32 位微型MCU,主頻支持80 MHz -160 MHz,支持RTOS,集成Wi-Fi MAC/ BB/RF/PA/LNA,板載天線。該模塊支持標(biāo)準(zhǔn)的IEEE802.11 b/g/n 協(xié)議,完整的TCP/IP 協(xié)議棧。
ESP8266 負(fù)責(zé)無線上網(wǎng)接入承擔(dān)Wi-Fi 適配器的任務(wù)時(shí),只需通過SPI/SDIO接口或I2C/UART口連接即可。本設(shè)計(jì)中用到的系統(tǒng)功能有:睡眠/喚醒模式的快速切換功能及相關(guān)、配合低功率操作的自適應(yīng)無線電偏置、前端信號(hào)的處理功能及相關(guān)、故障排除和無線電系統(tǒng)共存特性功能,消除蜂窩/藍(lán)牙/DDR/LVDS/LCD 干擾功能。
ULN2003 是高耐壓、大電流達(dá)林頓陳列的芯片。每對(duì)達(dá)林頓與一個(gè)2.7k 基極電阻串聯(lián),當(dāng)給芯片輸入5v驅(qū)動(dòng)電流時(shí),該芯片各個(gè)管腳支持TTL 和CMOS 的電路連接方式,通過緩沖器預(yù)先編寫好的邏輯設(shè)計(jì),可以直接仲裁優(yōu)先級(jí),確保電路穩(wěn)定運(yùn)行。ULN2003 工作電壓高,工作電流大,其輸出端I/O 灌電流可達(dá)500mA,其保護(hù)電路的設(shè)計(jì)使得芯片在關(guān)態(tài)時(shí)承受50V 的電壓。ULN2003 芯片引腳介紹: 引腳1:CPU 脈沖輸入端,端口對(duì)應(yīng)一個(gè)信號(hào)輸出端。引腳2-7:CPU脈沖輸入端。引腳8:接地。引腳9:該腳是內(nèi)部7 個(gè)續(xù)流二極管負(fù)極的公共端,各二極管的正極分別接各達(dá)林頓管的集電極。用于感性負(fù)載時(shí),該腳接負(fù)載電源正極,實(shí)現(xiàn)續(xù)流作用。如果該腳接地,實(shí)際上就是達(dá)林頓管的集電極對(duì)地接通。引腳10-19:脈沖信號(hào)輸出端,對(duì)應(yīng)7-1 腳信號(hào)輸入端。
圖2 軟件流程圖
BH1750F 的設(shè)計(jì)中采用兩線串行的總線連接。不同的光照強(qiáng)度使得鍵盤和夜晶背景燈產(chǎn)生不同程度的亮度,在通過反饋與優(yōu)化處理探測(cè)出較大范圍的光照變化。特點(diǎn):1:I2C 總線接口(f/s 模式支持)2:光譜的范圍是人眼相近3:照度數(shù)字轉(zhuǎn)換器4:寬范圍和高分解.(1-65535勒克斯)5:低電流關(guān)機(jī)功能6:50Hz/60Hz 光噪聲r(shí)eject-function 7:1.8V邏輯輸入接口8:無需任何外部零件9:光源的依賴性不大.(例如白熾燈.熒光燈.鹵素?zé)?白LED.孫光)10:是有可能的選擇2 類型的IC slave-address.11:可調(diào)的光學(xué)窗口測(cè)量結(jié)果的影響12:小測(cè)變異(+/- 20%)13:的紅外線的影響很小軟件部分
軟件部分的主要任務(wù)是完成對(duì)語音進(jìn)行識(shí)別和處理然后控制各個(gè)器件對(duì)當(dāng)前不同的指令進(jìn)行判斷光基于上述分析,系統(tǒng)軟件設(shè)計(jì)流程如圖2 所示。
3.1 上電進(jìn)行測(cè)試,打開對(duì)應(yīng)的App 觀察溫濕度數(shù)據(jù),光照強(qiáng)度數(shù)據(jù)是否已經(jīng)上傳,App 上顯示的數(shù)據(jù)與oled 上是否相同。多次實(shí)驗(yàn)測(cè)得數(shù)據(jù)能正常上傳,并且與實(shí)際數(shù)據(jù)誤差不大能正常使用。
3.2 語音輸入或者App 控制自動(dòng)模式,看是否正確進(jìn)入自動(dòng)模式,遮住BH1750 的光敏傳感器。檢測(cè)到環(huán)境光照度不足20lux,自動(dòng)打開燈。測(cè)試結(jié)果能正常運(yùn)行。
3.3 打開手機(jī)App 依次執(zhí)行命令:3.3.1 打開關(guān)閉燈按鈕,App將數(shù)據(jù)發(fā)送到云服務(wù)器,云服務(wù)器下發(fā)到Wi-Fi 模塊,Wi-Fi 通過串口發(fā)給MCU,MCU執(zhí)行命令打開關(guān)閉LED燈。3.3.2 打開關(guān)閉電視按鈕,App 將數(shù)據(jù)發(fā)送到云服務(wù)器,云服務(wù)器下發(fā)到Wi-Fi 模塊,Wi-Fi 通過串口發(fā)給MCU,MCU 執(zhí)行命令打開關(guān)閉繼電器1。
3.3.3 打開關(guān)閉空調(diào)按鈕,App 將數(shù)據(jù)發(fā)送到云服務(wù)器,云服務(wù)器下發(fā)到Wi-Fi 模塊,Wi-Fi 通過串口發(fā)給MCU,MCU執(zhí)行命令打開關(guān)閉繼電器2。3.3.4 打開關(guān)閉風(fēng)扇按鈕,App 將數(shù)據(jù)發(fā)送到云服務(wù)器,云服務(wù)器下發(fā)到Wi-Fi 模塊,Wi-Fi 通過串口發(fā)給MCU,MCU執(zhí)行命令打開關(guān)閉風(fēng)扇。3.3.5 打開關(guān)閉窗簾按鈕,App 將數(shù)據(jù)發(fā)送到云服務(wù)器,云服務(wù)器下發(fā)到Wi-Fi 模塊,Wi-Fi 通過串口發(fā)給MCU,MCU執(zhí)行命令打開關(guān)閉步進(jìn)電機(jī)。3.3.6 打開關(guān)閉全部電源按鈕,App 將數(shù)據(jù)發(fā)送到云服務(wù)器,云服務(wù)器下發(fā)到Wi-Fi 模塊,Wi-Fi通過串口發(fā)給MCU,MCU執(zhí)行命令關(guān)閉所有用電設(shè)備。
4.1 說出“開燈關(guān)燈”指令;語音識(shí)別模塊采集,STM32 核心板對(duì)數(shù)據(jù)進(jìn)行處理,控制LED 燈開關(guān);同時(shí)觀察手機(jī)App 上按鈕是不會(huì)同步顯示燈當(dāng)前狀態(tài)。
4.2 說出“打開/關(guān)閉電視”指令;語音識(shí)別模塊采集,STM32 核心板對(duì)數(shù)據(jù)進(jìn)行處理,控制繼電器1 通斷;同時(shí)觀察手機(jī)App 上按鈕是不會(huì)同步顯示電視當(dāng)前狀態(tài)。
4.3 說出“打開/關(guān)閉空調(diào)”指令;語音識(shí)別模塊采集,STM32 核心板對(duì)數(shù)據(jù)進(jìn)行處理,控制繼電器2 通斷;同時(shí)觀察手機(jī)App 上按鈕是不會(huì)同步顯示空調(diào)當(dāng)前狀態(tài)。
4.4 說出“打開/關(guān)閉風(fēng)扇”指令;語音識(shí)別模塊采集,STM32 核心板對(duì)數(shù)據(jù)進(jìn)行處理,控制風(fēng)扇打開關(guān)閉;同時(shí)觀察手機(jī)App 上按鈕是不會(huì)同步顯示風(fēng)扇當(dāng)前狀態(tài)。
4.5 說出“打開/關(guān)閉窗簾”指令;語音識(shí)別模塊采集,STM32 核心板對(duì)數(shù)據(jù)進(jìn)行處理,控制步進(jìn)電機(jī)轉(zhuǎn)動(dòng);同時(shí)觀察手機(jī)App 上按鈕是不會(huì)同步顯示窗簾當(dāng)前狀態(tài)。
4.6 說出“關(guān)閉電源”指令;語音識(shí)別模塊采集,STM32 核心板對(duì)數(shù)據(jù)進(jìn)行處理,控制所有運(yùn)行中的設(shè)備斷開電源關(guān)閉;同時(shí)觀察手機(jī)App 上按鈕是不會(huì)同步顯示全部電源當(dāng)前狀態(tài)。根據(jù)測(cè)試結(jié)果,系統(tǒng)能較精確的識(shí)別我們發(fā)出的指令,并根據(jù)指令操作用電設(shè)備,達(dá)到目標(biāo)要求。同時(shí)自動(dòng)模式中燈也會(huì)自動(dòng)打開。
隨著物聯(lián)網(wǎng)的飛速發(fā)展,智能家居也從當(dāng)初的理論跨越為如今的廣泛應(yīng)用,未來隨著芯片技術(shù)越來越先進(jìn),更加強(qiáng)大的智能語音模塊,電源模塊,也會(huì)應(yīng)運(yùn)而生。本設(shè)計(jì)依托物聯(lián)網(wǎng)技術(shù),搭建起整個(gè)系統(tǒng),充分利用各個(gè)模塊的優(yōu)勢(shì),使得智能家居的實(shí)現(xiàn)成為可能。