bluetooth-lowenergy - BLE Eddystone 数据包 - RSSI、Tx 和距离
问题描述
假设这是数据包....
043e2b020103018749c6edbfd81f0201060303aafe1716aafe 00 d8 8b9cc73c3ae747ef65bc0000000015d20000bf
如何从 eddystone UID 数据包中读取 RSSI 和 TX?我理解aafe后的第一个字节表示数据包类型,下一个字节表示 Tx。但是当我将它转换为十进制时,我得到 216,它不能是幂,如果我取二进制补码,我得到 -40。RSSI 或 Tx 也是如此。如果我需要两者兼得,我该怎么做?我如何计算与他们的距离?
另外,这些前 25 个字节是什么以及如何解码它们?
043e2b020103018749c6edbfd81f0201060303aafe1716aafe
解决方案
查看 Jos Ryke 的 Beacon Cheat Sheet 可能会帮助您稍微解读一下:
https://twitter.com/josryke/status/627851131046219776
要知道的第二个有用的事情是它aafe
出现了两次。左边的数字是数据类型。
在蓝牙核心规范中,它描述了 AD 结构如何重复 Length、AD Type、AD Data
推荐阅读
- javascript - 会话存储上的元素“未定义”问题
- javascript - 如果转换持续 n 秒,是否可以在该时间的指定百分比处启动它?
- amazon-web-services - 复制没有表结构的 Redshift
- google-cloud-platform - Google Cloud Function 因错误而崩溃:构建失败:构建已超时
- android - 保护 Android 和 MVC.Net Core 3 Web 应用程序之间的请求
- spring-webflux - 通过 REST/WebFlux 公开整个 IMap 而不会过度使用堆
- python - 导入 podpac 模块时 Pytest 失败
- php - .htaccess 使用 REQUEST_URI 返回 500 错误代码。如何解决?Apache2 + PHP
- node.js - 如何使用 pageToken?
- c++ - 如何在 C++ 控制台应用程序中绘制数字三角形?