|
67| 14
|
[K10教程] 【花雕动手做】K10系列实验之无线广播一对二遥控板载灯 |
![]() 行空板K10是一款专为快速体验物联网和学习人工智能而设计的开发学习板,100%采用国产芯片,知识产权自主可控,符合信息科技课程中编程学习、物联网及人工智能等教学需求。该板集成2.8寸LCD彩屏、WiFi蓝牙、摄像头、麦克风、扬声器、RGB指示灯、多种传感器及丰富的扩展接口。凭借高度集成的板载资源,教学过程中无需额外连接其他设备,便可轻松实现传感器控制、物联网应用以及人脸识别、语音识别、语音合成等AI人工智能项目。 主要特点 集成摄像头&内置算法,可进行离线图像检测 集成麦克风&内置算法,可进行离线语音识别 集成扬声器&内置算法,可进行离线语音合成 2.8寸彩色屏幕,数据展示更清晰 集成度高,利于教学 接口丰富,兼容软件多,扩展性好 ![]() |
|
知识点:无线广播------行空板 K10 BLE、BLE Mesh 广播 一、BLE 普通广播(广播包 Advertising,非连接型) 1. 工作原理 发送板不建立蓝牙配对连接,定时(间隔可设)向外发送短小广播数据包;周围所有开启蓝牙扫描的 K10/ESP32 设备被动抓取数据,属于一对多离线通信,全程不用 WiFi、路由器。 发送端:只发包,不等待应答 接收端:持续扫描,识别目标设备标识后读取内容 2. 核心参数 传输距离:空旷 5–10 米,隔墙大幅衰减 功耗优势:发送、待机电流都很低,电池供电可长时间运行 数据限制:单帧广播载荷很短,一般几十字节以内 拓扑:1 个发射源→N 个接收机,接收机之间互不通信 3. 适用场景 一块主控批量控制多台 LED、蜂鸣器、小电机开关 手环式传感器广播温湿度、按键状态给多块行空板 无网络教室简易一控多教具 4. 短板 不能传长文本、语音、图片、大量数值 无可靠重传机制,干扰环境容易丢包 只能单向发,接收端无法回传数据给发射板 二、BLE Mesh 网格广播组网 1. 工作原理 所有行空板加入同一个 Mesh 网络,节点地位平等: 任意一块板子发送一条消息,全网所有 Mesh 节点同步收到;信号弱的节点还能中继转发消息,扩大覆盖范围,属于多向全网广播。 完全离线运行,不需要 WiFi 路由。 2. 对比普通 BLE 广播优势 信号中继:远距离、隔墙场景靠中间板子接力传递信号 双向互通:每个节点既能发全网广播,也能接收全网消息 分组控制:可划分分组,消息只发给指定分组设备,不用全部设备响应 稳定性高于单纯 Advertising 广播,自带简单纠错 3. 典型应用 教室几十台行空板灯光同步亮灭、抢答同步触发 多房间灯光、智能开关统一控制 分布式传感器,任意节点上报数据全网可见 4. 固有局限 单条消息数据量依旧偏小,依旧无法承载音频、大图 组网设备数量过多时,消息延迟会上升 相比 WiFi UDP,传输速度慢很多 三、两者统一短板汇总 大数据传输能力弱:仅适配开关指令、1–2 组数字、简短标识 高速传输不行:实时音频、大屏多行文字、图像一律不推荐 穿墙能力一般,密集金属遮挡信号暴跌 大量设备同时发包容易产生蓝牙信道冲突丢包 四、行空板 K10 实操区分选择 简单一控多、电池低功耗、距离近 → BLE 普通 Advertising 广播(代码简单、资源占用最小) 多设备互相收发、需要中继扩距离、批量分组控制 → BLE Mesh(组网复杂一点,功能更强) 要传文字、声音、大量数据、距离远、设备多稳定通信 → 优先改用 WiFi UDP 广播 补充简易实操要点 BLE 广播必须设置唯一设备名称 / UUID,接收端过滤识别,避免抓取无关蓝牙设备数据包; Mesh 组网所有设备必须写入同一组网密钥、同一网络 ID 才能互相通信; 电池供电项目首选 BLE 体系,插电稳定大数据项目优先 WiFi。 ![]() |
|
【花雕动手做】行空板 K10 系列实验之无线广播一对二遥控板载 LED 灯 实验开源代码(1对2 无线广播发送端) |
|
代码解读 一、整体定位 这份是行空板 K10 BLE 无线广播发送程序 通信底层:DFRobot_ESP32_Radio 封装 ESP32-S3 蓝牙广播,离线不用 WiFi、路由器,一块发送板可同时控制多台接收板。 触发方式:按下按键 A/B,向外群发指令,本机同步亮灯、屏幕提示。 二、头部引用与全局变量 unihiker_k10.h:行空板专用驱动,封装屏幕、画布、按键 A/B、RGB 彩灯所有硬件接口,不用操作底层 IO。 DFRobot_ESP32_Radio.h:简易蓝牙广播库,一键开关射频、设置分组、收发文本指令。 函数提前声明,因为 setup 里要绑定按键回调,编译器需要预先识别这两个自定义函数。 无线通信核心对象,所有蓝牙广播开关、分组、发送消息都调用这个对象。 屏幕朝向参数,2 是默认正向显示,修改数值可以旋转屏幕画面。 行空板整机总实例,屏幕、按键、彩灯、画布全部由它调度控制。 三、setup () 上电一次性初始化流程 初始化行空板底层硬件:屏幕 SPI 总线、按键输入引脚、RGB 灯驱动、系统时钟。 初始化屏幕方向;创建内存画布。 所有文字先写入内存缓存,调用updateCanvas()才一次性刷新屏幕,减少闪烁。 按键绑定回调 采用事件中断机制:按键物理按下,自动执行对应函数,不需要在 loop 里不停扫描按键。 蓝牙广播配置 turnOn()打开蓝牙 BLE 广播射频; setGroup(1)设置组别,只有组别数字相同的板子才能互相通信,多组实验互不干扰。 屏幕界面初始化 在画布 3、4 行写入两行标题说明文字,最后刷新显示到屏幕。 k10.rgb->brightness(round(2)); 设置 RGB 彩灯全局亮度为 2,低亮度,光线柔和。 四、loop () 主循环 循环为空。 整套程序靠按键事件回调驱动,蓝牙发送、按键检测都是库后台自动处理,无持续运行任务,无需填充代码。 五、按键回调执行逻辑 1. onButtonAPressed(A 键按下) 向组 1 全网广播发送文本指令hong,所有同组接收板同步收到消息。 屏幕第 6 行打印红色提示文字,刷新画布显示。 参数-1代表控制全部板载 RGB 灯珠,颜色设红色。 保持亮灯、文字显示 1 秒。 清空第 6 行文字,RGB 灯全部熄灭(颜色 0x000000 = 黑色)。 2. onButtonBPressed(B 键按下) 逻辑和 A 键对称: 广播发送指令bai 屏幕第 8 行打印白色提示文字 RGB 全亮纯白色 延时 1 秒后清文字、灭灯 六、收发配合关系 本代码 = 发送端; 接收端代码需要用Radio.setCallback("hong",函数)、Radio.setCallback("bai",函数)绑定两条指令; 两端必须统一setGroup(1)才能正常通信; 拓扑:1 块发送板 → N 台接收板,典型一对多离线控制。 七、优缺点 优点:接线极简、电池可供电、无网络依赖、代码易懂适合教学; 缺点:delay是阻塞延时,亮灯 1 秒期间再次按键会延迟响应;BLE 只适合简短指令,不能传音频、大图、大量文字。 |
|
【花雕动手做】行空板 K10 系列实验之无线广播一对二遥控板载 LED 灯 实验开源代码(1对2 无线广播接收A端) |
|
接收A端代码解读 1. 头文件与全局定义 2. setup () 上电初始化(只运行 1 次) 3. loop () 主循环 循环空置,整套程序是事件驱动模式。 蓝牙接收由库后台反文旁虫立扫描广播包,不用在 loop 里循环查询消息;匹配到预设指令,立刻自动执行绑定好的回调函数。 4. 无线接收回调函数 整套收发联动逻辑 发送板:按下 A 键,BLE 广播发送字符串 hong 接收板:提前绑定"hong"对应点灯函数 通信硬性条件:发送、接收两边代码里Radio.setGroup(1)数字必须完全一样 通信特点:BLE 离线广播,不需要 WiFi、路由器;一块发送板可以同时控制多台接收行空板同步亮红灯 优缺点说明 优点:无需网络、电池供电即可运行、一对多批量控制、代码简单适合课堂教学 缺点:delay (1000) 是阻塞延时,亮灯等待的 1 秒内,新收到的指令会延迟执行;BLE 只适合短指令,不能传输语音、大图、大量文字。 |
|
【花雕动手做】行空板 K10 系列实验之无线广播一对二遥控板载 LED 灯 实验开源代码(1对2 无线广播接收B端) |
|
代码解读 一、头文件与全局变量解析 二、setup 上电初始化(仅运行一次) 三、loop 主循环 程序采用事件驱动机制,不需要在循环里轮询检测蓝牙信号。无线库在后台反文旁虫立监听广播,匹配到指令直接调用回调函数,无循环任务所以置空。 四、无线接收回调函数 整套 1 发双收完整配合逻辑 发送端:A 键广播hong、B 键广播bai,分组固定 Group1 接收板 1(红灯):绑定hong,收到指令亮红灯 1 秒 接收板 2(本段代码):绑定bai,收到指令亮白灯 1 秒 通信特性 BLE 离线广播,不用 WiFi、路由器,电池供电即可运行 一块发送板可同时操控多台接收设备同步动作 仅适合简短文本指令,无法传输音频、大图、大量数据 小缺陷:delay(1000)属于阻塞延时,亮灯期间新指令会排队延迟响应。 |
沪公网安备31011502402448© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed