def test_sampler(self): sample_time = 2 sleep_time = 0.10 start = datetime.datetime.now() sampler = Sampler( SDS011(True) , sample_time = sample_time , sleep_time = sleep_time ) data = sampler.collect( ) stop = datetime.datetime.now( ) dt = stop - start self.assertTrue( (dt.total_seconds() - sample_time) > 0)
def test_sampler(self): sample_time = 2 sleep_time = 0.10 start = datetime.datetime.now() sampler = Sampler(SDS011(True), sample_time=sample_time, sleep_time=sleep_time) data = sampler.collect() stop = datetime.datetime.now() dt = stop - start self.assertTrue((dt.total_seconds() - sample_time) > 0)
def test_sampler(self): with self.assertRaises(ValueError): sampler = Sampler(SDS011(True)) with self.assertRaises(ValueError): sampler = Sampler(SDS011(True), num_sample=100) with self.assertRaises(ValueError): sampler = Sampler(SDS011(True), num_sample=100, sleep_time=10, sample_time=100) with self.assertRaises(ValueError): sampler = Sampler(SDS011(True), sample_time=10, sleep_time=100) sampler = Sampler(SDS011(True), sample_time=1, num_sample=10) data = sampler.collect() for x in data: self.assertEqual(len(x), 10)
from git_module import GitModule def restart(config): git_module = GitModule( url = config.getRepoURL() ) git_module.checkout( config.getGitRef( ) ) git_module.runTests( "tests/run_tests" ) #git_module.install( ) #os.fork+++ #choose one of the following depending on how your SDS is connected #ser = serial.Serial('/dev/tty.wchusbserial1430', baudrate=9600, stopbits=1, parity="N", timeout=2) #ser = serial.Serial('/dev/ttyUSB0', baudrate=9600, stopbits=1, parity="N", timeout=2) #ser = serial.Serial('/dev/ttyAMA0', baudrate=9600, stopbits=1, parity="N", timeout=2) config = DeviceConfig( config_file ) device_id = config.getDeviceID( ) client_pm10 = FriskbyClient(config , "%s_PM10" % device_id) client_pm25 = FriskbyClient(config , "%s_PM25" % device_id) sampler = Sampler( SDS011 , sample_time = SAMPLE_TIME , sleep_time = 0.50 ) while True: data = sampler.collect( ) client_pm10.post( data[0].mean() ) client_pm25.post( data[1].mean() ) if config.updateRequired(): restart(config)