SlideShare a Scribd company logo
Eclipse Hara
Updating Embedded Devices with hawkBit Made Easy
Matteo Di Pirro & Nicola La Gloria
Kynetics LLC - Santa Clara, CA
Agenda
● Who we are
● A glance at Eclipse hawkBit
● Eclipse Hara
● Native Services
● Virtual Devices
● Hara 2022 Enhancements
● Conclusion
About us
● We provide OSes and Applications for embedded systems
○ Android
○ Open Embedded
● UpdateFactory
○ Software as a Service to update remote devices at scale
○ Based on Eclipse hawkBit
● Members of the Eclipse Foundation
○ Maintainers of Project Hara
○ IoT Working group
○ Edge Native Working Group & Edge Native Steering Committee
1/12
Eclipse hawkBit: helicopter view
2/12
Why project Hara
● hawkBit provides solid backend/API but no client implementation
○ Need for hawkBit client supporting update workflows
● Linux devices already taken care of
○ SWUpdate
○ RAUC + hawkBit Updater
● Internal design of an Android hawkBit client
○ Upon DDI API
○ Customer deployments
● Need for a JVM-based OS-agnostic reusable library
3/12
Eclipse Hara: helicopter view
● Kotlin library to speed up the development of hawkBit DDI native clients
● OS independent
● Architecture dependent
○ Based on JVM (available for many architectures)
● Agnostic with respect to the update artifacts (apps, OS OTA, …)
● Designed to facilitate the integration of native update Services
4/12
hawkBit & Hara: the full picture
5/12
Eclipse Hara: use cases
● Download artifacts from the server
● Provide feedback
● Send device attributes
● Ask for pending actions
6/12
Eclipse Hara: internals
● ddi-consumer
○ Implementation of a REST client for DDI API
● hara-ddclient-api
○ Interfaces towards the Update Server
○ Actor-based
● virtual-device
○ Simple app using hara-ddiclient-api
○ Reference implementation
7/12
Native Service and Consumer
● Service
○ Wrapper around the DDI logic
○ Runs in background
○ OS-dependent
○ Contains target device’s update logic
● Consumer (App)
○ Application should interact with Service
(monitoring, configuration, …)
8/12
Service and Application drive the update logic!
● User experience
● Outages/timeouts handling
● Single/double copy updates
● Updates of the native service itself
● Error handling
9/12
Hara and virtual devices
Pings
Runs
Virtual
Devices
Pool
10/12
Video
11/12
Hara latest enhancements (Oct 2022)
● Schedule the download and application of an update for both soft and forced
● Configure the number of download attempts and the time between such
attempts
○ Android Client implements this feature with exponential back-off
● Verbose messages from the client to the Update Server
○ Reason of failure
○ Time to the next attempt
● Target Attributes sent at every polling if
○ They are actually updated
○ Server requests, explicitly, to receive the target attributes
Conclusion
Updating embedded devices made easy
1. DDI logic separated from device-specific Service
○ Easy to create custom Native Services
2. Testing with multiple (virtual) devices
○ No need for physical boards
12/12
Let’s increase clients availability
to spread the use of hawkBit!
Thank you
Matteo Di Pirro
matteo.dipirro@kynetics.com
Nicola La Gloria
nicola.lagloria@kynetics.com
Useful Links
● https://projects.eclipse.org/projects/iot.hawkbit.hara
● https://github.com/eclipse/hara-ddiclient
● https://www.eclipse.org/hawkbit/
● https://www.kynetics.com
● https://github.com/kynetics

More Related Content

PDF
Deploy Eclipse hawBit in Production
PDF
Recap: Windows Server 2019 Failover Clustering
PDF
これだけ差が出るソース側重複排除【Veeam v9新機能】
PDF
How to build a Kubernetes networking solution from scratch
PPT
Firewall
 
PDF
kubernetes - minikube - getting started
PDF
Docker Advanced registry usage
PDF
Boosting I/O Performance with KVM io_uring
Deploy Eclipse hawBit in Production
Recap: Windows Server 2019 Failover Clustering
これだけ差が出るソース側重複排除【Veeam v9新機能】
How to build a Kubernetes networking solution from scratch
Firewall
 
kubernetes - minikube - getting started
Docker Advanced registry usage
Boosting I/O Performance with KVM io_uring

What's hot (20)

PDF
Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...
PDF
톰캣 운영 노하우
PDF
Prometheus on NKS
PDF
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(2)-セッション
PPTX
週末趣味のAWS Transit Gatewayでの経路制御
PDF
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
PDF
Open stack networking vlan, gre
PDF
BPF & Cilium - Turning Linux into a Microservices-aware Operating System
PDF
Treinamento Docker Básico
PDF
Control your service resources with systemd
PPTX
Docker Security workshop slides
PDF
Introduction to docker
PDF
OSSを活用したIaCの実現
PDF
さくらのクラウド基礎知識
PDF
Kongの概要と導入事例
PDF
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
PDF
GitOps with ArgoCD
PDF
Troubleshooting Wireless LANs with Centralized Controllers
PPTX
Modern Linux Tracing Landscape
PDF
Alphorm.com Formation VirtualBox
Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...
톰캣 운영 노하우
Prometheus on NKS
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(2)-セッション
週末趣味のAWS Transit Gatewayでの経路制御
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
Open stack networking vlan, gre
BPF & Cilium - Turning Linux into a Microservices-aware Operating System
Treinamento Docker Básico
Control your service resources with systemd
Docker Security workshop slides
Introduction to docker
OSSを活用したIaCの実現
さくらのクラウド基礎知識
Kongの概要と導入事例
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
GitOps with ArgoCD
Troubleshooting Wireless LANs with Centralized Controllers
Modern Linux Tracing Landscape
Alphorm.com Formation VirtualBox
Ad

More from Kynetics (11)

PDF
Can we adopt Eclipse IoT projects on Android Embedded Devices_.pdf
PDF
Orchestrated Android-Style System Upgrades for Embedded Linux
PDF
ELC2019 - Poster - Update Anything
PDF
Heterogeneous multiprocessing on androd and i.mx7
PDF
Eclipse Iot Day 2018 Presentation
PDF
AMP Kynetics - ELC 2018 Portland
PDF
Eclipsecon 2017 presentation
PDF
Using Java on Wearable Devices featuring an Hybrid Architecture.
PDF
Deploy Small IoT Embedded SOC Devices and a Back-End Platform with Java, usin...
PDF
Reactive IoT, Java One 2016
PDF
Linaro Connect 2017 - Presentation - Kynetics
Can we adopt Eclipse IoT projects on Android Embedded Devices_.pdf
Orchestrated Android-Style System Upgrades for Embedded Linux
ELC2019 - Poster - Update Anything
Heterogeneous multiprocessing on androd and i.mx7
Eclipse Iot Day 2018 Presentation
AMP Kynetics - ELC 2018 Portland
Eclipsecon 2017 presentation
Using Java on Wearable Devices featuring an Hybrid Architecture.
Deploy Small IoT Embedded SOC Devices and a Back-End Platform with Java, usin...
Reactive IoT, Java One 2016
Linaro Connect 2017 - Presentation - Kynetics
Ad

Recently uploaded (20)

PDF
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Cost to Outsource Software Development in 2025
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PDF
17 Powerful Integrations Your Next-Gen MLM Software Needs
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Transform Your Business with a Software ERP System
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
assetexplorer- product-overview - presentation
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PPTX
Patient Appointment Booking in Odoo with online payment
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Salesforce Agentforce AI Implementation.pdf
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PDF
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
How to Choose the Right IT Partner for Your Business in Malaysia
Operating system designcfffgfgggggggvggggggggg
Cost to Outsource Software Development in 2025
Why Generative AI is the Future of Content, Code & Creativity?
17 Powerful Integrations Your Next-Gen MLM Software Needs
L1 - Introduction to python Backend.pptx
Transform Your Business with a Software ERP System
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
wealthsignaloriginal-com-DS-text-... (1).pdf
Advanced SystemCare Ultimate Crack + Portable (2025)
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
assetexplorer- product-overview - presentation
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
Patient Appointment Booking in Odoo with online payment
Wondershare Filmora 15 Crack With Activation Key [2025
Salesforce Agentforce AI Implementation.pdf
Design an Analysis of Algorithms II-SECS-1021-03
Oracle Fusion HCM Cloud Demo for Beginners
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf

Eclipse Hara, Updating Embedded Devices with hawkBit Made Easy

  • 1. Eclipse Hara Updating Embedded Devices with hawkBit Made Easy Matteo Di Pirro & Nicola La Gloria Kynetics LLC - Santa Clara, CA
  • 2. Agenda ● Who we are ● A glance at Eclipse hawkBit ● Eclipse Hara ● Native Services ● Virtual Devices ● Hara 2022 Enhancements ● Conclusion
  • 3. About us ● We provide OSes and Applications for embedded systems ○ Android ○ Open Embedded ● UpdateFactory ○ Software as a Service to update remote devices at scale ○ Based on Eclipse hawkBit ● Members of the Eclipse Foundation ○ Maintainers of Project Hara ○ IoT Working group ○ Edge Native Working Group & Edge Native Steering Committee 1/12
  • 5. Why project Hara ● hawkBit provides solid backend/API but no client implementation ○ Need for hawkBit client supporting update workflows ● Linux devices already taken care of ○ SWUpdate ○ RAUC + hawkBit Updater ● Internal design of an Android hawkBit client ○ Upon DDI API ○ Customer deployments ● Need for a JVM-based OS-agnostic reusable library 3/12
  • 6. Eclipse Hara: helicopter view ● Kotlin library to speed up the development of hawkBit DDI native clients ● OS independent ● Architecture dependent ○ Based on JVM (available for many architectures) ● Agnostic with respect to the update artifacts (apps, OS OTA, …) ● Designed to facilitate the integration of native update Services 4/12
  • 7. hawkBit & Hara: the full picture 5/12
  • 8. Eclipse Hara: use cases ● Download artifacts from the server ● Provide feedback ● Send device attributes ● Ask for pending actions 6/12
  • 9. Eclipse Hara: internals ● ddi-consumer ○ Implementation of a REST client for DDI API ● hara-ddclient-api ○ Interfaces towards the Update Server ○ Actor-based ● virtual-device ○ Simple app using hara-ddiclient-api ○ Reference implementation 7/12
  • 10. Native Service and Consumer ● Service ○ Wrapper around the DDI logic ○ Runs in background ○ OS-dependent ○ Contains target device’s update logic ● Consumer (App) ○ Application should interact with Service (monitoring, configuration, …) 8/12
  • 11. Service and Application drive the update logic! ● User experience ● Outages/timeouts handling ● Single/double copy updates ● Updates of the native service itself ● Error handling 9/12
  • 12. Hara and virtual devices Pings Runs Virtual Devices Pool 10/12
  • 14. Hara latest enhancements (Oct 2022) ● Schedule the download and application of an update for both soft and forced ● Configure the number of download attempts and the time between such attempts ○ Android Client implements this feature with exponential back-off ● Verbose messages from the client to the Update Server ○ Reason of failure ○ Time to the next attempt ● Target Attributes sent at every polling if ○ They are actually updated ○ Server requests, explicitly, to receive the target attributes
  • 15. Conclusion Updating embedded devices made easy 1. DDI logic separated from device-specific Service ○ Easy to create custom Native Services 2. Testing with multiple (virtual) devices ○ No need for physical boards 12/12
  • 16. Let’s increase clients availability to spread the use of hawkBit! Thank you Matteo Di Pirro matteo.dipirro@kynetics.com Nicola La Gloria nicola.lagloria@kynetics.com
  • 17. Useful Links ● https://projects.eclipse.org/projects/iot.hawkbit.hara ● https://github.com/eclipse/hara-ddiclient ● https://www.eclipse.org/hawkbit/ ● https://www.kynetics.com ● https://github.com/kynetics