ESP32-S3-Relay-6CH

来自Waveshare Wiki
跳转至: 导航搜索
ESP32-S3-Relay-6CH
{{{name2}}}
{{{name3}}}
功能简介
特性 ESP32-S3-Relay-6CH
继电器路数 6路
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 Pico RS485 USB

说明

产品概述

用电安全注意事项

  • 本产品须由专业的电工或技术人员作业使用,使用过程中请做好用电安全,防漏电和绝缘等保护措施。
  • 在安装、维护或更换继电器设备之前,请务必关闭电源并拔下插头。
  • 请勿试图拆卸继电器设备,以免损坏设备或导致电击危险。
  • 请妥善安装放置继电器设备产品,请勿在潮湿、过热、易燃坏境中使用,避免因安装或使用不慎,引发安全事故。

  • 出厂程序仅供学习,若用于实际应用请自行优化程序逻辑。

产品参数

参数名称 参数
供电电压 7~36V (或 5V/1A Type-C接口)
继电器路数 6路
触点类型 一常开一常闭
接线端口 Type-C
通信协议 USB协议
产品尺寸 88(H)x 122(V) mm

接口说明

控制GPIO 功能 说明
GP0 BOOT按键 BOOT按键控制引脚
GP21 BUZZER 蜂鸣器的控制引脚
GP38 RGB RGB灯的控制引脚
GP1 CH1 1号继电器的控制引脚
GP2 CH2 2号继电器的控制引脚
GP41 CH3 3号继电器的控制引脚
GP42 CH4 4号继电器的控制引脚
GP45 CH5 5号继电器的控制引脚
GP46 CH6 6号继电器的控制引脚
GP17 TXD RS485对应UART的TX引脚
GP18 RXD RS485对应UART的RX引脚

多功能控制

示例解析

  • 共提供4个示例分别实现以下各个功能,用户可自行编写示例以实现其他功能,提供的示例仅供于简单操作设备
  • 出厂程序为MAIN_WIFI_AP
文件名 实现功能 注意事项
MAIN_WIFI_AP RS485 接口控制 可直接烧录
Web 页仅连接到设备 WIFI 才可使用
蓝牙控制,蓝牙发送IP
Web页面控制(近距离)
MAIN_WIFI_STA RS485 接口控制 需修改后才可使用
修改 要连接的 WIFI
Web页仅内网使用
蓝牙控制,蓝牙发送IP
Web页面控制(近距离)
MAIN_WIFI_MQTT RS485 接口控制 需修改后才可使用
修改 要连接的 WIFI
须在Waveshare云中 创建 设备
蓝牙控制,蓝牙发送IP
Waveshare云控制(远距离)
MAIN_ALL RS485 接口控制 需修改后才可使用
修改 要连接的 WIFI
须在Waveshare云中 创建 设备
Web页仅内网使用
蓝牙控制,蓝牙发送IP
Web页面控制(近距离)
Waveshare云控制(远距离)

搭建环境

ESP32-S3 TO Arduino 1.png

  • 安装完成后打开 Arduino IDE

ESP32-S3 TO Arduino 2.png

  • 进入开发板管理器,搜索 esp32 ,在下方的 esp32 by Espressif Systems 中选择 2.0.11 版本并点击安装(若不能正常安装可使用手机热点尝试)

ESP32-S3 TO Arduino 3.png

  • 安装完成重启 Arduino IDE 即可使用

ESP32-S3 TO Arduino 4.png

  • 上方将项目文件夹更改为 c:\Users\Waveshare\AppData\Local\Arduino15\packages(其中 Waveshare 为计算机用户名)

ESP32-S3 TO Arduino sample 1.png
ESP32-S3 TO Arduino sample 2.png

  • 重新开启 Arduino IDE

若安装失败则展开

  • 安装 2.0.11 版本失败

ESP32-S3 TO Arduino 5.png

链接: https://pan.baidu.com/s/1lGddfYYJUPlqc2Kgznmytw
提取码: 0755

ESP32-S3 TO Arduino 6.png

  • 从资源管理器按路径 “c:\Users\Waveshare\AppData\Local\Arduino15\staging\packages” 进入(其中 Waveshare 为计算机用户名,需要开启显示隐藏文件)

ESP32-S3 TO Arduino 7.png

  • 将上方下载的文件解压至 packages 文件夹下

ESP32-S3 TO Arduino 8.png

  • 重新执行安装操作

ESP32-S3 TO Arduino 9.png

  • 安装完成重启 Arduino IDE 即可使用

ESP32-S3 TO Arduino 10.png

  • 上方将项目文件夹更改为 c:\Users\Waveshare\AppData\Local\Arduino15\packages(其中 Waveshare 为计算机用户名)

ESP32-S3 TO Arduino sample 1.png
ESP32-S3 TO Arduino sample 2.png

  • 重新开启 Arduino IDE

前置操作

请注意,需要保证ESP32固件版本为3.0.0以下的(当前示例固件版本为2.0.11),否则会导致编译失败 ESP32-S3 TO Arduino 3.png

设置产品参数

  • 设置Flash大小与分区

ESP32-S3-Relay-6CH TO Setting 1.png

安装库文件

  • 安装 ArduinoJson 库

ESP32-S3-Relay-6CH TO Lib 1.png

  • 安装 PubSubClient 库

ESP32-S3-Relay-6CH TO Lib 2.png

  • 安装 NTPClient 库

ESP32-S3-Relay-6CH TO Lib 3.png

程序修改

  • 每个示例中都有 WS_Information.h 文件,请将文件内容修改为用户信息
  • MAIN_ALL 示例为例

ESP32-S3-Relay-6CH TO Burnprocess 1.png

  • 打开 WS_Information.h 文件

ESP32-S3-Relay-6CH TO Burnprocess 2.png

  • 将WIFI的 Waveshare-TL 与 waveshare 修改为需要连接的 WIFI 名称和密码
  • 如需要连接的 WIFI 名为 Waveshare-WIFI,密码为 123456789 ,则修改为如下内容

ESP32-S3-Relay-6CH TO Burnprocess 3.png

  • 若需使用 Waveshare云 进行继电器控制,则需先在 Waveshare云 上创建设备
  • 根据 Waveshare云 上的设备详情修改相关数据

ESP32-S3-Relay-6CH TO Burnprocess 4.png

  • 修改情况如下

ESP32-S3-Relay-6CH TO Burnprocess 5.png

程序烧录

  • 程序修改完成,在连接好设备后,选择 开发板 和 COM 口

ESP32-S3-Relay-6CH TO Burnprocess 6.png ESP32-S3-Relay-6CH TO Burnprocess 7.png

  • 操作完成即可烧录程序

ESP32-S3-Relay-6CH TO Burnprocess 8.png

RS485 控制

使用 RS485 设备连接 ESP32-S3-Relay-6CH 设备,向 ESP32-S3-Relay-6CH 发送数据可控制各个继电器的开合,默认以 115200 波特率进行通信。

操作指令 指令功能
06 05 00 01 55 00 A2 ED 切换 CH1 继电器的状态
06 05 00 02 55 00 52 ED 切换 CH2 继电器的状态
06 05 00 03 55 00 03 2D 切换 CH3 继电器的状态
06 05 00 04 55 00 B2 EC 切换 CH4 继电器的状态
06 05 00 05 55 00 E3 2C 切换 CH5 继电器的状态
06 05 00 06 55 00 13 2C 切换 CH6 继电器的状态
06 05 00 FF FF 00 BD BD 开启所有继电器
06 05 00 FF 00 00 FC 4D 关闭所有继电器

硬件连接

  示例使用 USB TO 4CH Serial Converter 进行演示

ESP32-S3-Relay-6CH USB TO 4CH Serial Converter - PORT B
RS485 - A+ Port B - A+
RS485 - B- Port B - B-

软件操作

  • 使用 SSCOM 进行数据发送
  • 开启 SSCOM 软件,选择上方连接的 Port B 口对应的 COM 口

ESP32-S3-Relay-6CH TO RS485 1.png

  • 打开串口,使用多条发送功能快捷发送指令

ESP32-S3-Relay-6CH TO RS485 2.png

  • 通过以下指令即可进行继电器控制

ESP32-S3-Relay-6CH TO RS485 3.png

Web页面控制

使用 手机端 蓝牙调试助手 连接 ESP32-S3-Relay-6CH 设备,获取连接WIFI后的IP,通过IP开启Web页面

AP模式

  • 连接 ESP32-S3-Relay-6CH 设备的 WIFI,WIFI 名称为 ESP32-S3-Relay-6CH ,密码为 waveshare

ESP32-S3-Relay-6CH TO Web 0.png

  • 通过蓝牙调试助手 获取当前IP
  • 打开Web页面即可控制继电器(设备上电后需要一小段时间配置,每次上电后首次开启Web页面可能比较缓慢)

ESP32-S3-Relay-6CH TO Web 1.png

STA模式

  • 设备上电后将自动连接设置的WIFI(烧录程序前需 修改要连接的WIFI
  • 通过蓝牙调试助手 获取当前IP
  • 打开Web页面即可控制继电器(设备上电后需要一小段时间配置,每次上电后首次开启Web页面可能比较缓慢)

ESP32-S3-Relay-6CH TO Web 2.png

蓝牙控制

使用 手机端 蓝牙调试助手 连接 ESP32-S3-Relay-6CH 设备,向 ESP32-S3-Relay-6CH 发送数据可控制各个继电器的开合。请注意:部分蓝牙调试助手默认以ASCII形式发送数据,在控制设备前需先根据蓝牙调试助手输入正确的控制指令。

操作指令 指令功能
ASCII Hex
1 0x31 切换 CH1 继电器的状态
2 0x32 切换 CH2 继电器的状态
3 0x33 切换 CH3 继电器的状态
4 0x34 切换 CH4 继电器的状态
5 0x35 切换 CH5 继电器的状态
6 0x36 切换 CH6 继电器的状态
7 0x37 开启所有继电器
8 0x38 关闭所有继电器

软件操作(查看IP)

  • 使用手机端蓝牙调试助手 nRF Connect 进行继电器控制(也可使用其他蓝牙调试助手)
  • 以下使用 nRF Connect 进行功能演示
  • 连接名为 ESP32 S3 Relay 6CH 的蓝牙设备

ESP32-S3-Relay-6CH TO Bluetooth 1.png

  • 连接成功,选则 Unknown Service ,点击读取数据,WIFI 长时间连接失败RGB将常亮红灯,此操作无任何反应
  • 在 WIFI 连接成功的情况下将接收到设备 IP,如下,设备 IP 为 192.168.6.133

ESP32-S3-Relay-6CH TO Bluetooth 2.png

  • 蓝牙控制继电器的指令为字符1~8,即十六进制的 0x31 ~ 0x38
  • 点击发送按钮,填写需要发送的数据(当前为十六进制发送),如下输入 0x31

ESP32-S3-Relay-6CH TO Bluetooth 3.png

  • 发送 0x31 可控制继电器 CH1 进行状态翻转

ESP32-S3-Relay-6CH TO Bluetooth 4.png

  • 发送 0x38 可控制关闭所有继电器

ESP32-S3-Relay-6CH TO Bluetooth 5.png

Waveshare 云平台

创建设备

ESP32-S3-Relay-6CH TO Cloud 0.png

  • 注册成功后,进入 Devices Manager 选项创建设备类,填写该类别的名称

ESP32-S3-Relay-6CH TO Cloud 1.png

  • 创建设备类成功

ESP32-S3-Relay-6CH TO Cloud 2.png

  • 再以模板创建单个设备

ESP32-S3-Relay-6CH TO Cloud 3.png

  • 为创建的设备命名

ESP32-S3-Relay-6CH TO Cloud 4.png

  • 关联设备到设备类别

ESP32-S3-Relay-6CH TO Cloud 5.png ESP32-S3-Relay-6CH TO Cloud 6.png

  • 保存操作

ESP32-S3-Relay-6CH TO Cloud 7.png

  • 创建成功即可查看设备详情, 修改 程序的 WS_Information.h 文件并 烧录 即可使用设备

ESP32-S3-Relay-6CH TO Cloud 8.png

软件操作

ESP32-S3-Relay-6CH TO Waveshare cloud 1.png

  • 选择本设备对应的设备选项,进入开发

ESP32-S3-Relay-6CH TO Waveshare cloud 2.png


外部扩展

RS485 扩展继电器路数

  • 使用 Modbus RTU Relay 扩展 8 路继电器
  • 4个主示例文件已兼容该操作,需将WS_imformation.h 中的 Extension_Enable 设置为 1(默认为1)
  • 可通过蓝牙控制外部扩展的继电器
操作指令 指令功能
06 01 切换 Modbus RTU Relay 的 CH1 继电器的状态
06 02 切换 Modbus RTU Relay 的 CH2 继电器的状态
06 03 切换 Modbus RTU Relay 的 CH3 继电器的状态
06 04 切换 Modbus RTU Relay 的 CH4 继电器的状态
06 05 切换 Modbus RTU Relay 的 CH5 继电器的状态
06 06 切换 Modbus RTU Relay 的 CH6 继电器的状态
06 07 切换 Modbus RTU Relay 的 CH7 继电器的状态
06 08 切换 Modbus RTU Relay 的 CH8 继电器的状态
06 09 开启 Modbus RTU Relay 的所有继电器
06 0A 关闭 Modbus RTU Relay 的所有继电器
  • 蓝牙控制继电器的指令为字符1~8,即十六进制的 0x06 0x01 ~ 0x38 0x0A
  • 点击发送按钮,填写需要发送的数据(当前为十六进制发送),如下输入 0x06 0x01

ESP32-S3-Relay-6CH TO Extension 1.png

  • 发送 0x06 0x01 可控制继电器 CH1 进行状态翻转

ESP32-S3-Relay-6CH TO Extension 2.png

  • 发送 0x06 0x0A 可控制关闭所有继电器

ESP32-S3-Relay-6CH TO Extension 3.png

兼 Pico 接口扩展定时开关功能

  • 使用 Pico-RTC-DS3231 扩展 定时开关功能
  • Pico-RTC-DS3231 设备连接至 ESP32-S3-Relay-6CH
  • 4个主示例文件已兼容该操作,需将 WS_imformation.h 中的 RTC_Enable 设置为 1(默认为 0 ,请保证已连接 Pico-RTC-DS3231

ESP32-S3-Relay-6CH TO Extension2 1.png

  • 将 WS_imformation.h 中的 RTC_OPEN_Time_Hour、RTC_OPEN_Time_Min、RTC_Closs_Time_Hour与RTC_Closs_Time_Min设置为 操作时间
参数 参数说明
RTC_OPEN_Time_Hour 开启所有继电器的时间——小时
RTC_OPEN_Time_Min 开启所有继电器的时间——分钟
RTC_Closs_Time_Hour 关闭所有继电器的时间——小时
RTC_Closs_Time_Min 关闭所有继电器的时间——分钟
  • 如下设置为每天 8点6分开启,16点30分关闭

ESP32-S3-Relay-6CH TO Extension2 2.png

兼 Pico 接口扩展 CAN 接口

前置操作

  • 安装 mcp_can 库

ESP32-S3-Relay-6CH TO Extension3 1.png

使用教程

ESP32-S3-Relay-6CH TO Extension3 2.png

  • 在主程序中引用 WS_MCP2515.c 与 WS_MCP2515.h
  • 引用后即可在主程序中通过函数 receiveCANData(uint32_t* canId, uint8_t* data) 和函数 sendCANData(uint32_t canId, uint8_t len, uint8_t* data) 进行 CAN数据接收 与 CAN数据发送

ESP32-S3-Relay-6CH TO Extension3 3.png

兼 Pico 接口扩展环境监测功能

前置操作

  • 安装 Adafruit BME280 库

ESP32-S3-Relay-6CH TO Extension4 1.png

  • 选择安装所有

ESP32-S3-Relay-6CH TO Extension4 2.png

  • 安装 Adafruit TSL2591 库

ESP32-S3-Relay-6CH TO Extension4 3.png

  • 选择安装所有

ESP32-S3-Relay-6CH TO Extension4 4.png

  • 安装 Adafruit LTR390 库

ESP32-S3-Relay-6CH TO Extension4 8.png

  • 选择安装所有

ESP32-S3-Relay-6CH TO Extension4 9.png

  • 安装 Adafruit SGP40 库

ESP32-S3-Relay-6CH TO Extension4 10.png

  • 选择安装所有

ESP32-S3-Relay-6CH TO Extension4 11.png

使用教程

兼 Pico 接口扩展 RS232/RS485 接口

  • 请注意,使用 Pico-2CH-RS485 扩展 RS485 接口时仅支持通道1,通道0 不可使用
  • 使用 Pico-2CH-RS232 扩展 RS232 通信接口

使用教程

ESP32-S3-Relay-6CH TO Extension5 1.png

  • 当前为实时打印接收到的字符
  • 在 setup 中调用初始化函数 Extension_Init()
  • 调用后即可在主循环程序中通过函数 SetData2(uint8_t* data, size_t length) 和函数 SetData3(uint8_t* data, size_t length) 进行数据发送

ESP32-S3-Relay-6CH TO Extension5 2.png

Micropython 下使用

烧录固件程序

  • 下载并解压MicroPython固件:(烧录器与固件
  • 将设备连接电脑
  • 打开 flash_download_tool_3.9.4.exe软件,选择ESP32-S3及USB

ESP32-S3-Relay-6CH TO MicroPython Firmware 1.png

  • 选择对应的COM口,我们已经为你配置好其他信息,点击Start开始下载即可(若识别不到COM 口,请按住 BOOT 按键,并按下 RESET 按键,先松开 RESET 按键)

ESP32-S3-Relay-6CH TO MicroPython Firmware 2.png

  • 若出现下载卡顿,一直未进行下载,请进入下载模式,按住 BOOT 按键,并按下 RESET 按键,先松开 RESET 按键,再次尝试下载,等待烧录完成

ESP32-S3-Relay-6CH TO MicroPython Firmware 3.png

前置操作

Thonny 下使用

  • 安装Thonny(Thonny IDE
  • 开启Thonny,点击右下方的“Python x.x.x”,选择“Configure interpreter”

ESP32-S3-Relay-6CH TO MicroPython Environment 1.png

  • 在弹出窗口中选择“Interpreter”->解释器选择“MicroPython(ESP32)”

ESP32-S3-Relay-6CH TO MicroPython Environment 2.png

  • 保存设置

ESP32-S3-Relay-6CH TO MicroPython Environment 3.png

  • 点击暂停,Shell窗口出现“MicroPython v1.22.1 on 2024-01-05; Generic ESP32S3 module with ESP32S3 Type "help()" for more information.”即为连接成功

ESP32-S3-Relay-6CH TO MicroPython Environment 4.png

程序烧录

ESP32-S3-Relay-6CH TO MicroPython Environment 5.png

  • 查看文件路径

ESP32-S3-Relay-6CH TO MicroPython Environment 6.png

  • 在 Thonny 上进入示例文件的路径

ESP32-S3-Relay-6CH TO MicroPython Environment 7.png

  • 按住 Ctrl 并选择目录下所有文件,右键选择 Upload to/ 进行上传

ESP32-S3-Relay-6CH TO MicroPython Environment 8.png

  • 等待上传结束

ESP32-S3-Relay-6CH TO MicroPython Environment 9.png

  • 上传成功即可在设备文件窗口看见上传的文件,当前示例可实现蓝牙控制设备,可根据自身需求进行二次开发

ESP32-S3-Relay-6CH TO MicroPython Environment 10.png

与 Homeassistant 配合使用

产品可以在通过树莓派上搭建的 Homeassistant ,进行线上控制,实现相关操作请查看 参考链接

资料

原理图

ESP32-S3-Relay-6CH原理图

文档

程序

软件

FAQ

请将跳线帽移至 120R 再次尝试,部分 RS485 设备需要串入 120R 电阻


可长按BOOT按键,同时按下RESET,然后松开RESET,再松开BOOT按键,此时模块可进入下载模式,可解决大部分无法下载的问题。


技术支持

联系人:常工
EMAIL:2355861364@qq.com
QQ:2355861364
微信:扫下方二维码添加
Cjs-vx.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证