Может ли Arduino работать как сервер GATT (Bluetooth LE)
Я знаю, что довольно стандартно настроить систему Arduino в качестве клиента BLE и использовать что-то вроде приложения, работающего на смартфоне, в качестве сервера GATT, который получает данные и что-то с ними делает.
В моем сценарии у меня есть датчик BLE, который не подключен напрямую к системе Arduino, и я хочу, чтобы Arduino могла реагировать на выходной сигнал датчика (носимый акселерометр) и, например, инициировать различные последовательности освещения в зависимости от на получаемых данных.
Я бы предпочел не вводить в уравнение третий компонент (например, мобильное устройство в качестве сервера GATT). Я бы хотел, чтобы Arduino прослушивал сервисы и характеристики удаленного устройства, анализировал входящие данные, а затем принимал решения о том, какие светодиоды загораться на основе этого анализа.
Может ли Arduino работать как сервер GATT?
@Tom Auger, 👍5
Обсуждение2 ответа
Лучший ответ:
Модуль ESP32 (совместимый с Arduino IDE) может действовать как клиент GATT и как сервер, и для каждого из них есть примеры модулей, а также проекты github.
Я проверю это в ближайшее время. Чтобы сделать свой ответ более полным, вы можете опубликовать пример кода или, как минимум, несколько ссылок, чтобы другие могли задать этот вопрос Google., @Tom Auger
У меня здесь есть ссылка, которая может быть полезна — ссылка внизу. Это руководство, в котором показано, как управлять Arduino с помощью специального приложения на Android. Он использует создателя приложений MIT, приложение, которое позволяет вам создавать приложения. Я думаю, вы программируете его с помощью IDE на какой-то Java. Вы можете добавить кнопку в свое приложение, чтобы оно отправляло сообщение на ваш Arduino, а затем запрограммировало Arduino на выполнение каких-либо действий при получении этого сообщения. Для Arduino вы можете купить модуль Bluetooth HC-05. Это и передатчик, и приемник. Это довольно дешево и очень популярно, поэтому существует множество библиотек. Я думаю, что это хороший модуль, который вы должны приобрести, и я рекомендую приобретать их парами, чтобы вы могли соединить их вместе с двумя Arduino.
https://www.youtube.com/watch?v=E-1w7dL3Cps
**Не применимо к заданному вопросу**. HC-05 — это классическое Bluetooth-устройство. Этот вопрос касается BLE, также известного как BTLE, который представляет собой совершенно другой стандарт, возможно, имеющий немного больше общего, чем слово «Bluetooth»., @Chris Stratton
- Можно ли измерить скорость акселерометром? Насколько точно?
- Arduino Pro Micro, получить данные с контакта Tx?
- Хочу создать Bluetooth audio control (увеличение/уменьшение громкости, воспроизведение, пауза и т.д.) для смартфона
- Невозможно подключиться к Bluetooth hc-05.
- Проблемы с надежным подключением с использованием HC-05 в качестве ведущего устройства Bluetooth
- Как решить проблему AT+INQ ERROR (1F), AT+INIT ERROR(17) на модуле Bluetooth HC-05?
- Модуль Bluetooth HC-05 мигает красным светом - Arduino Uno
- Bluetooth-модуль HC-05 — команда INQ не работает
У вас это точно наоборот. GATT *сервер* является периферийным устройством. *Клиент* обычно представляет собой мобильное устройство. Тем не менее, я изучаю именно эту вещь прямо сейчас. Модуль Nordic [Arduino 101](https://www.arduino.cc/en/Main/ArduinoBoard101) может работать в центральном режиме, но я не могу найти никакой информации о загрузке S120 Soft Device. Я читал, что в библиотеке Arduino нет API для этого. Теоретически возможно, но я пока не понял, как это сделать., @RubberDuck
Это должен быть Arduino или он может быть совместим с Arduino IDE? - например, что-то вроде модуля Adafruit Feather Bluefruit LE?, @Simon Peverett
Конечно, я думаю @Simon, @Tom Auger
@Tom Auger Существует модуль Adafruit Feather 32u4 Bluefruite LE, вы можете взаимодействовать с частью BLE с помощью AT-команд, это довольно просто и может действовать только как серверное / периферийное устройство. Он не поддерживает уведомления или индикацию, но вы можете определить пользовательскую службу с ее собственными характеристиками., @Simon Peverett
@ Tom Auger Модули ESP32 также поддерживают BLE, но я не играл с этим аспектом модуля. Глядя на примеры, доступные для ESP32, это может быть как клиент GATT, так и сервер GATT., @Simon Peverett
@SimonPeverett Я большой поклонник ESP32, но в последнее время я не играл с ним. Это может быть хорошей идеей. Проект представляет собой велосипедный сигнал, управляемый жестами. Я не хочу использовать телефон в качестве посредника., @Tom Auger