From 739380d6fc68b18a3ceca855406e53e742a950ff Mon Sep 17 00:00:00 2001 From: haotian <2421912570@qq.com> Date: Mon, 7 Jul 2025 15:44:06 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0--=E6=B7=BB=E5=8A=A0Tempera?= =?UTF-8?q?tureStatus=E7=8A=B6=E6=80=81=20CN=3D4=20=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E6=95=B0=E6=8D=AE\n2.=E6=B7=BB=E5=8A=A0--=E5=BA=B7=E8=BE=BE.pa?= =?UTF-8?q?rse=5Fvaule=E6=B7=BB=E5=8A=A0=E6=A3=80=E6=B5=8B=E4=B8=AD?= =?UTF-8?q?=E6=96=87=E6=AD=A3=E5=88=99=E8=A1=A8=E8=BE=BE=E5=BC=8F.\n3.?= =?UTF-8?q?=E4=BF=AE=E6=94=B9--event=5Fsync=5Fservice=20=E5=90=8C=E6=AD=A5?= =?UTF-8?q?ocr=E6=95=B0=E6=8D=AE=E6=97=B6,=E6=B7=BB=E5=8A=A0=E4=B8=AD?= =?UTF-8?q?=E6=96=87=E6=A3=80=E6=B5=8B,=E6=9C=89=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E4=B8=8D=E5=86=99=E5=85=A5Temperature?= =?UTF-8?q?=E8=A1=A8.\n4.=E5=88=A0=E9=99=A4--=E5=88=A0=E9=99=A4=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E6=9C=BA=E5=99=A8=E4=BA=BA=E6=95=B0=E6=8D=AE=E6=97=B6?= =?UTF-8?q?=E5=A4=9A=E4=BD=99=E7=9A=84=E8=BE=93=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/event_sync_service.py | 21 +++++++++++---------- app/services/websocket_service.py | 4 ++-- app/util/kangda.py | 11 ++++++++--- app/util/status.py | 1 + 4 files changed, 22 insertions(+), 15 deletions(-) diff --git a/app/services/event_sync_service.py b/app/services/event_sync_service.py index 3b7d843..fe7484c 100644 --- a/app/services/event_sync_service.py +++ b/app/services/event_sync_service.py @@ -286,19 +286,20 @@ class EventSyncService: - if len(values) > 0: + if len(values) > 0 and len(values) < 3: status = self.kangda.parse_value(values) - # 插入temperature表数据 - temperature = Temperature( - eventId=image.eventId, - imageId=image.imageId, - temperature = ",".join(values), - confidence = ",".join(map(str, conf)), - status = status.value - ) - session.add(temperature) + if status.value != 4: + # 插入temperature表数据 + temperature = Temperature( + eventId=image.eventId, + imageId=image.imageId, + temperature = ",".join(values), + confidence = ",".join(map(str, conf)), + status = status.value + ) + session.add(temperature) # # 异常消息.--- 现改为统一发送消息 # if status.value != 0: diff --git a/app/services/websocket_service.py b/app/services/websocket_service.py index ab578c9..3abcb1f 100644 --- a/app/services/websocket_service.py +++ b/app/services/websocket_service.py @@ -85,8 +85,8 @@ class WebSocketClient: # 机器人状态消息 elif self._process_robot_status(message_dict): - print("处理机器人状态消息...") - print(f"{datetime.now()}收到消息: {message}") # 只打印前100个字符 + # print("处理机器人状态消息...") + # print(f"{datetime.now()}收到消息: {message}") # 只打印前100个字符 await self.event_sync_service.sync_robot_status(message_dict) # await run_sync_event(t) diff --git a/app/util/kangda.py b/app/util/kangda.py index befaf83..2dc6f17 100644 --- a/app/util/kangda.py +++ b/app/util/kangda.py @@ -392,6 +392,7 @@ class Kangda: # 定义正则表达式模式 temperature_pattern = re.compile(r'^[+-]?\d+\.\d+C$') # 匹配温度数据 al_pattern = re.compile(r'^AL\d+$') # 匹配AL后跟数字 + cn_pattern = re.compile(r'[\u4e00-\u9fff]') # 判断是否有中文 start = self.config["temperature_range"]["start"] end = self.config["temperature_range"]["end"] @@ -399,8 +400,11 @@ class Kangda: status = list() for value in values: + if cn_pattern.match(value): + status.append(TemperatureStatus.CN) + # 检查是否为正常数据 - if temperature_pattern.match(value): + elif temperature_pattern.match(value): # 处理温度数据 temp_str = value[:-1] # 去掉末尾的'C' try: @@ -417,8 +421,9 @@ class Kangda: else: status.append(TemperatureStatus.BLURRY) - - if TemperatureStatus.UNNORMAL in status: + if TemperatureStatus.CN in status: + return TemperatureStatus.CN + elif TemperatureStatus.UNNORMAL in status: return TemperatureStatus.UNNORMAL elif TemperatureStatus.BLURRY in status: return TemperatureStatus.BLURRY diff --git a/app/util/status.py b/app/util/status.py index 1313f44..f9c93ea 100644 --- a/app/util/status.py +++ b/app/util/status.py @@ -8,6 +8,7 @@ class TemperatureStatus(Enum): UNNORMAL = 1 # 温度值异常 ALDATE = 2 # AL53数据 BLURRY = 3 # 图片模糊--读数异常 + CN = 4 # 中文数据 @unique class EventType(Enum):