Example #1
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'))
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)
    data_frame_simple.create(values=(2, 5, 4), value_type=0x22)  # Data Type Integer
    checksum_frame = BayEOSFrame.factory(0xf)
    checksum_frame.create(data_frame_simple.frame)
    writer.save_frame(checksum_frame.frame)
    sleep(2)
    routed_origin_frame = BayEOSFrame.factory(0xd)
    routed_origin_frame.create(origin="RoutedOrigin", nested_frame=checksum_frame.frame)