casper 4 月之前
父節點
當前提交
f7135f44b6
共有 1 個文件被更改,包括 28 次插入22 次删除
  1. 28 22
      sri-server-bg02/lib/MessageListener.py

+ 28 - 22
sri-server-bg02/lib/MessageListener.py

@@ -10,12 +10,14 @@ import os
 
 # --- for windows
 # save_dir = r'C:\SRI-DINO.Server-py\logs'  # sri内网测试环境
-save_dir = r'C:\temp'  # sri内网测试环境
+save_dir = r'C:\logs'  # sri内网测试环境
+
 
 
 class MessageListener(object):
     """
     """
+    log_key = str()
 
     @staticmethod
     def v001(client, userdata, message):
@@ -25,28 +27,32 @@ class MessageListener(object):
         # methods.debug_log(f"MessageListener24", f"#message.payload: {message.payload}")
 
         # --- save log ---
-        # file_name = methods.now_string('%Y-%m-%d-%H.log')
-        # log_file_path = os.path.join(save_dir, file_name)
-        # methods.write_text(f'{message.payload}\n', 'a')
-
-        # --- save log ---
-        # file_name = methods.now_string('%Y-%m-%d-%H.log')
-        # log_file_path = os.path.join(save_dir, file_name)
+        file_name = methods.now_string('v001-%Y-%m-%d-%H.log')
+        log_file_path = os.path.join(save_dir, file_name)
         log_dict = json.loads(message.payload)
-        # log_list = list()
-        log_time = int(log_dict.get('timestamp'))/1000
-        log_time = methods.ts_to_string(log_time)
-        methods.debug_log(f"MessageListener24", f"#log_time: {log_time}")
-        # print(f'MessageListener24: #log_time: {log_time}', flush=True)
-        # # item_count = 8  # 小车项目
-        # item_count = 29  # 湛江项目
-        # for i in range(1, item_count + 1):
-        #     v = str(log_dict.get(str(i)))
-        #     log_list.append(v)
-        # methods.write_text(log_file_path, '|'.join(log_list) + '\n', 'a')
+        log_list = [
+            f"timestamp: {methods.ts_to_string(int(log_dict.get('timestamp'))/1000)}",  # 时间
+            f"userID: {log_dict.get('userID')}",  # 用户id
+            f"VehicleID: {log_dict.get('VehicleID')}",  # 车id
+            f"directSwitch: {log_dict.get('baseControl')[0].get('directSwitch')}",  # 前后切换
+            f"eStop: {log_dict.get('eStop')[0].get('eStop')}",  # 急停开关
+            f"gearCaontrol: {log_dict.get('gearCaontrol')[0].get('gearCaontrol')}",  # 车辆档位控制
+            f"hazardLight: {log_dict.get('hazardLight')[0].get('hazardLight')}",  # 双闪灯
+        ]
+
+        # --- check ---
+        if MessageListener.log_key and MessageListener.log_key == '-'.join(log_list[1:]):
+            return
+
+        # --- check --
+        if not MessageListener.log_key:
+            MessageListener.log_key = '-'.join(log_list[1:])
+        
+        print(f'MessageListener24: #log_list: {log_list}', flush=True)
+        methods.write_text(log_file_path, ' | '.join(log_list) + '\n', 'a')
 
     @classmethod
-    def start_check_loop(cls):
+    def subscribe001(cls):
         """"""
         # --- check ---
         # if not methods.is_dir(save_dir):
@@ -63,13 +69,13 @@ class MessageListener(object):
     # def run_background(cls, background_is=True):
     #     """"""
         
-    #     p1 = threading.Thread(target=cls.start_check_loop)
+    #     p1 = threading.Thread(target=cls.subscribe001)
     #     p1.start()
 
     @classmethod
     def run(cls, background_is=True):
         thread_list = [
-            threading.Thread(target=cls.start_check_loop),
+            threading.Thread(target=cls.subscribe001),
         ]
         for thread in thread_list:
             thread.setDaemon(True)