Отправка рекламных пакетов Bluetooth и получение некоторых ответов

#go #raspberry-pi #bluetooth-lowenergy

#Вперед #raspberry-pi #bluetooth — низкое энергопотребление

Вопрос:

Я хочу создать что-то с помощью Raspberry Pi Zero и написать в Go,

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

Является ли реклама Bluetooth тем, что я ищу, и знаете ли вы какую-либо библиотеку GoLang для этого? С чего мне начать?

Ответ №1:

В вашем вопросе довольно много деталей. Если вы хотите быть без подключения, то роли BLE — вещатель (маяк) и наблюдатель (сканер). Существует ряд «стандартных» форматов маяков. Они кратко изложены в этой шпаргалке

Конечно, вы можете создать свой собственный формат, поскольку в рекламе BLE используются либо служебные, либо производственные данные.

В Linux (Raspberry Pi) официальным стеком Bluetooth является BlueZ, который документирует API, доступный по адресу: https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc

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

Возможно, вы найдете следующую интересную статью, которая поможет вам начать работу с BLE и Go Lang: https://towardsdatascience.com/spelunking-bluetooth-le-with-go-c2cff65a7aca