1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-communication_bluetooth

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_zh.md 6.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 13:03 ee321e8

Компонент Bluetooth

Введение

Компонент Bluetooth предоставляет устройствам доступ и использование соответствующих интерфейсов для подключения к Bluetooth, включая операции с устройствами BLE GATT, а также функции широковещательной передачи, сканирования и другие.

Содержание

/foundation/communication/bluetooth
├── interfaces                               # Интерфейс кода
│    └── innerkits                           # Каталог размещения системных сервисов
│        ├── native_c                        # Каталог размещения C-интерфейса
│        │   └── include                     # Каталог определения C-интерфейсов
│        └── native_cpp                      # Каталог размещения C++-интерфейса
│── sa_profile                               # Каталог определения Bluetooth-сервисов
│── services                                 # Каталог кода Bluetooth-сервиса
└── LICENSE                                  # Файл заявления об авторских правах

Ограничения

Компонент Bluetooth написан на языке C.

Описание

В настоящее время предоставляются только интерфейсы, связанные с BLE, и основные функции включения Bluetooth. Другие интерфейсы, такие как A2DP, AVRCP и HFP, будут предоставлены в последующих версиях.

Использование в стандартных системах

Стандартная система предоставляет определение интерфейса C и код сервиса и стека протоколов. В настоящее время предоставляется только интерфейс, связанный с BLE, включая операцию с устройством BLE GATT и функции широковещания и сканирования. Другие функции, такие как A2DP, AVRCP, HFP и т. д., будут предоставлены в будущих версиях.

Каталог использования стандартной системы:

interfaces/

sa_profile/

services/

Использование для лёгких или компактных систем

Лёгкая или компактная система предоставляет только определение интерфейса C, в настоящее время предоставляется только интерфейс, связанный с BLE, включая операцию с устройством BLE GATT и функцию широковещания. Другие функции, такие как A2DP, AVRCP, HFP и т.д., будут предоставлены в будущем.

Каталог использования лёгких или компактных систем:

interfaces/innerkits/native_c/include

Описание интерфейса C

  • Открыть/закрыть Bluetooth:
/* Открыть традиционный Bluetooth */
bool EnableBt(void);
/* Закрыть традиционный Bluetooth */
bool DisableBt(void);
/* Открыть Bluetooth с низким энергопотреблением */
bool EnableBle(void);
/* Закрыть Bluetooth с низким энергопотреблением */
bool DisableBle(void);
  • Получить состояние Bluetooth:
/* Получить статус традиционного Bluetooth */
int GetBtState();
/* Определить состояние Bluetooth с низким энергопотреблением */
bool IsBleEnabled();
  • Получить MAC-адрес локальной стороны:
/* Получить MAC-адрес */
bool GetLocalAddr(unsigned char *mac, unsigned int len);
  • Установить имя устройства:
/* Установить имя локального устройства */
bool SetLocalName(unsigned char *localName, unsigned char length);

Устройство должно выполнить следующие шаги разработки интерфейса, чтобы включить функцию сервера Gatt и запустить службу:

/* Инициализировать стек протокола Bluetooth */
int InitBtStack(void);
int EnableBtStack(void);
/* Зарегистрировать приложение, appUuid предоставляется приложением */
int BleGattsRegister(BtUuid appUuid);
/* Добавить сервис */
int BleGattsAddService(int serverId, BtUuid srvcUuid, bool isPrimary, int number);
/* Добавить характеристику */
int BleGattsAddCharacteristic(int serverId, int srvcHandle, BtUuid characUuid, int properties, int permissions);
/* Добавить дескриптор */
int BleGattsAddDescriptor(int serverId, int srvcHandle, BtUuid descUuid, int permissions);
/* Запустить сервис */
int BleGattsStartService(int serverId, int srvcHandle);

Для включения функции широковещательного вещания устройство должно выполнить следующие действия:

/* Установить данные широковещательной рассылки */
int BleSetAdvData(int advId, const BleConfigAdvData *data);
/* Начать широковещательную рассылку */
int BleStartAdv(int advId, const BleAdvParams *param);

Если требуется функция сканирования, устройство должно выполнить следующие действия, чтобы включить функцию сканирования BLE:

/* Установить параметры сканирования */
int BleSetScanParameters(int clientId, BleScanParams *param);
/* Начать сканирование */
int BleStartScan(void);

Связанные репозитории

communication_bluetooth

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/openharmony-communication_bluetooth.git
git@api.gitlife.ru:oschina-mirror/openharmony-communication_bluetooth.git
oschina-mirror
openharmony-communication_bluetooth
openharmony-communication_bluetooth
master