Moved old script to folder "old"
This commit is contained in:
39
tests/old/measure.py
Executable file
39
tests/old/measure.py
Executable file
@@ -0,0 +1,39 @@
|
||||
#!/usr/bin/env python3
|
||||
from time import sleep,time
|
||||
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'{int(time())} {CO2} {T_SHT4x} {RH_SHT4x} {T_SCD4x} {RH_SCD4x} {T_SHT4x_signed} {T_SCD4x_signed}\n')
|
||||
sleep(10)
|
||||
48
tests/old/measure_multiple_devices.py
Executable file
48
tests/old/measure_multiple_devices.py
Executable file
@@ -0,0 +1,48 @@
|
||||
#!/usr/bin/env python3
|
||||
from time import sleep, time
|
||||
from sys import exit
|
||||
import minimalmodbus
|
||||
import serial
|
||||
|
||||
#slave_address_list = [ 252, 253 ]
|
||||
slave_address_list = [ 254 ]
|
||||
|
||||
# read
|
||||
readout_count = 0
|
||||
readout_error_count = 0
|
||||
while True:
|
||||
for slave_address in slave_address_list:
|
||||
readout_count += 1
|
||||
# initialize modbus
|
||||
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
|
||||
|
||||
try:
|
||||
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(f'measurement_device_{slave_address}.csv', 'a+') as f:
|
||||
f.write(f'{time():.1f} {CO2} {T_SHT4x} {RH_SHT4x} {T_SCD4x} {RH_SCD4x} {T_SHT4x_signed} {T_SCD4x_signed}\n')
|
||||
except (minimalmodbus.NoResponseError, minimalmodbus.InvalidResponseError) as e:
|
||||
readout_error_count += 1
|
||||
with open('measure.log', 'a+') as logfile:
|
||||
logfile.write(f'Read error for device {slave_address} at {time()} ({str(e)}) ({readout_error_count}/{readout_count} readouts failed)\n')
|
||||
continue
|
||||
sleep(10)
|
||||
42
tests/old/read_input_register_test.py
Executable file
42
tests/old/read_input_register_test.py
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env python3
|
||||
from time import sleep
|
||||
from sys import exit
|
||||
import minimalmodbus
|
||||
import serial
|
||||
|
||||
slave_address = 247
|
||||
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
|
||||
|
||||
print('---- Reading from input registers ----')
|
||||
# read
|
||||
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)
|
||||
print(f'[{CO2_addr+30001}] CO2:\t\t{CO2} ppm')
|
||||
print(f'[{T_SHT4x_addr+30001}] T_SHT4x:\t{T_SHT4x} deg C')
|
||||
print(f'[{RH_SHT4x_addr+30001}] RH_SHT4x:\t{RH_SHT4x} %')
|
||||
print(f'[{T_SCD4x_addr+30001}] T_SCD4x:\t{T_SCD4x} deg C')
|
||||
print(f'[{RH_SCD4x_addr+30001}] RH_SCD4x:\t{RH_SCD4x} %')
|
||||
print(f'[{T_SHT4x_signed_addr+30001}] T_SHT4x_signed:\t{T_SHT4x_signed} deg C')
|
||||
print(f'[{T_SCD4x_signed_addr+30001}] T_SCD4x_signed:\t{T_SCD4x_signed} deg C')
|
||||
print('---- DONE ----')
|
||||
exit(0)
|
||||
54
tests/old/read_write_holding_registers_test.py
Executable file
54
tests/old/read_write_holding_registers_test.py
Executable file
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env python3
|
||||
from time import sleep
|
||||
from sys import exit, argv
|
||||
import minimalmodbus
|
||||
import serial
|
||||
|
||||
slave_address = 247
|
||||
instrument = minimalmodbus.Instrument('/dev/ttyUSB0', 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
|
||||
|
||||
# holding register numbers
|
||||
LED_on_register = 0
|
||||
LED_brightness_register = 1
|
||||
LED_smooth_register = 2
|
||||
CO2_alert_limit_1_register = 3
|
||||
CO2_alert_limit_2_register = 4
|
||||
SCD4x_temperature_offset_register = 5
|
||||
MODBUS_address_register = 6
|
||||
baudrate_register = 7
|
||||
# holding register readout
|
||||
print('---- Reading from holding registers ----')
|
||||
LED_on = int(instrument.read_register(LED_on_register, 1, functioncode=3) * 10)
|
||||
LED_brightness = int(instrument.read_register(LED_brightness_register, 1, functioncode=3) * 10)
|
||||
LED_smooth = int(instrument.read_register(LED_smooth_register, 1, functioncode=3) * 10)
|
||||
CO2_alert_limit_1 = int(instrument.read_register(CO2_alert_limit_1_register, 1, functioncode=3) * 10)
|
||||
CO2_alert_limit_2 = int(instrument.read_register(CO2_alert_limit_2_register, 1, functioncode=3) * 10)
|
||||
SCD4x_temperature_offset = int(instrument.read_register(SCD4x_temperature_offset_register, 1, functioncode=3) * 10)
|
||||
MODBUS_address = int(instrument.read_register(MODBUS_address_register, 1, functioncode=3) * 10)
|
||||
baudrate = int(instrument.read_register(baudrate_register, 1, functioncode=3) * 10)
|
||||
# print
|
||||
reg_base = 40001
|
||||
print(
|
||||
f'''[{LED_on_register+reg_base}] LED_on = {LED_on}
|
||||
[{LED_brightness_register+reg_base}] LED_brightness = {LED_brightness}
|
||||
[{LED_smooth_register+reg_base}] LED_smooth = {LED_smooth}
|
||||
[{CO2_alert_limit_1_register+reg_base}] CO2_alert_limit_1 = {CO2_alert_limit_1}
|
||||
[{CO2_alert_limit_2_register+reg_base}] CO2_alert_limit_2 = {CO2_alert_limit_2}
|
||||
[{SCD4x_temperature_offset_register+reg_base}] SCD4x_temperature_offset = {SCD4x_temperature_offset}
|
||||
[{MODBUS_address_register+reg_base}] MODBUS_address = {MODBUS_address}
|
||||
[{baudrate_register+reg_base}] baudrate = {baudrate}''')
|
||||
# write to holding register
|
||||
print('---- Writing to holding registers ----')
|
||||
led_brightness = int(argv[1])
|
||||
print(f'brightness = {led_brightness}')
|
||||
instrument.write_register(LED_brightness_register, led_brightness, functioncode=6)
|
||||
print('---- DONE ----')
|
||||
exit(0)
|
||||
41
tests/old/write_multiple_holding_registers_test.py
Executable file
41
tests/old/write_multiple_holding_registers_test.py
Executable file
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env python3
|
||||
from time import sleep
|
||||
from sys import exit
|
||||
import minimalmodbus
|
||||
import serial
|
||||
|
||||
slave_address = 247
|
||||
instrument = minimalmodbus.Instrument('/dev/ttyUSB0', 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
|
||||
|
||||
# holding register numbers
|
||||
LED_on_register = 0
|
||||
LED_brightness_register = 1
|
||||
LED_smooth_register = 2
|
||||
CO2_alert_limit_1_register = 3
|
||||
CO2_alert_limit_2_register = 4
|
||||
SCD4x_temperature_offset_register = 5
|
||||
MODBUS_address_register = 6
|
||||
baudrate_register = 7
|
||||
# values
|
||||
LED_on = 1
|
||||
LED_brightness = 10
|
||||
LED_smooth = 1
|
||||
CO2_alert_limit_1 = 1500
|
||||
CO2_alert_limit_2 = 3000
|
||||
SCD4x_temperature_offset = 0
|
||||
MODBUS_address = 247
|
||||
baudrate = 0
|
||||
registers = [LED_on, LED_brightness, LED_smooth, CO2_alert_limit_1, CO2_alert_limit_2, SCD4x_temperature_offset, MODBUS_address, baudrate]
|
||||
# write to holding registers
|
||||
print('---- Writing to multiple holding registers ----')
|
||||
instrument.write_registers(LED_on_register, registers)
|
||||
print('---- DONE ----')
|
||||
exit(0)
|
||||
Reference in New Issue
Block a user