I am excited to announce that the team responsible for our Creator family of developer boards has released the source code for the GNU/Linux-based operating system powering the Ci40 as well as the full implementation of the LWM2M software stack.
OpenWrt now available on GitHub
When we were first evaluating our options for the operating system running on the Ci40 IoT hub, it became very clear that a GNU/Linux distribution was the right choice for our project.
We analyzed several alternatives and finally settled on OpenWrt, a highly flexible GNU/Linux distribution for embedded devices. Instead of trying to create a static configuration, OpenWrt provides a fully writable filesystem with optional package management. This frees you from any potential restrictions on application selection and configuration imposed by the vendor; developers can easily select packages to customize an embedded device to suit any application.
OpenWrt also provides a framework to build an application without having to create a complete firmware image and distribution around it. For users, this means the freedom of full customisation, allowing the use of an embedded device in ways the vendor never envisioned.
You can follow our progress with OpenWrt on GitHub here.
LWM2M joins the party
From a software point of view, IoT devices are currently divided between numerous proprietary methods of device management.
In order for the IoT market to reach its full potential, devices from different vendors must be able to communicate freely and effectively with each other – “things should just work”. This is where open standards such as the Open Mobile Alliance‘s (OMA) Lightweight Machine to Machine (LWM2M) protocol becomes important.
The LWM2M protocol has been designed to be highly efficient in terms of data transfer and memory footprint, making it suitable for deployment on larger gateway devices as well as the more constrained devices.
Awa LWM2M is an implementation of the OMA LWM2M protocol that provides a secure and compliant device management solution. Awa LWM2M simplifies the development of M2M applications by providing an intuitive API that enables customization without the need for an intimate knowledge of M2M protocols.
Awa LWM2M is a development suite that provides a number of components and tools which can be combined in various ways depending on requirement. For example:
- When running on a high-performance, Linux-based device, Awa LWM2M can be deployed as a series of daemons that interact with your application via the Awa API.
- For deeply embedded devices (e.g. wireless sensors), your application code can be built against the Awa static API and compiled along with the Awa LWM2M client code into a binary to be deployed on your device.
Regardless of the method, adding LWM2M support for your device is simply a matter of incorporating any objects you need into your own M2M application.
You can check out the Awa LWM2M beta implementation on GitHub here.
The first Brillo BSP for Creator Ci41
Finally, we’ve also published a number of resources for the Brillo-specific Creator Ci41 dev board, including the binaries for the Ensigma Wi-Fi driver as well as an optimized version of the Linux kernel.
If you’re part of the Brillo developer program, you can now build the operating system from source for the Creator Ci41 dev board.
More updates coming soon
Stay tuned to our Kickstarter page for additional updates on shipping and alternative ways to order a board coming soon. In the meantime, have a look at the source code published on GithHub for OpenWrt and LWM2M and let us know what you think!