diff --git a/SARA/sara.py b/SARA/sara.py index 2e40ee9..aeb9374 100755 --- a/SARA/sara.py +++ b/SARA/sara.py @@ -6,7 +6,9 @@ |____/_/ \_\_| \_\/_/ \_\ Script to see if the SARA-R410 is running -ex: +ex: +python3 /var/www/nebuleair_pro_4g/SARA/sara.py ttyAMA2 ATI 2 +ex 1 (get SIM infos) python3 /var/www/nebuleair_pro_4g/SARA/sara.py ttyAMA2 AT+CCID? 2 ex 2 (turn on blue light): python3 /var/www/nebuleair_pro_4g/SARA/sara.py ttyAMA2 AT+UGPIOC=16,2 2 @@ -14,6 +16,8 @@ ex 3 (reconnect network) python3 /var/www/nebuleair_pro_4g/SARA/sara.py ttyAMA2 AT+COPS=1,2,20801 20 ex 4 (get HTTP Profiles) python3 /var/www/nebuleair_pro_4g/SARA/sara.py ttyAMA2 AT+UHTTP? 2 +ex 5 (get IP addr) +python3 /var/www/nebuleair_pro_4g/SARA/sara.py ttyAMA2 AT+CGPADDR=1 2 ''' diff --git a/SARA/sara_checkDNS.py b/SARA/sara_checkDNS.py new file mode 100644 index 0000000..fbbe199 --- /dev/null +++ b/SARA/sara_checkDNS.py @@ -0,0 +1,79 @@ +''' + ____ _ ____ _ + / ___| / \ | _ \ / \ + \___ \ / _ \ | |_) | / _ \ + ___) / ___ \| _ < / ___ \ + |____/_/ \_\_| \_\/_/ \_\ + +Script to resolve DNS (get IP from domain name) with AT+UDNSRN command +Ex: +/usr/bin/python3 /var/www/nebuleair_pro_4g/SARA/sara_checkDNS.py ttyAMA2 data.nebuleair.fr +To do: need to add profile id as parameter + +''' + +import serial +import time +import sys +import json + +parameter = sys.argv[1:] # Exclude the script name +#print("Parameters received:") +port='/dev/'+parameter[0] # ex: ttyAMA2 +url = parameter[1] # ex: data.mobileair.fr + + +#get baudrate +def load_config(config_file): + try: + with open(config_file, 'r') as file: + config_data = json.load(file) + return config_data + except Exception as e: + print(f"Error loading config file: {e}") + return {} + +# Define the config file path +config_file = '/var/www/nebuleair_pro_4g/config.json' +# Load the configuration data +config = load_config(config_file) +# Access the shared variables +baudrate = config.get('SaraR4_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 = 2 +) + +command = f'AT+UDNSRN=0,"{url}"\r' +ser.write((command + '\r').encode('utf-8')) + +print("****") +print("DNS check") + +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("****") + #print("Serial closed") + diff --git a/SARA/sara_setAPN.py b/SARA/sara_setAPN.py index 0e5a83f..aad7243 100755 --- a/SARA/sara_setAPN.py +++ b/SARA/sara_setAPN.py @@ -49,6 +49,8 @@ ser = serial.Serial( ) 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'))