Компонент 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 и т. д., будут предоставлены в будущих версиях.
Каталог использования стандартной системы:
Использование для лёгких или компактных систем
Лёгкая или компактная система предоставляет только определение интерфейса C, в настоящее время предоставляется только интерфейс, связанный с BLE, включая операцию с устройством BLE GATT и функцию широковещания. Другие функции, такие как A2DP, AVRCP, HFP и т.д., будут предоставлены в будущем.
Каталог использования лёгких или компактных систем:
interfaces/innerkits/native_c/include
Описание интерфейса C
/* Открыть традиционный Bluetooth */
bool EnableBt(void);
/* Закрыть традиционный Bluetooth */
bool DisableBt(void);
/* Открыть Bluetooth с низким энергопотреблением */
bool EnableBle(void);
/* Закрыть Bluetooth с низким энергопотреблением */
bool DisableBle(void);
/* Получить статус традиционного Bluetooth */
int GetBtState();
/* Определить состояние Bluetooth с низким энергопотреблением */
bool IsBleEnabled();
/* Получить 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 )