#!/usr/bin/env python3 # # Test: 485 fuzzer # ---------------- # Repeatedly write random data to sensor via 485. # (after thataddress and baudrate is hardcoded) # # Return 0 if read was successful, 1 otherwise. # import time import serial import minimalmodbus import numpy as np from sensor import Sensor serial_file = '/dev/rs485' address = 247 baudrate = 19200 serial_device = serial.Serial(serial_file, baudrate) # repeatedly write random stuff print('Sending random data to sensor') for i in range(0,16): random_data = np.random.randint(256, size=(1024)).astype('uint8') bytes_sent = serial_device.write(random_data) if bytes_sent != len(random_data): print(f'Warning: failed to write all bytes (sent {bytes_sent}/{len_random_data})') time.sleep(0.05) serial_device.close() # read sensor s = Sensor(address=address, baudrate=baudrate) print(f'Trying to read sensor:\n\tTemperature {s.T} C\n\tCO2 {s.CO2} ppm') s.close()