|
11| 8
|
[K10教程] 【花雕动手做】K10 实验之 UDP 广播双K10双向通信屏显消息 |
![]() 行空板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广播双向通信屏幕显示接收消息且点亮LED 实验开源代码(UDP广播服务器) |
|
行空板 K10 UDP 自建热点服务端代码解读 一、头文件与全局变量区 二、setup () 开机一次性初始化 三、loop () 主线无限循环(屏幕、灯光全部在这里处理) v 四、两个回调函数(后台事件触发,严格遵守安全规范) 1、UDP 消息接收回调 2、A 按键按下回调 核心解决痛点(屏幕不显示消息的关键优化) 1、线程分离,杜绝屏幕卡死 UDP 接收运行在 WiFi 后台子线程,屏幕绘制只能放在主线程loop;回调里完全禁止canvasText/updateCanvas,避免 SPI 屏幕总线被网络线程抢占黑屏。 2、取消阻塞 delay 旧代码回调里delay(2000)会冻结 UDP 监听,改用millis()时间戳在 loop 里关灯,网络全程畅通。 3、初始化顺序锁死 先k10.begin()初始化屏幕硬件,后开 WiFi/UDP;颠倒顺序会直接屏幕驱动初始化失败、黑屏无画面。 4、消息缓存机制 收到数据先存字符串变量,主线程检测到有新消息再统一重绘整屏,画面稳定无撕裂。 5、配对组网运行逻辑 本设备 = UDP 服务端 + WiFi 热点发射器,IP 固定192.168.4.1,端口 8888; 客户端板子连接热点AP、密码88888888,UDP 客户端连接192.168.4.1:8888; 客户端按 A 发送hello,I am client → 服务端屏幕打印这条文字 + RGB 亮 2 秒浅青灯; 服务端按 A 广播hello,I am server,客户端可配套做灯光 / 屏幕反馈。 |
|
【花雕动手做】行空板K10系列实验之UDP广播双向通信屏幕显示接收消息且点亮LED 实验开源代码(UDP广播客户端) |
|
行空板 K10 UDP 客户端代码解读 一、头文件与全局对象、变量定义 二、setup () 上电一次性初始化 三、loop () 主线无限循环(屏幕、灯光逻辑全部放在主线程,稳定不卡死) 四、两个事件回调函数(后台子线程运行,严格限制操作) 1、UDP 消息接收回调 2、A 按键按下发送消息回调 1、和配套服务端完整配对关系 ![]() 双向交互流程 先上电运行服务端,热点开启、UDP 端口打开; 客户端上电自动连接热点,联网成功后自动对接 UDP 服务端; 客户端按 A → 发送 client 消息 → 服务端屏幕显示文字、亮浅青灯; 服务端按 A → 广播 server 消息 → 客户端屏幕显示文字、亮红灯。 2、代码核心稳定优化点(解决屏幕不显示、卡死问题) 线程隔离铁则 UDP 接收运行在 WiFi 后台子线程,回调里完全禁止 canvasText/updateCanvas 屏幕操作,仅存数据、点灯;所有画面渲染统一放在 loop 主线程,杜绝 SPI 屏幕总线资源抢占黑屏。 无阻塞计时 彻底删掉回调里阻塞式delay(2000),用millis()毫秒时间戳在 loop 里延时关灯,UDP 监听全程不卡顿、不丢包。 初始化顺序锁死 代码第一行必须k10.begin()初始化屏幕硬件,后开 WiFi/UDP;颠倒顺序会直接屏幕驱动初始化失败、黑屏无画面。 消息防重复刷屏 展示完一条 UDP 消息立刻清空udp_msg_cache,不会无限循环刷新同一行文字。 3、通信协议定性 DFRobot_UDPClient/UDPServer属于标准 WiFi 局域网 UDP(User Datagram Protocol)传输层协议,和你截图里 IP + 端口的图形化 UDP 积木是同一套网络体系;必须依靠 2.4G WiFi 组网,和DFRobot_ESP32_Radio蓝牙离线广播属于两套完全独立的无线方案。 |
沪公网安备31011502402448© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed