blob: 3d6b6fbc0ac3639f53af8e16323cf2a231d67da2 [file] [log] [blame]
import serial
import sys
import time
from vitalsd.samplers import cpu
DEFAULT_SAMPLERS = [
cpu.UptimeSampler(),
cpu.CpuLoadSampler()
]
class Monitor(object):
def __init__(self, delay_secs=10, serial_device='/dev/ttyGS0', speed=115200, bits=8, parity=None, rtscts=None):
self.delay_secs = 10
self.serial_device = serial_device
self.speed = speed
self.parity = parity
self.rtscts = rtscts
self.samplers = DEFAULT_SAMPLERS
def run(self):
with serial.Serial(self.serial_device, self.speed) as port:
print('Writing to port {0}'.format(port.name))
while True:
print('Sending {0} samples.'.format(len(self.samplers)))
for sampler in self.samplers:
sample = '{0}\n'.format(str(sampler))
port.write(bytes(sample, 'utf-8'))
port.flush()
print('Sleeping for {0} seconds'.format(self.delay_secs))
time.sleep(self.delay_secs)