# -*- coding: utf-8 -*- # !/usr/bin/env python import threading from smart_box import SimulatorSmartBox class AHZTDevice(SimulatorSmartBox): def __init__(self, mqtt_server, mqtt_port, mqtt_user, mqtt_pwd, imei): super(AHZTDevice, self).__init__(mqtt_server, mqtt_port, mqtt_user, mqtt_pwd, imei) def do_message(self, cmd, payload): # type: (int, dict)->None if cmd == 210: if payload['funCode'] == '22': return self.publish_message( cmd = cmd, payload = { 'cmd': 210, 'IMEI': self.imei, 'rst': 0, 'data': '0000000010101010000A00' }) super(AHZTDevice, self).do_message(cmd, payload) @property def device_extend_info(self): return { 'driverCode': '110804', 'driverVersion': 'v1.0.0' } class myThread(threading.Thread): def __init__(self, mqtt_server, mqtt_port, mqtt_user, mqtt_pwd, imei): threading.Thread.__init__(self) self.mqtt_server = mqtt_server self.mqtt_port = mqtt_port self.mqtt_user = mqtt_user self.mqtt_pwd = mqtt_pwd self.imei = imei self.setDaemon(True) def run(self): AHZTDevice(self.mqtt_server, self.mqtt_port, self.mqtt_user, self.mqtt_pwd, self.imei).start() if __name__ == '__main__': imei_list = { 'DUMMY_AHZT': 'DUMMY_AHZT_IMEI' } mqtt_server = '211.159.224.10' mqtt_port = 1883 mqtt_user = '20160528@vivestone' mqtt_pwd = 'j429QXqI5CTv' for imei in imei_list.values(): myThread(mqtt_server, mqtt_port, mqtt_user, mqtt_pwd, imei).start() import time while (True): time.sleep(10)