Ejemplo n.º 1
0
 def run_read_event(self):
     print('Wait for connection ...')
     client_socket, addr = self.socket.accept()
     print("Connection from :", addr)
     dict = {'addr': addr, 'server': self.data['server']}
     self.data['server'].connects.add_connect((client_socket, addr))
     EventLoop.add_revent(
         RelayServerCommandExecuteEvent(client_socket, dict))
Ejemplo n.º 2
0
 def run_read_event(self):
     data = self.socket.recv(self.data['server'].conf.buffsize).decode()
     if not data:
         return
     try:
         output = self.data['server'].execute_command(data)
         self.socket.send('%s\n' % output.encode())
     except DisConnectException as e:
         self.socket.send('%s\n' % str(e).encode())
         EventLoop.del_revent(self)
         self.socket.close()
     except OpenBashException as e:
         #EventLoop.del_revent(self)
         output = self.data['server'].open_bash(e.client_id, self.socket)
         self.socket.send(output.encode())
     except Exception as e:
         self.socket.send(str(e))
Ejemplo n.º 3
0
#! /usr/bin/python

from sensors.webcam import Webcam, CupDetector, FaceDetector, TableDetector
from controllers.table_state import TableState

from controllers.nxt_controller import NxtController
from motors.pyrobot import Create
from event import EventLoop

import sys

if __name__ == "__main__":
    e = EventLoop()
    irobo = Create()
    irobo.Control()
    td = TableDetector(e)
    ts = TableState(e, irobo)
    n_c = NxtController(e)

    e.register('webcam', Webcam(e, cam=1))
    e.register('td', td, 'frame')
    e.register('ts', ts, 'table_pos')

    # Obstacle avoidance
    e.register('ts', ts, 'obstacle')  # Response (ts)
    e.register('n_c', n_c, 'obstacle_distance')  # Request

    e.run()
Ejemplo n.º 4
0
#! /usr/bin/python

from controllers.cup_state import CupState
from controllers.face_state import FaceState
from controllers.nxt_controller import NxtController
from sensors.webcam import Webcam, CupDetector, FaceDetector
from event import EventLoop
from motors.pyrobot import Create
import sys

if __name__ == "__main__":
    e = EventLoop()
    irobot_controller = Create()
    irobot_controller.Control()
    c_s = CupState(e, cam_angle=-25)

    f_s = FaceState(e, irobot_controller)
    cd = CupDetector(e, cam_angle=-25)
    fd = FaceDetector(e)

    e.register('webcam', Webcam(e, cam=1))
    e.register('fd', fd, 'frame')  # We can see!

    # Events for face tracking and killing actions
    e.register('f_s', f_s, 'cups_done')
    e.register('f_s', f_s, 'face_pos')
    e.register('f_s', f_s, 'face_gone')
    e.register('f_s', f_s, 'no_face')

    e.add_event('cups_done', None)
    e.run()
Ejemplo n.º 5
0
 def run_eventloop(self):
     dict = {'server': self}
     EventLoop.add_revent(RelayServerAcceptEvent(self.socket, dict))
     EventLoop.event_loop()
Ejemplo n.º 6
0
 def run_exception_event(self):
     self.socket.send('found error,disconnect\n'.encode())
     EventLoop.del_revent(self)
     self.socket.close()
Ejemplo n.º 7
0
#! /usr/bin/python

from controllers.cup_state import CupState
from controllers.face_state import FaceState
from controllers.table_state import TableState
from sensors.webcam import Webcam, CupDetector, FaceDetector, TableDetector
from motors import lynx_motion
from motors.nxt_controller import NxtController
from sensors.ultrasonic import Ultrasonic
from event import EventLoop
from motors.pyrobot import Create


if __name__ == "__main__":
    e = EventLoop()

    lynx = lynx_motion.Arm()

    nxt = NxtController()
    irobot_controller = Create("/dev/ttyUSB1")
    irobot_controller.Control()
    ud = Ultrasonic(e)

    c_s = CupState(e, lynx, nxt, cam_angle=-25)
    f_s = FaceState(e, lynx, irobot_controller)
    t_s = TableState(e, lynx, nxt, irobot_controller)
    cd = CupDetector(e, cam_angle=-25)
    fd = FaceDetector(e)
    td = TableDetector(e)

    e.register('webcam', Webcam(e, cam=1))