예제 #1
0
def main(addr):
    if addr == None:
        addr = tools.get_random_uuid()
    dev = Device("switch.basic",addr)
    dev.product_id = 'One Simple test of Switch'
    dev.url = 'http://www.acme.org'

    # attributes
    state = dev.new_attribute('state')

    dev.dump()

    # methods
    def on():
        state.value = True
        print("%s ON" % dev)

    def off():
        state.value = False
        print("%s OFF" %dev)

    dev.add_method('on',on)
    dev.add_method('off',off)

    eng = Engine()
    eng.add_device(dev)
    #eng.run()
    eng.start()
예제 #2
0
파일: lamp.py 프로젝트: baocaifeng/xAAL
def main(addr):
    if addr == None:
        addr = tools.get_random_uuid()
    dev = Device("lamp.dimmer", addr)
    dev.product_id = 'Dummy Dimming Lamp'
    dev.url = 'http://www.acme.org'

    # attributes
    light = dev.new_attribute('light')
    dimmer = dev.new_attribute('dimmer', 50)

    dev.dump()

    # methods
    def on():
        light.value = True
        print("%s ON" % dev)

    def off():
        light.value = False
        print("%s OFF" % dev)

    def dim(_target):
        dimmer.value = _target
        print("Dimming to %d" % _target)

    dev.add_method('on', on)
    dev.add_method('off', off)
    dev.add_method('dim', dim)

    eng = Engine()
    eng.add_device(dev)
    eng.run()
예제 #3
0
def setup():
    """ setup xAAL Engine & Device. And start it in a Greenlet"""
    helpers.setup_console_logger()
    global monitor
    engine = Engine()
    cfg = tools.load_cfg(PACKAGE_NAME)
    if not cfg:
        logger.info('Missing config file, building a new one')
        cfg = tools.new_cfg(PACKAGE_NAME)
        cfg.write()

    dev = Device("hmi.basic")
    dev.address = cfg['config']['addr']
    dev.vendor_id = "IHSEV"
    dev.product_id = "WEB Interface"
    dev.version = 0.1
    dev.info = "%s@%s" % (PACKAGE_NAME, platform.node())

    engine.add_device(dev)
    db_server = None
    if 'db_server' in cfg['config']:
        db_server = cfg['config']['db_server']
    else:
        logger.info('You can set "db_server" in the config file')
    monitor = Monitor(dev, filter_func=monitor_filter, db_server=db_server)
    monitor.subscribe(event_handler)

    engine.start()
    green_let = Greenlet(xaal_loop, engine)
    green_let.start()
예제 #4
0
def main(addr):
    if addr == None:
        addr = tools.get_random_uuid()
    dev = Device("powerrelay.basic", addr)
    dev.product_id = 'Dummy Power Relay'
    dev.url = 'http://www.acme.org'

    # attributes
    power = dev.new_attribute('power')

    dev.dump()

    # methods
    def on():
        power.value = True
        print("%s ON" % dev)

    def off():
        power.value = False
        print("%s OFF" % dev)

    dev.add_method('on', on)
    dev.add_method('off', off)

    eng = Engine()
    eng.add_device(dev)
    eng.run()
예제 #5
0
    def __init__(self):

        self.addr = tools.get_random_uuid()
        #print("My UUID is : %s" % self.addr)

        self.engine = Engine()
        self.dev = Device("cli.experimental", self.addr)
        self.engine.add_device(self.dev)
예제 #6
0
def run():
    print("Monitor test")
    eng = Engine()
    mon = monitor_example(eng)
    try:
        eng.run()
    except KeyboardInterrupt:
        import pdb
        pdb.set_trace()
예제 #7
0
 def __init__(self):
     self.addr = tools.get_random_uuid()
     self.engine = Engine()
     self.dev = Device("cli.experimental", self.addr)
     self.dev.vendor_id = 'IHSEV'
     self.dev.info = 'chute'
     self.engine.add_device(self.dev)
     self.threadlist = []
     self.fallEvent = threading.Event()
     self.pepper = Pepper(self)
     self.kinect = Kinect()
     self.sensfloor = Sensfloor(self.engine)
예제 #8
0
파일: querydb.py 프로젝트: baocaifeng/xAAL
def main():
    if len(sys.argv) == 2:
        addr = sys.argv[1]
        if tools.is_valid_addr(addr):
            t0 = time.time()
            eng = Engine()
            eng.start()
            dev = QueryDB(eng)
            dev.query(addr)
            print("Time : %0.3f sec" % (time.time() - t0))
        else:
            print("Invalid addr")

    else:
        usage()
예제 #9
0
파일: app.py 프로젝트: baocaifeng/xAAL
def setup_xaal():
    """ setup xAAL Engine & Device. And start it in a Greenlet"""
    global monitor
    engine = Engine()
    cfg = tools.load_cfg_or_die(PACKAGE_NAME)

    dev = Device("hmi.basic")
    dev.address = cfg['config']['addr']
    dev.vendor_id = "IHSEV"
    dev.product_id = "REST API"
    dev.version = 0.1
    dev.info = "%s@%s" % (PACKAGE_NAME, platform.node())

    engine.add_device(dev)
    monitor = Monitor(dev, filter_func=monitor_filter)
    engine.start()
    green_let = Greenlet(xaal_loop, engine)
    green_let.start()
예제 #10
0
def run():
    eng = Engine()
    mdb = MetaDB(eng)
    eng.run()
예제 #11
0
def run():
    eng = Engine()
    log = WARP10Logger(eng)
    eng.run()
예제 #12
0
파일: gw.py 프로젝트: baocaifeng/xAAL
def run():
    eng = Engine()
    net = GW.spawn(eng)
    eng.run()
예제 #13
0
파일: gw.py 프로젝트: baocaifeng/xAAL
def run():
    eng = Engine()
    gw = GW(eng)
    eng.run()
예제 #14
0
def run():
    eng = Engine()    
    log = InfluxDBLogger(eng)
    eng.run()
예제 #15
0
파일: gw.py 프로젝트: baocaifeng/xAAL
def run():
    eng = Engine()
    log = GW(eng)
    eng.run()
예제 #16
0
파일: dev.py 프로젝트: baocaifeng/xAAL
def run():
    eng = Engine()
    log = MQTTLogger(eng)
    eng.run()
예제 #17
0
파일: test.py 프로젝트: baocaifeng/xAAL
import time, random, sys
from xaal.lib import Engine, Device, tools

target = sys.argv[-1]
dev = Device("switch.basic", tools.get_random_uuid())

eng = Engine()
eng.start()

while 1:

    eng.send_request(dev, [
        target,
    ], 'dim', {'target': random.randint(0, 100)})
    eng.loop()
    time.sleep(5)

    eng.send_request(dev, [
        target,
    ], 'on')
    print('ON')
    eng.loop()
    time.sleep(3)

    eng.send_request(dev, [
        target,
    ], 'off')
    print('OFF')
    eng.loop()
    time.sleep(3)
예제 #18
0
def run():
    eng = Engine()
    ipx = GW.spawn(eng)
    eng.run()
예제 #19
0
def main(addr):
    if addr == None:
        addr = tools.get_random_uuid()
    dev = Device("controlerMedia.basic", addr)
    dev.product_id = 'Controler DLNA'
    dev.url = 'http://www.acme.org'

    # attributes
    destination_media = dev.new_attribute('destination_media')
    source_media = dev.new_attribute('source_media')
    state_media = dev.new_attribute('state_media')
    position_media = dev.new_attribute('position_media')

    dev.dump()

    # methods
    def get_attributes():
        print("Attributs")

    ########### Ensemble des methodes liees a la mise en place du media ##########
    def set_destination(_dest):
        # Met la valeur du media player a utiliser dans la variable "destination_media"
        destination_media.value = _dest
        print("Destination \"" + _dest + "\" is set")

    def get_destinations():
        # Interroge le dBus pour connaitre les media renderer en DLNA
        # Envoie à l'utilisateur les destinations sous forme de liste
        available_dest = {"renderer1": "salon", "renderer2": "cuisine"}
        print("Display destinations")
        return available_dest

    def set_source(_src):
        # Met la valeur du media server a utiliser dans la variable "source_media"
        source_media.value = _src
        print("Source \"" + _src + "\" is set")

    def get_sources():
        # Interroge le dBus pour connaitre les media server en DLNA
        # Envoie à l'utilisateur les medias sous forme de liste
        available_media = {"media1": "NAS\\video1", "media2": "NAS\\video2"}
        print("Display sources")
        return available_media

    ########## Ensemble des methodes liees a l'etat du media lorsqu'il est en cours de lecture #########
    def play():
        state_media.value = True
        # Commande DLNA pour lancer le media
        print("%s Play" % dev)

    def pause():
        state_media.value = False
        # Commande DLNA pour mettre le media sur pause
        print("%s Pause" % dev)

    def stop():
        print("Media is stop")

    def next():
        print("Next media is play")

    def prev():
        print("Previous media is play")

    def moving_forward():
        print("Media is forwarding of 10 secondes")

    def moving_back():
        print("Media is backing of 10 secondes")

    dev.add_method('get_attributes', get_attributes)
    dev.add_method('set_destination', set_destination)
    dev.add_method('get_destinations', get_destinations)
    dev.add_method('set_source', set_source)
    dev.add_method('get_sources', get_sources)
    dev.add_method('play', play)
    dev.add_method('pause', pause)
    dev.add_method('stop', stop)
    dev.add_method('next', next)
    dev.add_method('prev', prev)
    dev.add_method('moving_forward', moving_forward)
    dev.add_method('moving_back', moving_back)

    eng = Engine()
    eng.add_device(dev)
    eng.run()