数熵科技 ED 蓝牙开发技能包 · 技术实操指南
工控调试数熵科技ED蓝牙开发 WorkBuddy 技能实操指南:从客户端安装、协议文档投喂、提示词编写,到工程生成、静态校验与真机验证,覆盖 10 项二次检查清单与两个真实踩坑(报文头、串口枚举),帮助工程师把 ED 系列蓝牙协议快速变成可运行调试应用。
数熵科技ED蓝牙开发是 WorkBuddy 技能(1.0.4):投喂 ED 系列蓝牙协议文档,输出可运行的 uni-app / 微信小程序调试工程,含 device-spec.json 与校验器;真机验证前务必注意报文头与串口枚举两个坑。
这个技能包解决什么痛点?
工控二次开发最耗人的是「协议文档→可用界面」的重复劳动。数熵把 ED 系列(ESP32 NUS 架构)连接层经验——真实特征值 UUID、串口参数编码、帧格式、权限模型——提炼成 WorkBuddy 技能「数熵科技ED蓝牙开发」(当前 1.0.4),输入协议文档 + 一句需求即输出可运行工程。
工控二次开发里最耗人的一段,不是硬件,而是「从协议文档到可用界面」的重复劳动:翻 PDF 找服务 UUID、对波特率、对齐停止位、算 CRC……设备换一款,代码几乎重写一遍。
数熵科技把 ED 系列(ESP32 NUS 架构)的连接层经验——真实特征值 UUID、串口参数编码、帧格式、权限模型——提炼成了一个 WorkBuddy 技能包「数熵科技ED蓝牙开发」(展示名也作 ShuSang ED Bluetooth Dev,当前版本 1.0.4,作者:武汉数熵科技有限公司)。装上它,你输入协议文档 + 一句需求,它输出可运行工程。
怎么安装「数熵科技ED蓝牙开发」技能?
入口在 WorkBuddy 客户端「专家·技能·连接器」→「技能」标签页,搜索关键词「数熵」(或「ED」「蓝牙」),结果卡里点击安装 / 启用即可,无独立外链。
入口在 WorkBuddy 客户端的「技能」面板,不是网页搜索框。
- 打开 WorkBuddy(桌面客户端或网页版,登录账号)。
- 界面左侧找到「专家·技能·连接器」入口(图标通常为拼图 / 插件)。
- 点击进入后,切到 「技能」 标签页。
- 在顶部搜索框输入关键词「数熵」(或「ED」「蓝牙」)。
- 结果卡里出现「数熵科技ED蓝牙开发」→ 点击 安装 / 启用。
- 安装后,新建对话时即可通过
@数熵科技ED蓝牙开发或在对话中调用该技能。
技能包在 WorkBuddy 技能市场内上架,需通过客户端内搜索安装;公开外链以官方页面 www.workbuddy.cn 为准。
怎么把协议文档变成可运行应用?
完整 4 步:调用技能投喂协议 → 写需求提示词 → 生成工程(抽 device-spec.json、套模板、跑 validate-device-spec.js)→ 下载打开。设备差异全部收敛进 device-spec.json + 一个 parse() 函数,换设备只改这两个文件,不重写整套代码。
完整流程 4 步(外加 1 步前置、1 步后置):
前置:准备协议文档
- 拿到设备的蓝牙协议说明(服务 UUID、特征值 UUID、串口参数、帧格式、字段定义)。
- 最好为官方 PDF / 说明书扫描件,或厂家给的接口文档。
步骤 1 — 调用技能并投喂协议
新建对话,调用 @数熵科技ED蓝牙开发,把协议文档上传或粘贴进对话。
步骤 2 — 写需求提示词
明确告诉它:目标平台(uni-app 还是原生微信小程序)、要展示哪些字段、要不要报警 / 历史记录。
步骤 3 — 生成工程
- 从协议里抽取
device-spec.json(描述 UUID、串口参数、帧格式、字段规则); - 套用模板生成工程脚手架(扫描 / 连接 / 订阅 / 实时展示是通用的,不随设备变);
- 跑一遍
validate-device-spec.js校验器,确认参数合法。
设备差异全部收敛进两个地方:device-spec.json + 一个 parse() 解析函数;换设备只改这两个文件,不重写整套代码。
步骤 4 — 下载 / 打开工程
- 选 uni-app:一份代码出 Android / iOS App 和微信小程序(用 HBuilderX 打开);
- 选 原生微信小程序:直接用微信开发者工具打开,审核上架更省事(含 manifest / requiredPrivateInfos 权限预置)。
后置:真机验证(见下文)。不要跳过——模拟器没有蓝牙硬件,只能靠真机确认链路真的通。
提示词必须包含哪些内容?
协议文档是必答项,四类信息缺一不可(服务 / 特征值 UUID、串口参数、帧格式、字段解析规则),缺失则追问不猜。目标平台必须二选一明确(uni-app 跨端 vs 原生小程序),否则默认行为可能不符预期。
技能对输入的要求很硬:协议文档是必答项,四类信息缺一不可(服务 / 特征值 UUID、串口参数、帧格式、字段解析规则);缺失就追问,不猜。
完整模板(推荐,覆盖边界)
你是基于「数熵科技ED蓝牙开发」技能的蓝牙设备应用生成器。 【输入】 - 设备型号:<型号> - 协议文档:<已上传 PDF,提取服务UUID/特征值UUID/串口参数/帧格式/字段定义> - 目标平台:uni-app(Android/iOS/微信小程序) 或 原生微信小程序 <二选一> - 功能需求:实时展示 <字段1/字段2/...>;<是否需要报警、历史曲线、远程控制> 【约束】 1. 所有 UUID、串口枚举必须与协议文档实读一致,禁止编造; 2. 缺失信息必须向我追问,不要猜测默认值; 3. 输出必须包含:① 可运行工程;② device-spec.json;③ parse() 解析函数;④ 权限配置; 4. 帧格式遵循数熵 ESP32-S3 网关正式链路:Notify 上传的是物理口原样字节,不要自行加 A5 5A 帧头。 【交付】 生成后请运行 validate-device-spec.js 自检,并输出 10 项二次检查清单的核对结果。
提示词里最容易漏的 4 个关键点
- 目标平台必须二选一明确(uni-app 跨端 vs 原生小程序),否则默认行为可能不符预期;
- 协议文档必须随提示词提供(上传或粘贴),否则技能只能追问;
- 帧格式约束(不加 A5 5A)——这是数熵链路的硬规定,写进提示词能挡掉一半解析错误;
- 串口参数映射(stopBits 枚举 0=1位 / 1=1.5位 / 2=2位;parity 0=None / 1=Odd / 2=Even)——文档写「1 stop bit」要填
0。
生成的工程怎么测试验证?
双层验证:静态跑 validate-device-spec.js(查 UUID 格式、串口枚举、字段规则)+ 真机验证(扫描→连接→订阅→显示)。模拟器没有蓝牙硬件,真机验证是必过项。
生成不等于能用。技能包内置了两层验证:静态校验(机器跑)+ 真机验证(人跑)。
4.1 静态校验
- 跑
node validate-device-spec.js device-spec.json,确认 UUID 格式、串口枚举、字段规则合法; - 通不过就按报错改
device-spec.json或parse(),不要带病交付。
4.3 真机验证(按平台)
- uni-app(Android):HBuilderX 真机运行,授权定位 / 蓝牙权限,实连设备验证扫描、连接、实时数据;
- uni-app(iOS):需真机 + 开发者证书,重点验证蓝牙权限弹窗与后台断连;
- 原生微信小程序:微信开发者工具「真机预览」扫码,确认
requiredPrivateInfos生效、真机蓝牙接口可调。
真机验证是必过项——模拟器没有蓝牙硬件,只能靠真机确认链路真的通。
交付前有哪些二次检查清单?
交付前 10 项核对:① 报文头不加 A5 5A;② 串口枚举按固件填;③ 小程序 requiredPrivateInfos 预置;④ 微信侧蓝牙接口开通;⑤ notify 订阅确认;⑥ 字节序一致;⑦ 真机验证;⑧ UUID 实读;⑨ 字段映射一致;⑩ 边界处理不崩。
交付前 10 项二次检查清单(逐项核对):
- 报文头:确认未擅自加 A5 5A(正式链路 Notify 为物理口原样字节);
- 串口枚举:stopBits / parity 按固件枚举填(0=1位、1=1.5位、2=2位;0=None/1=Odd/2=Even);
- 小程序
requiredPrivateInfos:蓝牙相关隐私字段已预置; - 公众平台蓝牙接口已开通(微信侧);
notify订阅前确认该特征值的properties含 notify / indicate;- 字节序:多字节字段的端序(小端 / 大端)与设备一致;
- 真机验证:至少一台真机跑通 扫描 → 连接 → 订阅 → 显示;
- UUID 实读核对:未使用编造值;
- 字段映射:解析出的数值单位与文档一致;
- 边界处理:空值 / 断连 / 重连不崩。
实战中有哪些真实坑要避开?
两个真实坑:① 报文头——正式链路 Notify 是物理口原样字节(如 01 03 04…),不要加 A5 5A(那是 /api/mux 控制接口);② 串口枚举——stopBits 0=1位/1=1.5位/2=2位,parity 0=None/1=Odd/2=Even,文档「1 stop bit」填 0,填 1 会按 1.5 位跑错帧。
坑一 · 报文头
旧资料教「数据帧带 A5 5A 帧头」。但数熵 ESP32-S3 网关正式链路里,Notify 就是物理口的原样字节(如 01 03 04 ...);A5 5A 只用于 /api/mux 兼容控制接口。照旧说法截头拼头,数据必然错。
坑二 · 串口参数
UART_CONFIG 8 字节 = 波特率(小端 u32)+ 数据位 + 停止位 + 校验位 + 保留位。停止位是固件枚举:0=1 位、1=1.5 位、2=2 位。文档写「1 stop bit」必须填 0;填 1 设备会按 1.5 停止位跑,串口错帧。
一份合格交付包含哪些物?
交付含:可运行工程、device-spec.json、parse() 解析函数、权限配置(Android 蓝牙权限 / 微信 requiredPrivateInfos)、validate-device-spec.js 自检通过截图、10 项二次检查清单核对记录、真机验证录屏 / 截图。
一份合格交付应包含:
- 可运行工程(uni-app 或 原生微信小程序)
device-spec.json(UUID / 串口参数 / 帧格式 / 字段规则)parse()解析函数- 权限配置(Android 蓝牙权限、微信
requiredPrivateInfos) validate-device-spec.js自检通过截图- 10 项二次检查清单核对记录
- 真机验证录屏 / 截图
本文技术事实来自数熵 sling-uniapp 连接层源码与 ESP32-S3 网关接口说明书,由武汉数熵科技有限公司提供权威源。
常见问题
数熵科技ED蓝牙开发技能在哪里安装?
在 WorkBuddy 客户端「专家·技能·连接器」→「技能」标签页,顶部搜索框输入「数熵」(或「ED」「蓝牙」),结果卡点击安装 / 启用即可,无独立外链。
它能生成什么平台的应用?
支持两类目标平台,二选一:uni-app(一份代码出 Android / iOS App 和微信小程序,用 HBuilderX 打开),或原生微信小程序(微信开发者工具直接打开,含 manifest / requiredPrivateInfos 权限预置)。
提示词里的协议文档是必填吗?
是必答项。技能要求四类信息缺一不可(服务 / 特征值 UUID、串口参数、帧格式、字段解析规则),缺失则向用户追问,不会猜测默认值。
生成的工程需要真机验证吗?
需要,且是必过项。模拟器没有蓝牙硬件,只能靠真机确认链路真的通;至少一台真机跑通 扫描 → 连接 → 订阅 → 显示。
为什么解析出的数据不对(报文头)?
数熵 ESP32-S3 网关正式链路里,Notify 上传的是物理口原样字节(如 01 03 04…),不要自行加 A5 5A 帧头;A5 5A 仅用于 /api/mux 兼容控制接口,照旧说法加帧头会导致数据错乱。
串口参数「1 stop bit」应该填什么?
填 0。stopBits 是固件枚举:0=1 位、1=1.5 位、2=2 位;parity:0=None、1=Odd、2=Even。文档写「1 stop bit」须填 0,若填 1 设备会按 1.5 停止位跑,造成串口错帧。
