#!/usr/bin/env python3 import argparse import logging from m2m.interactive import ModemShell # Hide logs to keep the shell clean, unless requested logging.basicConfig(level=logging.WARNING) def main(): parser = argparse.ArgumentParser(description="Interactive Modem Control Shell") parser.add_argument("port", help="Serial port (e.g. /dev/ttyUSB0, socket://host:port, or MOCK)") parser.add_argument("--type", default="BG95", help="Module type (BG95, BG96, BC66)") parser.add_argument("--apn", default="iot.telefonica.de", help="Default APN for connection") parser.add_argument("--verbose", action="store_true", help="Enable verbose logging") args = parser.parse_args() if args.verbose: logging.getLogger().setLevel(logging.INFO) shell = ModemShell(args.type, args.port, args.apn) shell.run() if __name__ == "__main__": main()