Eclipse Kapua :: Gateway Client

A gateway client SDK for Eclipse Kapua™

License

License

Categories

Categories

CLI User Interface
GroupId

GroupId

de.dentrassi.kapua
ArtifactId

ArtifactId

kapua-gateway-client
Last Version

Last Version

0.2.1
Release Date

Release Date

Type

Type

pom
Description

Description

Eclipse Kapua :: Gateway Client
A gateway client SDK for Eclipse Kapua™
Project URL

Project URL

https://github.com/ctron/kapua-gateway-client
Source Code Management

Source Code Management

https://github.com/ctron/kapua-gateway-client

Download kapua-gateway-client

How to add to project

<!-- https://jarcasting.com/artifacts/de.dentrassi.kapua/kapua-gateway-client/ -->
<dependency>
    <groupId>de.dentrassi.kapua</groupId>
    <artifactId>kapua-gateway-client</artifactId>
    <version>0.2.1</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/de.dentrassi.kapua/kapua-gateway-client/
implementation 'de.dentrassi.kapua:kapua-gateway-client:0.2.1'
// https://jarcasting.com/artifacts/de.dentrassi.kapua/kapua-gateway-client/
implementation ("de.dentrassi.kapua:kapua-gateway-client:0.2.1")
'de.dentrassi.kapua:kapua-gateway-client:pom:0.2.1'
<dependency org="de.dentrassi.kapua" name="kapua-gateway-client" rev="0.2.1">
  <artifact name="kapua-gateway-client" type="pom" />
</dependency>
@Grapes(
@Grab(group='de.dentrassi.kapua', module='kapua-gateway-client', version='0.2.1')
)
libraryDependencies += "de.dentrassi.kapua" % "kapua-gateway-client" % "0.2.1"
[de.dentrassi.kapua/kapua-gateway-client "0.2.1"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

  • gateway-client-api
  • gateway-client-profile-kura
  • gateway-client-provider-mqtt
  • gateway-client-provider-mqtt-fuse
  • gateway-client-provider-mqtt-paho
  • gateway-client-spi
  • features
  • examples

Eclipse Kapua™ Gateway Client SDK Build status Maven Central

This project provides an SDK for connecting to Eclipse Kapua as a gateway.

Note: This is not part of the Eclipse Kapua project.

This project should provide a simple to use SDK for pushing telemetry data into Kapua and consuming command messages out of Kapua.

Note: This is a work in progress and should not be considered production ready.

How to use

The following quick steps should provide you with a working example.

Add to your Maven project

<dependency>
  <groupId>de.dentrassi.kapua</groupId>
  <artifactId>kapua-gateway-client-provider-mqtt-fuse</artifactId>
  <version><!-- replace with current version --></version>
</dependency>
<dependency>
  <groupId>de.dentrassi.kapua</groupId>
  <artifactId>kapua-gateway-client-profile-kura</artifactId>
  <version><!-- replace with current version --></version>
</dependency>

Example client

import static org.eclipse.kapua.gateway.client.Credentials.userAndPassword;
import static org.eclipse.kapua.gateway.client.Errors.ignore;

import org.eclipse.kapua.gateway.client.mqtt.fuse.FuseClient;
import org.eclipse.kapua.gateway.client.profile.kura.KuraMqttProfile;

try (Client client = KuraMqttProfile.newProfile(FuseClient.Builder::new)
  .accountName("kapua-sys")
  .clientId("foo-bar-1")
  .brokerUrl("tcp://localhost:1883")
  .credentials(userAndPassword("kapua-broker", "kapua-password"))
  .build()) {

  try (Application application = client.buildApplication("app1").build()) {

    // subscribe to a topic

    application.data(Topic.of("my", "receiver")).subscribe(message -> {
      System.out.format("Received: %s%n", message);
    });

    // cache sender instance

    Sender<RuntimeException> sender = application
      .data(Topic.of("my", "sender"))
      .errors(ignore());

    int i = 0;
    while (true) {
      // send
      sender.send(Payload.of("counter", i++));
      Thread.sleep(1000);
    }
  }
}

Versions

Version
0.2.1
0.2.0
0.1.0