diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f5e96db --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +venv \ No newline at end of file diff --git a/relay/bluetooth_handler.py b/relay/bluetooth_handler.py index 395ac8b..8d1410e 100644 --- a/relay/bluetooth_handler.py +++ b/relay/bluetooth_handler.py @@ -24,16 +24,23 @@ class BluetoothHandler: self.ble.active(True) self.ble.irq(self.irq) + self.mac_address = self._get_mac_address() + print(f"Mac Address: {self.mac_address}") + ((self.tx_handle, self.rx_handle),) = self.ble.gatts_register_services((SERVICE,)) self.connections = set() self.advertise() + def _get_mac_address(self): + mac = self.ble.config("mac")[1] + return ':'.join('{:02X}'.format(b) for b in mac) + def advertise(self): print("Advertising Bluetooth...") # note: \x02\x01\x06\x0C\x09 is the BLE header that tells other devices we're BLE only and discoverable - self.ble.gap_advertise(100_000, b"\x02\x01\x06\x0C\x09MeshConnectorNode") + self.ble.gap_advertise(100_000, b"\x02\x01\x06\x0C\x09NODE-" + self.mac_address.encode()) def irq(self, event, data): print(f"BLUETOOTH IRQ | EVENT: {event}, DATA: {data}") diff --git a/relay/main.py b/relay/main.py index 96277d5..a7a6d8f 100644 --- a/relay/main.py +++ b/relay/main.py @@ -15,7 +15,9 @@ def main(): if LORA_ENABLED: lora_handler = LoRaHandler() - + print("Halting Pico...") + while True: + pass if __name__ == "__main__": diff --git a/test.py b/test.py new file mode 100644 index 0000000..860f804 --- /dev/null +++ b/test.py @@ -0,0 +1,10 @@ +import bleak +import asyncio + + +async def main(): + devices = await bleak.BleakScanner.discover() + print(devices) + + +asyncio.run(main()) \ No newline at end of file