← Alle Projekte
Berufliches Projekt
FirmwareWirelessKommunikationEmbeddedC

Bluetooth-Integration für ein industrielles Messgerät

Weiterentwicklung der Embedded-C-Firmware einer Bluetooth-Schnittstelle in einem industriellen Restgas- und Druckmessgerät als zuverlässige drahtlose Alternative zur bestehenden seriellen Verbindung.

Illustration eines industriellen Restgas- und Druckmessgeräts, das drahtlos über Bluetooth mit einem Laptop kommuniziert, der Live-Messdaten anzeigt
  • Teilweise funktionsfähige Bluetooth-Implementierung in einem bestehenden Messgerät übernommen und weiterentwickelt
  • Kommunikationsstabilität, Initialisierung, Verbindungsbehandlung und Fehlerbehebung verbessert
  • Drahtlose Kommunikation transparent in das bestehende proprietäre Geräteprotokoll integriert
  • Bestehende PC-Software konnte über einen virtuellen COM-Port drahtlos mit dem Messgerät kommunizieren

Ausgangssituation

Ein industrielles Messgerät zur Restgasanalyse und Druckmessung nutzte eine zentrale Controllerplatine, um die Kommunikation zwischen den internen Elektronikbaugruppen sowie mit externen Systemen zu koordinieren. Dazu gehörte unter anderem ein PC mit der Software zur Anzeige und Auswertung der Messdaten.

Für Anwendungen wie Laboraufbauten benötigten einige Kunden eine kabellose Verbindung zwischen Messgerät und PC. Bluetooth war deshalb als zusätzliche Kommunikationsmöglichkeit neben den bestehenden kabelgebundenen seriellen Schnittstellen vorgesehen.

Die Hardware war bereits für ein Microchip RN42-I/RM Bluetooth-2.1+EDR-Modul ausgelegt. Ich übernahm das Projekt zu einem Zeitpunkt, an dem die Bluetooth-Implementierung bereits teilweise funktionierte, jedoch noch Kommunikations- und Verbindungsprobleme aufwies.

Meine Verantwortung

Mein Schwerpunkt lag auf der Embedded-Firmware und darauf, die bestehende Bluetooth-Funktionalität robuster und zuverlässiger zu machen.

Auf einem AT91SAM7-Mikrocontroller überarbeitete und erweiterte ich Teile der in C implementierten Schnittstelle zum Bluetooth-Modul. Weitere Teile der Implementierung stammten von bzw. entstanden gemeinsam mit anderen Entwicklern im Team.

Meine Arbeiten umfassten Verbesserungen bei:

  • Initialisierung und Konfiguration des Moduls
  • UART-Kommunikation
  • Behandlung von Verbindungszuständen
  • asynchronen Antworten des Bluetooth-Moduls
  • Timeouts und Wiederholungsversuchen
  • Kommunikationsfehlern
  • Wiederherstellung unterbrochener Verbindungen
  • Aktivierung und Deaktivierung der Bluetooth-Schnittstelle

Zusätzlich prüfte ich, ob das ausgewählte Bluetooth-Modul weiterhin für die Produktion verfügbar war. Die Hardware- und PCB-Integration des Moduls war bereits vor meiner Übernahme des Projekts entwickelt worden.

Kommunikationsarchitektur

Das Messgerät verwendete bereits ein proprietäres Protokoll für die Kommunikation mit der PC-Software. Anstatt für Bluetooth ein separates Anwendungsprotokoll einzuführen, wurde das bestehende Geräteprotokoll über die Bluetooth-Verbindung übertragen.

Der Kommunikationspfad war damit im Wesentlichen:

Geräteprotokoll → UART → RN42 Bluetooth-Modul → Bluetooth → virtueller COM-Port → PC-Software

Auf dem PC erschien die Bluetooth-Verbindung als serielle COM-Schnittstelle. Dadurch konnte die bestehende Messsoftware nahezu genauso mit dem Gerät kommunizieren wie über eine Kabelverbindung, ohne dass eine separate Bluetooth-spezifische Schnittstelle in der PC-Anwendung erforderlich war.

Über diese Verbindung wurden unter anderem Messdaten der Restgasanalyse, Druckwerte, Statusinformationen und Fehlermeldungen übertragen. Gleichzeitig konnten Konfigurationsbefehle an das Gerät gesendet werden, beispielsweise zum Setzen von Warnschwellen oder zur Steuerung der verfügbaren Kommunikationsschnittstellen.

Integration in bestehende Schnittstellen

Bluetooth war als zusätzliche Kommunikationsmöglichkeit vorgesehen und ersetzte die vorhandenen kabelgebundenen Schnittstellen nicht.

Die Firmware musste die drahtlose Verbindung deshalb in die bestehende Kommunikationsarchitektur integrieren und gleichzeitig die vorhandenen seriellen Schnittstellen, darunter RS232 und RS485, weiterhin unterstützen.

Ein Teil meiner Arbeit bestand darin, die Steuerung der Bluetooth-Schnittstelle selbst zu verbessern. Nach der Initialisierung blieb das Modul standardmäßig deaktiviert und konnte anschließend bei Bedarf über die Kommunikations- und Konfigurationslogik des Geräts aktiviert werden.

Verbesserung der Zuverlässigkeit

Die technische Aufgabe bestand nicht darin, Bluetooth in einem neuen System von Grund auf zu implementieren. Stattdessen übernahm ich eine teilweise funktionierende Lösung und beseitigte Schwachstellen, die einen zuverlässigen Betrieb beeinträchtigten.

Ich überarbeitete Teile der bestehenden Firmware, um die Kommunikation robuster zu machen und Verbindungsfehler zu reduzieren. Dazu gehörten eine konsistentere Behandlung von Modulantworten und Verbindungszuständen, ein verbessertes Timeout- und Fehlerverhalten sowie die zuverlässige Wiederherstellung nach einer unterbrochenen Funkverbindung.

Dadurch entstand ein stabilerer Bluetooth-Kommunikationspfad, der sich aus Sicht der bestehenden PC-Software transparent in das vorhandene System einfügte.

Ergebnis

Die überarbeitete Integration ermöglichte dem Messgerät eine zuverlässige drahtlose Alternative zu den bestehenden seriellen Kabelverbindungen.

Kunden konnten das Gerät über Bluetooth mit einem PC verbinden und die bestehende Mess- und Anzeigesoftware über einen virtuellen COM-Port weiterverwenden. Messwerte, Druckdaten, Statusinformationen, Fehlermeldungen und Konfigurationsbefehle konnten damit drahtlos übertragen werden, ohne das etablierte Kommunikationskonzept auf der PC-Seite zu verändern.

Für mich steht dieses Projekt vor allem für die Übernahme eines bestehenden Embedded-Systems, das Verständnis seiner Kommunikationsarchitektur und die gezielte Verbesserung einer teilweise funktionsfähigen Implementierung, bis sie sich zuverlässig in das Gesamtprodukt integrierte.

Technologien

C AT91SAM7 Microchip RN42-I/RM Bluetooth 2.1 + EDR UART Virtueller COM-Port Proprietäres Protokoll RS232 RS485 Embedded Firmware