def test(addr='tcp://127.0.0.1:11060', host=None): import wsrpc import pizco from tornado.ioloop import IOLoop logger.debug("Connecting to proxy") p = pizco.Proxy(addr) logger.debug("adding __wsrpc__ to control") base.add_wsrpc_to_proxy(p, 'control') logger.debug("connecting to motion") cfg = p.config() m = pizco.Proxy(cfg['motion']['addr']) logger.debug("adding __wsrpc__ to motion") base.add_wsrpc_to_proxy(m, 'motion') logger.debug("Connecting to cameras") cs = [pizco.Proxy(c['addr']) for c in cfg['cameras']] logger.debug("adding __wsrpc__ to cameras") [base.add_wsrpc_to_proxy(c, 'camera') for c in cs] logger.debug("connecting to montager") mo = pizco.Proxy(cfg['montager']['addr']) logger.debug("adding __wsrpc__ to montager") base.add_wsrpc_to_proxy(mo, 'montager') comp = pizco.Proxy(cfg['compute']['addr']) logger.debug("adding __wsrpc__ to compute") base.add_wsrpc_to_proxy(comp, 'compute') microscope = pizco.Proxy(cfg['scope']['addr']) logger.debug("adding __wsrpc__ to scope") base.add_wsrpc_to_proxy(microscope, 'scope') logger.debug("adding __wsrpc__ to tape") t = pizco.Proxy(cfg['tape']['addr']) base.add_wsrpc_to_proxy(t, 'tape') logger.debug("adding __wsrpc__ to tapecamera") tc = pizco.Proxy(cfg['tapecamera']['addr']) base.add_wsrpc_to_proxy(tc, 'tapecamera') logger.debug("Clearing IOLoop") if hasattr(IOLoop, '_instance'): del IOLoop._instance logger.debug("Registering control") wsrpc.serve.register(build_spec(p, 'control')) logger.debug("Registering compute") wsrpc.serve.register(compute.build_spec(comp, 'compute')) logger.debug("Registering scope") wsrpc.serve.register(scope.build_spec(microscope, 'scope')) logger.debug("Registering motion") wsrpc.serve.register(motion.build_spec(m, 'motion')) logger.debug("Registering montager") wsrpc.serve.register(montager.build_spec(mo, 'montager')) logger.debug("Registering cameras") for (ci, c) in enumerate(cs): wsrpc.serve.register(camera.build_spec(c, 'cam{}'.format(ci))) logger.debug("Registering tape") wsrpc.serve.register(tape.build_spec(t, 'tape')) logger.debug("Registering tapecamera") wsrpc.serve.register(tapecamera.build_spec(tc, 'tapecamera')) logger.debug("Serving") # add default route wsrpc.serve.serve(address=host, debug=True, default_route='/control/templates/control.html')
def proxy(cfg): logger.debug("Creating proxy from %s", cfg) ncfg = copy.deepcopy(cfg) addr = ncfg.pop('addr') node = pizco.Proxy(addr) node.config(ncfg) logger.info("Proxy[%s] created for address %s: %s", node, addr, ncfg) return node
def test(addr='tcp://127.0.0.1:11010'): import wsrpc import pizco from tornado.ioloop import IOLoop p = pizco.Proxy(addr) base.add_wsrpc_to_proxy(p, 'motion') if hasattr(IOLoop, '_instance'): del IOLoop._instance wsrpc.serve.register(build_spec(p, 'motion')) wsrpc.serve.serve()
def test(addr='tcp://127.0.0.1:21212'): # REALADDRESS import wsrpc import pizco from tornado.ioloop import IOLoop p = pizco.Proxy(addr) base.add_wsrpc_to_proxy(p, 'compute') if hasattr(IOLoop, '_instance'): del IOLoop._instance wsrpc.serve.register(build_spec(p, 'compute')) wsrpc.serve.serve()
def run_proxy_ui(name, addr, klass): p = pizco.Proxy(addr) register_proxy(p, name, klass) run()
#!/usr/bin/env python import socket import ionode.base import ionode.ui.base import pizco from start_ionode import PiCameraNode, port host_ip = socket.gethostbyname(socket.gethostname() + '.local') proxy_addr = 'tcp://%s:%s' % (host_ip, port) spec = {'template': open('template.html', 'r').read()} print("Use Ctrl-C in this terminal window to stop the ui and server") p = pizco.Proxy(proxy_addr) ionode.ui.register_proxy(p, 'tapecamera', PiCameraNode, spec) ionode.ui.run(address=host_ip, debug=True)
def connect(node_type, cfg=None): node_cfg = resolve_config(node_type, cfg=cfg) return pizco.Proxy(node_cfg['addr'])
#!/usr/bin/env python import json import webbrowser import ionode.base import ionode.ui.base import pizco from start_ionode import MyIONode spec = { 'template': open('template.html', 'r').read() } url = 'http://127.0.0.1:5000/base' config = json.load(open('config.json', 'r')) print("Use Ctrl-C in this terminal window to stop the ui and server") webbrowser.open(url) p = pizco.Proxy(config['addr']) ionode.ui.register_proxy(p, 'base', MyIONode, spec) ionode.ui.run(debug=True)