| nmea_sentence = ser.readline() # GPRMC | nmea_sentence = ser.readline() # GPRMC | ||||
| nmea_str = nmea_sentence.decode("utf-8") | nmea_str = nmea_sentence.decode("utf-8") | ||||
| if nmea_str.startswith("$GPRMC"): | if nmea_str.startswith("$GPRMC"): | ||||
| write_to_file(output_file, nmea_str) | |||||
| time_epoch = subprocess.check_output(CMD_TIME_EPOCH, shell=True).decode( | |||||
| "utf-8" | |||||
| ) | |||||
| write_to_file(output_file, "{},{}".format(nmea_str, time_epoch)) | |||||
| except: | except: | ||||
| if not ser.is_open: | if not ser.is_open: | ||||
| print_message("GPS serial port is closed. Exit monitoring thread.") | print_message("GPS serial port is closed. Exit monitoring thread.") | ||||
| sleep(2) | sleep(2) | ||||
| modem_serial_obj.write(b'at+cfun=1\r\n') | modem_serial_obj.write(b'at+cfun=1\r\n') | ||||
| sleep(NR_SERIAL_RESPOND_TIME) | sleep(NR_SERIAL_RESPOND_TIME) | ||||
| sleep(2) | |||||
| os.system("/root/connect-modem.py -s") | |||||
| sleep(5) | |||||
| os.system("/root/connect-modem.py -l {}".format(provider)) | |||||
| except Exception as e: | except Exception as e: | ||||
| if not modem_serial_obj.is_open: | if not modem_serial_obj.is_open: | ||||
| print_message("Serial port is closed. {}".format(e)) | print_message("Serial port is closed. {}".format(e)) | ||||
| "Something went wrong while writing to serial. {}".format(e) | "Something went wrong while writing to serial. {}".format(e) | ||||
| ) | ) | ||||
| os.system("/root/connect-modem.py -s") | os.system("/root/connect-modem.py -s") | ||||
| sleep(2) | |||||
| os.system("/root/connect-modem.py -s") | |||||
| sleep(5) | |||||
| os.system("/root/connect-modem.py -l {}".format(provider)) | |||||
| else: | else: | ||||
| os.system("/root/connect-modem.py -s") | os.system("/root/connect-modem.py -s") | ||||
| sleep(5) | sleep(5) |