123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- from hub import methods, Global
- import threading
- import traceback
- import time
- import json
- import os
- from lib.UserWorkRecord import UserWorkRecord
- class LocalClass(object):
- last_log_key = str()
- def method_v001(client, userdata, message):
- """消息处理方法"""
-
-
-
-
-
-
-
-
- try:
- log_dict = json.loads(message.payload)
- log_time = int(log_dict.get('timestamp')) / 1000
- user_uuid = log_dict.get('userID')
- vehicle_id = log_dict.get('VehicleID')
- cockpit_id = log_dict.get('cockpitID')
- except Exception as exception:
- methods.debug_log("method_v001|41", f"#message.payload: {message.payload}")
- methods.debug_log("method_v001|41", f"#exception: {exception.__class__.__name__}")
- methods.debug_log("method_v001|41", f"#traceback: {traceback.format_exc()}")
- return
-
- log_uuid = UserWorkRecord.get_log_uuid(user_uuid, log_time, vehicle_id, cockpit_id)
- if not log_uuid:
- methods.debug_log(f"MessageListenerV001|error50", f"user_uuid: {user_uuid}, log_time: {log_time}")
- return
-
- log_list = [
- f"timestamp: {methods.ts_to_string(log_time)}",
- f"topic: Vehicle/ControlVehicle/Veh001",
-
-
-
- f"directSwitch: {log_dict.get('baseControl')[0].get('directSwitch')}",
- f"eStop: {log_dict.get('baseControl')[0].get('eStop')}",
- f"gearCaontrol: {log_dict.get('baseControl')[0].get('gearCaontrol')}",
- f"hazardLight: {log_dict.get('baseControl')[0].get('hazardLight')}",
- f"keyStatus: {log_dict.get('baseControl')[0].get('keyStatus')}",
- f"parkControl: {log_dict.get('baseControl')[0].get('parkControl')}",
- f"silencedAlarm: {log_dict.get('baseControl')[0].get('silencedAlarm')}",
- f"travelLight: {log_dict.get('baseControl')[0].get('travelLight')}",
- f"travelMode: {log_dict.get('baseControl')[0].get('travelMode')}",
- f"vehicleHorn: {log_dict.get('baseControl')[0].get('vehicleHorn')}",
- f"accPedalF: {log_dict.get('driveControl')[0].get('accPedal')[0].get('accPedalF')}",
- f"accPedalH: {log_dict.get('driveControl')[0].get('accPedal')[0].get('accPedalH')}",
- f"accPedalH: {log_dict.get('driveControl')[0].get('brakePedal')}",
- f"steeringWheel: {log_dict.get('driveControl')[0].get('steeringWheel')}",
- f"turnMode: {log_dict.get('driveControl')[0].get('turnMode')}",
- f"turnSignal: {log_dict.get('driveControl')[0].get('turnSignal')}",
- f"errAccPedal: {log_dict.get('errCode')[0].get('errAccPedal')}",
- f"errBasOperation: {log_dict.get('errCode')[0].get('errBasOperation')}",
- f"errBrakePedal: {log_dict.get('errCode')[0].get('errBrakePedal')}",
- f"errEndTool: {log_dict.get('errCode')[0].get('errEndTool')}",
- f"errHandle: {log_dict.get('errCode')[0].get('errHandle')}",
- f"errOther: {log_dict.get('errCode')[0].get('errOther')}",
- f"errSteeringWheel: {log_dict.get('errCode')[0].get('errSteeringWheel')}",
- f"baseLegControl: {log_dict.get('taskControl')[0].get('baseLegControl')}",
- f"baseLegSwitch: {log_dict.get('taskControl')[0].get('baseLegSwitch')}",
- f"bypassSwitch: {log_dict.get('taskControl')[0].get('bypassSwitch')}",
- f"cabLift: {log_dict.get('taskControl')[0].get('cabLift')}",
- f"coopSignal: {log_dict.get('taskControl')[0].get('coopSignal')}",
- f"enableHydraulic: {log_dict.get('taskControl')[0].get('enableHydraulic')}",
- f"endJoint: {log_dict.get('taskControl')[0].get('endJoint')}",
- f"esCabLift: {log_dict.get('taskControl')[0].get('esCabLift')}",
- f"suckerSelect: {log_dict.get('taskControl')[0].get('suckerSelect')}",
- f"taskJoint_1: {log_dict.get('taskControl')[0].get('taskJoint_1')}",
- f"taskJoint_2: {log_dict.get('taskControl')[0].get('taskJoint_2')}",
- f"taskJoint_3: {log_dict.get('taskControl')[0].get('taskJoint_3')}",
- f"toolControl: {log_dict.get('taskControl')[0].get('toolControl')}",
- f"workLight: {log_dict.get('taskControl')[0].get('workLight')}",
- ]
-
- log_key = '-'.join(log_list[1:])
- if LocalClass.last_log_key and LocalClass.last_log_key == log_key:
-
- return
-
- LocalClass.last_log_key = log_key
-
-
- log_file_path = os.path.join(Global.save_dir, f'{log_uuid}.log')
- methods.write_text(log_file_path, ' | '.join(log_list) + '\n', 'a')
- def subscribe_Veh0537():
- """"""
- client = Global.emqx_factory.Client(host=Global.emqx_host, port=Global.emqx_port)
- client.start_subscribe_loop(
- decorate_method=method_v001,
- subscribe_topic='Vehicle/ControlVehicle/Veh0537'
- )
|