# -*- coding: utf-8 -*- # !/usr/bin/env python import os, sys PROJECT_ROOT = os.path.join(os.path.abspath(os.path.split(os.path.realpath(__file__))[0] + "/.."), '..') sys.path.insert(0, PROJECT_ROOT) os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'configs.testing') from script.base import init_env init_env(interactive = False) import threading from apps.web.device.models import Device from script.simulator.cell import CellDevice from script.simulator.dianchuan import DianchuanDevice from script.simulator.hp_access import HPAccessDevice from script.simulator.jh_access import JHAccessDevice from script.simulator.pulse_device import PulseDevice from script.simulator.pulse_device_boardhigh import PulseDeviceHigh from script.simulator.pulse_device_quickcharge import PulseDeviceQuickCharge from script.simulator.yongxin import YongxinDevice from script.simulator.zhiyangji import ZhiyangjiDevice from script.simulator.jiuheng import JHDevice from script.simulator.anqihuandian import AQDevice from script.simulator.anhuizhitong import AHZTDevice imei_list = { 'DUMMY_CELL': ('DUMMY_CELL_IMEI', CellDevice), 'DUMMY_DIANCHUAN': ('DUMMY_DIANCHUAN_IMEI', DianchuanDevice), 'DUMMY_HP_ACCESS': ('DUMMY_HP_ACCESS_IMEI', HPAccessDevice), 'DUMMY_JH_ACCESS': ('DUMMY_JH_ACCESS_IMEI', JHAccessDevice), 'DUMMY_PULSE': ('DUMMY_PULSE_IMEI', PulseDevice), 'DUMMY_BOARD_HIGH': ('DUMMY_BOARD_HIGH_IMEI', PulseDeviceHigh), 'DUMMY_QUICK_CHARGE': ('DUMMY_QUICK_CHARGE_IMEI', PulseDeviceQuickCharge), 'DUMMY_YONGXIN': ('DUMMY_YONGXIN_IMEI', YongxinDevice), 'DUMMY_ZHIYANGJI': ('DUMMY_ZHIYANGJI_IMEI', ZhiyangjiDevice), 'DUMMY_JH': ('DUMMY_JH_IMEI', JHDevice), 'DUMMY_AQHD': ('DUMMY_AQHD_IMEI', AQDevice), '443902': ('DUMMY_ALIPAY_RUIHUI_IMEI', JHDevice), 'DUMMY_AHZT': ('DUMMY_AHZT_IMEI', AHZTDevice) } mqtt_server = '211.159.224.10' mqtt_port = 1883 mqtt_user = '20160528@vivestone' mqtt_pwd = 'j429QXqI5CTv' class myThread(threading.Thread): def __init__(self, mqtt_server, mqtt_port, mqtt_user, mqtt_pwd, imei, simulator_cls): 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.simulator_cls = simulator_cls self.setDaemon(True) def run(self): self.simulator_cls(self.mqtt_server, self.mqtt_port, self.mqtt_user, self.mqtt_pwd, self.imei).start() if __name__ == '__main__': for l, item in imei_list.iteritems(): dev_no = item[0] simulator_cls = item[1] dev = Device.get_dev(dev_no) # type: Device if not dev: Device.bind(dev_no, l) myThread(mqtt_server, mqtt_port, mqtt_user, mqtt_pwd, dev_no, simulator_cls).start() import time while (True): time.sleep(10)