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.