'sender_sleep_time':'5', 'bayeosgateway_user':'******', 'bayeosgateway_pw':'import', 'absolute_time':'True', 'remove':'True', 'backup_path':'none', 'rx_led_pins':''}) cp.read("/etc/nrf24-router.conf") OriginTemplate=cp.get("nrf24","OriginTemplate") PATH = cp.get("Overall","path") BACKUPPATH = cp.get('Sender','backup_path') if(BACKUPPATH=='none'): BACKUPPATH=None; writer = BayEOSWriter(PATH,cp.getint('Writer','max_chunk'),cp.getint('Writer','max_time')) sender = BayEOSSender(PATH,cp.get('Overall','name'),cp.get('Sender','url'), cp.get('Sender','bayeosgateway_pw'),cp.get('Sender','bayeosgateway_user'), cp.getboolean('Sender','absolute_time'),cp.getboolean('Sender','remove'), BACKUPPATH) sender.start() pipes=[] for p in re.split(' *, *',cp.get('nrf24','pipes')): l=[] for i in range(1,6): l.append(int(p[i*2:(i+1)*2],16)) pipes.append(l)
"""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)
"""Reads BayEOS options from a config file.""" from bayeosgatewayclient import BayEOSWriter, BayEOSSender, bayeos_confparser config = bayeos_confparser('config') print config writer = BayEOSWriter(path=config['path'], max_chunk=config['max_chunk']) sender = BayEOSSender(path=config['path'])
"""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)
"""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')
from sht21 import SHT21 from mcp3424 import MCP3424 from gpio import GPIO # gpio pins ADDR_PINS = [11, 12, 13, 15, 16, 18] # GPIO 17, 18, 27, 22, 23, 24 DATA_PIN = 24 # GPIO 8 EN_PIN = 26 # GPIO 7 # configuration for BayEOSWriter and BayEOSSender PATH = '/tmp/raspberrypi/' NAME = 'RaspberryPi' URL = 'http://bayconf.bayceer.uni-bayreuth.de/gateway/frame/saveFlat' # instantiate objects of BayEOSWriter and BayEOSSender writer = BayEOSWriter(PATH) sender = BayEOSSender(PATH, NAME, URL) # initialize GPIO Board on Raspberry Pi gpio = GPIO(ADDR_PINS, EN_PIN, DATA_PIN) # initialize I2C Bus with sensors try: i2c = I2C() sht21 = SHT21(1) mcp3424 = MCP3424(i2c.get_smbus()) except IOError as err: sys.stderr.write( 'I2C Connection Error: ' + str(err) + '. This must be run as root. Did you use the right device number?')
from sht21 import SHT21 from mcp3424 import MCP3424 from gpio import GPIO # gpio pins ADDR_PINS = [11, 12, 13, 15, 16, 18] # GPIO 17, 18, 27, 22, 23, 24 DATA_PIN = 24 # GPIO 8 EN_PIN = 26 # GPIO 7 # configuration for BayEOSWriter and BayEOSSender PATH = '/tmp/raspberrypi/' NAME = 'RaspberryPi' URL = 'http://bayconf.bayceer.uni-bayreuth.de/gateway/frame/saveFlat' # instantiate objects of BayEOSWriter and BayEOSSender writer = BayEOSWriter(PATH) sender = BayEOSSender(PATH, NAME, URL) # initialize GPIO Board on Raspberry Pi gpio = GPIO(ADDR_PINS, EN_PIN, DATA_PIN) # initialize I2C Bus with sensors try: i2c = I2C() sht21 = SHT21(1) mcp3424 = MCP3424(i2c.get_smbus()) except IOError as err: sys.stderr.write('I2C Connection Error: ' + str(err) + '. This must be run as root. Did you use the right device number?') # measurement method def measure(seconds=10):
"""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)
#!/usr/bin/python # -*- coding: utf-8 -*- import baySerial from bayeosgatewayclient import BayEOSWriter, BayEOSSender import tempfile from os import path from threading import Thread, Lock from time import sleep PATH = path.join(tempfile.gettempdir(), 'bayeos-device') writer = BayEOSWriter(PATH) NAME = 'BayEOSSerial-Thread-Example' 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() ser = baySerial.BaySerial() ser.begin('/dev/ttyUSB0', 9600) lock = Lock() def handleSerial(): while True: frame = ser.getFrame()
"""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)
"""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)
import psutil import logging import tempfile import logging import os from bayeosdevice.device import DeviceController from bayeosdevice.item import ItemDict from bayeosgatewayclient import BayEOSWriter, BayEOSSender NAME = 'MyDevice' PATH = os.path.join(tempfile.gettempdir(), NAME) GW = 'http://localhost/gateway/frame/saveFlat' # Transport writer = BayEOSWriter(PATH) sender = BayEOSSender(PATH, NAME, GW) sender.start() # Web Interface 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:
# Demo to show a simple MQTT subscriber to BayEOS Gateway bridge # Oliver Archner # 29.07.2015 from bayeosgatewayclient import BayEOSWriter, BayEOSSender import paho.mqtt.client as mqtt # BayEOS sender sender = BayEOSSender( url='http://bayconf.bayceer.uni-bayreuth.de/gateway/frame/saveFlat', user='******', password='******') sender.start() # BayEOS writer writer = BayEOSWriter() # MQTT connect and subscribe def on_connect(client, userdata, rc): print("Connected with result code:{0}".format(rc)) # Subscribe everything client.subscribe("#") # MQTT receive and save message def on_message(client, userdata, msg): # Expects a payload in csv format like '1.0,2.0,3.0,4.0' try: lst = msg.payload.split(',') writer.save(values=[float(i) for i in lst], origin=str(msg.topic))
"""Creates an example writer and sender using threads.""" from time import sleep from bayeosgatewayclient import BayEOSWriter, BayEOSSender, BayEOSFrame 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-SampleFrames' 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) sender.start() while True: data_frame_simple = BayEOSFrame.factory(0x1) data_frame_simple.create(values=(1, 5, 4), value_type=0x22) # Data Type Integer writer.save_frame(data_frame_simple.frame) routed_origin_frame = BayEOSFrame.factory(0xd) routed_origin_frame.create(origin="RoutedOrigin", nested_frame=data_frame_simple.frame) writer.save_frame(routed_origin_frame.frame) sleep(2) # in the second try - checksum frames are send # first direct - second nested in routed origin frame data_frame_simple = BayEOSFrame.factory(0x1)
"""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)
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)