Erste Schritte mit MQTT
MQTT (MQ Telemetry Transport) ist eines der beliebtesten Messaging-Protokolle, das im Zusammenhang mit dem Internet der Dinge häufig eingesetzt wird. Das Protokoll basiert auf einem Publish/Subscribe-Muster. Bei High Mobility fungieren die Fahrzeuge als Sender (Publisher) und unsere Datenkunden übernehmen die Rolle der Empfänger (Subscriber). Die Verbindung wird durch den MQTT-Broker verwaltet. Um die Arbeit mit MQTT zu beginnen, empfehlen wir, die folgenden Schritte zu durchlaufen. Jeder zugrundeliegende Aspekt wird sowohl im Video unseres ersten Open Dev Talks als auch in diesem Blogbeitrag näher erläutert.
- Prüfen Sie die Verfügbarkeit mit unserem Datenkatalog
- Einrichten des MQTT-Clients
- Verbindung mit dem MQTT-Broker
- Abonnieren Sie die Fahrzeugdaten
Streaming-Verfügbarkeit
Bevor Sie mit der eigentlichen Integration beginnen, empfehlen wir Ihnen einen Blick in unseren Datenkatalog zu werfen, in dem alle verfügbaren Daten aufgeführt sind und erklärt wird, welche Daten über unsere bestehenden APIs abgerufen oder gepusht werden können. Das aktuelle Angebot kann sich von Marke zu Marke und in einigen Fällen auch in Bezug auf ICE- und Elektrofahrzeuge leicht unterscheiden. Sie können die Markenspalten gerne filtern, um herauszufinden, welche Datensätze und Anwendungsfälle von den ausgewählten OEMs unterstützt werden.
Die MQTT-API von High Mobility wird derzeit nur in unserer Live-Umgebung unterstützt. Folglich muss die entsprechende Anwendung eingereicht und genehmigt werden und die Flottenfreigabe bzw. die Zustimmung des Fahrers muss eingeholt werden, bevor die Datenströme der angeschlossenen Fahrzeuge genutzt werden können. Erfahren Sie mehr über diesen Prozess in unserem Open Dev Talk #1. Wir planen, die Testumgebung und ihre Simulationsfunktionen in Zukunft um Streaming-Funktionen zu erweitern.
Vorbereiten des MQTT-Clients
Unsere Schritt-für-Schritt-Dokumentation ist ein guter Ausgangspunkt, um sich mit unserem MQTT-Service vertraut zu machen: Der erste Schritt besteht darin, sich auf unserer High Mobility Plattform einzuloggen und zum Modul Live-Daten zu navigieren. Wenn Sie noch keinen Datencontainer für die Live-Daten-Nutzung erstellt haben, legen Sie bitte einen neuen an. Sie werden dann aufgefordert, einen Namen und Berechtigungen (Datenpunkte) festzulegen, die Sie später erhalten möchten. Um Live-Daten nutzen zu können, muss der App-Container eingereicht und aktiviert werden.
Wenn Sie bereits einen aktiven Datencontainer haben, können Sie direkt zum Abschnitt Zertifikate gehen. Klicken Sie auf die Schaltfläche "Plus", um einen neuen Satz von Berechtigungsnachweisen zu erstellen. Die zugehörigen Dateien werden als Zip-Paket auf Ihr lokales Gerät heruntergeladen.
Verbinden mit dem MQTT-Broker
Next up, you can use your preferred MQTT client software or library to connect to the MQTT by passing in the root certificate, client certificate and private key.
In our example, we utilise the terminal tool mosquito_sub and have prepared a code snippet in the documentation that can be easily adjusted to your own set of credentials. We have set the parameter –disable-clean-session and Quality of Service to 1 to not miss any message in case of unexpected or scheduled downtimes. The host needs to point to mqtt.high-mobility.com and the port is supposed to be 8883. Additionally, the path needs to be set to live/level13/<your-app-id>/# which contains the current data protocol version and your data container id that you can retrieve from our platform. The hashtag in the end is a wildcard representing all topics underneath that path.
Alle Platzhalter für die referenzierte Zertifizierungsstellendatei, das Datencontainer-Zertifikat und den jeweiligen privaten Schlüssel müssen durch die exakten Dateinamen Ihrer heruntergeladenen Zertifikatsdateien ersetzt werden. Der Identifikator für Ihren MQTT-Client sollte von der eindeutigen Dateinamen-ID abgeleitet werden, die in den Namen der Zertifikatsdateien enthalten ist.
Nach erfolgreicher Ausführung der Anfrage können Sie die offene Sitzung nutzen, um die Daten zu empfangen, die von aktiven Fahrzeugen erzeugt werden.
Abonnieren Sie Live-Fahrzeugdaten
Sobald neue Daten generiert werden, werden diese nun an Ihren MQTT-Client weitergeleitet. Da sich High Mobility auf personalisierte Fahrzeugdaten konzentriert, enthält jede eingehende Nachricht die Fahrgestellnummer, die für speziellere Anwendungsfälle auch pseudonymisiert werden kann. Bitte beachten Sie, dass es zu infrastrukturbedingten Latenzen kommen kann, aber da alle Nachrichten einen Zeitstempel enthalten, der erklärt, wann die Daten generiert wurden, werden Sie immer in der Lage sein, die korrekte historische Reihenfolge der Ereignisse zu rekonstruieren.
-------------------------------
Hochmobilität Offene Entwicklungsgespräche
Bei High Mobility sind wir leidenschaftlich an neuen Technologien interessiert. Wir bieten kostenlose Open-Source-Tools und eine entwicklerfreundliche Dokumentation, damit alle Projekte reibungslos integriert werden können. Mehr als 800 Entwickler und Produktmanager haben sich bereits für unsere moderierte Community-Plattform angemeldet und wir veranstalten Wettbewerbe für Ihre innovativen Ideen für vernetzte Fahrzeuge.
In unserem kostenlosen monatlichen, 30-minütigen Open Dev Talk erklären wir in 15 Minuten spannende Themen rund um Connected Cars und widmen die restliche Zeit Ihren Fragen und Ideen.
Treten Sie unserer Gemeinschaft auf Slack bei