mirror of
https://github.com/meshtastic/python.git
synced 2025-12-24 16:37:51 -05:00
36 lines
1.0 KiB
Python
36 lines
1.0 KiB
Python
"""Simple program to demo how to use meshtastic library.
|
|
To run: python examples/pub_sub_example2.py
|
|
"""
|
|
|
|
import sys
|
|
import time
|
|
from pubsub import pub
|
|
|
|
import meshtastic
|
|
import meshtastic.tcp_interface
|
|
|
|
# simple arg check
|
|
if len(sys.argv) < 2:
|
|
print(f"usage: {sys.argv[0]} host")
|
|
sys.exit(1)
|
|
|
|
def onReceive(packet, interface): # pylint: disable=unused-argument
|
|
"""called when a packet arrives"""
|
|
print(f"Received: {packet}")
|
|
|
|
def onConnection(interface, topic=pub.AUTO_TOPIC): # pylint: disable=unused-argument
|
|
"""called when we (re)connect to the radio"""
|
|
# defaults to broadcast, specify a destination ID if you wish
|
|
interface.sendText("hello mesh")
|
|
|
|
pub.subscribe(onReceive, "meshtastic.receive")
|
|
pub.subscribe(onConnection, "meshtastic.connection.established")
|
|
try:
|
|
iface = meshtastic.tcp_interface.TCPInterface(hostname=sys.argv[1])
|
|
while True:
|
|
time.sleep(1000)
|
|
iface.close()
|
|
except(Exception) as ex:
|
|
print(f"Error: Could not connect to {sys.argv[1]} {ex}")
|
|
sys.exit(1)
|