ESP32-S3-Relay-1CH

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

产品介绍

产品简介

ESP32-S3-Relay-1CH 是一款基于 ESP32-S3 主控,支持 WiFi、蓝牙、RS485 等外设接口的工业级 1 路 WiFi 网络继电器。内置电源隔离、光耦隔离等保护电路,安全稳定更可靠,适用于AIoT领域。

产品特性

  • 基于 ESP32-S3 单片机,其上搭载 Xtensa 32 位 LX7 双核处理器,主频高达 240MHz
  • 集成 2.4GHz Wi-Fi 和 Bluetooth 5 (LE) 双模无线通信,具有出色的射频性能
  • 采用优质继电器,允许接入负载:≤10A 250V AC 或 ≤10A 30V DC
  • 板载隔离型 RS485 接口,方便外扩接入各种 RS485 Modbus 工业扩展模块或传感器
  • 板载 RTC 时钟芯片,支持定时任务
  • 板载 USB Type-C 接口,可用于供电和下载调试,方便开发使用
  • 板载接线端子供电接口,仅支持 5V 供电
  • 板载光耦隔离,避免继电器外接高压电路干扰控制芯片
  • 板载数字隔离,避免外部信号干扰控制芯片
  • 板载一体式电源隔离,可提供稳定的隔离电压,隔离端无须额外供电
  • 板载 RS485 收发指示灯,方便感知设备的运行状态
  • 导轨式保护外壳,方便安装使用,带外壳更安全

产品参数

微控制器

ESP32-S3 (默认 ESP32-S3R8 芯片,可定制)

无线通信

2.4GHz Wi-Fi (802.11 b/g/n)、Bluetooth 5 (LE)

USB 接口

接口形式

USB Type-C

供电电压

5V

功能

设备供电、USB 通信和固件下载等

隔离型 RS485

接口形式

接线端子

方向控制

通过主控硬件流设定自动控制

接口保护

提供 TVS 管保护、浪涌和静电保护

匹配电阻

默认 NC,预留 120R 匹配电阻,可跳线帽使能

继电器

允许接入负载

≤10A 250V AC 或 ≤10A 30V DC

继电器路数

1 路

触点类型

一常开

隔离类型

光耦隔离

指示灯

PWR

电源指示灯,接入 USB,检测到电压则亮红灯

Relay

继电器指示灯,常开端闭合时亮灯

RS485

RS485 指示灯:
有数据从 RS485 接口发出时亮绿灯
有数据从 RS485 接口发回时亮蓝灯

端子供电

供电范围

5V

产品外观

外壳

导轨式保护外壳

尺寸

91.6 × 23.3 × 58.7 (mm)

接口介绍

ESP32-S3-Relay-1CH-details-17.jpg

上侧端子说明

下侧端子说明

供电端子

电源正极:DC 5V

RS485 端子

A+ 信号引脚

电源负极

Type-C

可用于设备供电、
固件下载和 USB 通信

B- 信号引脚

SH1.0

GND

地线

继电器端子

继电器公共端

3V3

3.3V 供电输出

GPIO2

扩展 IO

继电器常开端

GPIO1

扩展 IO

ESP32-S3-Relay-1CH-details-15.jpg

设备接线示意图

ESP32-S3-Relay-1CH-details-7.jpg

产品尺寸

ESP32-S3-Relay-1CH-details-size.jpg

用电与继电器安全注意事项

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

1. 负载匹配

  • 确认继电器的额定电压、电流与负载匹配,切勿超载使用。电流过大可能会导致触点融化粘连,甚至起火烧毁。
  • 对于感性负载(电机、线圈、灯具等),启动电流可能远高于额定电流,应选择额定电流有足够余量的继电器。

2. 短路与过流保护

  • 在继电器回路上加 熔断器(保险丝)空气开关(断路器),以防负载短路或意外过流烧毁继电器。
  • 接线时确保负载回路无短路,必要时选用额定电流合适的保护元件。

3. 电弧与吸合保护

  • 继电器开关瞬间会产生电弧,易造成触点损耗或熔焊。
  • 建议对感性负载使用 RC 吸收电路压敏电阻 等灭弧保护。

4. 安装环境

  • 避免在潮湿、高温、易燃易爆或灰尘较多的环境中使用。
  • 继电器应安装稳固,避免振动或冲击导致误动作或损坏。

5. 断电操作

  • 在维护、接线或更换继电器前,请务必切断电源,确保人身和设备安全。
  • 磁保持继电器在状态改变时才通电,平时断电,请避免剧烈震动或强磁场干扰导致继电器状态改变。

6. 状态确认

  • 磁保持继电器上电后请根据需要确认或重置继电器状态,避免因运输、安装或外界干扰导致动作状态异常。
  • 避免在磁保持继电器动作过程中断电,以免状态不确定或触点损坏。

7. 定期检查

  • 长期使用后,请定期检查继电器触点、接线端子及绝缘情况,确保正常工作。
  • 出现异常发热、异味或烧痕,应立即断电并更换继电器。

使用说明

ESP32-S3-Relay-1CH 目前提供 Arduino IDE开发工具和框架,你可以根据项目需求和个人习惯选择适合的开发工具。

开发工具介绍

Arduino-IDE-logo.jpg

Arduino IDE

Arduino IDE是一款便捷灵活、方便上手的开源电子原型平台。不需要太多基础,简单学习后,你也可以快速地进行开发。同时,Arduino 拥有庞大的全球用户社区,提供了海量的开源代码、项目示例和教程,还有丰富的库资源,封装了复杂功能,让开发者能快速实现各种功能。


器件准备

在操作前,建议先浏览目录,快速了解文档结构。为顺利操作,请仔细阅读FAQ,提前了解可能的问题。文档中所有资料均提供超链接,方便下载。

Arduino开发

本章介绍 Arduino 环境搭建,包括 Arduino IDE、ESP32板管理、相关库的安装,程序编译下载及示例程序测试,帮助用户掌握开发板,便于二次开发。
Arduino-flow-04.png

环境搭建

下载和安装 Arduino IDE

  • 点击访问Arduino官网,选择对应的系统和系统位数下载。
    ESP32-S3-AMOLED-1.91-Ar-software-01.png
  • 运行安装程序,全部默认安装即可。

安装 ESP32 开发板

  • ESP32相关主板在Arduino IDE使用,须先安装“esp32 by Espressif Systems”库。
  • 根据板安装要求进行安装,一般推荐“在线安装”, 若在线安装失败,则使用“离线安装”。
  • 安装教程,详见:Arduino 板管理教程
  • ESP32-S3-Relay-1CH 所需开发板安装说明
板名称 板安装要求 版本号要求
esp32 by Espressif Systems “离线”安装/“在线”安装 3.0.x

安装库

  • 在安装 Arduino 库时,通常有两种方式可供选择:在线安装离线安装若库安装要求离线安装,则必须使用提供的库文件
    对于大多数库,用户可以通过 Arduino 软件的在线库管理器轻松搜索并安装。然而,一些开源库或自定义库未被同步到 Arduino 库管理器中,因此无法通过在线搜索获取。在这种情况下,用户只能通过离线方式手动安装这些库。
  • 库安装教程,详见:Arduino 库管理教程
  • ESP32-S3-Relay-1CH 库文件存放于示例程序中,点击此处跳转:ESP32-S3-Relay-1CH 示例程序
  • ESP32-S3-Relay-1CH 库文件安装说明
库名称 说明 版本 库安装要求
ArduinoJson 轻量 JSON 库 v6.21.4 “在线”或“离线”安装
PubSubClient MQTT 消息订阅发布库 v2.8.0 “在线”或“离线”安装
NTPClient 网络时间同步客户端库 v3.2.1 “在线”或“离线”安装

运行第一个 Arduino 程序

如果你刚入门学习ESP32和Arduino,还不知道如何创建、编译、烧录和运行Arduino ESP32程序,那么请展开看看,希望可以帮助到你!

新建工程

  • 运行Arduino IDE,选择 File -> New Sketch
    ESP32-S3-AMOLED-1.91-Ar-study-01.png
  • 输入代码:
void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.println("Hello, World!");
  delay(2000);
}
  • 保存代码工程,选择 File -> Save As...;在弹出的菜单选择保存工程路径,并输入工程名,如 Hello_World,点击保存

ESP32-S3-AMOLED-1.91-Ar-study-02.png

编译和烧录程序

  • 选择对应的开发板,以ESP32S3主板为例:

①. 点击选择下拉框选项“Select Other Board and Port”;
②. 搜索需要的开发板型号“esp32s3 dev module”并选择;
③. 选择COM口
④. 保存选择。
ESP32-S3-AMOLED-1.91-Ar-study-03.png

  • 若ESP32S3主板只有USB口,须打开(Enable)USB CDC,如下图所示:

ESP32-S3-AMOLED-1.91-Ar-study-04.png

  • 编译并上传程序:

①. 编译程序;②. 编译并下载程序;③. 下载成功。
ESP32-S3-AMOLED-1.91-Ar-study-05.png

  • 打开串口监视窗口,程序每隔2秒会打印“Hello World!”,运行情况如下所示:

ESP32-S3-AMOLED-1.91-Ar-study-06.png

示例程序

Demo-flow-01.png

  • ESP32-S3-Relay-1CH 示例程序
示例程序 基础例程说明 依赖库
01_MAIN_WIFI_AP RS485 接口控制,蓝牙控制,蓝牙发送IP,Web页面控制(近距离) 可直接烧录
Web 页仅连接到设备 WIFI 才可使用
02_MAIN_WIFI_STA RS485 接口控制,蓝牙控制,蓝牙发送IP,Web页面控制(近距离) 修改 要连接的 WIFI
Web页仅内网使用
03_MAIN_WIFI_MQTT RS485 接口控制,蓝牙控制,蓝牙发送IP,Waveshare云控制(远距离) 修改 要连接的 WIFI
须在Waveshare云中 创建 设备
04_MAIN_ALL RS485 接口控制,蓝牙控制,蓝牙发送IP,Web页面控制(近距离),Waveshare云控制(远距离) 修改 要连接的 WIFI
须在Waveshare云中 创建 设备
Web页仅内网使用

Arduino 工程参数设置

ESP32-S3-Relay-6CH-demo-10.png

01_MAIN_WIFI_AP

【程序说明】


  • 本示例实现了通过 WiFi、蓝牙和 RS485 去控制 1 个继电器的开关,此示例开启的是WiFi的AP模式

【注意事项】


  • 可直接烧录
  • Web 页仅连接到设备 WIFI 才可使用

【RS485控制】


【蓝牙控制】


【Web页面控制】


02_MAIN_WIFI_STA

【程序说明】


  • 本示例实现了通过 WiFi、蓝牙和 RS485 去控制 1 个继电器的开关,此示例开启的是WiFi的STA模式

【注意事项】


  • 需修改要连接的 WIFI
  • Web页仅支持控制设备和本产品在同一网络下使用,若使用手机端控制,需关掉移动网络

【RS485控制】


【蓝牙控制】


【Web页面控制】


03_MAIN_WIFI_MQTT

【程序说明】


  • 本示例通过 MQTT、蓝牙 和 RS485 通信方式控制 1 个继电器。它使用 ESP32 作为主控制单元,支持连接 Wi-Fi 和蓝牙,并提供了基于 MQTT 协议的远程控制

【注意事项】


  • 需修改要连接的 WIFI
  • 须在Waveshare云中创建设备

【RS485控制】


【蓝牙控制】


【Waveshare云控制】


04_MAIN_ALL

【程序说明】


  • 本示例为RS485 接口控制、蓝牙控制、Web页面控制(近距离)、Waveshare云控制(远距离)全部功能集合

【注意事项】


  • 需修改要连接的 WIFI
  • Web页仅支持控制设备和本产品在同一网络下使用,若使用手机端控制,需关掉移动网络
  • 须在Waveshare云中创建设备

【RS485控制】


【蓝牙控制】


【Web页面控制】


【Waveshare云控制】


外部扩展

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


Flash固件的烧录与擦除

  • 当前示例程序有提供测试固件,可通过直接烧录测试固件来测试板载设备功能正常与否
  • bin文件路径:
    ..\ESP32-S3-Relay-1CH\Firmware\Factory bin

与 Homeassistant 配合使用

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

资料

原理图

示例程序

数据手册

ESP32-S3

软件工具

Arduino

VScode

Thonny

调试工具

其他资料链接

FAQ

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


  • 这种情况可能是由于 Flash 空白导致 USB 口不稳定,可长按BOOT按键,同时按下RESET,然后松开RESET,再松开BOOT按键,此时模块可进入下载模式烧录固件(程序)即可解决该情况。


  • 首次编译很慢属于正常情况,耐心等待即可


  • 若开发板有复位键则按下复位键;若没有复位键,请重新上电


  • 部分AppData文件夹是默认隐藏的,可以设置为显示。
  • 英文系统:资源管理器->View->勾选“Hidden items”
  • 中文系统:文件资源管理器->查看->显示->勾选“隐藏的项目”


  • Windows系统:

①通过设备管理器查看: 按下Windows + R键打开“运行”对话框; 输入devmgmt.msc并按回车键打开设备管理器; 展开“端口(COM和LPT)”部分,这里会列出所有的COM端口及其当前状态。
②使用命令提示符查看: 打开命令提示符(CMD); 输入mode命令,这将显示所有COM端口的状态信息。
③查看硬件连接: 如果你已经连接了外部设备到COM口,通常设备会占用一个端口号,可以通过查看连接的硬件来确定使用的是哪个端口。

  • Linux系统:

①使用dmesg命令查看: 打开终端。
②使用ls命令查看: 输入ls /dev/ttyS*或ls /dev/ttyUSB*来列出所有的串口设备。
③使用setserial命令查看: 输入setserial -g /dev/ttyS*来查看所有串口设备的配置信息。



  • 查看原理图,针对不同开发板的Type-C接口,对应代码处理输出不同:
    • USB直出的开发板,支持printf函数打印输出,若想支持Serial函数打印输出则需要使能USB CDC On Boot功能或者HWCDC声明
    • UART转USB的开发板,支持printf函数和Serial函数打印输出,无需使能USB CDC On Boot


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


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


技术支持

联系人:梁工
电话:0755-83043099
微信:扫下方二维码添加
Ljh.png

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