跳到主要内容

ESP32-S3-Relay-1CH Arduino 开发

本章节包含以下部分,请按需阅读:

Arduino 入门教程

初次接触 Arduino ESP32 开发,想要快速上手?我们为您准备了一套通用的 入门教程

请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。

配置开发环境

1. 安装和配置 Arduino IDE

请参考 安装和配置 Arduino IDE 教程 下载安装 Arduino IDE 并添加 ESP32 支持。

ESP32-S3-Relay-1CH 所需开发板安装说明

板名称板安装要求版本号要求
esp32 by Espressif Systems“离线”安装/“在线”安装3.0.x

安装库

  • 在安装 Arduino 库时,通常有两种方式可供选择:在线安装离线安装若库安装要求离线安装,则必须使用提供的库文件
  • 对于大多数库,用户可以通过 Arduino 软件的在线库管理器轻松搜索并安装。然而,一些开源库或自定义库未被同步到 Arduino 库管理器中,因此无法通过在线搜索获取。在这种情况下,用户只能通过离线方式手动安装这些库。
  • 库安装教程,详见:安装和配置 Arduino IDE 教程 当中关于库安装的部分
  • 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“在线”或“离线”安装

示例程序

Demo-flow-01

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 云中 创建 设备 (注:Waveshare 云已停止维护,请选择其他云服务)
04_MAIN_ALLRS485 接口控制,蓝牙控制,蓝牙发送 IP,Web 页面控制(近距离),Waveshare 云控制(远距离)修改 要连接的 WIFI 须在 Waveshare 云中 创建 设备 Web 页仅内网使用 (注:Waveshare 云已停止维护,请选择其他云服务)

Arduino 工程参数设置

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

01_MAIN_WIFI_AP

【程序说明】

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

【注意事项】

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

【RS485 控制】

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

操作指令指令功能
06 05 00 01 55 00 A2 ED切换 CH1 继电器的状态
06 05 00 FF FF 00 BD BD开启所有继电器
06 05 00 FF 00 00 FC 4D关闭所有继电器
  • 硬件连接

示例使用 USB TO RS232/485 转换器 进行演示

ESP32-S3-Relay-1CHUSB-TO-RS232-485
RS485 - A+Tx B - A+
RS485 - B-Rx B - B-
  • 软件操作

    • 使用 SSCOM 进行数据发送

    • 开启 SSCOM 软件,选择上方连接的 Port B 口对应的 COM 口

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

      ESP32-S3-Relay-1CH-demo-01

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

    ESP32-S3-Relay-1CH-demo-02

【蓝牙控制】

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

ASCIIHex指令功能
10x31切换 CH1 继电器的状态
70x39开启所有继电器
80x30关闭所有继电器
  • 软件操作(查看 IP)
    • 使用手机端蓝牙调试助手 nRF Connect 进行继电器控制(也可使用其他蓝牙调试助手)
    • 以下使用 nRF Connect 进行功能演示
    • 连接名为 ESP32 S3 Relay 1CH 的蓝牙设备

ESP32-S3-Relay-1CH-To-Bluetooth-1

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

ESP32-S3-Relay-1CH-To-Bluetooth-2

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

ESP32-S3-Relay-1CH-To-Bluetooth-3

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

ESP32-S3-Relay-1CH-To-Bluetooth-4

  • 发送 0x30 可控制关闭所有继电器
  • 发送 0x39 可控制打开所有继电器

【Web 页面控制】

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

  • AP 模式

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

    ESP32-S3-Relay-1CH_TO_Web_0

  • 通过蓝牙调试助手获取当前 IP

  • 打开 Web 页面即可控制继电器(设备上电后需要一小段时间配置,每次上电后首次开启 Web 页面可能比较缓慢)

    ESP32-S3-Relay-1CH_TO_Web_1

  • STA 模式

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

    ESP32-S3-Relay-1CH_TO_Web_2

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 控制】

【蓝牙控制】

04_MAIN_ALL

微雪云已停止维护

以下基于微雪云进行操作,当前微雪云已停止维护,以下教程仅作为参考使用

【程序说明】

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

【注意事项】

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

【RS485 控制】

【蓝牙控制】

【Web 页面控制】