Beispiel #1
0
    def __init__(self,
                 logger=None,
                 addr=('192.168.10.1', 65381),
                 time_delay=500,
                 mac='123456',
                 deviceCategory='airconditioner.new',
                 self_addr=None):
        self.queue_in = Queue.Queue()
        self.queue_out = Queue.Queue()
        super(Wifi, self).__init__(self.queue_in,
                                   self.queue_out,
                                   logger=logger,
                                   left_data=b'',
                                   min_length=10)
        self.addr = addr
        self.name = 'WIFI module'
        self.connection = my_socket.MyClient(addr,
                                             logger,
                                             self_addr=self_addr,
                                             debug=False)
        self.state = 'close'
        self.time_delay = time_delay
        self.sim_obj = None
        self.heartbeat_interval = 3
        self.heartbeat_data = '0'

        # state data:
        # 2:short version
        self.version = '\x01\x00'
        # char mac[32]
        #mac = random.randint(100000, 999999)
        self.mac = str(mac) + '\x00' * (32 - len(str(mac)))
        # char manufactureId[34]; // manuafacture name: haier
        manufacture = 'HDiot'
        self.manufacture = manufacture + '\x00' * (34 - len(manufacture))
        # char deviceCategory[34]; // device category: KFR-50LW/10CBB23AU1
        self.deviceCategory = deviceCategory + \
            '\x00' * (34 - len(deviceCategory))
        # 2:short subCategory; //subCategory: 1
        self.subCategory = '\x01\x00'
        # char deviceModel[34];// device model: KFR-50LW/10CBB23AU1
        self.deviceModel = 'KFR-50LW/10CBB23AU1' + \
            '\x00' * (34 - len('KFR-50LW/10CBB23AU1'))
        # char firmwareVersion[32];// firmware version
        firmwareVersion = '0.6.8'
        self.firmwareVersion = firmwareVersion + \
            '\x00' * (32 - len(firmwareVersion))
        # char token[32];
        self.token = 'xx' + '\x00' * (32 - len('xx'))
        # 1:unsigned char wait_added;
        self.wait_added = '\x00'
Beispiel #2
0
    def __init__(self, addr, logger):
        self.queue_in = Queue.Queue()
        self.queue_out = Queue.Queue()
        super(AirControl, self).__init__(self.queue_in, self.queue_out,
                                         logger=logger, left_data='', min_length=10)
        self.addr = addr
        self.name = 'AirControl'
        self.connection = my_socket.MyClient(
            addr, logger, debug=True, printB=True)
        self.state = 'close'
        self.heartbeat_interval = 15
        self.heartbeat_data = '1\n'

        # state data:
        self.msgst = defaultdict(lambda: {})
Beispiel #3
0
    def __init__(self, logger, addr, encrypt_flag=0, self_addr=None):
        self.queue_in = Queue.Queue()
        self.queue_out = Queue.Queue()
        super(DB_Protocol, self).__init__(logger,
                                          self.queue_in,
                                          self.queue_out,
                                          left_data=b'',
                                          min_length=16)
        self.addr = addr
        self.encrypt_flag = encrypt_flag
        self.name = 'Device controler'
        self.connection = my_socket.MyClient(logger, addr, self_addr)
        self.sim_obj = None

        #region 电表报文头相关变量
        self.prefixHead = b'\xFE\xFE\xFE\xFE'
Beispiel #4
0
    def __init__(self, logger, addr, encrypt_flag=0, self_addr=None):
        self.queue_in = Queue.Queue()
        self.queue_out = Queue.Queue()
        super(SDK, self).__init__(logger, self.queue_in, self.queue_out,
                                  left_data=b'', min_length=57)
        self.addr = addr
        self.encrypt_flag = encrypt_flag
        self.name = 'Device controler'
        self.connection = my_socket.MyClient(logger, addr, self_addr)
        self.state = 'close'
        self.sim_obj = None

        # status data:
        # 4bytes
        self.version = b'HDXM'
        # 20bytes
        self.device_id = b'\x31\x30\x30\x34\x32\x30\x31\x36\x35\x38\x46\x43\x44\x42\x44\x38\x33\x34\x31\x45'
        # 4bytes
        self.pkg_number = b'\x00\x00\x00\x01'