{"id":2236,"date":"2018-01-22T19:46:26","date_gmt":"2018-01-22T14:16:26","guid":{"rendered":"http:\/\/localhost:8081\/system-on-module-som\/?p=2236"},"modified":"2024-03-19T13:39:08","modified_gmt":"2024-03-19T08:09:08","slug":"how-to-perform-a-firmware-update-over-the-airota-using-esomgears","status":"publish","type":"post","link":"https:\/\/www.e-consystems.com\/blog\/system-on-module-som\/how-to-perform-a-firmware-update-over-the-airota-using-esomgears\/","title":{"rendered":"How to perform a firmware update Over-The-Air(OTA) using eSOMgears"},"content":{"rendered":"<p class=\"western\"><span lang=\"en-US\">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.<\/span><\/p>\n<p class=\"western\"><span style=\"font-family: Times New Roman Bold, serif;\"><span lang=\"en-US\">Lets understand eSOMgears-OTA parts:<\/span><\/span><\/p>\n<p class=\"western\"><span style=\"font-family: Times New Roman Bold, serif;\"><span lang=\"en-US\">eSOMgears-OTA has four parts:<\/span><\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">1. eSOMgears-OTA SDK for device.<\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">2. eSOMgears-OTA front-end to add\/connect devices, push firmware updates, <\/span><span lang=\"en-US\">device analytics.<\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">3. eSOMgears-OTA SDK for your build machine.<\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">4. eSOMgears-OTA cloud SDK to build your own web-tools.<\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">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. <\/span><\/p>\n<p class=\"western\"><strong><span style=\"font-family: Times New Roman Bold, serif;\"><span lang=\"en-US\">1. eSOMgears device SDK<\/span><\/span><\/strong><\/p>\n<p class=\"western\"><span lang=\"en-US\">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:<\/span><\/p>\n<ul>\n<li>\n<p class=\"western\"><span lang=\"en-US\">Firmware update should be reliable.<\/span><\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p class=\"western\"><span lang=\"en-US\">Firmware update should be secure.<\/span><\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p class=\"western\"><span lang=\"en-US\">Firmware update as a standalone app or daemon app or integrated in main app.<\/span><\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p class=\"western\"><span lang=\"en-US\">Firmware update reporting to a central server.<\/span><\/p>\n<\/li>\n<\/ul>\n<p class=\"western\"><span style=\"font-family: Times New Roman Bold, serif;\"><span lang=\"en-US\">So when you build your product its your code and your prime focus is on your product feature development. <\/span><\/span><span lang=\"en-US\">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 <\/span><span style=\"font-family: Times New Roman Bold, serif;\"><span lang=\"en-US\">e-somgears.e-consystems.com<\/span><\/span><span lang=\"en-US\"> to get started.<\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">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 <\/span><span style=\"font-family: Times New Roman Bold, serif;\"><span lang=\"en-US\">used by device application developers in a product development team.<\/span><\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-2251 size-full\" src=\"https:\/\/www.e-consystems.com\/blog\/system-on-module-som\/wp-content\/uploads\/2018\/01\/eSOMgears-1.jpg\" alt=\"checking for updates\" width=\"1007\" height=\"566\" srcset=\"https:\/\/www.e-consystems.com\/blog\/system-on-module-som\/wp-content\/uploads\/2018\/01\/eSOMgears-1.jpg 1007w, https:\/\/www.e-consystems.com\/blog\/system-on-module-som\/wp-content\/uploads\/2018\/01\/eSOMgears-1-267x150.jpg 267w, https:\/\/www.e-consystems.com\/blog\/system-on-module-som\/wp-content\/uploads\/2018\/01\/eSOMgears-1-768x432.jpg 768w, https:\/\/www.e-consystems.com\/blog\/system-on-module-som\/wp-content\/uploads\/2018\/01\/eSOMgears-1-658x370.jpg 658w, https:\/\/www.e-consystems.com\/blog\/system-on-module-som\/wp-content\/uploads\/2018\/01\/eSOMgears-1-354x200.jpg 354w\" sizes=\"(max-width: 1007px) 100vw, 1007px\" \/><\/p>\n<p class=\"western\"><span lang=\"en-US\">If you have any questions or want to know more send us an email on esomgears@e-consystems.com<\/span><\/p>\n<p class=\"western\"><strong><span style=\"font-family: Times New Roman Bold, serif;\"><span lang=\"en-US\">2. eSOMgears front-end<\/span><\/span><\/strong><\/p>\n<p class=\"western\"><span style=\"font-family: Times New Roman Bold, serif;\"><span lang=\"en-US\">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 \ud83d\ude42<\/span><\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">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:<\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">1. Device analytics<\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">2. Firmware management<\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">3. Device management<\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">4. Product management<\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">One has to login to <\/span><span style=\"color: #000080;\"><u>https:\/\/esomgears.e-consystems.com<\/u><\/span><span lang=\"en-US\"> to view the above items.<\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">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. <\/span><span style=\"font-family: Times New Roman Bold, serif;\"><span lang=\"en-US\">Your devices should not be bothered when they perform their main product functions<\/span><\/span><span lang=\"en-US\">, so we had these key points in consideration while building the analytics. We don&#8217;t poll continuously draining its performance. <\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">We display basic analytics but that could be further extended by customers with our REST API&#8217;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.<\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">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.,<\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">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.<\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">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.,<\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">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.<\/span><\/p>\n<p class=\"western\"><strong><span lang=\"en-US\">3<\/span><span style=\"font-family: Times New Roman Bold, serif;\"><span lang=\"en-US\">. eSOMgears-OTA build SDK<\/span><\/span><\/strong><\/p>\n<p class=\"western\"><span lang=\"en-US\">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. <\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">Our SDK is less intrusive in terms of memory and run-time of your builds, you can check it out with free registration to <\/span><span style=\"color: #000080;\"><span lang=\"zxx\"><u>http:\/\/esomgears.e-consystems.com<\/u><\/span><\/span><span lang=\"en-US\"> \ud83d\ude42<\/span><\/p>\n<p class=\"western\"><strong><span lang=\"en-US\">4<\/span><span style=\"font-family: Times New Roman Bold, serif;\"><span lang=\"en-US\">. eSOMgears-OTA Cloud SDK &#8211; REST API<\/span><\/span><span lang=\"en-US\">\u2019<\/span><span style=\"font-family: Times New Roman Bold, serif;\"><span lang=\"en-US\">s<\/span><\/span><\/strong><\/p>\n<p class=\"western\"><span lang=\"en-US\">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 &#8211; <\/span><span style=\"color: #000080;\"><span lang=\"zxx\"><u><a href=\"mailto:esomgears@e-conystems.com\">esomgears@e-conystems.com<\/a><\/u><\/span><\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">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 API<\/span><span lang=\"en-US\">s. If you want to completely re-write your HTML pages we offer REST API<\/span><span lang=\"en-US\">s 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.<\/span><\/p>\n<p class=\"western\"><strong><span lang=\"en-US\">Summary<\/span><\/strong><\/p>\n<p class=\"western\"><span lang=\"en-US\">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. <\/span><\/p>\n<p class=\"western\"><span lang=\"en-US\">Please feel free to write to us at <\/span><span style=\"color: #000080;\"><span lang=\"zxx\"><u><a href=\"mailto:esomgears@e-consystems.com\">esomgears@e-consystems.com<\/a><\/u><\/span><\/span><span lang=\"en-US\"> or try our solution for free at <\/span><span style=\"color: #000080;\"><span lang=\"zxx\"><u><span lang=\"en-US\">https:\/\/esomgears.e-consystems.com<\/span><\/u><\/span><\/span><span lang=\"en-US\"> or visit <\/span><span style=\"color: #000080;\"><span lang=\"zxx\"><u><a href=\"https:\/\/www.e-consystems.com\/blog\/system-on-module-som\/tag\/ota\/\"><span lang=\"en-US\">esomgears-blogs<\/span><\/a><\/u><\/span><\/span><span lang=\"en-US\">.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We have built a robust firmware update system eSOMgears-OTA for our ARM based SOM devices&#8230;.<\/p>\n","protected":false},"author":17,"featured_media":2707,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[212,213,342,195,343,340,341],"tags":[349,353,354,362,392,380,344,352,381,379,390],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.e-consystems.com\/blog\/system-on-module-som\/wp-json\/wp\/v2\/posts\/2236"}],"collection":[{"href":"https:\/\/www.e-consystems.com\/blog\/system-on-module-som\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.e-consystems.com\/blog\/system-on-module-som\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.e-consystems.com\/blog\/system-on-module-som\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/www.e-consystems.com\/blog\/system-on-module-som\/wp-json\/wp\/v2\/comments?post=2236"}],"version-history":[{"count":7,"href":"https:\/\/www.e-consystems.com\/blog\/system-on-module-som\/wp-json\/wp\/v2\/posts\/2236\/revisions"}],"predecessor-version":[{"id":3006,"href":"https:\/\/www.e-consystems.com\/blog\/system-on-module-som\/wp-json\/wp\/v2\/posts\/2236\/revisions\/3006"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.e-consystems.com\/blog\/system-on-module-som\/wp-json\/wp\/v2\/media\/2707"}],"wp:attachment":[{"href":"https:\/\/www.e-consystems.com\/blog\/system-on-module-som\/wp-json\/wp\/v2\/media?parent=2236"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.e-consystems.com\/blog\/system-on-module-som\/wp-json\/wp\/v2\/categories?post=2236"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.e-consystems.com\/blog\/system-on-module-som\/wp-json\/wp\/v2\/tags?post=2236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}