Пример #1
0
 def start_client(self, msg):
     sp_topic = re.split('/', msg.topic)
     device_name = str(sp_topic[1]) + '_' + str(sp_topic[2])
     if device_name not in self.devices:
         #signal.signal(signal.SIGINT, signal.SIG_IGN)
         process = MQTTClient_Process(
             device=device_name, ip=self.ip, port=self.port, p_type=self.p_type)
         self.add_process(device_name, process)
         process.start()
         #signal.signal(signal.SIGINT, signal_handler)
     else:
         print('Warning: Device with same name ignored!!')
Пример #2
0
        print('Error in Arguments passed')
        serveri.usage()
        sys.exit(2)
    serveri.parse_args(opts)
    serveri.remove_files()
    serveri.controlled_devices = []
    try:
        with open('conf/' + str(serveri.curr_device) + '.conf') as f:
            for line in f:
                serveri.controlled_devices.append(line.strip())
        f.close()
    except ValueError as e:
        print(str(e))
    except:
        print("No Configuration File Found")
    process = MQTTClient_Process(device=serveri.curr_device, ip=serveri.ip,
                                 port=serveri.port, p_type=0)

    serveri.add_process(serveri.curr_device, process)
    try:
        mqttc.will_set('leave/' + str(serveri.dev_topic), "Disconnect")
    except IndexError:
        print("Will not set")

    mqttc.on_connect = serveri.on_connect
    mqttc.on_publish = serveri.on_publish
    mqttc.on_subscribe = serveri.on_subscribe
    mqttc.on_message = serveri.on_message
    # Uncomment to enable debug messages
    mqttc.on_log = serveri.on_log
    mqttc.connect(serveri.ip, serveri.port)
    process.start()