ESP32-S3-Relay-1CH 使用教程

产品介绍

产品简介

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

产品特性

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

产品参数

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

接口介绍

产品尺寸



用电安全注意事项

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

使用说明

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

开发工具介绍


Arduino IDE

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


器件准备

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

Arduino开发

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

环境搭建

下载和安装 Arduino IDE

  • 点击访问Arduino官网,选择对应的系统和系统位数下载。

  • 运行安装程序,全部默认安装即可。

安装 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“在线”或“离线”安装
PubSubClientMQTT 消息订阅发布库v2.8.0“在线”或“离线”安装
NTPClient网络时间同步客户端库v3.2.1“在线”或“离线”安装
LVGL更多学习及使用可参考LVGL官方文档

运行第一个 Arduino 程序


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

新建工程

  • 运行Arduino IDE,选择 File -> New Sketch

  • 输入代码:
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,点击保存

编译和烧录程序

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

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

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


  • 编译并上传程序:

①. 编译程序;②. 编译并下载程序;③. 下载成功。

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


示例程序


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

Arduino 工程参数设置


01_MAIN_WIFI_AP

【程序说明】


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

【注意事项】


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

【RS485控制】


【蓝牙控制】


【Web页面控制】


02_MAIN_WIFI_STA

【程序说明】


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

【注意事项】


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

【RS485控制】


【蓝牙控制】


【Web页面控制】


03_MAIN_WIFI_MQTT

【程序说明】


  • 本示例通过 MQTT、蓝牙 和 RS485 通信方式控制 6 个继电器。它使用 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


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


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



Flash固件的烧录与擦除

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

资料

示例程序

数据手册

ESP32-S3

软件工具

Arduino

VScode

Thonny

调试工具

其他资料链接

FAQ

问题:模块下载程序后,重新下载,有时会出现无法连接串口,或者烧录失败的情况?

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


问题:模块出现一直复位的情况,从设备管理器查看识别状况会一闪一闪的?

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


问题: 程序首次编译超级慢怎么处理?

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


问题: ESP-IDF烧录成功串口显示“waiting for download...”怎么处理?

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


问题: 找不到AppData文件夹怎么处理?

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


问题: 怎么查看自己使用的COM口?

  • 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*来查看所有串口设备的配置信息。


问题:在使用 MAC 设备时,程序烧录失败?


问题:为什么代码没问题且成功烧录,运行后没有输出?

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


问题:请注意!

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


问题:使用RS485控制其他设备时不灵敏、或通信不上?

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

技术支持

周一-周五(9:30-6:30)周六(9:30-5:30)

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841