Files
board-mate/rpi/hardware/light/lora_light_sensor_reader.py
2025-12-27 14:44:51 +01:00

27 lines
817 B
Python

import json
import re
from re import Pattern
from hardware.generic.serial_reader import SerialReader
class LoraLightSensorReader(SerialReader):
json_pattern : Pattern = None
def __init__(self, port, baudrate):
super().__init__(port, baudrate)
self.json_pattern = re.compile(r'\{.*}')
def __read(self):
while self._run_event.is_set():
line = self.serial.readline().decode('utf-8', errors='ignore').strip()
if not line:
continue
match = self.json_pattern.search(line)
if match:
try:
data = json.loads(match.group())
print("Received JSON:", data)
except json.JSONDecodeError:
print("Received invalid JSON:", match.group())