【综合实例开源】利用ZigBee模块实现智能家居的远程语音控制

耗时两个月,今天终于完成了《基于STM32的智能语音家居》这个综合实例,现在对该实例实现的功能和知识点进行一下梳理。

实现功能

  1. 一个主控板,三个节点,采用分布式网络,各个子板可以与设备就近连接,比如:控制窗帘的4号板(地址为0x0004),可以布置在窗户旁,靠近窗帘的位置;
  2. 主控板上连接有LD3320语音模块,通过语音指令可以控制三个子板上的设备动作;
  3. 主控板上可以显示地址为0x0004的ZigBee模块对应子板上光照传感器的值;
  4. 子板上按键可以控制自己板子上的模块,相当于手动操作开关设备,比如:按键1可以控制电灯的开关、按键2可以控制门的开关、按键3可以控制窗帘的开关;
  5. OLED在主控板上,用于显示接收到的光度值和灯、门和窗帘的开关状态。

ZigBee模块定义

具体配置参数预定义如下:

模块串口通信的波特率为:115200。地址0x0000为自己本身,地址0xFFFF为广播地址。

通讯协议定义

本实例的代码只使用了源端口号为A1、A3、A5、A8四个指令,其他指令各位可以在我提供的源码基础上自由扩展。

主节点

包括如下模块:

LD3320模块LD3320语音模块原理图

OLED显示OLED模块原理图

ZigBee模块原理图

节点1:电灯

本节点为ZigBee模块地址为0x0002的底板,这个板子上主要使用继电器模块。

继电器模块原理图

当RELAY引脚为低电平的时候,三极管导通,继电器吸合,灯点亮;当RELAY引脚为高电平的时候,三极管截止,继电器无动作。

继电器模块可以实现弱电控制强电的功能,比如控制电灯、洗衣机、微波炉、电加热器等家用电器的开关。

节点2:门

本节点为ZigBee模块地址为0x0003的底板,这个板子主要实现对舵机模块的驱动,用于模拟门的开关。

节点3:窗帘

本节点为ZigBee模块地址为0x0004的底板,这个板子主要实现对步进电机的驱动,用于模拟窗帘的开关。

原理图

本文实例,JP8中的VS引脚与VCC5V两个引脚短接。

板子上还有一个GY-302数字光照传感器,其原理图如下:

ADDR引脚通过R36的10K电阻接地,R35电阻不焊接。

实例演示

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 1
收藏 2
关注 64
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧