1

I am new to hawkbit and I want to test things out a little bit, I am trying to eclipse hawkbit to the company I work in as an intern. There are a few things I understand and a few things I do not understand. I would really appreciate it if someone could explain how the DDI Direct Device Integration works in simple terms: On the hawkbit official website I read about it but I do not understand how I can connect my Raspberry Pi for example as a target in the management UI:

  1. What I have: Hawkbit running completely fine (Simulator, RabbitMQ, MySQL and Hawkbit update server in docker containers). I played around with the simulator seems to be working fine.

  2. What I need to know: How do i connect a device to the management UI as a target so i can rollout updates(DDI)? What commands do I have to use specifically(the curl commands for example and the header)I could really use a screenshot or an example on how the header and authorization token is done through the HTTP GET request. (I hope i am making sense) Last question: Do I make a client programm(like a python application) to run the updates(Please explain to me how this should exactly work)

There is lovely content on the official website and the github page to answer my questions but i read it and I am not able to figure it out 100%. Therefore I am here asking questions. Screenshots, example snippets, explanation would be much appreciated Thank you

1 Answers1

2

Starting with the last part of your question, yes you will need some kind of client programm to run updates on your device. HawkBit itself only provides the server side service to manage the updates and assign them to devices. As the use cases on client side vary a lot hawkBit does not take assumption about the update content and process. The devices need to use the APIs to check for updates and can download them if offered, but they are in charge of handling the update process (e.g. unpack, copy the files to a directory, install firmware, but this all is client specific). There are update client solutions that are compatible with hawkBit itself though you can find a small collection on the hawkbit GitHub page, see here.

Regarding the first part of your question, for a good first overview of the update process there is a hawkBit101 tutorial, see here (you can navigate between slides using arrow keys or hjkl). It provides an introduction into the basic concept and also dynamic snippets to be executed in curl (note the curl2clipboard links) or a REST client. You can also execute them on your Pi (just adapt the hostname to point to your hawkbit machine instead of localhost). Also keep the hawkBit DDI API documentation at hand in case of the need for further details.

  • Thank you very much for the support, The link to hawkbit 101 tutorial just leads me to a page with only a picture thats it, click on it for yourself and please check. but nevertheless thank you very much for clarifying the update client prospects – Kevin Lofton Jul 15 '21 at 09:09
  • @KevinLofton The linked tutorial is a reveal.js presentation it can be navigated with the arrow keys (or hjkl). Sorry my bad, maybe I should have made it clear in the firstplace. – Alexander Dobler Jul 15 '21 at 12:08
  • No I think we al know that was kind of common sense, my bad haha Thanks a lot for a fast response – Kevin Lofton Jul 15 '21 at 12:29