跳到主要内容

ESP32-S3-Relay-6CH MicroPython 开发

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

MicroPython 入门教程​

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

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

配置开发环境​

1. 配置 Thonny 和烧录 MicroPython 固件​

2. 其他提示​

  • 目前开发板使用定制的固件进行开发,固件在 ESP32-S3-Relay-6CH 示例程序 中,注意下载地址是 0x00 位置
  • 固件路径:..\ESP32-S3-Relay-6CH-Demo\MicroPython\Firmware
  • 与 Arduino 和 MicroPython 文件夹同级的 Firmware 下的** bin** 文件为测试板载功能的文件,在此处无需烧录
信息

MicroPython 固件编译 更多学习链接

示例程序​

Demo-flow-02

ESP32-S3-Relay-6CH 示例程序

示例程序基础例程说明
main.py主函数
ws_bluetooth.py蓝牙初始化及指令解析
ws_gpio.pyRGB、蜂鸣器,继电器初始化
ws_information.py全局系统参数设置
ws_relay.py实现继电器控制
ws_serial.py8 路继电器扩展

上传例程​

  • 将本地文件上传到开发板,选择文件,鼠标右键,找到"upload to/", 进行上传

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

  • 以下是全部文件上传完成的界面,上传的文件请务必与图片内保持一致 ,否则可能会运行失败

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

运行例程​

例程上传并运行后,支持通过 RS485 接口或蓝牙控制板载各个继电器动作。

RS485 控制​

将外部 RS485 设备连接至 ESP32-S3-Relay-6CH,发送控制指令即可切换或控制各个继电器的开闭,默认通信波特率为 9600。

控制指令表

操作指令指令功能
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 RS232/485 转换器 进行连接演示,引脚对照如下:

ESP32-S3-Relay-6CHUSB-TO-RS232-485
RS485 - A+Tx B - A+
RS485 - B-Rx B - B-

软件操作

  1. 打开 SSCOM 串口调试助手,选择转换器 Port B 对应的 COM 端口,波特率设置为 9600。

  2. 打开串口,可在多条发送列表中预置控制指令并勾选十六进制(HEX)发送:

    ESP32-S3-Relay-6CH-demo-01

  3. 点击对应指令的发送按钮,即可控制继电器动作:

    ESP32-S3-Relay-6CH-demo-02

蓝牙控制​

使用手机端蓝牙调试助手连接 ESP32-S3-Relay-6CH,发送控制指令即可切换或控制各个继电器的开闭。

提示

部分蓝牙调试助手默认以 ASCII 字符串发送,部分以十六进制(HEX)发送。控制前请根据所用工具选择对应的指令格式。

控制指令表

ASCIIHex指令功能
10x31切换 CH1 继电器的状态
20x32切换 CH2 继电器的状态
30x33切换 CH3 继电器的状态
40x34切换 CH4 继电器的状态
50x35切换 CH5 继电器的状态
60x36切换 CH6 继电器的状态
70x37开启所有继电器
80x38关闭所有继电器

操作步骤

本示例使用手机端蓝牙调试助手 nRF Connect 进行演示(也可选用其他蓝牙调试助手):

  1. 打开 nRF Connect 扫描蓝牙设备,找到并连接名为 ESP32 S3 Relay 6CH 的设备:

    800px-ESP32-S3-Relay-6CH_TO_Bluetooth_1

  2. 读取设备 IP(可选):连接成功后展开 Unknown Service 服务,点击读取数据(向下箭头图标):

    • 若 Wi-Fi 连接成功,将返回获取到的设备 IP(如图中为 192.168.6.133);
    • 若 Wi-Fi 长时间未连接成功,板载 RGB 彩灯将常亮红灯,此项无数据返回。

    800px-ESP32-S3-Relay-6CH_TO_Bluetooth_2

  3. 发送控制指令:继电器控制指令为字符 1 ~ 8(即十六进制 0x31 ~ 0x38)。点击发送按钮(向上箭头图标),选择数据类型(图示以十六进制 BYTE 为例),输入需发送的指令(如 31):

    800px-ESP32-S3-Relay-6CH_TO_Bluetooth_3

  4. 发送 0x31 后,继电器 CH1 状态翻转:

    800px-ESP32-S3-Relay-6CH_TO_Bluetooth_4

  5. 如需关闭所有继电器,发送 0x38:

    800px-ESP32-S3-Relay-6CH_TO_Bluetooth_5