Added measurement script

This commit is contained in:
Duke NUCem 2021-10-11 20:17:45 +02:00
parent 78c8104a58
commit 3abe7568b0

39
tests/measure.py Executable file
View File

@ -0,0 +1,39 @@
#!/usr/bin/env python3
from time import sleep
from sys import exit
import minimalmodbus
import serial
slave_address = 254
instrument = minimalmodbus.Instrument('/dev/rs485', slave_address, close_port_after_each_call=True) # port name, slave address (in decimal)
instrument.serial.baudrate = 19200
instrument.serial.bytesize = 8
instrument.serial.parity = serial.PARITY_EVEN
instrument.serial.stopbits = 1
instrument.serial.timeout = 0.05 # seconds
instrument.mode = minimalmodbus.MODE_RTU # rtu or ascii mode
instrument.clear_buffers_before_each_transaction = True
# log file
log_file = 'measurement.csv'
# read
while True:
CO2_addr = 9
CO2 = instrument.read_register(CO2_addr, 1, functioncode=4) * 10
T_SHT4x_addr = 10
T_SHT4x = instrument.read_register(T_SHT4x_addr, 1, functioncode=4)
RH_SHT4x_addr = 11
RH_SHT4x = instrument.read_register(RH_SHT4x_addr, 1, functioncode=4) * 10
T_SCD4x_addr = 12
T_SCD4x = instrument.read_register(T_SCD4x_addr, 1, functioncode=4)
RH_SCD4x_addr = 13
RH_SCD4x = instrument.read_register(RH_SCD4x_addr, 1, functioncode=4) * 10
T_SHT4x_signed_addr = 14
T_SHT4x_signed = instrument.read_register(T_SHT4x_signed_addr, 1, functioncode=4, signed=True)
T_SCD4x_signed_addr = 15
T_SCD4x_signed = instrument.read_register(T_SCD4x_signed_addr, 1, functioncode=4, signed=True)
with open(log_file, 'a+') as f:
f.write(f'{CO2} {T_SHT4x} {RH_SHT4x} {T_SCD4x} {RH_SCD4x} {T_SHT4x_signed} {T_SCD4x_signed}\n')
sleep(10)