目录
[2.1 硬件清单:](#2.1 硬件清单:)
[2.2 功能介绍:](#2.2 功能介绍:)
[资料获取 查看主页介绍:兆龙电子单片机设计](#资料获取 查看主页介绍:兆龙电子单片机设计)
一、设计背景和意义
1.1设计背景:
在日常家庭设备管控、老人儿童便捷操作、全屋场景联动、懒人居家及残障人士无障碍生活场景中,语音快速唤醒、指令精准识别、设备稳定控制、场景一键联动是核心需求。传统家居控制方式存在明显局限:一方面,高端全屋智能控制系统(如定制化智能家居中控、多协议工业级智能网关、高端品牌成套智能家电)功能虽全但成本高昂,部署复杂且需专业人员上门调试与后期维护,难以普及到普通刚需家庭、小户型住宅及租房群体等日常场景,且设备生态封闭性强,不同品牌、不同协议的家居设备兼容性差,无法与个人移动终端、家庭安防系统灵活联动,更换或升级成本高,无法满足不同人群(如普通家庭用户、老人儿童、残障人士)的便捷家居控制需求;另一方面,普通简易家居控制装置(如传统机械开关、单功能遥控面板、基础款智能插座)虽操作简单、价格低廉,但功能单一,仅能实现单一设备的通断控制,缺乏语音交互、多设备联动、场景记忆、远程控制及异常状态提醒(如设备过载、网关断连)等功能,无法满足现代化家居场景下对便捷高效、智能联动、安全可靠的家居管控需求。
现有关家居控制方案还存在功能割裂与集成度低的问题:部分高端全屋智能系统虽具备多维度设备管控与场景联动功能,但依赖复杂的软硬件架构与专属生态维护,后期使用成本高,难以覆盖预算有限的普通消费群体或租房过渡性居住场景;而低成本家居控制装置又在功能完整性与智能化上存在欠缺,无法实现语音指令与家居设备、移动 APP、家庭中控平台的实时联动,导致控制响应延迟、指令识别误差偏大、个性化需求(如老人语音开灯、睡前一键睡眠场景)无法满足等问题,无法为用户便捷居家生活(如解放双手懒人管控)及家庭安全运营(如远程查看设备状态)提供可靠支撑。基于此,本设计以 STM32 单片机为核心,融合高精度语音与辅助模块(如语音唤醒模块、语音识别模块、环境降噪模块、设备联动辅助模块)、LCD 显示模块、数据存储模块及蓝牙通信与异常报警模块,构建低成本、高集成度的物联网智能家居语音控制系统,以解决传统家居控制方式操作繁琐、智能化程度低、功能单一及家居管控效率低的问题。
1.2设计意义:
从使用体验与家居管控效率角度,该系统突破了传统家居控制方式的局限:一是实现了多维度交互与多功能联动(如支持语音快速唤醒、指令精准识别、多设备同步控制、场景一键触发,联动蓝牙通信模块、异常报警模块),无需用户手动操作开关或专业人员现场调试配置,减少家居设备管控的繁琐性与人工操作的失误率;二是配备 LCD 实时显示模块,直观呈现当前受控设备状态、场景联动进度、语音指令识别结果及家居系统运行状态(正常 / 异常),同时支持数据自动存储(可通过蓝牙传输至移动 APP / 家庭中控平台 / 家居安全管理平台),方便用户长期追溯设备使用记录与场景联动历史,也为用户优化居家便捷管控方案、实现家居设备能耗统计及提升家庭居家安全防护水平提供完整数据支撑;三是新增异常预警与自动调控功能,当监测到某项参数超出合理范围(如设备过载、网关断连、语音指令识别失败次数过多、家居用电异常),系统自动触发声光报警(同时向绑定的用户移动终端 / 家庭安全终端发送预警信息),并联动对应设备暂停运行、给出故障排查提示,无需人工干预即可及时规避家居管控失误与居家安全风险,大幅提升了家居设备管控的便捷性与时效性。
从技术实践与成本控制角度,本设计以 STM32 单片机为核心,充分利用其低功耗、高性价比的优势,搭配低成本的高精度语音交互模块及通用外围模块,在保证控制精度(语音指令识别准确率可控制在 95% 以上,设备响应时间可控制在 0.5 秒以内)的前提下,有效降低了系统整体成本,相比同功能的高端全屋智能控制系统成本降低 40%-60%,更易普及到普通刚需家庭、小户型住宅、租房群体及社区老旧住宅改造等场景。同时,系统支持模块化扩展(如后续可新增远程控制功能、多人居家权限管理功能、全屋安防场景联动功能),为后续功能升级预留了空间,具备良好的灵活性与可扩展性。
**二、**实物展示
下方为实物演示视频
下方为实物展示图片

三、硬件功能介绍
2.1 硬件清单:
- STM32F103C8T6
- OLED显示
- 语音识别模块
- 温湿度传感器
- 降压电路
- 蜂鸣器报警
- 烟雾传感器
- 步进电机驱动
- WIFI 机智云平台
- 继电器控制电路
- 风扇
- 台灯
2.2 功能介绍:
(1)采用STM32F103C8T6主控芯片
(2)检测功能:系统检测周围环境温湿度数据、烟雾浓度、光照强度
(3)显示功能:将检测到的传感器数据、当前模式、窗帘状态显示在OLED屏幕上
(4)手动模式:按键控制台灯、风扇、窗帘的开关
(5)自动模式:温湿度、烟雾、光照阈值控制台灯、窗帘、风扇开关以及报警
(6)语音控制:通过语音控制模式切换、台灯、风扇、窗帘的开关等
(7)数据保存:设置阈值断电后,会进行保存,再次上电恢复
(8)机智云APP:APP接收传感器采集数据和控制台灯、窗帘、风扇开关
四、软件设计流程图

五、硬件PCB展示

六、软件主函序展示
/* Includes ------------------------------------------------------------------*/
#include "stm32f10x.h"
#include "SysApp/AppSys.h"
/**
* name: RCC_Configuration
* brief: 系统时钟树配置
*/
void RCC_Configuration(void)
{
#if 1
ErrorStatus HSEStartUpStatus;
/* RCC 系统复位 */
RCC_DeInit();
/* 开启 HSE */
RCC_HSEConfig(RCC_HSE_ON);
/* 等待 HSE 准备好 */
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if (HSEStartUpStatus == SUCCESS)
{
/* Enable Prefetch Buffer */
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
/* Set 2 Latency cycles */
FLASH_SetLatency(FLASH_Latency_2);
/* PLLCLK = 8MHz * 9 = 72 MHz */
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
/* AHB clock = SYSCLK = 72 MHz */
RCC_HCLKConfig(RCC_SYSCLK_Div1);
/* APB2 clock = HCLK = 72 MHz */
RCC_PCLK2Config(RCC_HCLK_Div1);
/* APB1 clock = HCLK/2 = 36 MHz */
RCC_PCLK1Config(RCC_HCLK_Div2);
/* Enable PLL */
RCC_PLLCmd(ENABLE);
/* Wait till PLL is ready */
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
/* elect PLL as system clock source */
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
}
#else
SystemInit();
#endif
}
/**
*@brief NVIC_Configuration实现NVIC配置
*
*/
static void NVIC_Configuration(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
}
/******************************************************************************************************************/
/* ********************* Name: Smart Lock System ***************************************************************/
/************************ MCU: STM32F103C8T6 ***************************************************************/
/******************************************************************************************************************/
/**
* name: main
* brief: 主函数
*/
int main ( void )
{
/* 系统时钟树配置 */
RCC_Configuration();
/* 中断系统配置 */
NVIC_Configuration();
/* 初始化硬件延时, 使用滴答定时器完成 */
delay_init();
/* 板级初始化 */
app_BspInit( &SysParamHandle );
/* 主循环 */
Key2_long_press_down_handle();
while ( 1 )
{
app_Process( &SysParamHandle );
}
}
七、单片机实物资料
