Пример #1
0
    def get_bases_info(self, address):
        send_data = BasesProtocal.packGetBasesInfo(address)
        rep_data = self.send_cmd(send_data)
        if rep_data is not None:
            rep_map = BasesProtocal.parseBasesInfo(rep_data)
            if rep_map is False:
                BasesLog.mlogger.warn('parseBasesInfo return false')
                return None

            bases_property = message_pb2.BaseStationProperty()
            bases_property.group = rep_map['group']
            bases_property.address = rep_map['address']
            bases_property.chip_id = rep_map['chip_id']
            bases_property.host_name = rep_map['name']
            bases_property.frequency = 22000
            bases_property.led_status = rep_map['led']
            bases_property.motor_speed = rep_map['motor']
            return bases_property

        else:
            BasesLog.mlogger.warn(
                'get_bases_info rep_data is None:{}'.format(address))

        return None
Пример #2
0
    def handle_new_bases_connect(self, addres):
        #  根据地址获取新基站的详细信息
        # BasesLog.mlogger.warn('handle_new_bases_connect addres:%d', addres)
        send_data = BasesProtocal.packGetBasesInfo(addres)
        rep_data = self.send_cmd(send_data)
        if rep_data is not None:
            rep_map = BasesProtocal.parseBasesInfo(rep_data)
            if rep_map is False:
                BasesLog.mlogger.warn('parseBasesInfo return false')
                return None
            bases_property = message_pb2.BaseStationProperty()
            bases_property.group = rep_map['group']
            bases_property.address = rep_map['address']
            bases_property.chip_id = rep_map['chip_id']
            bases_property.host_name = rep_map['name']
            bases_property.frequency = 22000
            bases_property.led_status = rep_map['led']
            bases_property.motor_speed = rep_map['motor']
            bases_property.connect_status = True

            BasesLog.mlogger.warn(
                'handle_new_bases_connect bases_property: {}'.format(
                    bases_property))
            #  发送新基站连接事件
            event = LTEventType.EVENT_A_NEW_BASE_STATION_CONNECT
            event_content = bases_property.SerializeToString()
            self.publish_loc_event(event, event_content)

            self.bases_addr_chip_id_map[addres] = bases_property.chip_id
        else:
            BasesLog.mlogger.warn(
                'BasesDevice handle_new_bases_connect rep_data is None')
            return False

        self.bases_addr_count_map[addres] = 0
        return True