Yesterday, we released v0.18.0 of the Golioth Firmware SDK. This release improves blockwise transfers, adds initial support for Gateways, and updates our supported platforms and continuously verified hardware.
We’ve also made many smaller improvements and bug fixes across the codebase. For the full set of changes in this release, see the Changelog.
Improved Blockwise Transfers
The SDK leverages CoAP blockwise transfers for moving large payloads between embedded devices and the cloud. These transfers take payloads that are too large to be sent in a single IP packet and split them into smaller blocks that are uploaded or downloaded sequentially. In this release, we’ve made a couple of changes to our blockwise APIs to improve the developer experience.
First, we’ve added a multi-part blockwise upload API. Previously, blockwise uploads were done only through a single-shot API that would repeatedly call a user-supplied callback to get data for each block (this API still exists). This works well for many use-cases, but requires that the application is always ready to fill a block. For applications where that may not be the case, the multi-part API allows the application to decide when it is ready to send the next block.
We’ve changed our blockwise download API, used primarily for OTA package downloads, to be non-blocking. This unlocks additional use-cases and efficiency gains, while preserving the ability for users to implement blocking themselves, if desired.
Initial Gateway Support
We recently announced support for connecting Bluetooth devices to the cloud. Our MCU-based gateways leverage the Golioth Firmware SDK to proxy data between Bluetooth nodes and the Golioth cloud. In keeping with our commitment to open source, we’re releasing the initial set of changes made to our SDK to enable that functionality. Note that this initial support is experimental and APIs and behavior are subject to change. There will be more to come here! If you’re interested in taking part in our private access for Bluetooth-to-Cloud, sign up here.
Updated Platform Support and Verified Hardware
It’s been a few months since our last release and the wider world of open source embedded software continues to hum along. We’ve updated our support for Zephyr, nRF Connect SDK, and ESP-IDF to the latest stable versions.
We’ve also made a couple of changes to our Continuously Verified Boards. The NXP FRDM-RW612 replaces the i.MX-RT1024 – the RW612 is a powerful board with broad connectivity options, and internally we’ve had a lot of fun playing with it! For virtual boards, we’ve replaced QEMU with Zephyr’s Native Simulator. We’ve supported Native Simulator for several releases now and have found it to be a boon to developer productivity, shortening the build-flash-debug cycle considerably.
Sign up for the Golioth newsletter below or join our forums to be notified about upcoming releases and other features that are relevant to your IoT deployment!
No comments yet! Start the discussion at forum.golioth.io