"""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)
Example #3
0
"""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)
Example #4
0
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'))
Example #5
0
"""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
Example #6
0
    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()
Example #7
0
"""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()
Example #10
0
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)
Example #11
0
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)