mirror of
https://github.com/meshtastic/python.git
synced 2026-06-02 12:45:00 -04:00
39 lines
1.0 KiB
Python
39 lines
1.0 KiB
Python
"""Send one text message over serial.
|
|
|
|
Purpose: minimal send-only example.
|
|
Transport scope: Serial only.
|
|
Behavior: sends one message and exits.
|
|
Expected output: no output on success.
|
|
Cleanup/error handling: exits with code 3 for bad args, closes interface on exit.
|
|
"""
|
|
|
|
import argparse
|
|
import sys
|
|
|
|
import meshtastic.serial_interface
|
|
|
|
|
|
def main() -> int:
|
|
"""Parse arguments and send one text message."""
|
|
if len(sys.argv) < 2:
|
|
print(f"usage: {sys.argv[0]} message")
|
|
return 3
|
|
|
|
parser = argparse.ArgumentParser(description="Send one Meshtastic text message over serial")
|
|
parser.add_argument("message", help="Message text to broadcast")
|
|
args = parser.parse_args()
|
|
|
|
try:
|
|
with meshtastic.serial_interface.SerialInterface() as iface:
|
|
iface.sendText(args.message)
|
|
except KeyboardInterrupt:
|
|
return 0
|
|
except Exception as exc:
|
|
print(f"Error: Could not send message: {exc}")
|
|
return 1
|
|
return 0
|
|
|
|
|
|
if __name__ == "__main__":
|
|
raise SystemExit(main())
|