|
63| 10
|
[K10教程] 【花雕动手做】K10系列实验之无线广播遥控接收控制LED灯 |
![]() 行空板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。 ![]() |
|
本帖最后由 驴友花雕 于 2026-6-10 06:08 编辑 【花雕动手做】行空板K10系列实验之无线广播双板遥控接收控制板载LED灯 实验开源代码(无线广播发送端) |
|
本帖最后由 驴友花雕 于 2026-6-10 06:22 编辑 代码解读 一、整体工程框架解读 这是行空板 K10(ESP32-S3)BLE 无线广播发送程序,基于 Arduino 框架、DF 官方封装库DFRobot_ESP32_Radio。 通信模式:离线 BLE 广播,不用 WiFi、不用路由器,同分组设备可一键接收指令;按键 A/B 作为发射触发,按下就向外群发文本指令。 整体结构分三块:头文件引入、全局对象定义、初始化 setup、空主循环 loop、按键回调事件。 1. 头文件部分 unihiker_k10.h:行空板专用驱动库,统一封装屏幕、画布、按键 A/B、板载 RGB 灯所有硬件操作,不用手动操作 ESP32 底层 IO。 DFRobot_ESP32_Radio.h:DF 自研简易无线库,底层封装 ESP32 BLE 广播,屏蔽蓝牙复杂配置,只留分组、发消息极简接口。 2. 前置声明与全局对象 onButtonAPressed / onButtonBPressed:函数提前声明。因为 setup 里要绑定回调,编译器需要提前知道这两个函数存在。 Radio:无线通信实体,所有广播发送、频段分组操作都调用这个对象。 screen_dir=2:屏幕朝向参数,2 是设备出厂默认正向显示,改数字可以旋转屏幕画面。 k10:行空板整机总对象,操控屏幕、按键、彩灯、画布全部靠它。 二、setup () 上电一次性初始化流程 上电只运行 1 次,顺序固定:硬件整机初始化 → 屏幕画布初始化 → 绑定按键触发函数 → 开启 BLE 广播并设分组 → 绘制开机界面、调节彩灯亮度 行空板底层初始化:初始化 SPI 屏幕总线、按键 IO、RGB 灯引脚、系统时钟。 初始化屏幕方向;创建内存画布。 画布机制:所有文字先写到内存缓存,调用updateCanvas()才一次性刷新到屏幕,减少刷屏卡顿。 绑定按键回调机制: 按键 A 物理按下 → 硬件中断触发 → 自动运行 onButtonAPressed 按键 B 物理按下 → 自动运行 onButtonBPressed 不需要在 loop 里不停轮询检测按键,属于事件驱动。 turnOn():打开 ESP32 内置 BLE 广播射频; setGroup(1):设置通信分组号。 核心规则:只有 Group 数值完全相同的板子才能互相收发,不同分组互相屏蔽,多组设备同空间不会串信号。 背景纯白色;在画布第 4 行输出绿色标题文字;刷新画布,标题显示到屏幕。 设置板载 RGB 灯全局亮度,数值越小越暗,这里亮度很低,柔和不刺眼。 三、loop () 主循环 这里是空循环。 原因:程序完全依靠按键事件回调驱动,不需要在 loop 里轮询任务;没有传感器采集、动态刷新画面等持续运行任务,留空即可。 四、按键回调函数核心逻辑(发送广播主体) 1. A 键按下函数 onButtonAPressed 核心发送指令:向 Group1 全网 BLE 广播发送字符串 hong,所有同组行空板实时接收这条消息。 画布第 6 行写入红色提示文字,刷新屏幕显示操作状态。 控制本机 RGB 彩灯: 第一个参数-1 = 所有板载 RGB 灯珠统一设置;第二个参数十六进制 RGB 红色。 保持亮灯、文字显示 1 秒钟。 清空第 6 行提示文字;RGB 全部设黑色(熄灭灯光)。 2. B 键按下函数 onButtonBPressed 逻辑和 A 键完全对称: 广播发送字符串 lan 第 8 行打印蓝色提示文字 本机 RGB 亮蓝色 1 秒 清除文字、熄灭彩灯 五、关键通信特性解读 BLE 广播一对多 按下一次按键,一块发送板 → 几十块同组接收板同时收到指令,典型一控多教具场景。 离线免网络 全程只用蓝牙广播,不需要连接 WiFi、路由器,电池供电就能运行。 数据格式 只传输简短字符串指令(hong/lan),符合 BLE 广播小包传输特性,不适合大体积数据。 分组隔离 修改setGroup(数字)可以划分多套独立控制系统,教室多组实验互不干扰。 |
|
【花雕动手做】行空板K10系列实验之无线广播双板遥控接收控制板载LED灯 实验开源代码(无线广播接收端) |
|
接收端完整逐行代码解读 1. 头文件与全局定义 2. setup () 上电初始化(只运行 1 次) 3. loop () 主循环 这个循环全程空置。 接收工作由无线库后台自动监听蓝牙广播包,属于事件触发机制,不需要在 loop 里轮询检测消息;收到匹配指令直接跳去回调函数执行。 4. 无线接收回调函数 ① 接收 hong 指令 ② 接收 lan 指令 5、整套收发联动逻辑
|
沪公网安备31011502402448© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed