This commit is contained in:
PaulVua
2025-02-20 09:41:56 +01:00
parent cee6c7f79b
commit c4fb7aed72
5 changed files with 269 additions and 17 deletions

View File

@@ -60,7 +60,7 @@ ser = serial.Serial(
parity=serial.PARITY_EVEN,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,
timeout = 0.5
timeout = 2
)
# Define Modbus CRC-16 function
@@ -89,7 +89,7 @@ while True:
try:
byte_data = ser.readline()
formatted = ''.join(f'\\x{byte:02x}' for byte in byte_data)
#print(formatted)
print(formatted)
# Register base (56 = 0x38)
REGISTER_START = 56
@@ -125,10 +125,10 @@ while True:
pm25_10s = extract_value(byte_data, 58, 1000, round_to=1)
pm10_10s = extract_value(byte_data, 60, 1000, round_to=1)
#print("10 sec concentration:")
#print(f"PM1: {pm1_10s}")
#print(f"PM2.5: {pm25_10s}")
#print(f"PM10: {pm10_10s}")
print("10 sec concentration:")
print(f"PM1: {pm1_10s}")
print(f"PM2.5: {pm25_10s}")
print(f"PM10: {pm10_10s}")
# 1-min PM Concentration
pm1_1min = extract_value(byte_data, 68, 1000, round_to=1)
@@ -147,11 +147,11 @@ while True:
channel_4 = extract_value(byte_data, 134, round_to=0) # 2.5 - 5.0μm
channel_5 = extract_value(byte_data, 136, round_to=0) # 5.0 - 10.0μm
#print(f"Channel 1 (0.2->0.5): {channel_1}")
#print(f"Channel 2 (0.5->1.0): {channel_2}")
#print(f"Channel 3 (1.0->2.5): {channel_3}")
#print(f"Channel 4 (2.5->5.0): {channel_4}")
#print(f"Channel 5 (5.0->10.): {channel_5}")
print(f"Channel 1 (0.2->0.5): {channel_1}")
print(f"Channel 2 (0.5->1.0): {channel_2}")
print(f"Channel 3 (1.0->2.5): {channel_3}")
print(f"Channel 4 (2.5->5.0): {channel_4}")
print(f"Channel 5 (5.0->10.): {channel_5}")
# Retrieve relative humidity from register 106 (0x6A)