flutter - Flutter MiBand 服务
问题描述
我正在尝试使用 Flutter 应用从小米手环 5 读取数据。到目前为止,我已经成功连接到手环并读取心率。
我找到了哪个服务和 UUID 负责心率,现在我试图找出哪些服务负责其他值。
发现所有服务后,好像有12个:1800、1801、180a、1530、1811、1802、180d、fee0、fee1、180f、1812、3802
180d 负责心率,我设法从中读取数据。
但是我如何阅读步数?
解决方案
蓝牙 SIG 采用的服务列表可在以下位置获得:
https://www.bluetooth.com/specifications/gatt/services/
我怀疑其中一些是定制服务。蓝牙基础 UUID 是
0000xxxx-0000-1000-8000-00805F9B34FB
示例包括:0x180F -> 电池服务 UUID(128 位 UUID:0000180F-0000-1000-8000-00805F9B34FB)
如果该值不遵循基本 UUID,那么它将是自定义服务。
有一些通用的扫描和探索工具可以探索设备提供的服务。
在手机上,nRF Connect 应用程序是一个不错的选择:
https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Connect-for-mobile
在台式机上,如果您有最新版本的 Chrome 浏览器,则使用 urlchrome://bluetooth-internals/#devices
扫描和检查设备。
推荐阅读
- azure-front-door - 如何使用 Azure 前门规则引擎匹配条件仅将请求匹配到站点的根目录?
- javascript - 如何为我的项目实现这个加载器?
- sql-server - Azure Purview 看到 On-Prem SQL Server 数据库和表,但无法扫描并显示消息:提供了无效的客户端密码
- ruby-on-rails - 部署 heroku 应用程序时在任何源中都找不到 nokogiri-1.11.1
- javascript - 角数学贾克斯
- php - PHP SQL select 仅使用 IN 语句中数组的第一个结果
- swagger - Swagger UI - 将枚举数组限制为只有一个可提交的值
- powershell - PS1:如何从行中排除单词
- jquery - 带有 apify 的简单 bing“趋势搜索”刮板
- javascript - 根据过滤器从 Mongoose Array 中删除