Because of the pull-based, client/server architecture, the client-side binary looks for updates in configurable frequent interval and executes the changes and updates. The communication between the client and the server is established over secured REST API’s. By monitoring the applications logs and other device parameters, UpSwift’s Cloud-Smart engine is capable of behaving intelligently by sending email alerts to the administrator.
UpSwift Basic WorkFlow
Post-registration and package selection with UpSwift Cloud-based dashboard, customers can start adding their devices into UpSwift dashboard. Depending upon the selected plans (number devices connected, features, etc.. will vary depends on the plan chosen), customers will be able to manage their products remotely. And post device registration, you will be able to download/install UpSwift-client into your edge device. As a result, the client starts syncing data with Cloud back-end using the configured frequency.
Device Communication Process
- Sending keep-alive status that will show the device live in UpSwift DashBoard.
- Keeps checking for new Updates
- Checking for a new remote connection
- Checking for changes in project parameters.
Below the list of basic hardware and software requirements to install and configure UpSwift Client.
- UpSwift supports generic CPU architectures such as x86, x86_64, as well as Armv6, Armv7 & Armv8.
- Linux based operating system is mandatory at the Edge/IoT device.
- Apt Debian package manager and “systemd” need to be installed as well. So this won’t work with init.d based Linux OS. It may be challenging to run UpSwift client in RPM-based Linux OS’s such as Redhat, Fedora, Centos, etc…
From the UpSwift dashboard, click on the “Register Device” button, and the pop-up below will come up with the instructions to setup UpSwift client into the edge device.
To register a new device to project: Demo, run the next command on the device terminal:
su -c ‘wget -S -O – “https://dashboard.upswift.io/install_upswift” | bash -s <user-token> <project-name>‘
After installation of the client, the device will appear in the dashboard within a couple of minutes.
Device Management – Features
- Allows group-wise updates. The dashboard allows replicating the same updates within multiple groups (It may also help the developer to separate out Staging & Production roll-outs)
- In case of failure, provides the option to roll-back to the previous state.
- Allows executing pre & post Install commands along with the update-deployments on edges.
- Fetches application logs from the edge device and allows to continuously monitor the application and device status.
From the functional point of view, this product looks similar to mDash and Balena Cloud. But as we covered earlier, mDash mainly targets MCU’s ( ESP32 & ESP8266, STM32 (L4,M4) and TI CC3220). UpSwift client looks really lightweight and feature-wise looks richer and easier to manage compared to Balena Cloud.
More details, including documentation & tutorials, can be found on the official website.
An Entrepreneur, an Opensource Enthusiast and Researcher in the domain of Embedded Systems, Wireless and IoT – Has over 16+ years of experience in managing and contributing enterprise Research Projects, in Embedded Systems, Software Technologies, Product Conceptualizations and development, Telecommunication, Media and Entertainment and Consumer Electronics.
4 Replies to “UpSwift – Manage IoT & Embedded Linux Devices Easily & Quickly”
mender.io – self hosting via docker!
Upswift are great. Using them to manage and deploy OTA software updates on 3200 Raspberry Pis in Agriculture project.
Nice article! Our company have been using Upswift for a year now. Managing a fleet of ~2100 Raspberry Pis for smart warehouses.
Bob, How do you use them in your warehouses?