Моя рекомендация заключается в следующем: -
- Реализуйте свое приложение через командную строку.
- Реализуйте свое приложение с помощью автоматического сценария оболочки.
- (Необязательно) Реализуйте свое приложение с помощью C / C ++.
Если приложение, написанное на C / C ++, не является обязательным, тогда я рекомендую пропустить этот шаг, поскольку вы можете достичьтот же результат со сценарием оболочки.
Что касается реализации приложения через командную строку, я рекомендую использовать инструмент bluetoothctl, как видно из следующего ответа: -
Как только это начнет работать для вас, и вы сможете подключиться с удаленного устройства и просмотреть таблицу GATT, преобразуйтесписок команд в сценарий оболочки и запустить его, чтобы увидеть те же результаты.
Наконец, если до этого момента это работало для вас, то следующим шагом является преобразование этого сценария оболочки в приложение C / C ++.,Вы можете сделать это, просматривая исходный код команды bluetoothctl, которая использовалась ранее.Вы можете найти источник для стека BlueZ здесь , а код команды bluetoothctl можно найти здесь .
Надеюсь, это поможет.