def single_humidity_value(message_command, message_uid, message_list): print('all_pin_status_value in response_message_parser.py') print('single_humidity_value') response_message_dictionary = response_message_dictionary_initialization() response_message_dictionary["message_uid"] = message_uid response_message_dictionary["payload"]["command"] = message_command #response_message_dictionary['payload']['digitals'] = message_list #response_message_dictionary['payload']['digitals'][0][0] = message_list[0] try: response_message_dictionary["payload"]["digitals"][0].append( message_list[0]) #return str(response_message_dictionary) response_message_dictionary = json.dumps(response_message_dictionary) return response_message_dictionary except IndexError as error: print(error) error_message = error event = "ig100_response_message_parser" ig100_logger.createErrorLog(error_message, event) response_message_dictionary_error = json.dumps( response_message_dictionary_initialization_error()) return response_message_dictionary_error
def all_digital_pin_status_value(message_command, message_uid, message_list): print('all_pin_status_value in response_message_parser.py') response_message_dictionary = response_message_dictionary_initialization() response_message_dictionary["message_uid"] = message_uid response_message_dictionary["payload"]["command"] = message_command try: if (message_command == 'GET_INTERRUPT_ALL_PIN_STATUS'): try: for i in range(0, 12): response_message_dictionary["payload"]["interrupt"].append( message_list[i]) except IndexError as error: print(error) elif (message_command == 'GET_DIGITAL_ALL_PIN_VALUE'): #for i in range(0,12): #response_message_dictionary['payload']['digitals'][i][0] = message_list[i] dht_pin_list, dht_temperature_humidity_value_list = ig100_dht_read.get_dht_temperature_humidity( ) # DHT function call try: z = 0 for i in range(0, 12): if i in dht_pin_list: response_message_dictionary["payload"]["digitals"][ i].append( int(dht_temperature_humidity_value_list[z + 0])) response_message_dictionary["payload"]["digitals"][ i].append( int(dht_temperature_humidity_value_list[z + 1])) z = z + 2 else: response_message_dictionary["payload"]["digitals"][ i].append(message_list[i]) except IndexError as error: print(error) else: try: for i in range(0, 12): response_message_dictionary["payload"]["digitals"][ i].append(message_list[i]) except IndexError as error: print(error) #response_message_dictionary['payload']['digitals'][i][0] = message_list[i] #return str(response_message_dictionary) response_message_dictionary = json.dumps(response_message_dictionary) return response_message_dictionary except IndexError as error: print(error) error_message = error event = "ig100_response_message_parser" ig100_logger.createErrorLog(error_message, event) response_message_dictionary_error = json.dumps( response_message_dictionary_initialization_error()) return response_message_dictionary_error
def write_relay_pwm_value_to_file(data): try: #with open('/root/IG100_Microprocessor_Script_1/relay_pwm_value.json', 'w') as f: with open('/root/IG100/relay_pwm_value.json', 'w') as f: json.dump(data, f) #except FileNotFoundError as fnf_error: except: message = "file not found exception" event = "ig100_read_write_relay_pwm_file" ig100_logger.createErrorLog(message, event)
def read_relay_pwm_value_from_file(): print("===================\============================") try: #with open('/root/IG100_Microprocessor_Script_1/relay_pwm_value.json') as f: with open('/root/IG100/relay_pwm_value.json') as f: data = json.load(f) return data #except FileNotFoundError as fnf_error: except: message = "file not found exception" event = "ig100_read_write_relay_pwm_file" ig100_logger.createErrorLog(message, event)
def get_dht_temperature_humidity(): dht_pin_list = [] dht_temperature_humidity_value_list = [] print("========== DHT Read ==========") try: for digital_sensor in load.digitals: #print (digital_sensor['isConfigured']) if digital_sensor['isConfigured'] == True: if digital_sensor['configuration']['sensor_uid'] == 'DHT_11': dht_pin_list.append(digital_sensor['pin']) try: #print ("-----------------") ig100_serial_configuration.ser.write( 'GDT0' + str(digital_sensor['pin']) + '\n') while True: if (ig100_serial_configuration.ser.inWaiting() > 0): value = ig100_serial_configuration.ser.read() if value == '\t': break else: dht_temperature_humidity_value_list.append( ord(value)) #print (dht_temperature_humidity_value_list) ig100_serial_configuration.ser.write( 'GDH0' + str(digital_sensor['pin']) + '\n') while True: if (ig100_serial_configuration.ser.inWaiting() > 0): value = ig100_serial_configuration.ser.read() if value == '\t': break else: dht_temperature_humidity_value_list.append( ord(value)) #print (dht_temperature_humidity_value_list) except: message = "serial exception" event = "ig100_dht_read" ig100_logger.createErrorLog(message, event) #print ("serial exception") #with open('/root/IG100/log.json', 'a') as log: #json.dump("serial exception in dht", log) except: message = "json load exception" event = "ig100_dht_read" ig100_logger.createErrorLog(message, event) #print ("json load exception in dht") #with open('/root/IG100/log.json', 'a') as log: #json.dump("json load exception in dht", log) return dht_pin_list, dht_temperature_humidity_value_list
def all_pin_status_value(message_command, message_uid, message_list): print('all_pin_status_value in response_message_parser.py') response_message_dictionary = response_message_dictionary_initialization() response_message_dictionary["message_uid"] = message_uid response_message_dictionary["payload"]["command"] = message_command dht_pin_list, dht_temperature_humidity_value_list = ig100_dht_read.get_dht_temperature_humidity( ) # DHT function call try: z = 0 for i in range(0, 12): if i in dht_pin_list: response_message_dictionary["payload"]["digitals"][i].append( int(dht_temperature_humidity_value_list[z + 0])) response_message_dictionary["payload"]["digitals"][i].append( int(dht_temperature_humidity_value_list[z + 1])) z = z + 2 else: response_message_dictionary["payload"]["digitals"][i].append( message_list[i]) #for i in range(0,12): #response_message_dictionary['payload']['digital'].append(message_list[i]) #response_message_dictionary['payload']['digitals'][i][0] = message_list[i] for i in range(12, 16): response_message_dictionary["payload"]["analog"].append( message_list[i]) for i in range(16, 20): response_message_dictionary["payload"]["relay"].append( message_list[i]) for i in range(20, 24): response_message_dictionary["payload"]["pwm"].append( message_list[i]) #return str(response_message_dictionary) response_message_dictionary = json.dumps(response_message_dictionary) return response_message_dictionary except IndexError as error: print(error) error_message = error event = "ig100_response_message_parser" ig100_logger.createErrorLog(error_message, event) response_message_dictionary_error = json.dumps( response_message_dictionary_initialization_error()) return response_message_dictionary_error
def publish_response_message(self, message): #print ('publish_response_message in parse_class.py') formatted_response = '' try: formatted_response = ig100_response_message_parser.response_parser( message, request_message_dictionary) self.client.publish(topic=self.__class__.processed_commands_topic, payload=formatted_response) except: error_message = "publish response message exception" event = "ig100_mqtt_class" ig100_logger.createErrorLog(error_message, event) #with open('/root/IG100_Microprocessor_Script_1/log.json', 'a') as log: #json.dump('response paser error', log) '''if (request_message_dictionary['message_uid'] == 'TID'):
def ir_initialization(): while True: try: if (ig100_serial_configuration.ser.inWaiting() > 0): value = ig100_serial_configuration.ser.read() if value == '\t': break elif ord(value) == 1: print("========== All Relay Values Initialized ==========") else: pass except: #with open('/root/IG100_Microprocessor_Script_1/log.json', 'a') as log: message = "ir initialization error" event = "ig100_write_ir_ip_in_serial" ig100_logger.createErrorLog(message, event)
def interrupt_initialized(): print("========== Initialize Interrupt ==========") try: for digitals in load_init.digitals: #print (digitals['isInterruptPin']) if digitals['isConfigured'] == True: if digitals['isInterruptPin'] == True: if digitals['pin'] < 10: if (digitals['pin'] == 4 or digitals['pin'] == 5): #print (digitals['setAsInterrupt']) if digitals['setAsInterrupt'] == True: #print (digitals['pin']) #print ('SI0' + str(digitals['pin']) + '1') init_command = 'SI0' + str( digitals['pin']) + '1' init_all_config(init_command) #print ("===================Interrupt4/5=============================") else: #print ('SI0' + str(digitals['pin']) + '0') init_command = 'SI0' + str( digitals['pin']) + '0' init_all_config(init_command) else: #print (digitals['setAsInterrupt']) if digitals['setAsInterrupt'] == True: #print ('SI' + str(digitals['pin']) + '1') init_command = 'SI' + str(digitals['pin']) + '1' init_all_config(init_command) else: #print ('SI' + str(digitals['pin']) + '0') init_command = 'SI' + str(digitals['pin']) + '0' init_all_config(init_command) except: message = "json load exception" event = "ig100_initialize_all" ig100_logger.createErrorLog(message, event) #if __name__ == "__main__": #digital_initialized() #analog_initialized() #pwn_initialized() #relay_initialized() #interrupt_initialized()
def run(self, request_message_dictionary): try: #while request_message_dictionary in serial_data_queue: #print (request_message_dictionary) command = request_message_dictionary['payload'] microcontroller_command_from_parser = ig100_request_message_parser.parser_command( command) print('========== In Callback Serial Write ==========') print(microcontroller_command_from_parser) ig100_serial_configuration.ser.write( microcontroller_command_from_parser + '\n') self.terminate() except: #with open('/root/IG100_Microprocessor_Script_1/log.json', 'a') as log: message = "request parser or serial write error" event = "ig100_callback_queue" ig100_logger.createErrorLog(message, event) #with open('/root/IG100/log.json', 'a') as log: #json.dump('request parser or serial write error', log) self.terminate()
def on_message(client, userdata, msg): #if msg.topic == IG100CommandProcessor.commands_topic: print("========== In Callback ==========") global request_message_dictionary global trigger try: request_message_dictionary = ast.literal_eval(msg.payload) if request_message_dictionary["payload"][ "command"] == "TRIGGER_RELOAD": trigger = ig100_trigger.Trigger() print("========== Trigger Reload ==========") #print ("========== ", trigger) else: s = ig100_callback_queue.WriteToSerial() t = Thread(target=s.run, args=(request_message_dictionary, )) t.start() except: error_message = "json load exception in callback" event = "ig100_initialize_all" ig100_logger.createErrorLog(error_message, event)
def digital_initialized(): print("========== Initialize Digital ==========") try: for digitals in load_init.digitals: #print (digitals['isConfigured']) if digitals['isConfigured'] == True: if digitals['isInterruptPin'] == True: if digitals['setAsInterrupt'] == False: if digitals['pin'] < 10: #print ('SD0' + str(digitals['pin']) + '1') init_command = 'SD0' + str(digitals['pin']) + '1' init_all_config(init_command) else: #print ('SD' + str(digitals['pin']) + '1') init_command = 'SD' + str(digitals['pin']) + '1' init_all_config(init_command) else: if digitals['pin'] < 10: #print ('SD0' + str(digitals['pin']) + '1') init_command = 'SD0' + str(digitals['pin']) + '1' init_all_config(init_command) else: #print ('SD' + str(digitals['pin']) + '1') init_command = 'SD' + str(digitals['pin']) + '1' init_all_config(init_command) else: if digitals['pin'] < 10: #print ('SD0' + str(digitals['pin']) + '0') init_command = 'SD0' + str(digitals['pin']) + '0' init_all_config(init_command) else: #print ('SD' + str(digitals['pin']) + '0') #print ('=================================10/11==========================') init_command = 'SD' + str(digitals['pin']) + '0' init_all_config(init_command) except: message = "json load exception" event = "ig100_initialize_all" ig100_logger.createErrorLog(message, event)
def all_analog_relay_pwm_interrupt_pin_status_value(message_command, message_uid, message_list): print( 'all_analog_relay_pwm_interrupt_pin_status_value in response_message_parser.py' ) response_message_dictionary = response_message_dictionary_initialization() response_message_dictionary["message_uid"] = message_uid response_message_dictionary["payload"]["command"] = message_command try: if (message_command == 'GET_ANALOG_ALL_PIN_STATUS' or message_command == 'GET_ANALOG_ALL_PIN_VALUE'): for i in range(0, 4): response_message_dictionary["payload"]["analog"].append( message_list[i]) if (message_command == 'GET_RELAY_ALL_PIN_STATUS' or message_command == 'GET_RELAY_ALL_PIN_VALUE'): for i in range(0, 4): response_message_dictionary["payload"]["relay"].append( message_list[i]) if (message_command == 'GET_PWM_ALL_PIN_STATUS' or message_command == 'GET_PWM_ALL_PIN_VALUE'): for i in range(0, 4): response_message_dictionary["payload"]["pwm"].append( message_list[i]) #return str(response_message_dictionary) response_message_dictionary = json.dumps(response_message_dictionary) return response_message_dictionary except IndexError as error: print(error) error_message = error event = "ig100_response_message_parser" ig100_logger.createErrorLog(error_message, event) response_message_dictionary_error = json.dumps( response_message_dictionary_initialization_error()) return response_message_dictionary_error
def single_interrupt_value(message_command, message_uid, message_list): print('all_pin_status_value in response_message_parser.py') response_message_dictionary = response_message_dictionary_initialization() response_message_dictionary["message_uid"] = message_uid response_message_dictionary["payload"]["command"] = message_command try: #response_message_dictionary["payload"]["interrupt"] = message_list response_message_dictionary["payload"]["interrupt"].append( message_list[0]) #return str(response_message_dictionary) response_message_dictionary = json.dumps(response_message_dictionary) return response_message_dictionary except IndexError as error: print(error) error_message = error event = "ig100_response_message_parser" ig100_logger.createErrorLog(error_message, event) response_message_dictionary_error = json.dumps( response_message_dictionary_initialization_error()) return response_message_dictionary_error
def interrupt_parser(value_list): print('interrupt_parser in response_message_parser.py') response_message_dictionary = response_message_dictionary_initialization() response_message_dictionary["payload"]["command"] = 'INTERRUPT_RESPONSE' try: response_message_dictionary["payload"]["interrupt"].append( value_list[0]) #print (response_message_dictionary) #return str(response_message_dictionary) response_message_dictionary = json.dumps(response_message_dictionary) return response_message_dictionary except IndexError as error: print(error) error_message = error event = "ig100_response_message_parser" ig100_logger.createErrorLog(error_message, event) response_message_dictionary_error = json.dumps( response_message_dictionary_initialization_error()) return response_message_dictionary_error
import serial import time import ig100_logger import json port = "/dev/ttyATH0" try: ser = serial.Serial(port, 115200, timeout=5) ser.flushInput() time.sleep(0.1) except: #with open('/root/IG100_Microprocessor_Script_1/log.json', 'a') as log: message = "serial initialization error" event = "ig100_serial_configuration" ig100_logger.createErrorLog(message, event) #with open('/root/IG100/log.json', 'a') as log: #json.dump('serial initialization error', log)