第一部分:315Mhz的远程遥控控制模块

一、远程控制端(接收端)

关于遥控接收器,可以淘宝搜:灯具智能遥控开关 ,注意要选择315Mhz的

二、315Mhz发射控制

三、H34S 发送模块:

四、WR01 接收模块:

五、通过STM32单片机将发送和接收模块转成串口屏可用的串口模块

六、串口控制协议

[SD:HHHHHH|VVVVVV]\r\n
//[] 命令外框
//SD:命令,发送
//H6:6位16进制编码值,发送编码
//V6:6位16进制校准值,=H6^0x55AA55

例子:串口屏发送以下字符串到STM32单片机即可无线发送编码信号
echo("[SD5:1811E1|4DBBB4]\r\n");
通过串口发送 1811E1 这个编码5

当STM32单片机通过WR01接收到EV1527编码信号时,则通过串口发送以下信息到串口屏

app.work(0x1811E1);\r\n

即调用appbase 全局控件的work函数,以便传入编码信息;

第二部分:语音控制模块

该模块可以自由定义,当收到对应的语音控制命令后,该模块会自动通过串口发送出语音命名的编号,编号表如下:

编号 语音命令 编号 语音命令 编号 语音命令 编号 语音命令
1 打开1号设备 2 打开2号设备 3 打开3号设备 4 打开4号设备
5 打开5号设备 6 打开6号设备 7 打开7号设备 8 打开8号设备
9 打开9号设备 10 打开10号设备 11 打开11号设备 12 打开12号设备
13 打开13号设备 14 打开14号设备 15 打开15号设备 16 打开16号设备
17 打开客厅灯 18 打开氛围灯 19 打开主卧灯 20 打开次卧灯
21 打开厨房灯 22 打开餐厅灯 23 打开门廊灯 24 打开走廊灯
25 打开书房灯 26 打开卫生间灯 27 打开主卫生间灯 28 打开次卫生间灯
29 打开客房灯 30 打开凉台灯 31 打开茶室灯 32 打开储物间灯
33 打开楼梯灯 34 打开儿童房灯 35 打开热水器 36 打开电风扇
37 打开台灯 38 打开饮水机 39 打开电暖气 40 打开浴霸
41 关闭1号设备 42 关闭2号设备 43 关闭3号设备 44 关闭4号设备
45 关闭5号设备 46 关闭6号设备 47 关闭7号设备 48 关闭8号设备
49 关闭9号设备 50 关闭10号设备 51 关闭11号设备 52 关闭12号设备
53 关闭13号设备 54 关闭14号设备 55 关闭15号设备 56 关闭16号设备
57 关闭客厅灯 58 关闭氛围灯 59 关闭主卧灯 60 关闭次卧灯
61 关闭厨房灯 62 关闭餐厅灯 63 关闭门廊灯 64 关闭走廊灯
65 关闭书房灯 66 关闭卫生间灯 67 关闭主卫生间灯 68 关闭次卫生间灯
69 关闭客房灯 70 关闭凉台灯 71 关闭茶室灯 72 关闭储物间灯
73 关闭楼梯灯 74 关闭儿童房灯 75 关闭热水器 76 关闭电风扇
77 关闭台灯 78 关闭饮水机 79 关闭电暖气 80 关闭浴霸

串口切换

由于ESP32只有一个串口,而现在有两个设备,但是仔细分析一下,发送接收模块中的串口屏收信息只有在对码状态时才会用到,因此我们可以设定以下模式,就是常规时候,串口屏接收的是语音控制模块,而发送端对应的是遥控模块,通过串口屏的E1端口切换状态,切换电路如下:

这个电路实际上是一个2选1的电子开关电路,串口屏的串口两个IO通过电子开关接语音模块和遥控模块,通过E1扩展口的电平切换。