kuksa_dart_sdk 0.2.10
kuksa_dart_sdk: ^0.2.10 copied to clipboard
Dart/Flutter client SDK for the Eclipse KUKSA databroker (v2): typed access to Vehicle Signal Specification (VSS) signals for embedded Linux IVI navigation.
kuksa_dart_sdk examples #
Quickstart #
Start a kuksa-databroker locally (insecure, no auth — typical for development):
docker run --rm -it -p 55555:55555 \
ghcr.io/eclipse-kuksa/kuksa-databroker:latest --insecure
Then run the vendor-neutral sample. These examples are in the published package
(dart pub add kuksa_dart_sdk fetches example/ along with lib/), but they land
in your pub cache rather than your project directory, so a relative dart run example/... from your own project will not resolve. Cloning is the simplest way to
run them:
git clone https://github.com/aki1770-del/kuksa_dart_sdk.git
cd kuksa_dart_sdk && dart pub get
dart run example/kuksa_val_v2.dart
kuksa_val_v2.dart mirrors the upstream Rust
kuksa_val_v2.rs example — it connects, then exercises each core API
(server info, read, write, subscribe, metadata):
import 'package:kuksa_dart_sdk/kuksa_dart_sdk.dart';
void main() async {
final client = KuksaClient(host: 'localhost', port: 55555);
await client.connect();
// Server info
final info = await client.getServerInfo();
print('${info.name} ${info.version}');
// Subscribe to a signal
final sub = client.subscribe(['Vehicle.Speed']).listen((update) {
print('Vehicle.Speed = ${update['Vehicle.Speed']?.value}');
});
// Read a signal
final dp = await client.getValue('Vehicle.Speed');
print('Vehicle.Speed = ${dp.value}');
// Write (publish) a signal
await client.publishValue('Vehicle.Speed', 100.34);
await sub.cancel();
await client.dispose();
}
Snow safety monitor #
snow_safety_monitor.dart is a domain showcase:
it connects to a databroker on an IVI headunit and reacts to road-condition
signals in real time — a one-shot read of road friction, then a continuous
subscription that surfaces snow-safety conditions for driver-assisting
navigation.
From the same clone:
dart run example/snow_safety_monitor.dart