Как я могу написать в BLE UUID, а затем получить данные, отправленные обратно на другой UUID, используя C ++?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу написать в BLE UUID, а затем получить данные, отправленные обратно на другой UUID, используя C ++?

Сообщение Anonymous »

Я пытаюсь использовать C ++ для связи с устройством BLE. Чтобы получить данные, я должен написать 4 байта на один UUID, тогда данные записаны через другой UUID. У меня это работает на питоне с мрачным: < /p>

Код: Выделить всё

async def main(address: str):
async def callback_handler(characteristic : BleakGATTCharacteristic, data: bytearray) -> None:
print(f"{characteristic.description}: {data}")

async with BleakClient(address) as client:
await client.start_notify(READ_DATA, callback_handler)

write_data = bytearray([0x00, 0x01, 0x02, 0x03])
await client.write_gatt_char(WRITE_DATA, write_data, response=False)

await asyncio.sleep(1.0)

if __name__ == "__main__":
asyncio.run(main(sys.argv[1] if len(sys.argv) == 2 else ADDRESS))
< /code>
Но я не могу заставить то же самое работать в C ++ с SDBU. Я могу написать 4 байта (я думаю): < /p>
_tempAttrProxyWrite = sdbus::createProxy("org.bluez", WRITE_DATA);

std::vector data = {0x00, 0x01, 0x02, 0x03};
std::map options;
_tempAttrProxyWrite->callMethod("WriteValue")
.onInterface(INTERFACE_CHAR)
.withArguments(data, options);
Но я не могу понять, как читать данные, либо подписавшись на слушателя, либо прочитав UUID после написания на них.

Подробнее здесь: https://stackoverflow.com/questions/797 ... uuid-using
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»