Hawkbit – Installation

IoTUeli - Firmware Update over the air1

Firmware Update – Over-the-air

Es ist wichtig, dass Sie Geräte, wie z. B. das IoT-Gateway, aber auch die IoT-Steuerung, nachträglich mit der neusten Firmware ausgestattet werden. Dies erhöht die Sicherheit Ihrer Anlage!

Hierfür wurde auf dem IoT-Gateway und der IoT-Steuerung einen Hawkbit Client installiert.

Wie Hawkbit funktioniert, können Sie bei folgendem Beitrag sehen.

Ich werde Sie durch die komplette Installation führen. Wir werden zuerst einen Hawkbit-Server auf einem Linux-Server installieren. Die Installation werde ich lokal veranlassen, jedoch wäre es auch möglich, die Installation auf Ihrem Online-vServer oder Cloud-Anbieter zu integrieren.

Hawkbit-Server wird über ein Docker-compose File installiert, somit ist es wichtig, dass Docker und Docker-compose bereits auf Ihrem System installiert wurden, bevor Sie mit der Installation beginnen.

Auch ist es nötig, dass GIT auf Ihrem Linux-System installiert wurde, dieser Schritt, zeige ich Ihnen jedoch gleich zu Anfang.


Praxis Testaufbau

Mit dem Update verfahren von Hawkbit konnte ich 27 Gateways mit einem Klick in 15Minuten updaten!

Die Update-Dauer für z. B. 100 Gateways könnte in einem Zeitrahmen von ca. 15-25 Minuten durchgeführt werden.

Ich habe stand heute einen Hawkbit Server zusätzlich auf einer eigenen Cloudumgebung aufgesetzt, dadurch können die Geräte jetzt auch über das Internet upgedatet werden!

IoTUeli-Firmware-Update-over-the-air-Praxis

1. Hawkbit-Server auf Linux-Server installieren

Damit wir den obigen Web-Server von Hawkbit verwenden können, müssen wir folgende Installation durchführen.

Wir installieren den Service von Hawkbit mithilfe eines Docker-compose File, dieses wird von Hawkbit offiziell bereitgestellt.

1.1 Installation von GIT

sudo apt-get install git

1.2 Docker-compose file mithilfe von GIT auf Ihren Server Laden

sudo git clone https://github.com/eclipse/hawkbit.git

1.3 Verzeichnis wechseln

cd hawkbit/hawkbit-runtime/docker

Im Verzeichnis ~/hawkbit/hawkbit-runtime/docker$ ist das Docker-compose file abgelegt, dieses benötigen wir für die Installation.

1.4 Docker-compose File Installieren

sudo docker-compose up -d

Nach Ausführen dieses Kommandos, werden folgende Container installiert:

  • RabbitMQ
  • MYSQL
  • Hawkbit Management

Jetzt ist die Installation abgeschlossen, und Sie können den Web-Server von Hawkbit unter folgender URL aufrufen:

http://[IP-ADRESSE]:8080

Mit folgenden Anmeldedaten können Sie sich auf der Anmeldemaske anmelden:

Username: admin

Password: admin

Die Anmeldedaten können Sie direkt im Docker-compose File anpassen, für meinen Test habe ich dies jedoch nicht durchgeführt.

Ich gratuliere, Sie haben soeben einen Hawkbit-Server aufgesetzt!


2. Client in Hawkbit integrieren

WebServer – Hawkbit

  1. Klicken Sie hier auf das [ + ] Symbol
  2. Hier wird die Controller ID eingetragen (wird im nächsten Schritt erklärt, wie Sie zu dieser kommen)
  3. Geben Sie dem Gerät einen Namen
  4. Fügen Sie noch zusätzliche Informationen hinzu

Lassen Sie dieses Fenster geöffnet!


WebServer – IoT-Gateway

Öffnen Sie das Menu Settings und gehen klicken Sie danach auf Hawkbit settings

  1. Aktivieren Sie den Hawkbit client
  2. Tragen Sie hier die Server-IP von Hawkbit ein http://[IP-ADRESSE]:8080
  3. Diese Device-ID kopieren, diese wird im nächsten Schritt verwendet
  4. Der Tanent bleibt auf default
  5. Aktivieren Sie die Kommunikation mit einem Security-Token
  6. Wie Sie zum Security-Token gelangen, wird im nächsten Schritt erklärt

WebServer- Hawkbit

  1. Tragen Sie die hier die Device-ID ein, die Sie vom IoT-Gateway kopiert haben
  2. Fügen Sie ein Gerätename hinzu
  3. Zusätzliche Informationen helfen Ihnen, der Client besser zuzuordnen
  4. Klicken Sie auf SAVE, dadurch wird der Client in Hawkbit angelegt

WebServer- Hawkbit

  1. Nachdem das Gerät angelegt wurde, wird unten einen Security-Token erstellt, kopieren Sie diesen

WebServer – IoT-Gateway

  1. Nun können Sie den kopierten Security-Token eintragen
  2. Klicken Sie auf Apply, damit die Konfiguration abgeschlossen wird

WebServer – IoT-Gateway WebServer – Hawkbit

  1. Nun sollte der Hawkbit Status grün aufleuchten
  2. auch der Status auf Hawkbit sollte sich anpassen auf Grün oder blau
  3. Sofern alles korrekt funktionierte, sollten nun zusätzliche Angaben erscheinen

Nun ist das IoT-Gateway erfolgreich mit dem Hawkbit Server verbunden!


3. Firmware Update

Ohne Firmware können wir auch keine Updates durchführen, deswegen zeige ich in diesem Abschnitt, wie Sie dementsprechend eine Firmware hochladen können und diese auf das IoT-Gateway ausrollen können.

Wir wechseln nun im linken Menü zum Reiter Upload, damit wir mit dem Upload der Firmware beginnen können.

Danach können wir im Fenster Software Module auf das [ + ] Symbol klicken. Dadurch wird ein neues Softwaremodul erzeugt.

  1. Der Type wird auf OS gesetzt
  2. Definieren Sie einen Namen
  3. Geben Sie an, um welche FM Version es sich handelt
  4. Speichern Sie danach die Einstellungen

  1. Wir bleiben im Menüpunkt Upload
  2. Jetzt wählen Sie das Softwaremodul, dass Sie im vorherigen Schritt erstellt haben (GW30)
  3. Nun können Sie eine Datei mit Drag-and-Drop hochladen oder klicken Sie auf Upload File
  4. Wählen Sie danach, die gewünschte FM, die dem Softwaremodul GW30 hinzugefügt werden soll
  5. Klicken sie auf öffnen

  1. Sobald der Upload Prozess abgeschlossen ist, erschein der Status grün
  2. Schließen Sie jetzt dieses Fenster

  1. Nun sehen Sie, dass dem GW30 Softwaremodule eine Firmware hinterlegt wurde

  1. Wechseln Sie in den Menüpunkt System Config
  2. Dort ist es notwendig, dass Sie die Authentifizierung mit einem Security-Token aktivieren
  3. Speichern Sie die Einstellungen

  1. Wir wechseln zum Menüpunkt Distributions
  2. Wir erstellen eine neue Distribution, klicken Sie hierfür auf das [ + ] Symbol
  3. Der Type wird auf OS only gesetzt
  4. Definieren Sie einen Namen (IoT-Gateway)
  5. Geben Sie an, um welche Version es sich handelt
  6. Speichern Sie die Einstellungen ab

  1. Nun können Sie Ihr Softwaremodul einer Distribution zuordnen
  2. Wählen Sie das Softwaremodule an und ziehen Sie es mit Drag-and-Drop auf Punk 1
  3. Klicken Sie anschließend auf OK

Wir gehen nun wieder zum Menüpunkt Deployment, sofort fällt Ihnen auf, dass die hinzugefügte Distribution erscheint, mit dem hinterlegten Softwaremodule.

  1. Jetzt können Sie ein Gerät mit einer gewünschten Distribution updaten
  2. Ziehen Sie die Distribution mit Drag-and-drop auf das gewünschte Gerät
  3. Jetzt können Sie Update Bedingungen einsetzten, ich wähle Forced aus, dadurch wird das Update sofort durchgeführt
  4. Klicken Sie auf OK, um das Update Verfahren zu starten

  1. Nun wird der Status auf dem Gerät gelb, dadurch ist ersichtlich, dass dieses Gerät upgedatet wird
  2. Hier sehen Sie den aktuellen Stand des Update-Verfahrens, wenn das Update abgeschlossen ist, wechselt der Status von grau auf grün