基于stm32的智能家居控制系统
采用,采用通过步进电机正反转模拟窗帘的开关,通过MP3进行音乐播放模块,语音模块控制播放音乐、停止播放、上一首、下一首、音量加、音量减等。2、通过一个继电器控制灯的开关(语音指令:开灯、关灯)、通过一个继电器控制风扇的开关(语音指令:打开风扇、关闭风扇)、通过一个继电器控制电视的开关(OLED显示屏模拟)(语音指令:打开电视、关闭电视)、通过步进电机正反转模拟窗帘的开关(语音指令:打开窗帘、关闭窗
基于STM32的智能家居控制系统
摘 要
近年来,语音识别技术在智能家居控制的应用逐渐流行,语音识别技术的应用在改变我们生活习惯的同时,也为我们营造更便捷的居住环境和提升家居系统的舒适性、智能性。
本文旨在为用户设计一款操作简单,可控制多个家电设备的低成本控制系统,实现控制系统的智能化和便捷化。该系统以STM32单片机作微处理器,支持语音和WiFi等方式操控的智能家居系统。本设计通过SU-03T语音识别模块对各类电器进行控制,采用三个继电器分别控制照明灯、风扇和电视机的开关。采用,采用通过步进电机正反转模拟窗帘的开关,通过MP3进行音乐播放模块,语音模块控制播放音乐、停止播放、上一首、下一首、音量加、音量减等。除此之外,通过WIFI模块,可以实现手机端APP远程控制各继电器、播放器的工作,也可以将系统端的相关数据传输到手机端进行显示。
经测试,语音识别系统实现了预定功能,该体系操作简单、适用性强。能够进行推广使用。
关键词:智能家居;语音控制;继电器;单片机;WiFi
Abstract
In recent years, the application of voice recognition technology in smart home control has gradually become popular, and the application of voice recognition technology has changed our living habits, but also created a more convenient living environment for us and improved the comfort and intelligence of the home system.
The purpose of this paper is to design a low cost control system which is simple to operate and can control multiple home appliances, and realize the intelligence and convenience of the control system. The system uses STM32 single chip microcomputer as the microprocessor, and supports the intelligent home system controlled by voice and WiFi. This design uses SU-03T speech recognition module to control all kinds of electrical appliances, and uses three relays to control the switch of lighting, fan and TV respectively. The switch of positive and negative rotation of the analog curtain through the stepper motor, music playback module through MP3, voice module control to play music, stop playing, last song, next song, volume increase, volume decrease, etc. In addition, through the WIFI module, the mobile APP can remotely control the work of each relay and player, and the relevant data of the system can also be transmitted to the mobile phone for display.
After testing, the speech recognition system has realized the predetermined function, and the system is simple to operate and has strong applicability. Can be promoted and used.
Key words: smart home; Voice control; Relay; Single-chip computer; WiFi
目 录
基于STM32的智能家居控制系统 I
摘 要 I
Abstract II
第一章 绪论 1
1.1 研究背景及实际意义 1
1.2 智能家居研究现状 1
1.3语音识别研究现状 3
1.4研究目标 3
第二章 系统方案设计
2.1 主要元器件选择 错误
2.1.1 主控模块方案选择
2.1.2无线传输方案选择
2.1.3显示模块方案选择
2.2 整体方案设计
第三章 硬件电路 7
3.1单片机最小系统 7
3.1.1 主控模块电路 7
3.1.2 晶振电路 9
3.1.3 复位电路 10
3.1.4 电源电路 11
3.1.5 下载电路 13
3.2语音识别模块 14
3.3音乐播报模块 16
3.4步进电机模块电路 17
3.5继电器控制模块 19
3.6 OLED显示模块电路 21
3.7 WIFI无线传输模块电路 22
第4章 系统程序设计 24
4.1 编程软件介绍 24
4.2 系统主流程设计 24
4.3步进电机子流程 26
4.4 OLED显示流程设计 27
4.5WiFi模块子流程设计 28
第五章 实物测试 30
5.1 整体实物测试图 30
5.2 上电运行实物测试 30
5.3 语音控制模块实物测试 31
5.4 WiFi远程测控实物测试 34
总 结 35
参考文献 36
致 谢 37
附 录 38
附录一:原理图 38
附录二:PCB 1
附录三:主程序 1
1.4研究目标
本文主要研究的是语音识别技术在智能家居系统中的应用,解决的问题主要集中在三个方面。第一个问题是将家具设备接入到物联网云平台进行统一的设备管理;第二个问题是开发一个 Web 服务,解决语音云平台与物联网云平台数据格式不一致所带来的数据交互难题,可以方便快速的实现不同云的交互;第三个问题是搭建对话系统,实现语音交互。论文主要的开发工作主要集中在五个部分,分别是以 ESP8266 作为控制及通信的智能家居端。物联网平台,Web 服务器,语音云平台以及语音接收端,包含软硬件的开发和实物的制作,该设计可以实现以下功能:
1、通过SU-03T语音识别模块可控制各类电器
2、通过一个继电器控制灯的开关(语音指令:开灯、关灯)、通过一个继电器控制风扇的开关(语音指令:打开风扇、关闭风扇)、通过一个继电器控制电视的开关(OLED显示屏模拟)(语音指令:打开电视、关闭电视)、通过步进电机正反转模拟窗帘的开关(语音指令:打开窗帘、关闭窗帘)
3、通过MP3音乐播放模块,可播放音乐(语音指令:播放音乐、停止播放、上一首、下一首、音量加、音量减)
4、通过WIFI模块,手机端APP可远程控制各继电器、音乐
/**********************************
包含头文件
**********************************/
#include "sys.h"
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "math.h"
#include "delay.h"
#include "gpio.h"
#include "oled.h"
#include "usart.h"
#include "mp3.h"
#include "aliyun.h"
#include "esp8266.h"
#include "MqttKit.h"
#include "motor_bujin.h"
/**********************************
变量定义
**********************************/
uint8_t key_num = 0; //按键扫描标志位
uint8_t flag_display = 0; //显示界面标志位
uint8_t music_track = 1; //音乐曲目
uint8_t music_volume = 30; //音乐音量
uint32_t time_num = 0; //10ms计时
_Bool flag_play = 0; //播放启停标志位
_Bool flag_curtain = 0; //窗帘状态标志位
_Bool flag_bujin_state; //步进电机状态标志位
extern uint8_t usart1_buf[256]; //串口1接收数组
char send_data[512]; //发送数据数组
const char *topics_set[] = {"/sys/a1XGr5wez7L/dz-271/thing/service/property/set"}; //需要订阅的主题,需要修改“a1XGr5wez7L”及“dz-271”
const char topics_post[] = {"/sys/a1XGr5wez7L/dz-271/thing/event/property/post"}; //需要发布的主题,需要修改“a1XGr5wez7L”及“dz-271”
uint8_t *dataPtr = NULL; //设备返回的格式
uint8_t *receive_data = NULL; //下发的数据
char *result = NULL; //结果
更多推荐
所有评论(0)