示例#1
0
    def __init__(self,
                 logger,
                 config_file,
                 server_addr,
                 N=0,
                 tt=None,
                 encrypt_flag=0,
                 self_addr=None):
        super(Dev, self).__init__(logger)
        module_name = "protocol.config.%s" % config_file
        mod = import_module(module_name)
        self.sim_config = mod
        self.LOG = logger
        self.N = N
        self.tt = tt
        self.encrypt_flag = encrypt_flag
        self.attribute_initialization()
        self.sdk_obj = SDK(logger=logger,
                           addr=server_addr,
                           encrypt_flag=self.encrypt_flag,
                           self_addr=self_addr)
        self.sdk_obj.sim_obj = self
        self.sdk_obj.device_id = self._deviceID
        self.need_stop = False

        # state data:
        self.task_obj = Task('Washer-task', self.LOG)
        self.dev_register = False
        self.command_list = getattr(self.sim_config, "Command_list")
        self.create_tasks()
示例#2
0
    def __init__(self, config_file, logger, N=0, tt=None, encrypt_flag=0):
        super(Door, self).__init__(logger, encrypt_flag=encrypt_flag)
        module_name = "protocol.config.%s" % config_file
        mod = import_module(module_name)
        self.sim_config = mod
        self.LOG = logger
        self.N = N
        self.tt = tt
        self.encrypt_flag = encrypt_flag
        self.attribute_initialization()
        self.device_id = self._deviceID
        self.msgst = defaultdict(lambda: {})

        # state data:
        self.task_obj = Task('Washer-task', self.LOG)
        self.dev_register = False
        self.command_list = getattr(self.sim_config, "Command_list")
        # self.create_tasks()

        self.msgs = []
        for msg_name in self.test_msgs["msgs"]:
            tmp_msg = msg_name.split('.')
            if tmp_msg[0] == 'COM_UPLOAD_DEV_STATUS':
                msg = self.get_upload_status()
            elif tmp_msg[0] == 'COM_UPLOAD_RECORD':
                msg = self.get_upload_record(tmp_msg[-1])
            elif tmp_msg[0] == 'COM_UPLOAD_EVENT':
                msg = self.get_upload_event(tmp_msg[-1])

            for i in range(self.test_msgs["msgs"][msg_name]):
                self.msgs.append(msg)
        self.msgs *= self.test_msgs["round"]
        random.shuffle(self.msgs)
示例#3
0
    def __init__(self, logger):
        self.LOG = logger
        self.sdk_obj = None
        self.need_stop = False

        # state data:
        self.task_obj = Task('common-task', self.LOG)
        self.create_tasks()
示例#4
0
    def __init__(self, logger):
        self.LOG = logger
        self.sdk_obj = None
        self.need_stop = False

        # state data:
        self.task_obj = Task('Washer-task', self.LOG)
        self.create_tasks()
        self.alarm_dict = defaultdict(dict)
示例#5
0
    def __init__(self, logger, config_file, server_addr, self_addr=None, N=0):
        super(Door, self).__init__(logger)
        module_name = "protocol.config.%s" % config_file
        mod = __import__(module_name)
        components = module_name.split('.')
        for comp in components[1:]:
            mod = getattr(mod, comp)
        self.sim_config = mod
        self.LOG = logger
        self.N = N
        self.attribute_initialization()
        self.sdk_obj = SDK(addr=server_addr,
                           logger=logger,
                           time_delay=0,
                           self_addr=self_addr)
        self.sdk_obj.sim_obj = self
        self.sdk_obj.device_id = self._deviceID
        self.need_stop = False

        # state data:
        self.task_obj = Task('Washer-task', self.LOG)
        self.dev_register = False
        self.command_list = getattr(self.sim_config, "Command_list")
        self.create_tasks()
示例#6
0
    wifi_list = [('192.168.10.12', 12347)]
    mac_index = 0
    for wk in wifi_list:
        try:
            mac_index += 1
            newmac = arg_handle.get_args('mac') + str(mac_index)
            LOG.warn("mac:" + newmac + " bind IP:" + str(wk))
            sim = Sim(logger=LOG,
                      time_delay=arg_handle.get_args('time_delay'),
                      mac=newmac,
                      self_addr=wk)
            sim.run_forever()
        except Exception as e:
            LOG.error("bind rror:%s" % e)

    task_obj = Task('test-task', LOG)
    thread_list.append([task_obj.task_proc])
    sys_proc()

    if arg_handle.get_args('debug'):
        dmsg = {
            "method": "dm_set",
            "req_id": 178237278,
            "nodeid": "wifi.main.alarm_confirm",
            "params": {
                "attribute": {
                    "error_code": "3"
                }
            }
        }
示例#7
0
    def __init__(self, config_file, logger, N=0, tt=None, encrypt_flag=0, self_ip=None, lp=None,
                 to=None, disp_sleep_s=10, change_creno=False):
        super(Door, self).__init__(logger, encrypt_flag=encrypt_flag)
        module_name = "protocol.config.%s" % config_file
        mod = import_module(module_name)
        self.sim_config = mod
        self.LOG = logger
        self.N = N
        self.tt = tt
        self.encrypt_flag = encrypt_flag
        self.attribute_initialization()

        self.device_id = self._deviceID
        # self.msgst = defaultdict(lambda: {})
        if self_ip:
            self._ip = self_ip
        # 心跳间隔默认30秒
        self.hbInv = 30
        # 处理间隔默认0.1秒
        self.procInv = 0.1

        # state data:
        self.task_obj = Task('Washer-task', self.LOG)
        self.dev_register = False
        self.command_list = getattr(self.sim_config, "Command_list")
        # self.create_tasks()

        self.lp = lp
        self.tMsg = "Start"
        self.summaryDict = self.getSummaryDict()
        # self.sleep_s = self.tt
        self.disp_sleep_s = disp_sleep_s
        self.beginTime = time.time()
        self.breakTime = to
        # 偏移量是偶数的才改,奇数的不改车牌
        # 为了保证偏移为1,3,5...N的出口车牌号与0,2,4...N-1的车牌号一致
        if change_creno:
            # 出入口车牌要同步递增
            creno = self.__getattribute__('_credenceNo')
            # print("creno_0:{}".format(creno))
            creno = creno[:2] + str(int(creno[2:]) + N // 2)
            # print("creno_1:{}".format(creno))
            self.__setattr__('_credenceNo', creno)
            # 出口上报要延迟半个周期
            if N & 0x1 != 0:
                # print("creno_2:{}".format(self.__getattribute__('_credenceNo')))
                # 多延迟半个周期的启动 tt的单位是毫秒,sleep_s的单位是秒所以要除以1000
                self.disp_sleep_s += self.tt / 1000 * 0.5
            # print("ID:{} NO:{}".format(self._deviceID, self._credenceNo))
            # print(self._credenceNo[-4:])
        self.msgs = []
        for msg_name in self.test_msgs["msgs"]:
            tmp_msg = msg_name.split('.')
            if tmp_msg[0] == 'COM_UPLOAD_DEV_STATUS':
                msg = self.get_upload_status()
            elif tmp_msg[0] == 'COM_UPLOAD_RECORD':
                msg = self.get_upload_record(tmp_msg[-1])
            elif tmp_msg[0] == 'COM_UPLOAD_EVENT':
                msg = self.get_upload_event(tmp_msg[-1])
            elif tmp_msg[0] == 'ADS_UPLOAD_DEV_INFO':
                msg = self.get_ads_upload_dev_info()
            else:
                raise NotImplementedError("Not found msg:{}".format(tmp_msg))

            # for i in range(self.test_msgs["msgs"][msg_name]):
            #     self.msgs.append(msg)
            msgInfo = common_APIs.msgs_info(tmp_msg, msg, self.test_msgs["msgs"][msg_name])
            msgInfo.num *= self.test_msgs["round"]
            # num<0 means run forever
            if msgInfo.num != 0:
                self.msgs.append(msgInfo)
        # self.msgs *= self.test_msgs["round"]
        # random.shuffle(self.msgs)
        self.LOG.info("device start!")