轮询多个 Ble 连接与同时连接的好处?
Benefits of Polling Multiple Ble connections vs simultaneous connections?
假设我有一个 BLE 设备,它既是服务器(有信息)又是外围设备(需要访问外部信息),在接收或生成它自己的数据时必须与其他 Server/Peripherals 共享它的附近。
我只在设备要传输数据时才尝试通过 BLE 连接到设备是否有益 "even though it periodically connects to each server sequentially to see if it can" 还是同时保持连接使用回调来确定何时连接并简单地传输会更好需要时的数据(根据我的理解,我使用的设备一次只能处理 gatt 操作,这意味着有 4 个连接来快速传输数据是无关紧要的)。
换句话说不断重新连接和断开外围设备和服务器或者只是连接到我需要的尽可能多的服务器是否有益(即使显然我只能执行一次一个 gatt 操作,即 1 个特性 read/wright).
平衡要求。
如果可能,我不会阅读以查看是否有可用数据,而是与设备保持连接并让它们在数据可用时使用蓝牙通知来传送数据。
或者,您可以考虑让外围设备仅在它们有数据邀请中央模式设备连接时进行广告。但是,它需要定期扫描才能检测到这一点。
Advantages/disadvantages 取决于您的优先级和两类设备的性质。
仅供参考,顺便说一句,您有点混淆了术语。发现设备时,您有一个 GAP 外围设备进行广告和一个 GAP 中心进行扫描。在 Central 连接到 Peripheral connect 之后,您将拥有一个 GATT Client 和一个 GATT Server。通常 GAP Peripheral 成为 GATT Server,但不需要这样。 GAP 外设可以很容易地成为 GATT 客户端。 GATT 服务器以服务、特征和描述符的形式在属性 table 中具有状态数据。
假设我有一个 BLE 设备,它既是服务器(有信息)又是外围设备(需要访问外部信息),在接收或生成它自己的数据时必须与其他 Server/Peripherals 共享它的附近。
我只在设备要传输数据时才尝试通过 BLE 连接到设备是否有益 "even though it periodically connects to each server sequentially to see if it can" 还是同时保持连接使用回调来确定何时连接并简单地传输会更好需要时的数据(根据我的理解,我使用的设备一次只能处理 gatt 操作,这意味着有 4 个连接来快速传输数据是无关紧要的)。
换句话说不断重新连接和断开外围设备和服务器或者只是连接到我需要的尽可能多的服务器是否有益(即使显然我只能执行一次一个 gatt 操作,即 1 个特性 read/wright).
平衡要求。
如果可能,我不会阅读以查看是否有可用数据,而是与设备保持连接并让它们在数据可用时使用蓝牙通知来传送数据。
或者,您可以考虑让外围设备仅在它们有数据邀请中央模式设备连接时进行广告。但是,它需要定期扫描才能检测到这一点。
Advantages/disadvantages 取决于您的优先级和两类设备的性质。
仅供参考,顺便说一句,您有点混淆了术语。发现设备时,您有一个 GAP 外围设备进行广告和一个 GAP 中心进行扫描。在 Central 连接到 Peripheral connect 之后,您将拥有一个 GATT Client 和一个 GATT Server。通常 GAP Peripheral 成为 GATT Server,但不需要这样。 GAP 外设可以很容易地成为 GATT 客户端。 GATT 服务器以服务、特征和描述符的形式在属性 table 中具有状态数据。