2023年服创大赛A10赛题:智能家居远程控制系统
简介
2023年服创大赛A10赛题:智能家居远程控制系统
简介:2023年服创大赛A10赛题:智能家居远程控制系统开源协议
:GPL 3.0
描述
2023年服创大赛A10赛题:智能家居远程控制系统
编辑记录
2023-06-06 首次发布
2023-06-07 单片机部分代码公布,请从附件中下载
赛事简介
中国大学生服务外包创新创业大赛(以下简称大赛),是响应国家关于鼓励服务外包产业发展、加强服务外包人才培养的相关战略举措与号召,举办的每年一届的全国性竞赛。
大赛的主要目的是搭建产学结合的大学生服务外包创新创业能力展示平台;促进校企交流,促进高等教育为服务经济发展提供人才保障;宣传服务经济,提升社会公众对服务外包产业发展的关注度和重视度。参赛队伍均来自中国国内高等院校,以本科生为主,自由组队。大赛开放方式竞赛,经过报名参赛、自主选题、分散备赛和集中答辩的环节,评选出相应的优秀团队。
获奖信息
本项目已获得服务外包大赛东部赛区二等奖(后续应该是发全国三等奖)
赛题说明
1.命题方向
物联网与工业自动化
2.题目类别
应用类
3.题目名称
智能家居远程控制系统
4.项目说明
【问题说明】
基于Android,设计开发出一款智能家居远程控制APP,实现远程控制房间的智能家居设备的开、关和调整,如灯、空调、入户锁等。为用户带来更加智能、便利的生活。
【用户期望】
(1)智能控制中心
智能控制中心主要由智能主机网关组成,用来连接各种设备,组建成一个智能家居网络,包括远程的APP控制指令都是由智能主机来执行,达到设备的智能联动,智能场景切换的目的。
(2)智能家居的安防系统
通过控制门锁的APP,向智能门锁发送无线远程控制信息,实现远程开锁(方式不限,可以是发送临时密码,也可以直接远程打开)。
(3)智能照明系统
通过APP要求实现房屋内灯光一键全开,全关。对房间,客餐厅,主卧,次卧等区域灯光实行分区控制,对于一个区域有多种灯源要独立设立控制开关,系统展示房间内灯源打开数量以及打开区域,方便用户进入系统操作开关。
(4)智能暖通系统
通过APP要求实现房屋内空调一键全开,全关。实现对房间客厅,主卧,次卧空调分别控制开关,模式控制(制冷,制热,通风),温度设定,风速(低风,中风,高风)。
(5)系统扩展性
要求除了上述功能以外,系统可以灵活接入其他家居电器,通过APP对其实现远程控制。(接入一个即可)
5.任务要求
【开发说明】
(1)智能控制中心
智能控制中心主要由智能主机网关组成,用来连接各种设备,组建成一个智能家居网络,包括远程的APP控制指令都是由智能主机来执行,达到设备的智能联动,智能场景切换的目的。
(2)智能家居的安防系统
通过控制门锁的APP,向智能门锁发送无线远程控制信息,实现远程开锁(方式不限,可以是发送临时密码,也可以直接远程打开)。
(3)智能照明系统
通过APP要求实现房屋内灯光一键全开,全关。对房间,客餐厅,主卧,次卧等区域灯光实行分区控制,对于一个区域有多种灯源要独立设立控制开关,系统展示房间内灯源打开数量以及打开区域,方便用户进入系统操作开关。
(4)智能暖通系统
通过APP要求实现房屋内空调一键全开,全关。实现对房间客厅,主卧,次卧空调分别控制开关,模式控制(制冷,制热,通风),温度设定,风速(低风,中风,高风)。
(5)系统扩展性
要求除了上述功能以外,系统可以灵活接入其他家居电器,通过APP对其实现远程控制。(接入一个即可)
【提交材料】
(1) 项目概要介绍;
(2) 项目简介 PPT;
(3) 项目详细方案;
(4) 项目演示视频;
(5) 企业要求提交的材料:
①完整的需求分析文档;
②完整的系统设计文档;
③完整的测试案例;
④完整的源码与数据库;
⑤完整的测试报告。
⑥产品APK安装包
(6) 团队自愿提交的其他材料。
【任务清单】
(1)需求调研与分析;
(2)系统设计,包括硬件系统设计和软件系统设计,软件包含概要设计与详细设计;
(3)测试案例编写;
(4)编码;
(5)部署测试环境并完成测试。
【开发工具与数据接口】
Eclipse或者AndroidStudio等等
关于代码开源
由于本人只完成了硬件部分,所以开源只会开源硬件部分PCB板以及ESP32的代码,剩余APP端以及智能网关端暂不开源
硬件方案
2.1.3 硬件开发过程
2.1.3.1 硬件架构
图2.8 硬件架构
2.1.3.2 硬件组网方案
在本项目中,我们使用了WIFI技术来组建起一个物联网,智能网关与相关的设备一起连接到由家庭路由器提供的网络中,各个设备通过MQTT客户端连接到智能主机网关上安装的MQTT服务器实现指令和数据的收发。用户端向智能主机网关上的MQTT服务器发送命令后,MQTT服务器会将发送的消息转发到订阅了该主题的设备上,设备接收到相关指令解析参数后实现最终的控制,同时,设备也可以通过MQTT服务器,向用户端返回一些传感器或状态数据,下图展示了硬件组网的结构图。
图2.9 硬件组网结构图
2.1.3.3 智能网关方案
智能控制中心主要由智能主机网关组成,用来连接各种设备,组建其一个智能家居网络。这智能控制中心的选型上,我们使用了树莓派4B来作为智能主机网关。树莓派4B是一款由英国树莓派基金会(Raspberry Pi Foundation)推出的单板计算机,于2019年6月发布。树莓派4B采用了64位四核ARM Cortex-A72处理器,内存使用4GB的LPDDR4。
树莓派4B的实物图如下:
图2.10 树莓派4B实物图
树莓派4B的主要技术规格如下:
2.1.3.3.1 处理器
Broadcom BCM2711,四核Cortex-A72 (ARM v8) 64位SoC @ 1.5GHz
2.1.3.3.2 内存
2GB、4GB或8GB LPDDR4(取决于型号)
2.1.3.3.3 连接
2.4 GHz和5.0 GHz IEEE 802.11b/g/n/ac无线局域网,蓝牙5.0,BLE
千兆以太网
2×USB 3.0接口
2×USB 2.0接口
2.1.3.3.4 GPIO
标准40针GPIO头(完全向后兼容以前的板)
2.1.3.3.5 视频,声音
2×micro HDMI端口(最多支持4Kp60)
2通道MIPI DSI显示端口
2路MIPI CSI摄像接口
4极立体声音频和复合视频端口
2.1.3.3.6 多媒体
H.265 kp60解码(4);
H.264 (1080p60解码,1080p30编码);
OpenGL ES, 3.0图形
2.1.3.3.7 SD卡支持
Micro - SD卡插槽,用于加载操作系统和数据存储
2.1.3.3.8 输入功率
5V DC通过USB-C连接器(最小3A1)
5V DC通过GPIO头(最小3A1)
支持以太网供电(PoE)(需要单独的PoE HAT)
2.1.3.4 主控芯片方案
2.1.3.4.1 主控芯片的选型
在控制功能板主控选型上,我们使用了乐鑫科技推出的ESP32-C3微控制器。ESP32-C3 系列芯片是极低功耗、高集成度的 MCU 系统级芯片 (SoC),集成 2.4 GHz Wi-Fi 和低功耗蓝牙(Bluetooth® LE) 双模无线通信。芯片的功能框图如下图所示。
图2.11 ESP32-C3功能框图
2.1.3.4.2 ESP32常用型号对比
系列 |
ESP32 |
ESP32-S2 |
ESP32-C3 |
发布时间 |
2016 |
2020 |
2020 |
CPU |
Xtensa® LX6 32 位双核/单核处理器 |
Xtensa® LX7 32 位单核处理器 |
RISC-V 32 位单核处理器 |
主频 |
240M |
240M |
160M |
超低功耗协处理器 (ULP) |
ULP FSM |
PicoRV32 内核,8 KB SRAM,ULP FSM |
N/A |
SRAM |
520KB |
320KB |
400KB |
ROM |
448 KB |
128 KB |
384 KB |
片内Flash |
无/2 MB/4 MB不同规格 |
无/2 MB/4 MB不同规格 |
无/4 MB不同规格 |
外部Flash |
最大支持16MB |
最大支持1GB |
最大支持16MB |
外部PSRAM支持 |
最大支持8MB |
最大支持1GB |
N/A |
Wi-Fi |
802.11 b/g/n、2.4 GHz |
802.11 b/g/n、2.4 GHz |
802.11 b/g/n、2.4 GHz |
蓝牙 |
Bluetooth v4.2 BR/EDRBluetooth Low Energy |
N/A |
Bluetooth 5.0 |
ADC |
2*12-bit SAR ADC,18 channels |
2*12-bit SAR ADC,20 channels |
2*12-bit SAR ADC,6 channels |
DAC |
2*8-bit |
2*8-bit |
N/A |
定时器 |
4*64-bit通用定时器,3看门狗定时器 |
4*64-bit通用定时器,3看门狗定时器 |
2*54-bit通用定时器,3看门狗定时器 |
温度传感器 |
N/A |
1 |
1 |
触摸传感器 |
10 |
14 |
N/A |
霍尔传感器 |
1 |
N/A |
N/A |
GPIO |
34 |
43 |
22 |
SPI |
4 |
4 |
3 |
UART |
3 |
2 |
2 |
I2C |
2 |
2 |
1 |
I2S |
2 |
1 |
1 |
Camera |
1 |
1 |
N/A |
RMT(红外遥控器) |
1*8 channels |
1*4 channels |
1*4 channels |
LED PWM |
1*16 channels |
1*8 channels |
1*6 channels |
MCPWM |
2,提供六个 PWM 输出 |
N/A |
N/A |
USB OTG |
N/A |
1 |
N/A |
TWAI |
1 |
1 |
1 |
SD/SDIO/MMC主机 |
1 |
N/A |
N/A |
SDIO从机 |
1 |
N/A |
N/A |
以太网MAC |
1 |
N/A |
N/A |
USB串口 |
N/A |
N/A |
1 |
表2.6 ESP32常用型号对比
2.1.3.5 系统供电方案
在系统供电模块方案中,为了方便调试和家庭布线。我们目前使用的是5V输入,每块功能板同时带有USB 口和KF128接线柱。电源输入可以在2个输入接口中二选一,不可同时使用。
在芯片供电部分,芯片需要使用3.3V供电,采用了一颗由矽力杰公司推出了SY8089A1AAC DCDC芯片,最高输入电压5V,通过调节FB引脚的电压,可以实现输出电压的调节,这里输出电压为3.3V。
在输入端,为了防止静电,雷电击穿PCB上的器件,加入了TVS瞬态抑制二极管,吸收来自外部的浪涌,保护板上器件。
下图展示了供电模块的输入连接件以及SY8089的外围电路原理图。
图2.12 供电模块连接件原理图
图2.13 供电模块原理图
2.1.3.6 指示灯模块方案
在指示灯模块中,我们使用了WS2812 RGB LED,WS2812 是一种常见的可编址 RGB LED(发光二极管),它包含了一个红色、一个绿色和一个蓝色 LED,以及一个内置的控制电路。这使得每个 LED 可以单独控制,从而可以创建各种颜色效果和动画。其在许多应用中得到广泛应用,包括艺术装置的照明、舞台表演和建筑装饰。它们也常用于 DIY 项目,例如 LED 矩阵、可穿戴电子产品和交互式显示。
WS2812 LED 使用单线接口进行通信,单片机可以发出控制信号控制这些指示灯,告知用户当前状态,便于用户确定问题。
WS2812的基本参数如下:
1. 电源输入电压:3.5-7.5V
2. OUT R/G/B 恒流值:12mA
3. Top SMD 内部集成高质量外控单线串行级联恒流 IC
4. 控制电路与芯片集成在 SMD 5050 元器件中,构成一个完整的外控像素点,色温效果均匀且一致性路高
5. 内置数据整形电 ,任何一个像素点收到信号后经过波形整形再输出,保证线波形畸变不会影响。
6. 默认上电不亮灯
7. 灰度调节电路(256 级灰度可调)
8. 数据整形:接收完本单元数据自动将后续数据整形输出
9. 内置高精度和高稳定性振荡器
10. 单线数据传输,可无限级联
11. 数据协议兼容性高
12. 数据发送速率:800Kbps
该模块典型原理图如下:
图2.14 指示灯模块原理图
2.1.3.7 蜂鸣器模块方案
为了满足设备提示用户的需求,项目加入了蜂鸣器模块,通过一颗AO3400 NMOS控制无源蜂鸣器,实现蜂鸣器发出声音。
为了保证PCB板的大小尽可能小,项目并没有选择传统的插件蜂鸣器,而是使用了贴片蜂鸣器,物料型号为MLT-8530,参数如下所示:
驱动方式:无源(外部驱动)
构造类型:电磁式
额定电压:3.6V
频率:2.7kHz
声压(SPL):80dB@5V
大小:10cm 8.5x8.5x3mm
由于蜂鸣器为感性复杂,其开关会影响电源,导致电源波动,所以需要加入一颗续流二极管(如图所示D2),下图展示了蜂鸣器模块的原理图。
图2.15 蜂鸣器模块原理图
图2.16 MLT-8530 实物图
2.1.3.8 窗帘控制方案
使用窗帘电机+配套轨道方案,电机接入220V交流电,控制板通过继电器短接电机上引出的干触电接口控制窗帘电机运行。
产品参数:
电机名称:五芯线强电-电机
产品型号:WX-82
额定功率:45W
额定电流:0.14A
机身重量:1.05KG
额定扭矩:1.2N/m
运行速度:14cm/s
电源标准:五芯线
运行噪声:33dB
最小宽度:0.9m
最大宽度:12m
最大载重:50KG
防护等级:20IP
工作温度:-10℃-50℃
输入电压:220V
参考淘宝商品:
图2.17 电机商品图
2.1.3.9 其他家电控制方案
在空调和电视的控制上,我们使用了红外发射,通过解码设备遥控器发出的红外信号并通过家电控制功能板上的红外发射模块重新发射实现家电控制。
2.1.3.10 门禁控制功能板方案
2.1.3.10.1 开锁电路芯片选型
在开锁电路中,我们使用了一颗RZ7899单路H桥驱动芯片。RZ7899 是一款 DC 双向马达驱动电路,它适用于玩具等类的电机驱动、自动阀门电机驱动、电磁门锁驱动等。它有两个逻辑输入端子用来控制电机前进、后退及制动。该电路具有良好的抗干扰性,微小的待机电流、低的输出内阻,同时,他还具有内置二极管能释放感性负载的反向冲击电流。
为了保护单片机和电源,这里没有使用MOS管控制锁具打开,而是使用了一颗H桥芯片RZ7899,该芯片内置了过流保护电路和续流二极管,比较满足该项目。
RZ7899特点如下:
微小的待机电流,小于 2uA。
工作电压范围宽 3.0V~25V。
有紧急停止功能
有过热保护功能
有过流嵌流及短路保护功能
封装外形为: SOP8
2.1.3.10.2 开锁检测电路方案
在开锁检测电路部分,开锁电路原理图中的LOCK_STATE引脚输入了开锁信号,门锁打开时,该引脚的电平会相应变化,就可以检测到门锁的开启的与关闭。
2.1.3.10.3 开锁电路原理图
图2.18 开锁电路原理图
2.1.3.10.4 继电器控制电路选型
在门禁控制板中,为了控制与门禁相关的设备,项目加入了一个继电器,最大电流为5A,继电器控制模块由光耦,SS8050三极管,继电器组成,下图展示了继电器控制模块的原理图,由光耦将单片机发出的信号转成光信号,在另一侧又变为电信号,控制下方的8050导通,实现继电器的控制,同时在继电器电源的两端需要加入一颗续流二极管,防止反向电流损坏板载电路。
在继电器选型方面,我们考虑了多种因素,例如大小,最大电流,最后考虑到门禁板上控制的设备电流一般不是很大,而且控制板上空间剩余不是很多,所以选用了宏发继电器厂的HF49FD/005-1H11这个型号,最大电流5A,满足基本需求。
下图展示了继电器控制电路的原理图:
图2.19 HF49FD/005-1H11实物图
图2.20 继电器控制模块原理图
2.1.3.10.5 窗帘控制电路选型
窗帘控制电路基本与继电器控制电路相同,原理就是通过继电器短接窗帘的控制线,完成窗帘的控制。
在继电器方面,同样采用了宏发继电器厂的HF49FD/005-1H11这个型号,该型号体积小巧,比较容易集成到控制板上。
图2.21 窗帘控制模块原理图
2.1.3.10.6 门禁控制功能板原理图
图2.22 门禁控制功能板原理图1
图2.23 门禁控制功能板原理图2
图2.24 门禁控制功能板原理图3
2.1.3.10.7 门禁控制功能板装配图
图2.25 门禁控制功能板顶层装配图
图2.26 门禁控制功能板底层装配图
2.1.3.10.8 门禁控制功能板实物图
图2.27 门禁控制功能板实物图
2.1.3.11 灯光控制功能板方案
2.1.3.11.1 灯光模块方案
灯光模块为灯光控制功能板上的设备,主要由WS2812 RGB LED组成,用户可以发出灯光控制指令,提供给单片机LED灯的R,G,B值,控制灯光展示指定的颜色,下图展示了灯光模块的原理图。
图2.28 灯光模块原理图
2.1.3.11.2 灯光控制功能板原理图
图2.29 灯光控制功能板原理图1
图2.30 灯光控制功能板原理图2
图2.31 灯光控制功能板原理图3
2.1.3.11.3 灯光控制功能板装配图
图2.32 灯光控制功能板顶层装配图
图2.33 灯光控制功能板底层装配图
2.1.3.11.4 灯光控制功能板实物图
图2.34 灯光控制功能板实物图
2.1.3.12 风扇控制功能板方案
2.1.3.12.1 升压电路芯片选型
由于风扇需要使用12V电压才可以驱动,而输入的电压为5V,所以风扇控制板上板载了一颗升压芯片MT3608,将输入的5V升压为12V,为风扇供电。
MT3608为西安航天民芯推出的一款BOOST升压芯片,该芯片是一款恒定频率的 6引脚SOT23封装用于小电流的升压转换器。MT3608 开关频率为1.2MHz且允许使用微型、低成本高度不超过2mm的电容器和电感器。内部软启动可以减小浪涌电流,延长使用寿命。MT3608 包括欠压锁定、电流限制和热过载保护,以防止在输出过载的情况下损坏。MT3608采用小型6引脚SOT-23 封装。
下图展示了MT3608的外围电路,输入电压5V通过EN引脚输入,FB引脚通过分压电阻设置输出的电压,芯片通过上方的电感和二极管升压,最后输出12V。
图2.35 升压模块原理图
2.1.3.12.2 风扇控制电路方案
风扇控制电路由H桥驱动电路,PWM调速电路,INA199电流采样电路,风扇测速电路组成,下图展示了风扇控制电路的原理图。
首先,通过升压模块,将5V电压升压到12V,然后通过H桥驱动电路控制风扇的启动和停止,PWM调速电路由单片机发出PWM调速信号,控制风扇转速,INA199电流采样电路以及风扇测速电路为风扇测速功能提供相应的实现。
图2.36 风扇控制模块原理图
2.1.3.12.3 风扇控制功能板原理图
图2.37 风扇控制功能板原理图1
图2.38 风扇控制功能板原理图2
图2.39 风扇控制功能板原理图3
2.1.3.12.4 风扇控制功能板装配图
图2.40 风扇控制功能板顶层装配图
图2.41 风扇控制功能板底层装配图
2.1.3.12.5 风扇控制功能板实物图
图2.42 风扇控制功能板实物图
2.1.3.13 家电控制功能板方案
2.1.3.13.1 温湿度传感器的选型
温湿度采集模块使用了SHT30芯片。SHT30内部集成了温度以及湿度的采集电路,对外通过I2C接口通信,能够提供极高的可靠性和出色的长期稳定性,具有功耗低、反应快、抗干扰能力强等优点。下图展示了温湿度采集模块的原理图。
图2.43 温湿度采集模块原理图
2.1.3.13.2 红外发射管的选型
红外控制模块为家电控制功能板板载的功能,用于发出红外信号,控制家庭中的空调电视机等设备,采用了5个红外发射二极管,通过一个AO3400 N沟道MOS管控制其开启与关闭。
在红外发射管的选型上,我们考虑了电路的布局,由于PCB板可用空间较少,所以使用了贴片红外发射管,贴片可以使得PCB大小大幅降低,同时生产效率大幅提升。
发射管使用了亿光生产的IR67-21C/TR8红外发射头,该发射头基本参数如下:
波长:940nm;
辐射强度:1.5mW/sr @ 20mA;
下图展示了红外发射模块的原理图。
图2.44 红外控制模块原理图
图2.45 IR67-21C/TR8实物图
2.1.3.13.3 家电控制功能板原理图
图2.46 家电控制功能板原理图1
图2.47 家电控制功能板原理图2
图2.48 家电控制功能板原理图3
2.1.3.13.4 家电控制功能板装配图
图2.49 家电控制功能板顶层装配图
图2.50 家电控制功能板底层装配图
2.1.3.13.5 家电控制功能板实物图
图2.51 家电控制功能板实物图
3 硬件设计
3.1 功能要求
3.1.1 智能控制中心
智能控制中心主要由智能网关组成,智能网关应可以运行Linux操作系统,在Linux操作系统的基础上,运行相关的服务,执行来自APP的控制指令。
3.1.2 智能家居安防系统
智能家居安防系统包含了门禁控制功能,用户发送开门指令后,需要响应指令,并完成开门操作。
3.1.3 智能照明系统
智能照明系统需要满足家中的基本照明需求,首先灯光需要完成基本的开关操作,每个灯光应该可以单独控制。同时为了满足用户调节灯光亮度和灯光颜色的需求,灯光应该可以独立变换颜色。
3.1.4 智能暖通系统
通过智能暖通系统,用户可以在APP中完成对房间内空调的相关操作:全开全关,模式控制,温度,风速设定。
3.1.5 智能通风系统
为了保证用户家中空气流通,加入了智能通风系统,用户可以控制房间内风扇的开关以及速度,支持风扇无极调速,进一步满足对风速的要求。
3.1.6 智能窗帘控制系统
通过窗帘控制系统,用户可以在手机端远程控制家中窗帘,在自动控制的同时,窗帘可以被手动控制,更加方便使用。
3.1.7 智能家电控制系统
除上述功能外,智能家电控制系统应可以控制家中使用红外发射控制的家电,这可以实现对家中原有电器的兼容,极大的增加家庭的智能性。
3.2 硬件原理图设计
3.2.1 系统概述
本系统是由乐鑫科技的ESP32-C3微控制器作为控制核心,通过该芯片接入家庭中的WIFI热点,连接智能网关中的MQTT服务器,接收用户发送的命令,控制功能板电路上的相关家电,或者发送功能板上家电的相关数据,例如温湿度,门锁状态等。
在智能控制中心中,团队使用了现成的树莓派4B方案,通过将服务部署到树莓派4B上,实现智能家居的整体交付,用户只需要只能控制中心和无线路由器就可以组建起最简单的智能家居网络。
3.2.2 电路设计框图
在本项目中,硬件设计使用了结构化设计,所有功能可基本分为下图中的14个模块。
图3.1 电路模块
在上有模块基础上,团队自主开发了四款功能板,分别为门禁控制功能板,灯光控制功能板,风扇控制功能板,家电控制功能板,下述图片展示了四个功能板的电路设计框图。
图3.2 门禁控制功能板电路设计框图
图3.3 灯光控制功能板电路设计框图
图3.4 风扇控制功能板电路设计框图
图3.5 家电控制功能板电路设计框图
3.2.3 主控芯片电路设计
为了实现快速开发,团队采用了ESP32-C3-WROOM-2模组,模组中搭载了ESP32-C3微处理器以及微处理器的时钟电路,射频电路和板载的WIFI天线。
下图展示了模组外围电路的原理图。
图3.6 主控芯片模组外围原理图
左边位号为U3的即ESP32-C3-WROOM-2模组,右边为芯片手册中要求的引脚上拉电阻以及复位按钮。
3.2.4 供电模块设计
供电模块主要包含了输入的连接件,TVS瞬态抑制二极管和降压芯片。考虑到安全性和接入设备的方便,系统全部采用5V供电,同时加入了TYPE-C口和KF128接线端子,最大可能保证供电的便利性,降低了对家庭供电的要求。
在芯片供电部分,芯片需要使用3.3V供电,采用了一颗由矽力杰公司推出了SY8089A1AAC DCDC芯片,最高输入电压5V,通过调节FB引脚的电压,可以实现输出电压的调节,这里输出电压为3.3V。
在输入端,为了防止静电,雷电击穿PCB上的器件,加入了TVS瞬态抑制二极管,吸收来自外部的浪涌,保护板上器件。
图3.7 供电模块连接件原理图
图3.8 供电模块原理图
3.2.5 开锁电路设计
开锁电路包含了连接件,开锁电路以及开锁检测电路,为了保护单片机和电源,这里没有使用MOS管控制锁具打开,而是使用了一颗H桥芯片RZ7899,该芯片内置了过流保护电路和续流二极管,比较满足该项目。
在开锁检测电路部分,下图中的LOCK_STATE引脚输入了开锁信号,门锁打开时,该引脚的电平会相应变化,就可以检测到门锁的开启的与关闭。
图3.9 开锁电路原理图
3.2.6 红外控制模块设计
红外控制模块为家电控制功能板板载的功能,用于发出红外信号,控制家庭中的空调电视机等设备,采用了5个红外发射二极管,通过一个AO3400 N沟道MOS管控制其开启与关闭。
图3.10 红外控制模块原理图
3.2.7 升压模块设计
为了给12V风扇供电,团队加入了升压模块,升压模块使用了MT3608升压芯片,将输入的5V升压为12V,为风扇供电。
图3.11 升压模块原理图
3.2.8 蜂鸣器模块设计
为了满足设备提示用户的需求,项目加入了蜂鸣器模块,通过一颗AO3400 NMOS控制无源蜂鸣器,实现蜂鸣器发出声音。
图3.12 蜂鸣器模块原理图
3.2.9 按钮电路设计
为了满足芯片配网的需求,项目加入了按钮电路,通过按钮,功能板可以切换为烧录模式,或是按下板上的一些按钮,可以进入配网模式,后续更新中,按钮也可以提供给用户完成一些本地的控制。
图3.13 按钮电路原理图
3.2.10 继电器控制模块设计
在门禁控制板中,为了控制与门禁相关的设备,项目加入了一个继电器,最大电流为5A,继电器控制模块由光耦,SS8050三极管,继电器组成,下图展示了继电器控制模块的原理图,由光耦将单片机发出的信号转成光信号,在另一侧又变为电信号,控制下方的8050导通,实现继电器的控制,同时在继电器电源的两端需要加入一颗续流二极管,防止反向电流损坏板载电路。
图3.14 继电器控制模块原理图
3.2.11 指示灯模块设计
指示灯模块由两颗WS2812 RGB LED组成,单片机可以发出控制信号控制这些指示灯,告知用户当前状态,便于用户确定问题。
图3.15 指示灯模块原理图
3.2.12 灯光模块设计
灯光模块为灯光控制功能板上的设备,主要由WS2812 RGB LED组成,用户可以发出灯光控制指令,提供给单片机LED灯的R,G,B值,控制灯光展示指定的颜色,下图展示了灯光模块的原理图。
图3.16 灯光模块原理图
3.2.13 风扇控制电路设计
风扇控制电路由H桥驱动电路,PWM调速电路,INA199电流采样电路,风扇测速电路组成,下图展示了风扇控制电路的原理图。
首先,通过升压模块,将5V电压升压到12V,然后通过H桥驱动电路控制风扇的启动和停止,PWM调速电路由单片机发出PWM调速信号,控制风扇转速,INA199电流采样电路以及风扇测速电路为风扇测速功能提供相应的实现。
图3.17 风扇控制模块原理图
3.2.14 温湿度采集模块设计
温湿度采集模块由一颗SHT30芯片组成。SHT30内部集成了温度以及湿度的采集电路,对外通过I2C接口通信,能够提供极高的可靠性和出色的长期稳定性,具有功耗低、反应快、抗干扰能力强等优点。下图展示了温湿度采集模块的原理图。
图3.18 温湿度采集模块原理图
3.2.15 窗帘控制模块设计
窗帘控制部分目前使用了业内成熟的窗帘电机方案,在控制端,通过两路继电器控制窗帘电机控制线的短接,实现窗帘的开,关,停三种控制,下图展示了两路继电器以及连接件的原理图。
图3.19 窗帘控制模块原理图
3.3 硬件电路板设计
3.3.1 门禁控制功能板的设计
下图展示了门禁控制功能板的PCB装配图
图3.20 门禁控制功能板顶层装配图
图3.21 门禁控制功能板底层装配图
3.3.2 灯光控制功能板的设计
下图展示了灯光控制功能板的PCB装配图
图3.22 灯光控制功能板顶层装配图
图3.23 灯光控制功能板底层装配图
3.3.3 风扇控制功能板的设计
下图展示了风扇控制功能板的PCB装配图
图3.24 风扇控制功能板顶层装配图
图3.25 风扇控制功能板底层装配图
3.3.4 家电控制功能板的设计
下图展示了家电控制功能板的PCB装配图
图3.26 家电控制功能板顶层装配图
图3.27 家电控制功能板底层装配图
3.4 微控制器软件设计
3.4.1 软件部分概述
在软件设计部分,得益于硬件部分模块化设计,软件部分基本也实现了模块化设计,下文将详细描述智能家居远程控制系统的软件设计。
软件开发语言:C语言
软件开发框架:ESP-IDF
软件开发工具:VSCode
3.4.2 WIFI连接模块设计
连接控制的MQTT服务器时,需要先连接WIFI,然后再连接MQTT服务器,下图展示了WIFI连接部分的流程图。
图3.28 WIFI连接模块流程图
3.4.3 蜂鸣器控制模块设计
该部分使用了ESP32的LEDC外设,通过LEDC生成PWM波来驱动无源蜂鸣器发出声音,下图展示了该部分的原理图。
图3.29 蜂鸣器控制模块流程图
3.4.4 配网模块设计
为了连接不同的模块,系统设计了配网模块,用户通过安卓端连接需要配网的WIFI,输入WIFI的密码,然后点击配网,微控制器会接收到来自用户的配网信号,接着将其中的SSID和密码保存到NVS中,便于下次连接WIFI,下图展示了配网模块的原理图。
图3.30 配网模块流程图
3.4.5 温湿度采集模块设计
温湿度采集模块用于采集家庭中的温度和湿度,为了从温度传感器获取数据,需要使用到I2C总线协议,下图给出了温湿度采集模块的软件流程图。
图3.31 温湿度采集模块采集流程图
3.3.6 设备控制模块设计
得益于模块化设计,每个器件的控制模块基本相同,下图展示了设备控制模块的流程图,基本上可以抽象为初始化外设,处理MQTT指令,控制外设三个步骤。
图3.32 设备控制模块流程图
评论