回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

FireBeetle2-ESP32-C5基于MicroPython的WI-FI配网使用 中等

头像 Suroy 2025.10.13 16 0

引⾔

⽉初,收到了DFRobot的新产品 FireBeetle2-ESP32-C5 开发板,ESP32系列在开发者社区中有着⼴泛的应⽤,这是⼀款基于ESP32-

C5芯⽚的⾼性能物联⽹开发板,可玩性极⾼,本⽂将探讨在MicroPython环境下的智能配⽹实现,在此抛砖引⽟。

☺️ 开箱啦

eb2bde1a72af73f69c79ca6ef776b688_MD5.jpg

这块板⼦延续DFRobot的设计⻛格,很是精美,还配套了扩展IO板。

参数信息:

1.主频⾼达240MHz的RISC-V单核处理器

2.384KB SRAM + 320KB ROM + 4MB Flash

3.⽀持2.4GHz和5GHz双频Wi-Fi 6,乐鑫⾸款双频Wi-Fi 6芯⽚,速率最⾼可达150Mbps

4.⽀持Type-C、5V DC及太阳能充电,集成电池电量监测和3.3V可控电源输出、低功耗

5.蓝⽛协议:Bluetooth 5、Bluetooth mesh,速率最⾼可达2 Mbps

IO资源:

1.数字I/O x18

2.LED PWM 控制器 6个通道

3.SPI x1

4.UART x3 (LP UART x1)

5.I2C x2 (LP I2Cx1)

6.I2S x1

7.红外收发器:发送通道 x5、接收通道 x5

8.1x 12 位 SAR ADC, 7个通道

9.DMA 控制器,3个接收通道和3个发送通道

详细参数可以查看官⽅WIKI: https://wiki.dfrobot.com.cn/SKU_DFR1236_Firebeetle_2_ESP32_C5_Development_Board_IO_Expansion_Kit

💻 环境搭建

使⽤官⽅ esptool ⼯具,该⼯具基于 Python 开发,需要具备 Python 开发环境。

尤其需要注意的是本次评测的开发板ECO1,正式量产版本的是ECO2,因此烧录⼯具版本号最⼤⽀持esptool.py

代码
# 创建项目路径
mkdir suroy/wifi_manager

# 创建虚拟环境 (python版本需要>=3.7)
python3 -m venv venv

# 激活环境
source venv/bin/activate

# 安装依赖项
pip install 

# 擦出flash
esptool.py erase_flash

# 烧录固件(记得修改设备名和文件路径)
# 串口设备名: /dev/cu.usbmodem101
# 固件文件路径: firmware_eco1.bin
esptool.py --chip esp32c5 -p /dev/cu.usbmodem101 -b 460800 --before default_reset --after hard_reset write_flash --flash_mode dio --flash_size 4MB --flash_freq 80m --erase-all 0x2000 firmware_eco1.bin

💡 WI-FI配⽹实现

设计思路

传统的物联⽹设备WiFi配⽹通常有以下⼏种⽅式:

1.硬编码配⽹:直接在代码中写⼊WiFi信息

2.Serial配⽹:通过串⼝命令⾏配置

3.SmartConfig:通过⼿机APP发送WiFi信息

4.AP配⽹:设备创建热点,⽤户连接后配置

我选择实现AP配⽹⽅案,因为它⽤户体验好,不需要额外APP,且代码实现相对简单。

主要⼯作流程

Mermaid Chart - Create complex, visual diagrams with text.-2025-10-12-155348.png

⼀键配⽹流程

1.⾸次使⽤:设备⾃动进⼊AP模式

2.⼿机连接:连接到 SOUROY_AP 热点(密码:88888888)

3.访问配置⻚:浏览器访问 http://192.168.4.1

4.选择WiFi:从下拉列表选择要连接的⽹络

5.输⼊密码:输⼊WiFi密码

6.完成配⽹:设备⾃动保存配置并连接

注:若⽆响应,建议直接 reset 重试

smartwifi.jpg

🕹️ 快速应⽤到项⽬


开源地址: https://github.com/zsuroy/smartlink-mp

获取并上传驱动

代码
# 克隆仓库
git clone https://github.com/zsuroy/smartlink-mp

# 上传仓库中的 wifi_manager.py 文件到 esp32

2. 编写入口

代码
import time
from machine import Pin

# ====WI-FI 配网====
from wifi_manager import WiFiManager
wm = WiFiManager("SUROY_AP", "88888888") # 初始Wi-Fi热点配置
if not wm.connect():
    led.off()
print("配网完成...")
# ====WI-FI 配网====

while True:
    led.on()
    time.sleep(0.5)
    led.off()
    time.sleep(0.5)

💭 总结

 

智能配⽹⽅案常⻅于Arduino和基于IDF开发的版本,⽽本⽂基于MicroPython实现了⼀套轻量级易于集成的⽅案,解决了IoT开发中的⼀⼤痛点,但说实话,这只是打开了第⼀道⻔,后续还可以有许多的改进⽅⾯,在此抛砖引⽟,给各位⼤佬⾜够的发挥空间。

 

 

博客同步更新: https://suroy.cn/embeded/firebeetle2esp32c5-uses-micropython-for-wifi-distribution-network.html

评论

user-avatar