@Naoto-Fujihiro さん
obniz-python-sdkではまだBLE機能を整備中でして、不備が多々見られると思います。コードを拝見したところ、以下を修正することでNotifyを有効にできるようでした。
ble.py
async def onconnect(obniz):
obniz.display.clear()
obniz.display.print("Hello, World!")
new_service = obniz.ble.service({
'uuid': '555a0001-0aaa-467a-9538-01f0652c74e8'
})
new_characteristic = obniz.ble.characteristic({
'uuid': '555a0003-0aaa-467a-9538-01f0652c74e8',
'properties': ['write', 'read', 'notify'], # propertiesの設定を追加してください
'data': [0x00, 0x64],
'descriptors': [{
'uuid': '2902',
'data': [0x00, 0x00],
}]
})
new_service.add_characteristic(new_characteristic)
obniz.ble.peripheral.add_service(new_service)
また、obniz/obniz/libs/embeds/ble/ble_characteristic.py内のBleCharacteristicクラスに次のメソッドを追加してください。
def to_json(self):
obj = super().to_json()
if (len(self.properties) > 0):
obj["properties"] = self.properties
if (len(self.permissions) > 0):
obj["permissions"] = self.permissions
return obj
これにより、obnizに設定内容が正しく送信されます。
BLE機能の整備中ですみませんが、よろしくお願いします。