"""Creates an example writer and sender using threads.""" from time import sleep from bayeosgatewayclient import BayEOSWriter, BayEOSSender import logging PATH = '/tmp/bayeos-device/' NAME = 'Python-Thread-WithLogging' URL = 'http://bayconf.bayceer.uni-bayreuth.de/gateway/frame/saveFlat' writer = BayEOSWriter(PATH,max_time=10,log_level=logging.DEBUG) writer.save_msg('Writer was started.') sender = BayEOSSender(PATH, NAME, URL,backup_path='/dev/shm/bayeos-device') sender.start() while True: writer.save([2.1, 3, 20.5]) sleep(5)
"""Creates an example writer.""" from time import sleep from bayeosgatewayclient import BayEOSWriter PATH = '/tmp/bayeos-device1/' writer = BayEOSWriter(PATH) writer.save_msg('Writer was started.', origin='Python-Writer-Example') while True: #writer.save_msg('Writer was started.', origin='Python-Writer-Example') #print 'adding frame\n' writer.save(values=[1,2,3], value_type=0x41, origin='Python-Writer-Example') writer.save(values=[2.1, 3, 20.5], value_type=0x02, offset=2) # Channel Offset, Integer values: #writer.save(values=[2.1, 3, 20.5], value_type=0x02, offset=2, origin='Python-Writer-Example') # Channel Indices: #writer.save(values=[[1,2.1], [2,3], [3,20.5]], value_type=0x41, origin='Python-Writer-Example') #writer.save(values={0: 0, 1: 1, 2: 2, 3: 3, 4: 4}, value_type=0x41, origin='Python-Writer-Example') # Error Message #writer.save_msg("error message", error=True, origin='Python-Writer-Example') # Error Message #writer.save_msg("error message", error=True, origin='Python-Writer-Example') sleep(1)
"""Creates an example writer and sender using threads.""" from time import sleep from bayeosgatewayclient import BayEOSWriter, BayEOSSender import logging import tempfile from os import path PATH = path.join(tempfile.gettempdir(), 'bayeos-device') BACKUP_PATH = path.join(tempfile.gettempdir(), 'bayeos-device-backup') NAME = 'Python-Thread-WithLogging' URL = 'http://bayconf.bayceer.uni-bayreuth.de/gateway/frame/saveFlat' writer = BayEOSWriter(PATH, max_time=10, log_level=logging.DEBUG) writer.save_msg('Writer was started.') sender = BayEOSSender(PATH, NAME, URL, backup_path=BACKUP_PATH, log_level=logging.DEBUG) sender.start() nr = 0 while True: writer.save([nr, 3, 20.5]) #writer.flush() nr += 1 sleep(5)
while True: pipe = [-1] recv_buffer = [] if radio.available(pipe): radio.read(recv_buffer) if(pipe[0]>=0): # bcount+=recv_buffer.length count+=1 frame= ''.join(chr(i) for i in recv_buffer) if(validate_cs): res=BayEOSFrame.parse_frame(frame) try: save=res['validChecksum'] except: save=False if(save): writer.save_frame(frame,origin=OriginTemplate % pipe[0]) if(len(led_pins)): start_new_thread(blink, (led_pins[0] if(pipe[0]>=len(led_pins)) else led_pins[pipe[0]],)) if((time.time()-last_stat)>60): writer.save([count,bcount]) last_stat=time.time() if(count==0): initNRF24(False) #Restart radio, when there was no frame the last minute! count=0 bcount=0 time.sleep(cp.getfloat('nrf24', 'poll_sleep_time'))
"""Creates an example writer.""" import tempfile from time import sleep from os import path from bayeosgatewayclient import BayEOSWriter PATH = path.join(tempfile.gettempdir(), 'bayeos-device1') writer = BayEOSWriter(PATH) writer.save_msg('Writer was started.', origin='Python-Writer-Example') while True: #writer.save_msg('Writer was started.', origin='Python-Writer-Example') print 'adding frame\n' writer.save(values=[1, 2, 3], value_type=0x41, origin='Python-Writer-Example', routed=True) writer.save(values=[2.1, 3, 20.5], value_type=0x02, offset=2) writer.save(values={"c1": 1.2, "xx": 1.7}, value_type=0x61) # Channel Offset, Integer values: #writer.save(values=[2.1, 3, 20.5], value_type=0x02, offset=2, origin='Python-Writer-Example') # Channel Indices: #writer.save(values=[[1,2.1], [2,3], [3,20.5]], value_type=0x41, origin='Python-Writer-Example') #writer.save(values={0: 0, 1: 1, 2: 2, 3: 3, 4: 4}, value_type=0x41, origin='Python-Writer-Example') # Error Message #writer.save_msg("error message", error=True, origin='Python-Writer-Example') # Error Message
lin_model = stats.linregress(measured_seconds, co2) slope = lin_model[0] intercept = lin_model[1] r_squared = lin_model[2] * lin_model[2] slope_err = lin_model[4] return [ mean_temp, var_temp, mean_hum, var_hum, slope, intercept, r_squared, slope_err ] sender.start() # starts sender in a concurrent thread try: while True: for addr in range(1, 15): # address 0 is reserved for flushing with air gpio.set_addr(0) # set flushing address sleep(60) # flush for 60 seconds gpio.reset() # stop flushing gpio.set_addr(addr) # start measuring wait 60 seconds, 240 measure writer.save(measure(30), origin="RaspberryPi Kammer Nr. " + str(addr)) writer.flush() # close the file in order to "feed" sender gpio.reset() except KeyboardInterrupt: print 'Stopped measurement loop.' finally: gpio.cleanup()
"""Creates an example writer and flushes it before max chunk size is reached.""" from time import sleep from bayeosgatewayclient import BayEOSWriter PATH = '/tmp/bayeos-device1/' writer = BayEOSWriter(PATH, max_chunk=1000) writer.save_msg('Writer was started.', origin='Python-Writer-Flush-Example') flush = 0 while True: #print 'adding frame\n' writer.save(values=[2.1, 3, 20.5], value_type=0x02, offset=2, origin='Python-Writer-Flush-Example') flush += 1 if flush % 5 == 0: # flush writer every 5 seconds writer.save_msg('Writer was flushed.', origin='Python-Writer-Flush-Example') writer.flush() print 'flushed writer' flush = 0 sleep(1)
measured_seconds.append(time()) sleep(start_time + i - time() + 1) # to keep in time mean_temp = numpy.mean(temp) var_temp = numpy.var(temp) mean_hum = numpy.mean(hum) var_hum = numpy.var(hum) lin_model = stats.linregress(measured_seconds, co2) slope = lin_model[0] intercept = lin_model[1] r_squared = lin_model[2]*lin_model[2] slope_err = lin_model[4] return [mean_temp, var_temp, mean_hum, var_hum, slope, intercept, r_squared, slope_err] sender.start() # starts sender in a concurrent thread try: while True: for addr in range(1, 15): # address 0 is reserved for flushing with air gpio.set_addr(0) # set flushing address sleep(60) # flush for 60 seconds gpio.reset() # stop flushing gpio.set_addr(addr) # start measuring wait 60 seconds, 240 measure writer.save(measure(30), origin="RaspberryPi Kammer Nr. " + str(addr)) writer.flush() # close the file in order to "feed" sender gpio.reset() except KeyboardInterrupt: print 'Stopped measurement loop.' finally: gpio.cleanup()
"""Creates an example writer and sender using threads.""" from time import sleep from bayeosgatewayclient import BayEOSWriter, BayEOSSender import tempfile from os import path PATH = path.join(tempfile.gettempdir(), 'bayeos-device') writer = BayEOSWriter(PATH) NAME = 'Python-Thread-Example2' URL = 'http://bayconf.bayceer.uni-bayreuth.de/gateway/frame/saveFlat' writer = BayEOSWriter(PATH) writer.save_msg('Writer was started.') sender = BayEOSSender(PATH, NAME, URL) sender.start() while True: writer.save(values={"c1": 1.2, "xx": 1.7}, value_type=0x61) sleep(5) #writer.flush()
from bayeosgatewayclient import BayEOSWriter, BayEOSSender from time import sleep from os import path import tempfile import psutil PATH = path.join(tempfile.gettempdir(),'bayeos') NAME = 'MyFirstBoard' URL = 'http://localhost/gateway/frame/saveFlat' writer = BayEOSWriter(PATH) writer.save_msg('Writer was started.') sender = BayEOSSender(PATH, NAME, URL) sender.start() while True: print 'Adding frame' writer.save(psutil.cpu_percent(percpu=True)) sleep(5)
values = ItemDict({"cpu1": None, "cpu2": None}) units = {"^cpu": '%', "\w+time$": 'secs'} actions = ItemDict({"sleep_time": 10, "run": True}) con = DeviceController(values, actions, units, template="custom.html") con.start() # Stop handler def sigterm_handler(_signo, _stack_frame): logging.info("Stopping device") if con is not None: con.stop() sys.exit(0) signal.signal(signal.SIGTERM, sigterm_handler) signal.signal(signal.SIGINT, sigterm_handler) # Main device loop logging.info("Starting device") while True: if (actions["run"] == True): cpu = psutil.cpu_percent(percpu=True) values['cpu1'] = cpu[0] values['cpu2'] = cpu[1] # Write values to disk writer.save(values, 0x61) time.sleep(actions["sleep_time"]) else: time.sleep(0.01)
"""Creates an example writer and sender using threads.""" from time import sleep from bayeosgatewayclient import BayEOSWriter, BayEOSSender import tempfile from os import path PATH = path.join(tempfile.gettempdir(),'bayeos-device') writer = BayEOSWriter(PATH) NAME = 'Python-Thread-Example2' URL = 'http://bayconf.bayceer.uni-bayreuth.de/gateway/frame/saveFlat' writer = BayEOSWriter(PATH) writer.save_msg('Writer was started.') sender = BayEOSSender(PATH, NAME, URL) sender.start() while True: writer.save(values={"c1":1.2,"xx":1.7},value_type=0x61) sleep(5)
from bayeosgatewayclient import BayEOSWriter, BayEOSSender, bayeos_argparser # Fetch input arguments args = bayeos_argparser('This is the text to appear on the command line.') WRITER_SLEEP = float(args.writer_sleep) MAX_CHUNK = float(args.max_chunk) NAME = args.name + '-WS' + str(WRITER_SLEEP) + '-M' + str(MAX_CHUNK) PATH = args.path + '/' + NAME + '/' if args.url: URL = args.url else: URL = 'http://bayconf.bayceer.uni-bayreuth.de/gateway/frame/saveFlat' print 'name to appear in Gateway is', NAME print 'max-chunk is', MAX_CHUNK, 'byte' print 'writer sleep time is', WRITER_SLEEP, 'sec' print 'path to store writer files is', PATH # init writer and sender writer = BayEOSWriter(PATH, MAX_CHUNK) writer.save_msg('Writer was started.') sender = BayEOSSender(PATH, NAME, URL, 'import', 'import') sender.start() # start measurement while True: writer.save([time()], value_type=0x21) sleep(WRITER_SLEEP)