Как реализовать связь BLE с двумя устройствами? - PullRequest
1 голос
/ 15 марта 2019

У меня есть IoT-устройство, которое я хочу реализовать:

  1. Мобильное приложение - где телефон является главным, когда связь инициируется телефоном пользователя

  2. Удаленный ключ - когда нажатие на указанный ключ должно заставить устройство iot что-то делать.Удаленный ключ должен быть спарен один раз с устройством iot.

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

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

1 Ответ

2 голосов
/ 16 марта 2019

В зависимости от стека BLE, устройство может одновременно быть центральным и периферийным (использование «Master» и «Slave» здесь неточно).

Если я правильно понимаю, у вас есть 3 устройства - телефон, ключ и IoT-устройство. Здесь есть несколько вариантов:

  1. Телефон является центральным и подключен к клавише и устройству как периферийные устройства. Нажатие на клавишу уведомит телефон, который, в свою очередь, отправит некоторое сообщение на устройство. Плюсы - простое сопряжение. Минусы - приложение телефона должно работать постоянно.
  2. Телефон центральный, ключ центральный и периферийный, устройство периферийное. Телефон подключается к периферийному устройству Key, Key подключается к устройству как центральный. Плюсы - клавиши управления устройством даже без телефона. Минусы - вероятно, сложнее настроить и соединить ключ с устройством (зависит от их возможностей ввода / вывода)
...