| modem_serial_obj = None | modem_serial_obj = None | ||||
| gps_serial_obj = None | gps_serial_obj = None | ||||
| MODEM_MODEL = None | |||||
| class ProcessHandler: | class ProcessHandler: | ||||
| def __init__(self): | def __init__(self): | ||||
| def monitor_serial(ser, output_file): | def monitor_serial(ser, output_file): | ||||
| run_cmds = [NR_CQI_COMMAND, NR_SERVINGCELL_COMMAND, NR_EN_DC_STATUS_COMMAND, NE_CA_COMMAND] | |||||
| #run_cmds = [NR_CQI_COMMAND, NR_SERVINGCELL_COMMAND, NR_EN_DC_STATUS_COMMAND, NE_CA_COMMAND] | |||||
| run_cmds = [b"at!gstatus?\r\n", b"AT!NRINFO?\r\n"] | |||||
| try: | try: | ||||
| while ser.is_open: | while ser.is_open: | ||||
| response = subprocess.check_output(CMD_TIME_EPOCH, shell=True).decode( | response = subprocess.check_output(CMD_TIME_EPOCH, shell=True).decode( | ||||
| ser.write(cmd) | ser.write(cmd) | ||||
| sleep(NR_SERIAL_RESPOND_TIME) | sleep(NR_SERIAL_RESPOND_TIME) | ||||
| response += ser.read(ser.inWaiting()).decode("utf-8") | response += ser.read(ser.inWaiting()).decode("utf-8") | ||||
| response = ( | |||||
| response.replace("\n", ";") | |||||
| .replace("\r", "") | |||||
| .replace(";;OK", ";") | |||||
| .replace(";;", ";") | |||||
| ) | |||||
| #response = ( | |||||
| # response.replace("\n", ";") | |||||
| # .replace("\r", "") | |||||
| # .replace(";;OK", ";") | |||||
| # .replace(";;", ";") | |||||
| #) | |||||
| write_to_file(output_file, response + "\n") | write_to_file(output_file, response + "\n") | ||||
| except: | except: | ||||
| if not ser.is_open: | if not ser.is_open: | ||||
| def connect_moden(provider="telekom"): | def connect_moden(provider="telekom"): | ||||
| print_message("Connect modem with provider {} ...".format(provider)) | print_message("Connect modem with provider {} ...".format(provider)) | ||||
| os.system("/root/connect-modem.py -l {}".format(provider)) | |||||
| if MODEM_MODEL == "EM9191": | |||||
| os.system("/root/connection_mbim.py -l {}".format(provider)) | |||||
| else: | |||||
| os.system("/root/connect-modem.py -l {}".format(provider)) | |||||
| print_message("...done") | print_message("...done") | ||||
| def reconnect_modem(provider="telekom", hard=False): | def reconnect_modem(provider="telekom", hard=False): | ||||
| #TODO | |||||
| os.system("/root/connection_mbim.py -s") | |||||
| sleep(2) | |||||
| os.system("/root/connection_mbim.py -l {}".format(provider)) | |||||
| return | |||||
| global modem_serial_obj | global modem_serial_obj | ||||
| print_message("Reonnect modem with provider {} ...".format(provider)) | print_message("Reonnect modem with provider {} ...".format(provider)) | ||||
| if hard: | if hard: | ||||
| default=None, | default=None, | ||||
| help="Start in client mode and set the server IPv4 address.", | help="Start in client mode and set the server IPv4 address.", | ||||
| ) | ) | ||||
| parser.add_argument("--modem", default="EM9191", help="Modem model name.") | |||||
| parser.add_argument( | parser.add_argument( | ||||
| "--prefix", default=now.strftime("%Y-%m-%d"), help="Prefix on filename." | "--prefix", default=now.strftime("%Y-%m-%d"), help="Prefix on filename." | ||||
| ) | ) | ||||
| args = parser.parse_args() | args = parser.parse_args() | ||||
| disable_tso(args.interface) | disable_tso(args.interface) | ||||
| MODEM_MODEL = args.modem | |||||
| if args.server: | if args.server: | ||||
| asyncio.run(start_server(args)) | asyncio.run(start_server(args)) |