Skip to main content

Your submission was sent successfully! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates from Canonical and upcoming events where you can meet our team.Close

Thank you for contacting us. A member of our team will be in touch shortly. Close

  1. Blog
  2. Article

Guest
on 9 November 2016

How to use snaps when collecting IoT data with Predix Time Series


This is a guest post by Ilya Drabenia, a Technical Lead at Altoros. If you would like to contribute a guest post, please contact ubuntu-devices@canonical.com

Snaps, designed by Canonical, are intended for packaging applications and their dependencies, along with the instructions for running these applications. In this article, we focus on how to write time-series data from your Linux environment to the Predix Time Series service using a snap.

Scenario
We will use a data generator to create a sample data stream from a device to Predix. Our previous post provides more details about this generator.

The sensor.go file:

You can find more information, including the source code of the solution and a Go library for interacting with the Predix Time Series API, in this GitHub repository.

Packaging the generator into a snap
For creating a snap, you need to install the Snapcraft tool first. Then, declare the snap configuration that is provided below.

The snapcraft.yaml file:

In this file, specify the name and the version of your snap. To build the snap, we also include the command for starting the application and its source code.

Then, run the snapcraft command, which compiles source code and packages it into a snap.

After that, you can publish your snap to a snap repository.

Releasing the snap

Before releasing the snap, register an Ubuntu One account and then run the following commands:

$ snapcraft login
$ snapcraft register predix-ts-sample
Now, you should be able to push your application to a snap store

Finally, you can release this snap.

Verifying the snap

You can check that the snap was really published in the uApp Explorer app store, and the predix-ts-sample application is now located there.

You can install this snap on your device using the following command:

$ sudo snap install predix-ts-sample
To run the snap, enter predix-ts-sample on the command line:

After providing all required configuration parameters, you will see the next output:

Conclusions
In this tutorial, we tried working with the new package management system from Canonical that is focused on the reliability and isolated execution of snaps. Device engineers can install multiple snaps and create a whole system from reusable building blocks almost without programming. Judging from our experience with snaps, developing, as well as publishing, them is quite easy, and the process is supported by good enough documentation.

Original source here

Related posts


Gabriel Aguiar Noury
21 November 2024

EdgeIQ and Ubuntu Core; bringing security and scalability to device management 

Internet of Things Article

Today, EdgeIQ and Canonical announced the release of the EdgeIQ Coda snap and official support of Ubuntu Core on the EdgeIQ Symphony platform. EdgeIQ Symphony helps you simplify and scale workflows for device fleet operations, data consumption and delivery, and application orchestration. Distributing EdgeIQ Coda as a snap brings the power ...


Canonical
19 November 2024

Canonical provides the ideal platform for Microsoft Azure IoT Operations

IoT Article

London, 19 November 2024. Canonical has collaborated with Microsoft as an early adopter partner and tested Microsoft Azure IoT Operations on Ubuntu Core and Kubernetes, which is notable as Microsoft today released Azure IoT Operations, a unified data plane providing significant improvements in node data capture, edge-based telemetry proce ...


Rhys Knipe
5 November 2024

What is IoT device management?

Internet of Things Article

IoT device management refers to processes or practices used to deploy, monitor and maintain IoT devices. As organizations scale up their IoT efforts, a solid device management approach is essential to running a secure, streamlined fleet of devices.  The proliferation of connected devices worldwide (projected to reach 18.8 billion in 2024) ...