# ext2-ul-espnow **Repository Path**: mind-plus/ext2-ul-espnow ## Basic Information - **Project Name**: ext2-ul-espnow - **Description**: 适用于 Mind+ V2 Arduino 上传模式的 ESP-NOW 无线通信扩展,它在同一 Wi-Fi 信道的 ESP32 系列主板之间发送和接收最多 250 字节的文本消息 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-27 - **Last Updated**: 2026-09-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: MindPlus-Ext2 ## README # ESP-NOW 无线通信 `espnow` 是一个适用于 Mind+ V2 Arduino 上传模式的 ESP-NOW 无线通信扩展。它在同一 Wi-Fi 信道的 ESP32 系列主板之间发送和接收最多 250 字节的文本消息。 ![ESP-NOW 扩展封面](extension/public/cover.png) ## 积木 ![blocks](./extension/public/images/blocks.png) ## 示例程序 K10端与FireBeetle端交互示例: ![ex1](./extension/public/images/example1.png) ![ex2](./extension/public/images/example2.png) 广播示例: ![ex3](./extension/public/images/example3.png) ## 使用要点 1. 所有通信节点都需要先初始化 ESP-NOW,并设置 1–13 范围内的通信信道。同一组设备必须使用相同信道,否则无法正常通信;若设备同时连接 Wi-Fi,ESP-NOW 信道还需要与当前 Wi-Fi 网络的信道保持一致。 2. “当收到 ESP-NOW 数据时”只注册接收事件;**必须在“永远重复”中持续执行“ESP-NOW 处理接收数据”**,它才会分发已收到的数据并触发事件。 3. 接收端使用长度为 8 的 FIFO 队列。每次“处理接收数据”分发一条消息;如果队列已满,新到消息会被丢弃,已有的较早消息不会被覆盖。因此应保持处理积木高频执行,不适合用于必须逐条可靠送达的协议。 4. “上次发送成功”由 ESP-NOW 的异步发送回调更新,并不表示 `send()` 积木刚执行完就已经得到结果。发送后应继续执行处理积木并短暂等待,再读取该状态。 ## 支持列表 |主板型号|实时模式|ArduinoC|MicroPython|备注| |-----|-----|:-----:|-----|-----| |dev-DFRobot-unihikerK10||√||| |dev-DFRobot-handpyEsp32||√||| |dev-DFRobot-firebeetleEsp32||√||| |dev-DFRobot-firebeetleEsp32E||√||| |dev-DFRobot-Esp32||√||| |dev-DFRobot-handpyESP32S3||√||| |dev-DFRobot-Esp32S3||√||| ## 更新日志 ### V0.0.1 - 新增 ESP-NOW 文本单播、广播、对端管理与接收事件积木。 - 内置兼容 ESP32 Arduino Core 2.x/3.x 的接收与发送回调签名的 Arduino 库(含 Core 3.3.7 / ESP-IDF 5.5)。 ## 开发指南 更详细的 Mind+ V2 扩展开发说明请参考:[Mind+官方扩展开发文档](https://mindplus.dfrobot.com.cn/mp2/Extensions/)。