謝 新 肖玥 許 婷 施凱悅
(南昌航空大學,江西 南昌330000)
近年來,由于人口老齡化的社會問題日益嚴重,獨居老人的生活質量和安全問題頻頻受到社會的廣泛關注,如何能讓行動不便的老人甚至殘疾人通過科技來提高生活質量,解決安全問題呢?針對這個社會問題,本文研究了一種以手勢控制為核心,輔以語音控制來操控家用電器的多模智能家居系統。該系統著眼于日常生活中的普通電器,致力于通過采集自然簡單的手勢來實現對家居的控制調節,同時系統設計了自動控制模塊,通過溫度傳感器和一氧化碳傳感器采集周圍環境參數來實現報警和自我調節,從而給老人們提供了更加舒適安全、更為人性化的生活方式。
本設計是基于STM32 多模智能家居控制系統,包括STM32 單片機,手勢識別模塊,語音識別模塊,自動控制模塊,藍牙模塊及DGUS顯示屏。
1.1 以MPU6050 為核心的手勢識別模塊,將采集手勢原始數據,并通過其自帶的數字運動處理器實現姿態解算。
1.2 藍牙模塊將手勢識別模塊采集的手勢數據傳送至STM32單片機,實現手勢識別模塊與STM32 單片機之間的無線通信。
1.3 以LD3320 為核心的語音識別模塊采集環境人聲,并通過并行方式將語音數據傳送至STM32 單片機。
1.4 自動控制模塊是由溫度傳感器(DS18B20)和一氧化碳傳感器(MQ-7)組成。
1.5 DGUS 屏實時顯示各項環境參數和各個家居設備狀態。
1.6 STM32 單片機將處理手勢數據、語音數據以及環境數據,實現多??刂啤1鞠到y框圖如下:

圖1 系統結構框圖
本設計中,手勢識別模塊的核心是MPU6050。MPU6050 是一款整合了3 軸陀螺儀和3 軸加速度的六軸傳感器。通過其自帶的數字運動處理器將原始手勢數據進行姿態解算得到四元數后,STM32單片機將四元數轉換成歐拉角數據,即俯仰角、橫滾角及航向角數據。其中,手勢識別模塊與STM32 單片機之間采用的是串口RS232通信協議。
為了實現手勢識別模塊與STM32 單片機之間的無線傳輸,本設計采用了HC-05 藍牙模塊。

圖2 藍牙工作原理圖
本設計中,語音識別模塊的核心是LD3320 芯片。LD3320 是一款“語音識別”專用芯片, 由ICRoute 公司設計生產。該芯片集成了語音識別處理器和一些外圍電路, 包括A/D, D/A轉換器、麥克風接口、聲音輸出接口等[1]。主要流程是:語音信號通過麥克風輸入,LD3320 芯片進行語音識別,如果為設定語音,則匹配成功,STM32單片機控制相應的家居設備。比如,用戶在室內說:“開風扇1”,則室內的風扇1 開啟。
自動控制模塊由溫度傳感器(DS18B20)和一氧化碳傳感器(MQ-7)組成。報警模塊的核心是蜂鳴器。如圖4 所示,第一部分是DS18B20 溫度傳感器電路圖,其DQ 端口與STM32 單片機的I/O口PA0 相連,實現溫度檢測[3];中間部分是MQ-7C 傳感器,其B 端口與STM32 單片機的I/O口PA5 相連,實現一氧化碳濃度檢測;第三部分是報警模塊,其信號線與STM32 單片機的I/O口PA1 相連,當溫度或者一氧化碳濃度超過設定值時,實現報警。
本設計的顯示屏采用的是迪文顯示屏,即DGUS顯示屏。其開發過程可以利用PC 端DGUS 開發軟件輔助設計完成變量配置文件的過程,以此完成界面設計及配置,且DGUS顯示屏與STM32單片機之間采用的是串口RS232 通信協議[2]。

圖3 自動控制模塊及報警模塊電路圖
本設計的STM32 單片機模塊選用的是STM32F407ZGT6 為主芯片,具有112 個通用I/O 口、192 KB SRAM、1024 KB FLASH 及12 個16 位定時器等資源。該STM32 單片機接口豐富,資源配置靈活,滿足本設計要求。
本設計的系統軟件設計思路為:系統開啟后,先進入緊急模式,自動控制模塊將檢測到的室內溫度參數及一氧化碳濃度參數傳送給STM32 單片機,STM32 單片機將判斷這些參數,若其高于設定值,則連通蜂鳴器報警并開啟排氣裝置;若室內溫度和一氧化碳濃度正常,則判為安全模式。在安全模式下,用戶可以進行手勢控制與語音控制。手勢控制:以MPU6050 為核心的手勢識別模塊識別原始手勢數據后進行姿態解算,將處理后的手勢數據通過藍牙模塊傳輸至STM32 單片機進行處理,若與預設手勢匹配則控制相應家居設備;語音控制:以LD3320 為核心的語音識別模塊采集環境人聲后傳輸至STM32 單片機運用特征語音匹配算法與預設的語音信號比對,若比對成功則控制相應家居設備。本設計系統流程圖如圖4。

圖4 系統流程圖
本設計的家用設備主要是窗簾和風扇設備。通過定時器TIM13 通道1 以及TIM14 通道1 來分別產生PWM 輸出信號,具體是通過改變CCRx 比較寄存器的值來改變PWM 輸出的占空比,以此分別控制窗簾和風扇設備。以自動控制風扇的開啟為例并介紹其具體流程:首先TIM14 及PWM部分初始化,再判斷當前環境參數是否高于預設值,如果高于預設值則修改CCRx 比較寄存器的值并改變信號的占空比,使風扇開啟。
本設計完成了基于STM32 的多模智能家居控制系統。該設計主要是通過手勢識別模塊和語音識別模塊采集手勢及語音數據,再傳至STM32 處理器,以此控制相應的家用設備。并且設計了自動控制模塊,通過溫度傳感器和一氧化碳傳感器采集周圍環境參數來實現報警和自我調節,而且DGUS 屏會實時顯示家用設備狀態、手勢數據、語音數據及周圍環境參數。本設計相比于其他智能家居系統,最特別的一點是無需聯網,更適用于難以適應網絡的老人們,而且操作簡單靈活,更為人性化。在人口老齡化日益嚴重的如今甚至未來,該設計都能為獨居老人創造一個舒適安全的生活環境。