element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
In the Air Design Challenge
  • Challenges & Projects
  • Design Challenges
  • In the Air Design Challenge
  • More
  • Cancel
In the Air Design Challenge
Blog [Air ex Machina] #07 Device Managment - OTA update
  • Blog
  • Forum
  • Documents
  • Polls
  • Files
  • Events
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: nikil511
  • Date Created: 1 Mar 2015 9:13 PM Date Created
  • Views 851 views
  • Likes 2 likes
  • Comments 3 comments
  • kura
  • leshan
  • eclipse
  • int_the_air
  • air_ex_machina
  • resin.io
  • iot
  • xen
  • wakaama
  • hypervisor
  • ota
Related
Recommended

[Air ex Machina] #07 Device Managment - OTA update

nikil511
nikil511
1 Mar 2015

One of, the most important aspects for an IoT solution, in my point of view, is device management, and more specifically the ability to receive over the air firmware updates (OTA). If OTA works, all other problems can be potentially solved.


My architecture in the [Air ex Machina] project, consists of the following layers:

  • backend, cloud based system. (e.g. airvantage)
    • gateway - integration platform (e.g. openhab on BBB)
      • sensor device (e.g. freeRTOS application on CC3200)


Cloud based systems are remote managed/updated by design, so the challenge is on the other layers. I have explored various approaches for solving this problem without having to reinvent the wheel, and I think it’s interesting to discuss the following ones:


  • Resin.io
  • Xen hypervisor / Mirage OS
  • Eclipse Kura, Leshan, Wakaama and lwM2M


Resin.io is a really cool startup, trying to solve both device managment problems and simplify code push / application update, on RPi/BBB/NUC hardware. They use docker containers to encapsulate the application on the end devices. I have been experimenting with their platform and it works great. So the idea here is that one could launch openhab on BBB as a docker container, through resin, and hence efficiently manage the gateway remotely.

I did not have time to test it, but I am guessing that a combination of these two should work:

https://registry.hub.docker.com/u/tdeckers/openhab/

https://registry.hub.docker.com/u/armv7/armhf-ubuntu/

By the way, resin and openhab are both partners of canonical on Snappy Ubuntu Core, so I expect to see great things coming from there..


A hypervisor could also be exploited to provide device management, running openhab within a VM. I think, this idea could work very nice with Intel NUC and VMware’s Hypervisor, but when going on a BBB (or lower) virtualization might not be so easy. However it seems with Xen this could be possible, since it does run on ARMv7 http://wiki.xenproject.org/wiki/Xen_ARMv7_with_Virtualization_Extensions

Xen has a very rich ecosystem so there must be many management tools/cloud fronts that could act as the manager-server which controls the BBB with the VM containing openhab. I am guessing that when a small change in a file takes place, a new VM image will have to get pushed, which is a disadvantage, but possibly Mirage (and Irmin?), might be able help in reducing the VM to only the necessary components of the OS along with the application. There is an interesting relevant project called http://nymote.org which might provide such solution in the future among with solving connectivity issues between devices. If this approach is adopted for IoT, there will definitely be an interesting debate on docker containers vs hypervisors :-)


Finally, one can solve device management for both gateway and microcontrollers, by utilizing some (new) Eclipse IoT projects which are designed exactly for that.

Here is a nice overview of what's available: End-to-end IoT solutions with Java and Eclipse IoT


Kura is a Java/OSGi-based framework for IoT gateways you should definitely check out. It basicly has (almost) all the features that I could ask, for remote managment. Has APIs for hardware communication (serial ports, GPS, watchdog, GPIOs, I2C, etc.), management of network configurations, communication with M2M/IoT Integration Platforms, and overall gateway management.

image

image

and there is support for beaglebone

http://eclipse.github.io/kura/doc/beaglebone-quick-start.html

https://eclipse.org/kura/downloads.php


Kura provides a web interface, were you can control your BBB and you can upload you application as an equinox OSGi bundle. So theoretically, if you load all the OSGi bundles of openhab in to it, you will be able to have openhab running within Kura. Not very practical though, so I hope Eclipse Smarthome takes Kura into account, (or vise versa) so we can have best of both worlds :-)


Going a layer lower at CC3200, two very promising eclipse projects which I am sure IoT developers will use in the future (when OTA becomes even more nessesary) are Eclipse Leshan & Wakaama. They are OMA Lightweight M2M (LWM2M) server/client implementations in Java and C.

This is how the Leshan web interface looks like:

image


So one can have Leshan running on BBB, and wakaama running on CC3200 compiled together with the end application. This provides usefull data of CC3200 to BBB, but more importantly a mechanism for over the air updates, to the CC3200.
Unfortunately, there is no CC3200 port of Wakaama yet, but it should not be that difficult to port, so I guess it’s only a matter of time.


I definitely recommend looking in to Benjamin Cabé's blog, for more details: http://blog.benjamin-cabe.com/

  • Sign in to reply
Parents
  • ipv1
    ipv1 over 10 years ago

    It might interest you to know that the cc3200 is capable of OTA updates BUT on newer chips. The chips on the kits are early releases and do not support thisupdate which camew in December last year.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • nikil511
    nikil511 over 10 years ago in reply to ipv1

    yes, I know, however I am looking for standardized tools to utilize OTA from the other end (e.g. gateway/cloud) as easy and efficiently as possible, including device managment. What do you think of lwM2M ?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • ipv1
    ipv1 over 10 years ago in reply to nikil511

    Lwm2m has a lot of potential but needs a bit of work. Hardware like BBB and RPi will prolly be the first to get there since they are more wide spread these days.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Comment
  • ipv1
    ipv1 over 10 years ago in reply to nikil511

    Lwm2m has a lot of potential but needs a bit of work. Hardware like BBB and RPi will prolly be the first to get there since they are more wide spread these days.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube