In-Vehicle software runs on a target device such as the Raspberry Pi.
- agl-kuksa - Scripts to automate the AGL build system with the meta-kuksa layers.
- kuksa-hawkbit - Barebone API for connecting to Eclipse Hawkbit. The kuksa-appmanager (see below) should though be the prior choice to interact with Eclipse HawkBit.
- w3c-visserver-api - W3C Vehicle Information Specification API.
- elm327-visdatafeeder - ELM 327 app that reads OBDII data from the vehicle and feeds data to the w3c-visserver.
- direct-access-api - Enables sending CAN messages from the cloud to a vehicle using web sockets.
- kuksa-appmanager - Hawkbit appmanager which deploys in-vehicle apps as docker containers and more.
- app-ids - A proof-of-concept implementation of a modular Intrusion Detection System (IDS), whose architecture enables a distributed deployment of modules.
- FOTA-raspberrypi - The FOTA scripts are used by the kuksa-appmanager to flash firmware images to the Raspberry Pi.
- netIDS - A network intrusion detection implementation that scans a CAN bus and tries to detect anomalies.
- datalogger-http - Example app that sends data from the vehicle to an Eclipse Hono instance with http.
- datalogger-mqtt - Example app that sends data from the vehicle to an Eclipse Hono instance with mqtt.
- remoteAccess - Example app that subscribes to control topic with Hono and receives commands sent.
- email-notifier - Example app that talks to an email-server and sends e-mails to the configured email address. Used at the moment only for internal demos.
The Eclipse Kuksa Cloud forms the counterpart to the in-Vehicle projects. For the Eclipse Kuksa 0.1.0 release, deployment scripts and an Appstore are provided.
- Deployment scripts - to setup an Eclipse Kuksa Kubernetes cloud cluster (https://github.com/eclipse/kuksa.cloud/tree/master/deployment)
- Appstore - The Eclipse Kuksa Appstore's initial version provides rudimental functionalities to provide communication between a target device, the cloud, and target owners (users) as well as administrative persons via a Web-GUI (https://github.com/eclipse/kuksa.cloud/tree/master/kuksa-appstore)
- Malfunction Indicator Light - This example service sends telemetry data to the Kuksa cloud backend in order to check for a possible malfunction of the car. On the occurrence of a malfunction, the driver gets notified by email including the next workshop-garage to get the car repaired.
- HonoInfluxDBConnector - A Spring-Boot application that connects to an Eclipse Hono instance with a running InfluxDB database so that messages received by Hono can be stored in the InfluxDB. This is especially useful to easily create a visualization of some measurements eg with Grafana.
Eclipse Kuksa Cloud software will further be provided as binary artifacts at the [Eclipse Kuksa Download Page](https://projects.eclipse.org/projects/iot.kuksa/downloads).
Eclipse Kuksa application projects are subdivided into cloud and in-vehicle applications. In-Vehicle (docker) apps can be published to the Eclipse Kuksa App-Store and Eclipse HawkBit using the *app-publisher* project (https://github.com/eclipse/kuksa.apps/tree/master/kuksa-app-publisher).
For the Eclipse Kuksa 0.1.0 release, the following in-vehicle applications are available:
- kuksa-cloud-dashboard - Connects to the w3c-visserver service via Websocket. Reads the RPM, Speed, Fuel status and also custom DTC from the w3c-visserver to sends this information as telemetry data to the Hono MQTT adapter.
- kuksa-cloud-mechanic - Connects to the w3c-visserver service via Websocket and communicates with the Eclipse Hono MQTT adapter. Consequently, commands can be sent to a vehicle remotely.
- kuksa-traccar-client - Sends location (GPS) data to the Traccar GPS tracking suite (https://www.traccar.org).
This project contains documentation and implementation to setup an Eclipse Che Kuksa instance, which eases the development of Kuksa In-Vehicle applications as well as Kuksa Cloud services. With the Eclipse Kuksa 0.1.0 release, only Che_v6.10 is supported (https://github.com/eclipse/kuksa.ide).
Future releases will contain Eclipse Theia extensions, which are compliant to Eclipse Che 7 and support Kuksa in-vehicle application build processes, application registrations and transmissions to the Eclipse Kuksa Appstore and the Eclipse Kuksa Cloud.