Ble Beacon Gpio чтение/запись

Я не бле-гуру, я работал над некоторыми модулями, чтобы предоставить какой-то простой сервис с сопряжением и бла-бла: 9 Один из наших клиентов спросил меня, можно ли управлять mcu gpio с запущенным сервисом маяка. Для того, что я знаю, стандарт маяка - это только маяк для проверки близости (потоковая передача простого пакета uuid, уровень сигнала и т. д. и т. д.), и единственный способ сделать что-то подобное - открыть новую службу, работающую одновременно с маяком (на практике отправить несколько тип пакетов). Я не хочу сопряжения (маяк‹->приложение устройства) и не беспокоюсь о состоянии гонки, если несколько устройств устанавливают/сбрасывают gpio, это не мое дело.

Я нашел что-то похожее https://community.estimote.com/hc/en-us/articles/217429867-What-is-GPIO-How-to-set-it-up-, о чем вы думаете?

Есть библиотеки или расширения eddystone для этого? Какой-то проект на гитхабе?

Мы предпочитаем работать с модулем Nordic ble, но если вы знаете решение, основанное на другом микроконтроллере, милости просим.

Спасибо за вашу помощь


person sukoy    schedule 05.04.2016    source источник
comment
Можете ли вы немного подробнее описать вариант использования, который вы пытаетесь решить, помимо: один из наших клиентов спросил меня, возможно ли управлять mcu gpio? Если я правильно понимаю, вы хотите, чтобы gpio был выходом, и вы хотите контролировать напряжение на выходной линии на основе события, вызванного внешним устройством, взаимодействующим с маяком. Это верно? Возможно, будет полезно описать ситуацию, в которой вы могли бы это сделать. Поскольку маяки обычно предназначены только для передачи, этот вариант использования может потребовать нетипичной реализации.   -  person davidgyoung    schedule 05.04.2016
comment
Верный. Клиент хотел бы управлять некоторыми светодиодами, подключенными к плате маяка, однако теоретически должно быть много устройств, управляемых платой маяка gpio. Вопрос простой, как перевести маяк в режим приема и как я могу отправлять данные с устройства на маяк?   -  person sukoy    schedule 05.04.2016


Ответы (1)


Стандартные маяки (iBeacon, Eddystone, AltBeacon) предназначены только для передачи. Они просто рассылают рекламу с фиксированной скоростью и уникальным идентификатором. Некоторые производители предоставляют проприетарные интерфейсы конфигурации как службы Bluetooth LE GATT для чтения и записи. Но стандартной службы GATT для этого не существует, а специфичные для производителя схемы разработаны специально для установки идентификаторов маяков и других рабочих параметров.

Я не думаю, что существуют специальные библиотеки или расширения для маяков, которые помогут в этом, кроме стандартных SDK Bluetooth LE для iOS и Android. Чтобы достичь этой цели с помощью модуля Nordic BLE, вам потребуется создать собственную систему:

  1. Напишите пользовательскую прошивку Nordic (которая находится вместе с прошивкой передачи маяка), которая предоставляет новую службу Bluetooth LE GATT. Служба предоставит доступный для записи атрибут GATT, который будет управлять выводом GPIO.

  2. Напишите собственный код мобильного приложения, который подключается к этой службе GATT (CoreBluetooth на iOS и android .bluetooth на Android) и записывает в атрибут GATT управление пин-кодом.

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

person davidgyoung    schedule 05.04.2016