Exemplo n.º 1
0
class Kuksa_Client():

    # Constructor
    def __init__(self, config):
        print("Init kuksa client...")
        if "kuksa_val" not in config:
            print("kuksa_val section missing from configuration, exiting")
            sys.exit(-1)
        provider_config = config['kuksa_val']
        self.client = KuksaClientThread(provider_config)
        self.client.start()
        self.client.authorize()
        self.dataset = {}

    def getMetaData(self, path):
        metadata = (json.loads(self.client.getMetaData(path))["metadata"])

        return metadata

    def getValue(self, path):
        dataset = json.loads(self.client.getValue(path))["value"]
        # convert to strings to Arrays, which is required by pyarrow.from_pydict
        if not isinstance(dataset, dict):
            dataset = {path: [dataset]}
        else:
            for key in dataset:
                dataset[key] = [dataset[key]]
        return (dataset)

    def shutdown(self):
        self.client.stop()
Exemplo n.º 2
0
class Kuksa_Client():

    # Constructor
    def __init__(self, config):
        print("Init kuksa client...")
        if "kuksa_val" not in config:
            print("kuksa_val section missing from configuration, exiting")
            sys.exit(-1)
        provider_config=config['kuksa_val']
        self.client = KuksaClientThread(provider_config)
        self.client.start()
        print("authorizing...")
        self.client.authorize()
        
    def shutdown(self):
        self.client.stop()

    def setPosition(self, position):
        self.client.setValue('Vehicle.Cabin.Infotainment.Navigation.CurrentLocation.Altitude', position['alt'])
        self.client.setValue('Vehicle.Cabin.Infotainment.Navigation.CurrentLocation.Latitude', position["lat"])
        self.client.setValue('Vehicle.Cabin.Infotainment.Navigation.CurrentLocation.Longitude', position["lon"])
        self.client.setValue('Vehicle.Cabin.Infotainment.Navigation.CurrentLocation.Accuracy', position["hdop"])
        self.client.setValue('Vehicle.Cabin.Infotainment.Navigation.CurrentLocation.Speed', position["speed"])
Exemplo n.º 3
0
class Kuksa_Client():

    # Constructor
    def __init__(self, config):
        print("Init kuksa client...")
        if "kuksa_val" not in config:
            print("kuksa_val section missing from configuration, exiting")
            sys.exit(-1)
        self.subscriptionMap = {}
        provider_config = config['kuksa_val']
        self.client = KuksaClientThread(provider_config)
        self.client.start()
        self.client.authorize()

    def shutdown(self):
        self.client.stop()

    def subscribe(self, path, callback):
        print("subscribe " + path)
        res = self.client.subscribe(path, callback)
        res = json.loads(res)
        if "subscriptionId" in res:
            self.subscriptionMap[res["subscriptionId"]] = path
        print(res)
Exemplo n.º 4
0
for candidate in config_candidates:
    if os.path.isfile(candidate):
        configfile = candidate
        break
if configfile is None:
    print("No configuration file found. Exiting")
    sys.exit(-1)
config = configparser.ConfigParser()
config.read(configfile)

kuksaconfig = config
if "kuksa_val" in config:
    kuksaconfig = config["kuksa_val"]
kuksa = KuksaClientThread(kuksaconfig)
kuksa.start()
kuksa.authorize()

mapping = dbc2vssmapper.mapper(kuksaconfig.get('mapping', "mapping.yml"))
canQueue = queue.Queue()

if "can" not in config:
    print("can section missing from configuration, exiting")
    sys.exit(-1)

cancfg = config['can']
canport = cancfg['port']

if config["can"].getboolean("j1939", False):
    print("Use j1939 reader")
    reader = j1939reader.J1939Reader(cancfg, canQueue, mapping)
else: