35 lines
1.3 KiB
Python
Executable File
35 lines
1.3 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
from time import sleep
|
|
import minimalmodbus
|
|
import serial
|
|
|
|
slave_address = 0x11
|
|
instrument = minimalmodbus.Instrument('/dev/ttyUSB0', slave_address, close_port_after_each_call=True) # port name, slave address (in decimal)
|
|
|
|
instrument.serial.baudrate = 115200
|
|
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
|
|
|
|
# read
|
|
CO2 = instrument.read_register(9, 1, functioncode=4) * 10
|
|
sleep(0.1)
|
|
T_SHT4x = instrument.read_register(10, 1, functioncode=4)
|
|
sleep(0.1)
|
|
RH_SHT4x = instrument.read_register(11, 1, functioncode=4) * 10
|
|
sleep(0.1)
|
|
T_SCD4x = instrument.read_register(12, 1, functioncode=4)
|
|
sleep(0.1)
|
|
RH_SCD4x = instrument.read_register(13, 1, functioncode=4) * 10
|
|
sleep(0.1)
|
|
T_SHT4x_signed = instrument.read_register(14, 1, functioncode=4, signed=True)
|
|
sleep(0.1)
|
|
T_SCD4x_signed = instrument.read_register(15, 1, functioncode=4, signed=True)
|
|
print(f'CO2:\t\t{CO2} ppm\nT_SHT4x:\t{T_SHT4x} deg C\nRH_SHT4x:\t{RH_SHT4x} %')
|
|
print(f'T_SCD4x:\t{T_SCD4x} deg C\nRH_SCD4x:\t{RH_SCD4x} %')
|
|
print(f'T_SHT4x_signed:\t{T_SHT4x_signed} deg C')
|
|
print(f'T_SCD4x_signed:\t{T_SCD4x_signed} deg C')
|