From 9cda8daf65dae65ccc956f5f11f3b777048990fa Mon Sep 17 00:00:00 2001 From: SpudGunMan Date: Wed, 15 Oct 2025 15:57:24 -0700 Subject: [PATCH] Update udp.py --- modules/udp.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/modules/udp.py b/modules/udp.py index 4f2e215..97c97d8 100644 --- a/modules/udp.py +++ b/modules/udp.py @@ -6,11 +6,19 @@ from pubsub import pub from meshtastic.protobuf import mesh_pb2, portnums_pb2 from mudp import UDPPacketStream, node, conn, send_text_message, send_nodeinfo, send_device_telemetry, send_position, send_environment_metrics, send_power_metrics, send_waypoint import time +from zeroconf import Zeroconf, ServiceBrowser MCAST_GRP, MCAST_PORT, KEY = "224.0.0.69", 4403, "1PG7OiApB1nwvP+rz05pAQ==" mudpEnabled, mudpInterface = True, None messages = [] +class ZeroconfListner: + def add_service(self, zeroconf, type, name): + info = zeroconf.get_service_info(type, name) + if info: + txt = info.properties + print(f"Found Meshtastic node: id={txt.get(b'id', b'').decode()} shortname={txt.get(b'shortname', b'').decode()} longname={txt.get(b'longname', b'').decode()}") + def initalize_mudp(): global mudpInterface if mudpEnabled and mudpInterface is None: @@ -54,6 +62,10 @@ pub.subscribe(on_recieve, "mesh.rx.packet") # pub.subscribe(on_text_message, "mesh.rx.port.1") # pub.subscribe(on_nodeinfo, "mesh.rx.port.4") # NODEINFO_APP +zeroconf = Zeroconf() +listener = ZeroconfListner() +browser = ServiceBrowser(zeroconf, "_meshtastic._tcp.local.", listener) + def main(): initalize_mudp() mudpInterface.start()