Linux Clients

We provide a low level plain ANSI C based SDK for use in client applications on Linux.

Libraries can be downloaded from the artifacts repository.

See the Plain C API reference for details about using the client SDK. And the various examples provided to get started.

Note that using precompiled libaries on Linux can cause problems if they were built against system libraries newer than on the target system in question. It typically looks like this:

./simple_coap_client: /lib/libc.so.6: version 'GLIBC_2.25' not found

If you encounter such problems, please try to upgrade the target system if possible. Or contact support.

Examples

Hello, World! Coap Client

A simple Hello, World! style example using Nabto Edge CoAP is available in our example repository. It demonstrates all necessary plumbing to get started with your own apps.

Building

Follow the build instructions and carefully note how to obtain the client SDK libraries for use with the example.

Running

Start a CoAP Nabto Edge embedded device application to invoke first.

Then invoke the compiled hello world client towards the device as follows. See the Nabto Edge Embedded SDK applications guide for information on how to obtain the necessary configuration data (product ID, device ID):

$ ./simple_coap_client -p pr-ah3lv7z9 -d de-8slb653x
Nabto Client SDK Version: 5.11.0
connecting to pr-ah3lv7z9.de-8slb653x
Connected to device with fingerprint: 37e50342551c1824a92fcd91b09ab76f
Received CoAP get response data: Hello world

TCP Tunnel Client

A simple example of using the Nabto Edge Tunnels client API is available in the example repository. A more advanced tunnel application with precompiled binaries can be found in the Nabto Edge Tunnel CLI repo. It comes with a detailed step-by-step guide.

The tunnel clients must be run towards a Nabto Edge Embedded SDK based TCP tunnel, such as TCP Tunnel Device supplied with the Nabto Edge Embedded SDK.