示例#1
0
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
示例#2
0
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)
示例#5
0
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
示例#6
0
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
示例#7
0
 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'):
示例#8
0
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()
示例#10
0
 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()
示例#11
0
    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)
示例#12
0
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)
示例#13
0
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
示例#14
0
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
示例#15
0
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
示例#16
0
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)