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

TAG: Milk-V Duo摄像头 Arducam AF Camera Sipeed NanoCluster迷你集群板 数据中心 集群电脑 树莓派CM45 LM3H M4N MPTPU树莓派5 谷歌AI Kit 2TOPS PCIE转TPU 谷歌TPU核心模组 树莓派5 5V5A 树莓派5散热外壳 RP2040 LoRa 宽电压 树莓派SSD扩展板 XIAO SAMD21超小SuperMini开发板Tiny兼容Arduino 斑梨 工业级以太网转30路继电器PoE供电Modbus物联网IOT 树莓派5散热器 树莓派7寸QLED量子点电容触摸显示屏1024x600 PC电脑游戏副屏 ESP32-S3 N8R2 高精度360°磁编码伺服电机85KG 12V/24V RS485高精度大扭矩 树莓派CM5计算模块双千兆网口IO扩展板RJ45 ETH 工业级隔离型转换器 450纳米高精度激光器模组可调焦距激光雕刻激光3D打印 ESP32 S3小木马开发板1.54寸LCD小智muma虾哥AI DeepSeek人工智能语音聊天机器人N16R8