Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Installation

Simple IoT will run on the following systems:

  • ARM/x86/RISC-V Linux
  • MacOS
  • Windows

The computer you are currently using is a good platform to start with as well as any common embedded Linux platform like the Raspberry PI.

If you needed an industrial class device, consider something from embeddedTS like the TS-7553-V2.

The Simple IoT application is a self contained binary with no dependencies. Download the latest release for your platform and run the executable. On Linux and MacOS, the download needs to be marked executable first:

chmod +x simpleiot-vX.Y.Z-linux-x86_64
./simpleiot-vX.Y.Z-linux-x86_64

Renaming it to siot is convenient if you plan to keep it in your PATH.

Once running, you can log into the user interface by opening http://localhost:8118 in a browser. The default login is:

  • user: admin
  • pass: admin

Simple IoT self-install (Linux only)

Simple IoT self-installation does the following:

  • creates a Systemd service file
  • creates a data directory
  • starts and enables the service

To install as user, copy the siot binary to some location like /usr/local/bin and then run:

siot install

To install as root:

sudo siot install

The default ports are used, so if you want something different, modify the generated siot.service file.

Updating

Simple IoT can update itself to the latest release:

siot update

This downloads the release for the platform it is running on, verifies it against the checksums published with the release, and replaces the binary in place. The new binary is written to the directory the current one lives in, so if Simple IoT is installed somewhere like /usr/local/bin, run sudo siot update. To see what is available without installing it, use:

siot update -check

The new version starts running the next time Simple IoT starts, so if it is installed as a service, restart the service:

systemctl restart siot

Updating replaces the executable and leaves the data directory alone, so configuration and historical data carry forward. The previous binary is removed once the new one is in place, so keep a copy if you want to be able to return to it. On Windows, the previous version is left alongside the new one as siot.exe.old.

Note that siot update updates the Simple IoT application itself. To update the operating system on an embedded device, see the update client.

Cloud/Server deployments

When on the public Internet, Simple IoT should be proxied by a web server like Caddy to provide TLS/HTTPS security. Caddy by default obtains free TLS certificates from Let’s Encrypt and ZeroSSL with automatic fallback if one provider fails.

There are Ansible recipes available to deploy Simple IoT, Caddy, InfluxDB, and Grafana that work on most Linux servers.

Video: Setting up a Simple IoT System in the cloud

Yocto Linux

Yocto Linux is a popular edge Linux solution. There is a BitBake recipe for including Simple IoT in Yocto builds.

Networking

By default, Simple IoT runs an embedded NATS server and the SIOT NATS client is configured to connect to nats://127.0.0.1:4222.