Уведомления Python Bleak с кубиком Рубика BLEPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Уведомления Python Bleak с кубиком Рубика BLE

Сообщение Anonymous »

Я использую Python 3.12 с bleak, чтобы попытаться связаться с кубиком Рубика BLE. В настоящее время все, что я могу сделать, это получить идентификатор модели с помощью этого кода:

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

import asyncio
from bleak import BleakClient

address = "E0:F4:65:59:81:EF"
MODEL_NBR_UUID = "00002a00-0000-1000-8000-00805f9b34fb"

async def main(address):
client = BleakClient(address)
try:
await client.connect()
model_number = await client.read_gatt_char(MODEL_NBR_UUID)
print("Model Number: {0}".format("".join(map(chr, model_number))))

except Exception as e:
print(e)
finally:
await client.disconnect()

asyncio.run(main(address))
Это работает так, как ожидалось, и выводит следующий номер модели: GoCube_EF8159_1, но когда я пытаюсь прочитать или запустить уведомления о других характеристиках, похоже, ничего не происходит. Я добавил код уведомления следующим образом:

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

import asyncio
from bleak import BleakClient

address = "E0:F4:65:59:81:EF"
MODEL_NBR_UUID = "00002a00-0000-1000-8000-00805f9b34fb"

async def cube_update(sender, data):
print(f"{sender}: {data}")
async def main(address):
client = BleakClient(address)
try:
await client.connect()
model_number = await client.read_gatt_char(MODEL_NBR_UUID)
print("Model Number: {0}".format("".join(map(chr, model_number))))

await client.start_notify("6e400003-b5a3-f393-e0a9-e50e24dcca9e", cube_update)

except Exception as e:
print(e)
finally:
await client.disconnect()

asyncio.run(main(address))
Даже когда я добавил этот код, результат тот же, и он завершает выполнение почти сразу после распечатки имени. Я не считаю, что использую неправильную характеристику, и дополнительную информацию о конкретном протоколе куба можно найти на этой странице github. Кроме того, я протестировал уведомления с помощью приложения отладки на своем телефоне, и оно отлично уведомило мой телефон. Моя главная цель — получать обозначение хода каждый раз, когда куб вращается, что я в конечном итоге буду использовать, чтобы найти решение для куба.

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

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

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

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

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

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

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