#!/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 T = 0 RH = T CO2 = instrument.read_register(9, 1, functioncode=4) * 10 sleep(0.1) T = instrument.read_register(10, 1, functioncode=4) sleep(0.1) RH = instrument.read_register(11, 1, functioncode=4) * 10 print(f'CO2: {CO2} ppm\t\tT: {T} deg C\t\tRH: {RH} %')