跳到主要内容

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
  • ArduinoMicroPython 文件夹同级的 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 设备连接 ESP32-S3-Relay-6CH 设备,向 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-
  • 软件操作
    • 使用 SSCOM 进行数据发送
    • 开启 SSCOM 软件,选择上方连接的 Port B 口对应的 COM 口
    • 打开串口,使用多条发送功能快捷发送指令

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

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

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

蓝牙控制

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

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

    • 使用手机端蓝牙调试助手 nRF Connect 进行继电器控制(也可使用其他蓝牙调试助手)
    • 以下使用 nRF Connect 进行功能演示
    • 连接名为 ESP32 S3 Relay 6CH 的蓝牙设备

    800px-ESP32-S3-Relay-6CH_TO_Bluetooth_1

  • 连接成功,选择 Unknown Service , 点击读取数据,WIFI 长时间连接失败 RGB 将常亮红灯,此操作无任何反应

  • 在 WIFI 连接成功的情况下将接收到设备 IP,如下,设备 IP 为 192.168.6.133

    800px-ESP32-S3-Relay-6CH_TO_Bluetooth_2

  • 蓝牙控制继电器的指令为字符 1~8,即十六进制的 0x31 ~ 0x38

  • 点击发送按钮,填写需要发送的数据(当前为十六进制发送), 如下输入 0x31

    800px-ESP32-S3-Relay-6CH_TO_Bluetooth_3

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

    800px-ESP32-S3-Relay-6CH_TO_Bluetooth_4

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

    800px-ESP32-S3-Relay-6CH_TO_Bluetooth_5