bluetooth - 当您无法访问官方 GATT XML 文件时,如何构建 BLE 应用程序?
问题描述
要构建 BLE 应用程序,您需要
- 服务 UUID
- 服务的特征 UUID
- 特征的权限(读/写/通知...)
- 如果要发送任何数据,则需要知道值类型(uint8_t、uint16_t ...)
例如,如果它是环境感知服务,我可以从这个页面读取这个 PDF ,然后在下面找到UUID 是。然后我可以继续阅读同一个PDF并在.Environmental Sensing
GATT Service
0x181A
Temperature
T emperature
Temperature
GATT Characteristic and Object Type
0x2A6E
好的,到目前为止一切顺利。然后我撞到了墙上。要通知的数据大小(例如 uint16_t 或其他)或允许哪些权限(例如读/写 ...)怎么样?
经过几个小时的谷歌搜索,我终于找到了这个 github和这个 github。但这不是官方的,有人复制并疏散了他们。
当您没有要查找的官方 XML 文件时,如何有效地编写 BLE 应用程序?
解决方案
从GATT 规范页面有GATT 规范补充文档,其中包含有关温度特性结构的信息:
如果特性可以有通知,环境传感服务文档也在GATT 规范页面上详细说明:
我还发现 XML 文档以更紧凑的方式呈现信息,我已购买此文件以引起蓝牙 SIG 的注意,但链接似乎没有得到修复。如果您可以使用 URL,数据仍然存在于网站上。我不知道是否正在维护这些数据。
推荐阅读
- arrays - MS 访问、过滤或搜索值数组
- java - 使用 JPA 持久化父对象时如何防止保存子对象?TransientPropertyValueException 报告
- javascript - 页面加载后粘性导航栏不起作用
- javascript - 在 Chrome 和 VS Code 中,断点不会留在调试器中
- amazon-web-services - AWS SageMaker 数据准备
- r - Tukey 检验结果箱线图
- ios - Cordova 应用程序启动器插件不适用于 iOS 以使用 uri 启动 iOS 应用程序
- spring - 在 Spring RestController 中验证查询参数的最佳实践
- heroku - 当本地主机上没有遇到问题时,为什么在部署时出现 Heroku 错误消息 H12 超时和“内部服务器错误”?
- node.js - 如果不满足某些先决条件,是否有可用于退出测试的 Jest 钩子?