Подключение к BLE с использованием начального внеполосного сообщения

Я проектирую два устройства BLE, центральное и периферийное. (Использование PSoC 4 BLE, не то чтобы это имело значение)

Их будет много в небольшом пространстве, возможно, до 8 в пределах диапазона, но сотни периферийных устройств и десятки центральных станций все приходят и уходят, без какой-либо конкретной рифмы или причины, по которой один центральный / периферийный пользователь захочет соединить в любой момент времени.

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

Я полагаю, что BLOB-объект, отличный от BLE, будет содержать как минимум центральный mac-адрес и, возможно, случайно сгенерированный пин-код или общий ключ. Поскольку большой двоичный объект может идти только от центрального к периферийному устройству, принимающее периферийное устройство действительно является единственным устройством, которое знает адреса двух устройств, которые должны подключаться.

Однако, насколько я понимаю, периферийные устройства не могут устанавливать исходящие соединения. Я не могу поменяться ролями, потому что мне все еще нужен поиск BLE, чтобы работать традиционным способом.

Я могу придумать множество способов сделать это, но мне очень интересно услышать мнение кого-то, кто достаточно долго работал с BLE, чтобы знать, что может подойти лучше (или если я ошибаюсь по поводу некоторых предположений).

Некоторые ограничения, с которыми я работаю:

  • Периферия работает от батареи.
  • Обычный метод поиска и пар также должен работать.

Мои собственные недоделанные идеи:

  • Сделайте так, чтобы периферийное устройство могло быть центральным, но вносит ли это больше нюансов и осложнений?
  • Трансляция с периферийного устройства: "у кого есть X mac адрес, пожалуйста, подключитесь ко мне"
  • Поместите подобное сообщение в рекламный пакет и увеличьте скорость рекламы.
  • Направленная реклама похожа на приведенную выше?

1 ответ

Решение

Вы можете позволить "BLOB-объектам без BLE" содержать статический случайный адрес, который генерирует центральный элемент. После того, как периферийное устройство получает это, оно начинает рекламу с этим статическим случайным адресом. Центральный также настроен на инициирование соединения с этим конкретным статическим случайным адресом. Будет ли это работать?

Другие вопросы по тегам