|
9| 8
|
[K10教程] 【【花雕动手做】K10 实验之 UDP 广播双K10双向通信点亮LED |
![]() 行空板K10是一款专为快速体验物联网和学习人工智能而设计的开发学习板,100%采用国产芯片,知识产权自主可控,符合信息科技课程中编程学习、物联网及人工智能等教学需求。该板集成2.8寸LCD彩屏、WiFi蓝牙、摄像头、麦克风、扬声器、RGB指示灯、多种传感器及丰富的扩展接口。凭借高度集成的板载资源,教学过程中无需额外连接其他设备,便可轻松实现传感器控制、物联网应用以及人脸识别、语音识别、语音合成等AI人工智能项目。 主要特点 集成摄像头&内置算法,可进行离线图像检测 集成麦克风&内置算法,可进行离线语音识别 集成扬声器&内置算法,可进行离线语音合成 2.8寸彩色屏幕,数据展示更清晰 集成度高,利于教学 接口丰富,兼容软件多,扩展性好 ![]() |
|
知识点:行空板 K10 WiFi 局域网 UDP 广播 一、UDP 基础概念 UDP 全称用户数据报协议,属于 TCP/IP 网络协议,是无连接、广播式、尽力传输的通信方式。 放到行空板场景:所有设备连同一个 WiFi 路由器,组成局域网,依靠 IP + 端口收发数据;支持一台发送、全网所有设备同时接收,也就是 UDP 广播。 和 TCP 最大区别:不用提前握手建立连接,发消息直接抛到局域网里,速度快、代码简单,但不自动重传丢包数据。 二、运行硬性前提(必须满足) 全部通信行空板 K10 连接同一个 WiFi 热点; 设备自动获取同一段内网 IP(常见 192.168.4.xxx、192.168.1.xxx); 通信双方设置完全一致的端口号(截图示例固定 8888); 程序开头必须先执行 WiFi 配网连接,没连上 WiFi,UDP 模块无法启动。 三、相关图形积木功能解析 1. 基础服务端积木 设置 UDP 服务器端口 8888 本机开启 UDP 监听服务,占用 8888 端口,持续等候局域网内所有广播数据包。一块板子可同时做服务端 + 客户端。 当 UDP 服务器收到 广播消息 事件回调块:一旦局域网内有设备发出广播数据,立刻触发内部执行逻辑(点灯、屏幕打印、动作指令)。 UDP 服务器发送消息 "xxx" 向外发送全网广播包,当前 WiFi 局域网里所有开启 UDP 8888 端口的设备全部收到这条内容。 2. 基础客户端积木 设置 UDP 客户端连接到服务器 IP 192.168.4.1 端口 8888 客户端绑定目标服务端的内网 IP 与端口,建立通信目标;广播场景下 IP 可填局域网广播地址,实现一对多群发。 UDP 客户端发送消息 "xxx" 两种用法:①定向发给上面填写的单个服务器 IP;②发送全网广播,所有同端口设备接收。 当 UDP 客户端收到 广播消息 客户端独立监听广播数据包,收到数据后执行内部程序逻辑。 四、两种常用工作模式 模式 1:一对多广播(教学最常用) 1 块主控发送,N 台从板同步接收动作 主控(发送端):WiFi 联网 → UDP 开启 8888 端口 → 按键 / 陀螺仪触发「服务器发送消息」; 所有从板:WiFi 连同一个热点 → UDP 端口 8888 → 绑定「收到广播消息」回调,识别指令点灯、动作; 特点:一块板子下发指令,几十台设备同步响应。 模式 2:点对点双向通信 A 板客户端连 B 板服务端 IP,双向互发消息,适合一问一答、状态回传(比如小车上报速度、传感器数值回传给主控)。 五、完整积木程序标准结构 发送主控模板 【连接 WiFi】填入 WiFi 名称、密码(第一步必加) 【设置 UDP 服务器端口 8888】 循环 / 按键触发:【UDP 服务器发送消息 "hong"】 接收从板模板 【连接 WiFi】同一个 WiFi 账号密码 【设置 UDP 服务器端口 8888】 【当 UDP 服务器收到广播消息】 判断收到文本,匹配hong/bai/qian等指令,执行 RGB 变色、屏幕文字。 六、UDP 核心优缺点 优点 天然一对多广播:一次发送全网同端口设备接收,批量控制效率高; 速度快延迟低:无握手、无校验重传,体感几乎无卡顿; 兼容多设备:行空板、电脑、手机、ESP32 全都能互通; 数据承载量大:相比离线 Radio 射频,UDP 支持长文本、大量传感器数值、中等长度数据流; 覆盖范围广:路由器 WiFi 全屋覆盖,穿墙能力优于 2.4G 私有射频。 缺点 强依赖 WiFi 网络:无路由器、无 WiFi 环境完全无法运行,户外断电场景不能用; 无可靠传输:干扰、信号弱时会丢包,没有自动补发;稳定场景可重复发送 2 次指令; 功耗更高:WiFi 模块持续通电工作,电池续航比离线 Radio 短; 多组隔离麻烦:多小组实验要分不同 WiFi 热点才能互不干扰,不像 Radio 简单改 Group 数字。 七、实操避坑关键点 WiFi 必须一模一样:发送、接收板子 WiFi 名称、密码完全一致,大小写不能错; 端口号统一:所有设备 UDP 端口必须都是 8888,数字不同收不到; 广播无需精准匹配单个 IP:发全网广播时不用填每台从板 IP,局域网全部 8888 端口设备自动接收; 不要超大段文本发送,过长数据包容易分包乱码; 程序逻辑里不要加超长delay(),会阻塞 UDP 消息监听; 路由器 2.4G WiFi 稳定性优于 5G,行空板优先连 2.4G 频段。 ![]() ![]() |
|
【花雕动手做】行空板K10系列实验之UDP广播双行空板K10双向通信点亮LED 实验开源代码(UDP广播服务器) |
|
行空板 K10 自建热点 UDP 服务端代码解读 1. 头文件与全局定义 DFRobot_Iot.h:WiFi 管理库,负责开启自建热点 (SoftAP)、读取本机热点 IP; unihiker_k10.h:K10 硬件驱动,管控屏幕、画布、A 按键、RGB 彩灯; DFRobot_UDPServer.h:标准 WiFi UDP 服务端库,开启端口监听、接收客户端消息、广播发送数据。 2. setup () 开机一次性初始化 初始化全部硬件:屏幕总线、按键 IO、RGB 灯、系统底层资源。 绑定 UDP 接收回调:后台扫描到客户端 UDP 数据包,自动执行接收函数,不用循环轮询。 设置屏幕显示方向;创建画布缓存,文字统一刷新减少屏幕闪烁。 绑定 A 按键中断:按下 A 键,立刻执行发送 UDP 消息的函数。 屏幕底色纯白;第 3 行红色大字标注本机是 UDP 服务端。 核心:本机开启WiFi 热点 热点名称:AP 连接密码:88888888 本机变身小型路由器,其他板子连这个热点就能组成局域网。本机热点固定网关 IP:192.168.4.1 读取本机热点 IP,在第 5 行蓝色字体打印;刷新画布把全部文字显示到屏幕。 UDP 服务端开启8888 端口持续监听,等待客户端连接收发消息。 3. loop () 主循环 循环空白,全程事件驱动: WiFi 热点、UDP 收包、按键检测全部由库后台线程独立运行,不需要在 loop 里反复扫描信号。 4. 两个回调功能函数 (1)A 按键按下:主动广播消息 按下 A 键,向所有连接本热点、监听 8888 端口的设备,广播发送文本 hello,I am server。 (2)收到客户端 UDP 消息触发动作 message变量储存客户端发来的完整文字内容;本段代码只做灯光反馈,没有打印收到的文本。 5. 整套配对通信规则 本机(服务端) 角色:UDP 服务端 + WiFi 热点发射器 IP:192.168.4.1 端口:8888 行为:按 A 发广播;收到消息亮浅青灯 2 秒 配套客户端要求 WiFi 必须连接热点 AP、密码88888888; UDP 客户端连接地址 192.168.4.1、端口8888; 客户端按 A 发送消息,服务端灯光响应;服务端按 A 发消息,客户端可屏幕打印文字。 6. 协议区分重点 本代码 = 标准 WiFi 局域网 UDP 完全符合教科书 UDP(User Datagram Protocol)传输层协议,依托 TCP/IP、IP + 端口寻址,和你截图里 IP 端口的 UDP 图形积木是同一套网络方案,必须依赖 WiFi。 和DFRobot_ESP32_Radio(BLE蓝牙广播)本质区别 | 项目 | WiFi UDP(当前代码)|BLE 分组广播(Radio 库)| |--------|-----------------------|-----------------------------| | 网络依赖 | 必须 WiFi 组网 | 无 WiFi,上电离线通信 | | 寻址标识 | IP 地址 + 端口号 | Group 分组数字 | | 功耗 | WiFi 功耗偏高,电池续航短 | BLE 低功耗,续航更长 | | 传输数据 | 支持较长文本、批量数据 | 仅限 10 字符内短指令 | 7. 实操注意点 delay(2000)会阻塞消息接收:亮灯 2 秒内新来的 UDP 消息会延后响应;优化可用非阻塞毫秒计时; UDP 无丢包重传,信号差容易丢包,稳定场景可连续两次 send 发送; 只支持 2.4G WiFi,5G 频段无法连接; 热点名、密码、端口号两端必须完全一致,大小写不能出错。 |
|
【花雕动手做】行空板K10系列实验之UDP广播双行空板K10双向通信点亮LED 实验开源代码(UDP广播客户端) |
沪公网安备31011502402448© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed