How to perform a firmware update Over-The-Air(OTA) using eSOMgears
We have built a robust firmware update system eSOMgears-OTA for our ARM based SOM devices. We use it to enable any ARM based device to receive firmware updates from secure and reliable eSOMgears cloud. eSOMgears is a suite of cloud based tools to provision and manage devices from a central location. In this article we will show you how to build your device with eSOMgears SDK, so that you can start provisioning firmware upgrades.
Lets understand eSOMgears-OTA parts:
eSOMgears-OTA has four parts:
1. eSOMgears-OTA SDK for device.
2. eSOMgears-OTA front-end to add/connect devices, push firmware updates, device analytics.
3. eSOMgears-OTA SDK for your build machine.
4. eSOMgears-OTA cloud SDK to build your own web-tools.
Of the four the first three parts are central to eSOMgears-OTA. All these parts are consumed by different people who are involved in a product manufacturing and maintenance.
1. eSOMgears device SDK
When you build a ARM based product and deploy it, you need some way of connection to the device to update its firmware with bug fixes, etc., The things that matter are:
Firmware update should be reliable.
Firmware update should be secure.
Firmware update as a standalone app or daemon app or integrated in main app.
Firmware update reporting to a central server.
So when you build your product its your code and your prime focus is on your product feature development. We understand it very well so we built the eSOMgears-OTA device SDK for you which takes care of all the hassles in integrating OTA functionality in a product. It gives you high flexibility to either develop a standalone app or build it as a feature into your own product seamlessly. If you would like to access the documentation for the device SDK go to e-somgears.e-consystems.com to get started.
We also have a sample application built on top of eSOMgears device SDK to demonstrate usage. The entire source code is available on request. This will be used by device application developers in a product development team.
If you have any questions or want to know more send us an email on firstname.lastname@example.org
2. eSOMgears front-end
This is the central piece of the firmware update solution that connects all your hard work on bug fixes with the devices you want to apply to, this would demand some of your attention 🙂
eSOMgears-OTA front-end is a HTML5 based user interface. It will be used by IT/Maintenance teams to manage firmware updates and monitor device analytics. The front-end has the following main parts:
1. Device analytics
2. Firmware management
3. Device management
4. Product management
One has to login to https://esomgears.e-consystems.com to view the above items.
Device analytics is a dashboard you can use to monitor firmware versions running on devices, device registration status, etc., If you are managing hundreds of devices you need analytics to address key issues or perform preventive maintenance. Your devices should not be bothered when they perform their main product functions, so we had these key points in consideration while building the analytics. We don’t poll continuously draining its performance.
We display basic analytics but that could be further extended by customers with our REST API’s. Data is updated into cloud db and is easily scalable. You can completely rip-off the dashboard and build your own also, so using that we collect is a breeze on the cloud with very popular and standard interfaces.
Firmware management module is used to upload and manage firmware for a particular product. Lets say you have a fleet of water dispensers connected to the cloud of a particular model, in eSOMgears terminology we call it a product. So each of these dispensers could be running various versions of the dispenser product. Firmware management is the one stop place to view various versions of the product, upload new versions, provision them to production devices etc.,
When devices request for updates, to save bandwidth, we send only the patches from the cloud, which is also storage friendly if devices desire to have backups.
Using device management you can register new devices with their mac address, group them with names, know their last connection timestamp etc., We also help you to run queries if you have to work with hundreds of devices searching them by IP address, name, groups, etc.,
When starting with eSOMgears-OTA, the first thing you need to do after logging-in is register a product with the website and start uploading firmwares from version one. This is achieved using Product Management page. It displays the list of products you own, their description firmware versions and simple navigation to find devices that are running under this product etc., Its very fundamental but very powerful central idea for the solution. Each product is identified with an auto-generated unique ID, this ID is embedded into every hardware you ship under this product. From then on the hardware seamlessly connects with the cloud and updates itself hassle free.
3. eSOMgears-OTA build SDK
As mentioned above, you will always register your product first with your product details such as its underlying hardware(imx6 solo, quad, etc.,), operating system and a brief description. Once you do that you will receive a build SDK for your product on the website, that you will have to copy into your build process. We provide you all the steps and scripts which is a 2 minute process. We currently support Linux and Android, so you may have to use Yocto or AOSP builds for your end device. Our SDK will enable the unique product ID and few other items to enable OTA on your end device.
Our SDK is less intrusive in terms of memory and run-time of your builds, you can check it out with free registration to http://esomgears.e-consystems.com 🙂
4. eSOMgears-OTA Cloud SDK – REST API’s
In terms of cloud infrastructure ownership we have very flexible and customizable plans to suit your needs, you can write to us with queries to – email@example.com
If you would like to extend query structure, plumb to external and elaborate analytics, white labeling etc., we have several options. All this flexibility comes in-built from our ground up design and focus on reusable cloud APIs. If you want to completely re-write your HTML pages we offer REST APIs to our OTA infrastructure, you can also customize the login authentication mechanisms or authorization policies to suit your IT policy demands. Our design is very modular and flexible.
With almost a decade and half of experience in embedded space we have created a highly usable firmware upgrade solution for our customers understanding the real needs. Our system has tracing mechanisms to troubleshoot issues for specific firmware upgrades which is not covered in this blog. The whole solution is highly managed, secure and reliable allowing to scale up only by adding more instances in the cloud. If you are in the embedded space, you surely need a firmware upgrade solution and you are in the right spot, we understand embedded very well.