meshcore_py/examples/serial_repeater_status.py
2025-03-30 09:00:09 +02:00

33 lines
771 B
Python
Executable file

#!/usr/bin/python
import asyncio
from meshcore import MeshCore
from meshcore import printerr
from meshcore import SerialConnection
PORT = "/dev/ttyUSB0"
BAUDRATE = 115200
REPEATER="FdlRoom"
PASSWORD="password"
async def main () :
con = SerialConnection(PORT, BAUDRATE)
await con.connect()
await asyncio.sleep(0.1) # time for transport to establish
mc = MeshCore(con)
await mc.connect()
contacts = await mc.get_contacts()
repeater = contacts[REPEATER]
await mc.send_login(bytes.fromhex(repeater["public_key"]), PASSWORD)
printerr("Login sent ... awaiting")
if await mc.wait_login() :
await mc.send_statusreq(bytes.fromhex(repeater["public_key"]))
print(await mc.wait_status())
asyncio.run(main())