diff --git a/loop/SARA_send_data_v2.py b/loop/SARA_send_data_v2.py index 731bc1d..c9e99c9 100755 --- a/loop/SARA_send_data_v2.py +++ b/loop/SARA_send_data_v2.py @@ -211,20 +211,18 @@ config_file = '/var/www/nebuleair_pro_4g/config.json' config = load_config(config_file) device_latitude_raw = config.get('latitude_raw', 0) device_longitude_raw = config.get('longitude_raw', 0) - baudrate = config.get('SaraR4_baudrate', 115200) #baudrate du sara R4 device_id = config.get('deviceID', '').upper() #device ID en maj bme_280_config = config.get('BME280/get_data_v2.py', False) #présence du BME280 envea_cairsens= config.get('envea/read_value_v2.py', False) mppt_charger= config.get('MPPT/read.py', False) wind_meter= config.get('windMeter/read.py', False) - send_aircarto = config.get('send_aircarto', True) #envoi sur AirCarto (data.nebuleair.fr) send_uSpot = config.get('send_uSpot', False) #envoi sur MicroSpot () reset_uSpot_url = False selected_networkID = int(config.get('SARA_R4_neworkID', 0)) npm_5channel = config.get('NextPM_5channels', False) #5 canaux du NPM - +modem_version=config.get('modem_version', "") modem_config_mode = config.get('modem_config_mode', False) #modem 4G en mode configuration #update device id in the payload json @@ -316,6 +314,7 @@ try: ''' print('

START LOOP

') + print(f'Modem version: {modem_version}') #Local timestamp #ATTENTION: @@ -638,6 +637,8 @@ try: parts = http_response.split(',') # 2.1 code 0 (HTTP failed) ⛔⛔⛔ + # -> GET error code + # -> reboot module if len(parts) == 3 and parts[-1] == '0': # The third value indicates success print("*****") print('⛔ATTENTION: HTTP operation failed') @@ -668,7 +669,7 @@ try: elif error_code == 11: print('

Error 11: Server connection error

') elif error_code == 22: - print('

Error 22: PSD or CSD connection not established

') + print('

⚠️Error 22: PSD or CSD connection not established (SARA-R5 need to reset PDP conection)⚠️

') elif error_code == 73: print('

Error 73: Secure socket connect error

') else: @@ -685,7 +686,7 @@ try: response_SARA_9r = read_complete_response(ser_sara, wait_for_lines=["OK"], debug=True) print('

') print(response_SARA_9r) - print("

") + print("

", end="") reset_uSpot_url = True @@ -701,6 +702,41 @@ try: print(responseResetHTTP2_profile) print("

", end="") + #si on a un sara r5 il faut également reset la connection PDP + if modem_version == "SARA-R500": + print("⚠️Need to reset PDP connection") + # 2. Activate PDP context 1 + print('➡️Activate PDP context 1') + command = f'AT+CGACT=1,1\r' + ser_sara.write(command.encode('utf-8')) + response_SARA_2dpd = read_complete_response(ser_sara, wait_for_lines=["OK"]) + print(response_SARA_2dpd, end="") + time.sleep(1) + + # 2. Set the PDP type + print('➡️Set the PDP type to IPv4 referring to the outputof the +CGDCONT read command') + command = f'AT+UPSD=0,0,0\r' + ser_sara.write(command.encode('utf-8')) + response_SARA_31dpd = read_complete_response(ser_sara, wait_for_lines=["OK"]) + print(response_SARA_31dpd, end="") + time.sleep(1) + + # 2. Profile #0 is mapped on CID=1. + print('➡️Profile #0 is mapped on CID=1.') + command = f'AT+UPSD=0,100,1\r' + ser_sara.write(command.encode('utf-8')) + response_SARA_32dpd = read_complete_response(ser_sara, wait_for_lines=["OK"]) + print(response_SARA_32dpd, end="") + time.sleep(1) + + # 2. Set the PDP type + print('➡️Activate the PSD profile #0: the IPv4 address is already assigned by the network.') + command = f'AT+UPSDA=0,3\r' + ser_sara.write(command.encode('utf-8')) + response_SARA_33dpd = read_complete_response(ser_sara, wait_for_lines=["OK","+UUPSDA"]) + print(response_SARA_33dpd, end="") + time.sleep(1) + # 2.2 code 1 (✅✅HHTP / UUHTTPCR succeded✅✅) else: