Ejemplo n.º 1
0
class SensorApp(object):

    #def __init__(self, ip='192.168.43.48', port=2019):
    def __init__(self, ip='192.168.1.80', port=2024):
        self.ip = ip
        self.port = port

        self._run = True

        self.io_controller = IOController()

        self.start()

    def start(self):
        self._sensor_client_thread = threading.Thread(
                target=self._sensor_client_worker)
        self._sensor_client_thread.start()

    def stop(self):
        self._run = False

    def _sensor_client_worker(self):
        ## XXX Mock sensor values
        #import numpy as np
        #while self._run:
        #    updates = {'acc_x': int(np.random.random() * 1024),
        #                   'acc_y': int(np.random.random() * 1024),
        #                   'acc_z': int(np.random.random() * 1024),
        #                   'switch': np.random.random() * 360,
        #                   'distance': np.random.random() * 90,
        #                   'potentiometer': np.random.random()}
        #    self.io_controller.set(**updates)
        #    import time
        #    time.sleep(.1)

        context = zmq.Context()

        #  Socket to talk to server
        socket = context.socket(zmq.REQ)
        socket.connect("tcp://{}:{}".format(self.ip, self.port))

        while self._run:
            send = {}
            if self.io_controller.added_links:
                add = self.io_controller.added_links
                self.io_controller.added_links = []
                send['add_link'] = add
            if self.io_controller.removed_links:
                remove = self.io_controller.removed_links
                self.io_controller.removed_links = []
                send['remove_link'] = remove
            if self.io_controller.outputs:
                outputs = self.io_controller.outputs
                self.io_controller.outputs = {}
                send['out'] = outputs
            socket.send(json.dumps(send))
            message = socket.recv()
            self.io_controller.set(**json.loads(message))
        socket.close()
Ejemplo n.º 2
0
class SensorApp(object):

    #def __init__(self, ip='192.168.43.48', port=2019):
    def __init__(self, ip='192.168.1.80', port=2024):
        self.ip = ip
        self.port = port

        self._run = True

        self.io_controller = IOController()

        self.start()

    def start(self):
        self._sensor_client_thread = threading.Thread(
            target=self._sensor_client_worker)
        self._sensor_client_thread.start()

    def stop(self):
        self._run = False

    def _sensor_client_worker(self):
        ## XXX Mock sensor values
        #import numpy as np
        #while self._run:
        #    updates = {'acc_x': int(np.random.random() * 1024),
        #                   'acc_y': int(np.random.random() * 1024),
        #                   'acc_z': int(np.random.random() * 1024),
        #                   'switch': np.random.random() * 360,
        #                   'distance': np.random.random() * 90,
        #                   'potentiometer': np.random.random()}
        #    self.io_controller.set(**updates)
        #    import time
        #    time.sleep(.1)

        context = zmq.Context()

        #  Socket to talk to server
        socket = context.socket(zmq.REQ)
        socket.connect("tcp://{}:{}".format(self.ip, self.port))

        while self._run:
            send = {}
            if self.io_controller.added_links:
                add = self.io_controller.added_links
                self.io_controller.added_links = []
                send['add_link'] = add
            if self.io_controller.removed_links:
                remove = self.io_controller.removed_links
                self.io_controller.removed_links = []
                send['remove_link'] = remove
            if self.io_controller.outputs:
                outputs = self.io_controller.outputs
                self.io_controller.outputs = {}
                send['out'] = outputs
            socket.send(json.dumps(send))
            message = socket.recv()
            self.io_controller.set(**json.loads(message))
        socket.close()
Ejemplo n.º 3
0
class SensorApp(object):

    def __init__(self, ip='192.168.43.186', port=2024):
        self.ip = ip
        self.port = port
        self._run = True
        self.mock_server = False
        self.io_controller = IOController()

        self.start()

    def start(self):
        self._run = True
        self._sensor_client_thread = threading.Thread(
                target=self._sensor_client_worker)
        self._sensor_client_thread.start()

    def stop(self):
        self._run = False

    def _sensor_client_worker(self):
        if self.mock_server:
            while self._run:
                updates = {'acc_x': int(np.random.random() * 1024),
                           'acc_y': int(np.random.random() * 1024),
                           'acc_z': int(np.random.random() * 1024)}
                self.io_controller.set(**updates)
                self.io_controller.push_to_plot_data()
                time.sleep(.1)
        else:
            context = zmq.Context()
            socket = context.socket(zmq.REQ)
            socket.connect("tcp://{}:{}".format(self.ip, self.port))
            print 'connected to:', self.ip, self.port

            while self._run:
                send = 'r'
                socket.send(json.dumps(send))
                message = socket.recv()
                print 'received:', message
                self.io_controller.set(**json.loads(message))
                self.io_controller.push_to_plot_data()
            socket.close()
Ejemplo n.º 4
0
class SensorApp(object):
    def __init__(self, ip="192.168.43.186", port=2024):
        self.ip = ip
        self.port = port
        self._run = True
        self.mock_server = False
        self.io_controller = IOController()

        self.start()

    def start(self):
        self._run = True
        self._sensor_client_thread = threading.Thread(target=self._sensor_client_worker)
        self._sensor_client_thread.start()

    def stop(self):
        self._run = False

    def _sensor_client_worker(self):
        if self.mock_server:
            while self._run:
                updates = {
                    "acc_x": int(np.random.random() * 1024),
                    "acc_y": int(np.random.random() * 1024),
                    "acc_z": int(np.random.random() * 1024),
                }
                self.io_controller.set(**updates)
                self.io_controller.push_to_plot_data()
                time.sleep(0.1)
        else:
            context = zmq.Context()
            socket = context.socket(zmq.REQ)
            socket.connect("tcp://{}:{}".format(self.ip, self.port))
            print "connected to:", self.ip, self.port

            while self._run:
                send = "r"
                socket.send(json.dumps(send))
                message = socket.recv()
                print "received:", message
                self.io_controller.set(**json.loads(message))
                self.io_controller.push_to_plot_data()
            socket.close()