''' ____ _ ____ _ / ___| / \ | _ \ / \ \___ \ / _ \ | |_) | / _ \ ___) / ___ \| _ < / ___ \ |____/_/ \_\_| \_\/_/ \_\ Script to connect SARA-R410 to APN AT+CGDCONT=1,"IP","data.mono" /usr/bin/python3 /var/www/nebuleair_pro_4g/SARA/sara_setAPN.py ttyAMA2 data.mono 2 ''' import serial import time import sys import json parameter = sys.argv[1:] # Exclude the script name port='/dev/'+parameter[0] # ex: ttyAMA2 apn_address = parameter[1] # ex: data.mono timeout = float(parameter[2]) # ex:2 baudrate = 115200 ser = serial.Serial( port=port, #USB0 or ttyS0 baudrate=baudrate, #115200 ou 9600 parity=serial.PARITY_NONE, #PARITY_NONE, PARITY_EVEN or PARITY_ODD stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, timeout = timeout ) command = f'AT+CGDCONT=1,"IP","{apn_address}"\r' #command = f'AT+CGDCONT=1,"IPV4V6","{apn_address}"\r' #command = f'AT+CGDCONT=1,"IP","{apn_address}",0,0\r' ser.write((command + '\r').encode('utf-8')) try: # Read lines until a timeout occurs response_lines = [] while True: line = ser.readline().decode('utf-8').strip() if not line: break # Break the loop if an empty line is encountered response_lines.append(line) # Print the response for line in response_lines: print(line) except serial.SerialException as e: print(f"Error: {e}") finally: if ser.is_open: ser.close() #print("Serial closed")