44 lines
1.3 KiB
Python
44 lines
1.3 KiB
Python
import serial
|
|
import serial.tools.list_ports
|
|
import time
|
|
import datetime
|
|
import struct
|
|
import threading
|
|
import paho.mqtt.client as mqtt
|
|
import json
|
|
from SensorDetector import SensorDetector
|
|
import sys
|
|
sys.path.append('../../net')
|
|
from mqtt_proxy import MQTTPublisher
|
|
|
|
# MQTT配置
|
|
MQTT_BROKER = "60.204.151.68"
|
|
MQTT_PORT = 1883
|
|
mqtt_topic = "senser_MKS_data"
|
|
|
|
mqtt_publisher = MQTTPublisher(MQTT_BROKER, MQTT_PORT, mqtt_topic)
|
|
mqtt_publisher.connect()
|
|
|
|
def handle_sensor_data(data_list):
|
|
"""处理所有传感器的每秒数据"""
|
|
global mqtt_publisher
|
|
for data in data_list:
|
|
print("handle_sensor_data:", data)
|
|
if data["heart_rate"] == 0:
|
|
continue
|
|
json_str = json.dumps(data, ensure_ascii=False, indent=2)
|
|
print("发布成功,mqtt消息")
|
|
mqtt_publisher.publish(json_str)
|
|
|
|
if __name__ == "__main__":
|
|
log_path = "./log_pip6/"
|
|
sensor_configs = [
|
|
{"port": "COM6", "id": "X11223366S_1"},
|
|
{"port": "COM7", "id": "X11223366S_2"}
|
|
]
|
|
detector = SensorDetector(log_path, sensor_configs)
|
|
try:
|
|
detector.detect_sensors(handle_sensor_data)
|
|
except KeyboardInterrupt:
|
|
print("用户中断,停止传感器检测")
|
|
detector.stop() |