Esempio n. 1
0
    def connectToEyePi(self, image):

        # try1: cv2.threshold(img,127,255,cv2.THRESH_BINARY)
        # try2:
        print('i see faces')
        try:
            self.face_connection_thread_running = True
            input = EyePiInput()
            # input.image = cv2.threshold(image,127,255,cv2.THRESH_BINARY)
            input.image = pickle.dumps(obj=image,
                                       protocol=None,
                                       fix_imports=False)

            actions = dict()
            weather_input = WeatherInput()
            weather_input.location = 'Amsterdam,nl'
            actionParameter = pickle.dumps(obj=weather_input,
                                           protocol=None,
                                           fix_imports=False)
            actions[ActionEnum.WEATHER] = actionParameter
            input.action = actions

            input.deviceToken = self.device_token
            output = ConnectEyePi().handleRequest(input)
            time.sleep(10)
            if output.ok:
                print('ok, yay, I know you')
                self.cap.release()
                cv2.destroyAllWindows()
                self.face_connection_thread_running = False
            else:
                self.face_connection_thread_running = False
        except Exception as ex:
            print('exception catched %s' % ex)
Esempio n. 2
0
 def __get_request_token(uniquename, deviceToken):
     eyeInput = EyePiInput()
     actions = dict()
     actions[ActionEnum.LOGIN] = pickle.dumps(obj=uniquename,
                                              protocol=None,
                                              fix_imports=False)
     eyeInput.action = actions
     eyeInput.person = uniquename
     eyeInput.deviceToken = deviceToken
     return ShortTermTokenMemoryClient().getToken(eyeInput)
Esempio n. 3
0
    def make_weather_call(self):
        input = EyePiInput()
        input.deviceToken = self.__devicetoken
        input.token = self.__token
        actions = dict()
        actions[ActionEnum.WEATHER] = self.__person.autorisations[ActionEnum.WEATHER].module_config
        input.action = actions

        output = ConnectEyePi().handleRequest(input)
        print(output)
        print(self.__unpickle_action(output.data, ActionEnum.WEATHER))
        if output.ok:
            self.__token = output.token
Esempio n. 4
0
    def make_phone_call(self):
        config = self.__unpickle(self.__person.autorisations[ActionEnum.PHONE].module_config)
        phone_input = GetStatus()
        phone_input.email = config.email

        input = EyePiInput()
        input.deviceToken = self.__devicetoken
        input.token = self.__token
        actions = dict()
        actions[ActionEnum.PHONE] = self.__pickle(phone_input)
        input.action = actions

        output = ConnectEyePi().handleRequest(input)
        print(output)
        print(self.__unpickle_action(output.data, ActionEnum.PHONE))
        if output.ok:
            self.__token = output.token
Esempio n. 5
0
    def make_agenda_call(self):
        config = self.__unpickle(self.__person.autorisations[ActionEnum.AGENDA].module_config)
        agenda_input = GetItemsActionInput()
        agenda_input.email = config.email

        input = EyePiInput()
        input.deviceToken = self.__devicetoken
        input.token = self.__token
        actions = dict()
        actions[ActionEnum.AGENDA] = self.__pickle(agenda_input)
        input.action = actions

        output = ConnectEyePi().handleRequest(input)
        print(output)
        print(self.__unpickle_action(output.data, ActionEnum.AGENDA))
        if output.ok:
            print("output = ok")
            self.__token = output.token
Esempio n. 6
0
    root, dirs, files = next(os.walk(config.file_path))
    imageCollection = list(
        filter(lambda filename: filename.endswith('.jpg'), files))
    return random.choice(imageCollection)


### end test

try:
    ## mock! ###
    # normally a device would properly register itself and keep the token.
    # But in development case, the cahce is resetted every time. This mock registers the device.
    device_token = DeviceRegistrator().register_device()
    ### end mock ###

    input = EyePiInput()
    filename = config.file_path + read_image()
    print('image == ' + filename)
    file = open(filename, 'rb')
    readfile = file.read()

    nparr = np.fromstring(readfile, np.uint8)
    image = cv2.imdecode(nparr, cv2.IMREAD_COLOR)
    input.image = pickle.dumps(obj=image, protocol=None, fix_imports=False)

    actions = dict()
    weather_input = WeatherInput()
    weather_input.location = 'Amsterdam,nl'
    actionParameter = pickle.dumps(obj=weather_input,
                                   protocol=None,
                                   fix_imports=False)
Esempio n. 7
0
#!/usr/bin/env python

# not used in this project.

import sys
sys.path.append('../gen-py')

from ConnectionHelpers.ConnectEyePi import ConnectEyePi

from EyePi.ttypes import EyePiInput
from GenericStruct.ttypes import ActionEnum

from thrift import Thrift
import pickle

try:
    input = EyePiInput()
    input.deviceToken = 'myLaptop'
    action = dict()
    action[ActionEnum.LOGIN] = pickle.dumps(obj="testdata",
                                            protocol=None,
                                            fix_imports=False)
    input.action = action
    ConnectEyePi().writeLog(input)

except Thrift.TException as tx:
    print("%s" % (tx.message))