diff --git a/desktop_app/api/node.py b/desktop_app/api/node.py new file mode 100644 index 0000000..df14588 --- /dev/null +++ b/desktop_app/api/node.py @@ -0,0 +1,18 @@ +from enum import Enum +from bleak import BLEDevice, BleakScanner + +NODE_BLUETOOTH_SERVICE_UUID = "E1898FF7-5063-4441-a6eb-526073B00001" + + +class MeshNode: + def __init__(self, ble_device: BLEDevice): + self.ble_device = ble_device + + async def discover(): + """Find a mesh node via Bluetooth + """ + devices = await BleakScanner(service_uuids=[NODE_BLUETOOTH_SERVICE_UUID], scanning_mode="pasive") + + # no device was found + if len(devices) == 0: + return None \ No newline at end of file diff --git a/desktop_app/main.py b/desktop_app/main.py new file mode 100644 index 0000000..24652ad --- /dev/null +++ b/desktop_app/main.py @@ -0,0 +1,4 @@ +from api.node import MeshNode + + +print(MeshNode.discover()) \ No newline at end of file diff --git a/test.py b/test.py index bdf6936..952048f 100644 --- a/test.py +++ b/test.py @@ -17,6 +17,8 @@ async def main(): print(f'Services found for device') print(f'\tDevice address:{device.address}') print(f'\tDevice name:{device.name}') + + client.write_gatt_char() print('\tServices:') for service in client.services: