CNX Software – Embedded Systems News

DEVICE.FARM Generates Raspbian/Armbian Docker Images for about 100 Arm Linux SBCs

Last year, I reviewed BalenaOS and BalenaCloud on Raspberry Pi CM3L based BalenaFin hardware. The solution generates OS images with docker support in order to easily manage and update a fleet of devices remotely over a web interface or client program.

Balena.io supports over 60 boards either officially, or thanks to the work of the community, but Pavel Burgr is developing an alternative with DEVICE.FARM supporting close to 100 Arm SBC’s including Raspberry Pi boards, and most Armbian supported Arm SBC’s.

DEVICE.FARM is still beta, but the MVP (Minimum Viable Product) version of the website provides:

This is functional, but bugs are likely, and documentation still needs to be finalized. I don’t have a board with me, but I tried to generate an image for Orange Pi Zero SBC.

Once you click on any of the board from the list, you’ll be asked to login with Facebook, Google, Github, or via SSH key.

Click to Enlarge

After login, I could get to the Linux image configuration page, where I gave a name for the device, set a root password (one is also automatically generated), select whether you want to connect through Ethernet or/and WiFi with fields to enter the access point credential. You can also overwrite files from the root file system. Note that Raspberry Pi relies on Raspbian Buster Lite and other SBCs on Armbian headless images. Click on the “Register device and build the image” button for the next step.

It will take a few seconds or many a minute to generate the image, which you can then download, or flash with BalenaEtcher or other similar utility.

You’ll also be provided a list of CLI commands to perform several actions including:

[Update: here’s a screenshot showing several ONLINE/OFFLINE devices and how easy it is to access a container’s service from the internet since once the container is tagged with “farm.device.services” label, DEVICE.FARM creates a HTTP proxy link from URL in form https://<service-name>-<device-id>.device.farm to the container.

Click to Enlarge

This is achieved by a VPN link (openconnect) initiated by the device. and explains why user authentication is required. This way users can securely access devices remotely such as home automation system, 3D printer’s Octoprint UI, or disk storage…]

Check out the website to give it a try.

Support CNX Software - Donate via PayPal, become a Patron on Patreon, or buy review samples