BLE/NRF52 - 将两个 BLE-Centrals(智能手机)与一个外围设备连接,但收到相同的通知信号?
BLE/NRF52 - Connect two BLE-Centrals (Smartphone) with one Peripheral but receive the same notify signal?
我打算用 NRF52(或其他 BLE 芯片,如果有的话)开发一个小项目。初步,我想知道,我是否可以在不“滥用”广告字节的情况下广播数据?
场景:两部智能手机与我的设备连接,它们启用了一些通知特性,我希望通过这些特性在两台设备上接收具有潜在高频(可能高达 100Hz)的数据。 (我知道 100Hz 已经接近 ble 支持的最小 7.5ms 左右……只是说我想基本上达到这个限制并尽可能快地接收)
因此:如果我连接两个中央设备,它们会收到相同的通知信号,还是我必须为每个中央设备发送一个通知信号,从根本上降低我可以接收数据的最大频率?
在后一种情况下,通过广告字节将 ble 数据广播到多个设备的最佳方式是什么?
亲切的问候,祝你生活愉快
当您通过 BLE 使用 GATT 通知时,每个连接的通知都是单独的。因此,如果您想向两个连接的客户端发送相同的通知,则数据会通过无线方式复制。通常,所有 GATT 流量都是每个连接单独的。
如果您每 10 毫秒向两个设备发送一个数据包,那应该没问题。请注意,如果一个数据包丢失,它将在下一个连接事件期间重新发送,因此两个数据包将被发送到该设备(假设您像往常一样在 10 毫秒后生成一个额外的数据包)。
您可以使用广告来广播数据。每个扫描的设备都可以看到您的数据。您在 ADV_IND 中发送的数据可以被无限数量的扫描仪看到。
向多个设备发送数据是使用广告还是 GATT 更好取决于很多因素。您应该尝试最适合您的方法。
我打算用 NRF52(或其他 BLE 芯片,如果有的话)开发一个小项目。初步,我想知道,我是否可以在不“滥用”广告字节的情况下广播数据?
场景:两部智能手机与我的设备连接,它们启用了一些通知特性,我希望通过这些特性在两台设备上接收具有潜在高频(可能高达 100Hz)的数据。 (我知道 100Hz 已经接近 ble 支持的最小 7.5ms 左右……只是说我想基本上达到这个限制并尽可能快地接收)
因此:如果我连接两个中央设备,它们会收到相同的通知信号,还是我必须为每个中央设备发送一个通知信号,从根本上降低我可以接收数据的最大频率?
在后一种情况下,通过广告字节将 ble 数据广播到多个设备的最佳方式是什么?
亲切的问候,祝你生活愉快
当您通过 BLE 使用 GATT 通知时,每个连接的通知都是单独的。因此,如果您想向两个连接的客户端发送相同的通知,则数据会通过无线方式复制。通常,所有 GATT 流量都是每个连接单独的。
如果您每 10 毫秒向两个设备发送一个数据包,那应该没问题。请注意,如果一个数据包丢失,它将在下一个连接事件期间重新发送,因此两个数据包将被发送到该设备(假设您像往常一样在 10 毫秒后生成一个额外的数据包)。
您可以使用广告来广播数据。每个扫描的设备都可以看到您的数据。您在 ADV_IND 中发送的数据可以被无限数量的扫描仪看到。
向多个设备发送数据是使用广告还是 GATT 更好取决于很多因素。您应该尝试最适合您的方法。