Bluetooth-соединение со многими устройствами

Я хочу создать сеть, которая включает в себя множество устройств Bluetooth, сопряженных с моим смартфоном. Я уже нашел информацию, что одновременно может быть подключено 7 устройств.

Вероятно у меня будет больше 7 устройств, но они будут время от времени просыпаться, так что я прикинул, что это возможно. Просто случайным образом устройства будут отправлять данные в приложение для смартфона, а затем перейдут в спящий режим.

Но иногда возможно одновременное подключение более 7 устройств. Можно ли сделать очередь? Или я должен заставить устройства пару раз попытаться переподключиться к смартфону?

Что вы думаете?

PS. Они не будут транслировать музыку или любые другие «ограниченные» данные.


person Kris_S    schedule 20.06.2020    source источник
comment
Я реализовал приложение IoT примерно в том же духе, что я испытал, когда вы превысили 6 подключений. Стек Bluetooth действительно не может справиться с накладными расходами и после этого начинает разрывать любое установленное соединение. Кроме того, вы также найдете много устройств, которые не смогут установить даже более 1 соединения, но это будут очень старые устройства, работающие на kitkat/lollipop.   -  person Gautam    schedule 20.06.2020
comment
Спасибо Гаутам :) Отключал уже подключенные устройства?   -  person Kris_S    schedule 20.06.2020
comment
Да, это автоматически отключит периферийное устройство, и вам придется снова подключиться   -  person Gautam    schedule 20.06.2020
comment
Это плохие новости :( Это тоже будет проект IoT. Как вы решили эту проблему?   -  person Kris_S    schedule 20.06.2020
comment
Мы этого не сделали, поскольку это ограничение, поэтому мы прямо сообщили нашим конечным пользователям, что вы не можете подключить более 7 периферийных устройств. Кроме того, мы убедились, что если их меньше 7, мы постараемся переподключить его как можно скорее.   -  person Gautam    schedule 20.06.2020
comment
Как я уже сказал - я хочу спарить больше 7, но все они будут в режиме ожидания и случайным образом будут: 1. Просыпаться, 2. Подключаться к смартфону, 3. Отправлять данные 4. Переключаться в спящий режим. Но возможно, что когда-то их будет больше 7 одновременно. надо подумать как решить ;)   -  person Kris_S    schedule 20.06.2020


Ответы (1)


Для ваших сценариев, в которых вы хотите соединить более 7 устройств, и поскольку вы выполняете пошаговый процесс для каждого устройства для подключения и передачи данных, лучше создать очередь. Вы можете спроектировать его на конечном автомате, который выбирает устройство из очереди, когда состояние говорит о доступности, затем переходит к каждому состоянию, пока не будут выполнены синхронизация и передача, и возвращается в доступное состояние, где он может выбрать следующее устройство для продолжения.

Даже в тех случаях, когда мы пытаемся подключить более 5 устройств, я сталкивался с частыми обрывами соединения, и мне было трудно полагаться на передачу данных в случае, если устройство может потерять сохраненные данные в случае обрыва.

person Rohit Ranjan Pandey    schedule 17.01.2021