我期待创建一个跨平台的应用程序,允许我定期通告设备Mac地址(尽管我已经意识到由于某种原因我收到3个单一设备),以便它可以被记录并用于参考短手动用户广告,使得每个广告可以由特定用户识别;然而,似乎我已经陷入了有关ULEID在BLE上的问题了解自定义BLE UUID
搜索了一段时间后,我仍然对BLE服务中的UUID有点困惑。最初我决定使用一个自定义的BLE,它反复无法做出奇怪的错误宣告,或者由于数据包很大,即使数据只有一个字节长,也是如此。我意识到UUID的格式必须是xxxxxxxx-0000-1000-8000-00805F9B34FB
。除此之外的任何内容都会发送完整的UUID,当广告未被连接时这个UUID太大。我还发现,我可以在上半部分使用任何UUID前缀(0000XXXX
),该前缀不在保留范围0x000E
- 0x01FF
中。
这是一个正确的假设,我可以使用与标准00000200 - 0000FFFF不冲突的任何UUID。我问,因为我在选择该范围内的UUID时似乎遇到了问题,并且据我了解,在范围之外创建自定义UUID是BLE上的一个坏主意,因为它将被迫使用20-23字节中的16个字节。有关这个的任何输入?
也是预先定义的方式发送用户设备的广告,以便它可以被缓存并用于标识其他用户广告?
编辑:
没有到达该项目需要连接手机的跨平台与其他设备一起以无连接的方式。最初,我计划让设备反复宣传它的身份以及可用于唯一标识用户消息的名称和唯一MAC地址。任何没有缓存用户身份的设备都会简单地丢弃该用户的传入数据包。 - kdgwill 9分钟前
我实际上认为如果我能以某种方式连接到5-10个设备,然而,这个想法并不是在添加新设备时不打扰用户/重复提示。因此,我认为使用广告和洪水会有所帮助,但味精大小各不相同。有没有可能会打扰用户一次连接提示并自动连接每个额外的BLE设备。如果我能以某种方式以1:1的比例连接多个设备,而无需每次都提示用户,同时仍然扫描其他可能的连接,这将非常有用,但我不认为BLE允许这样做。 - kdgwill 8秒前编辑
使用identifierForVendor或CBAdvertisementDataServiceUUIDsKey是唯一标识每个用户的好方法;但是,这意味着如果我不使用1个注册的UUID,我可能只是暂时随机选择一个UUID。那开销将是4-16 +然而很多字节需要识别每个数据包。
一些链接我已经看到但是他们是很多人不是有时发生冲突 **的https://www.bluetooth.com/specifications/assigned-numbers/service-discovery **的https:// WWW .bluetooth.com/specifications/assigned-numbers ** http://processors.wiki.ti.com/index.php/Tutorial:_How_to_Create_a_Custom_Bluetooth_Smart_Embedded_Application_with_the_CC2650DK#UUID – kdgwill
** http://stackoverflow.com/questions/10243769/什么范围的蓝牙uuids可以使用供应商定义配置文件 ** http://stackoverflow.com/questions/28714704/custom-ble-service-with-spp-support * * http://stackoverflow.com/questions/21428455/android-ble-using-custom-service-uuid ** http://stackoverflow.com/questions/18019161/startlescan-with-128-bit-uuids-没有工作在本机android安装执行/ ** https://www.safaribooksonline.com/library/view/getting-started-with/9781491900550/ch04.html – kdgwill