Elektroniknet Logo

Robuste Kommunikation

SDI-12 für IoT im Outdoor-Einsatz

IIoT-Geräte und Sensoren im Außeneinsatz benötigt man Batterien. Für einen sparsamen und langen Betrieb unter rauen Bedingungen feiert ein Protokoll-Dino sein Comeback: SDI-12 bildet gemeinsam mit LTE-M und Bluetooth 5 einen idealen Dreiklang
© Shutterstock

IIoT-Geräte und -Sensoren brauchen Strom, um Daten zu übermitteln. Im Außeneinsatz heißt das zwangsläufig: Batterien. Für einen sparsamen und langen Betrieb unter rauen Bedingungen feiert ein Protokoll-Dino sein Comeback: SDI-12 bildet gemeinsam mit LTE-M und Bluetooth 5 einen idealen Dreiklang.

Der Feldbus wird meist mit etablierten Systemen aus dem industriellen Produktionsbereich wie z.B. Modbus, CAN oder anderen – oft RS485-basierten – Systemen assoziiert. Aufgrund der Komplexität und des Energieverbrauchs sind die etablierten Systeme für das Internet der Dinge (IoT) jedoch nicht immer die beste Wahl. Gerade im Außeneinsatz werden IoT-Geräte meist mit Batterien versorgt, etwa zur Messung von Umweltparametern. Auch werden meist nur Sensoren verwendet, Aktoren spielen im batterieversorgten IoT nur eine untergeordnete Rolle und werden oft direkt an das IoT-Gerät angeschlossen, etwa ein Blinklicht für Alarmzustände.

Anbieter zum Thema

zu Matchmaker+
Ein IoT-Projekt zur Felsüberwachung im Walliser Gebirge, Schweiz – das LTE-M-Netz ist bestens, aber der Ort selbst für Bergsteiger nur schwer erreichbar
Bild 1. Ein IoT-Projekt zur Felsüberwachung im Walliser Gebirge, Schweiz – das LTE-M-Netz ist bestens, aber der Ort selbst für Bergsteiger nur schwer erreichbar.
© J. Wickenhäuser

Zum Aufbau zuverlässiger und wartungsarmer Outdoor-Systeme sind möglichst geringer Stromverbrauch, maximal unkomplizierte Wartung, Inbetriebnahme und Austauschbarkeit der Sensoren die entscheidenden Faktoren. Gerade unter Extrembedingungen oder an schwer zugänglichen Orten wird es zudem ohne eine robuste und widerstandsfähige Kommunikation schwer; überraschenderweise kann genau für diese Fälle der bereits mehr als 30 Jahre alte Bus SDI-12 [1] punkten (Bild 1).

Ein Protokoll-Dino macht das IoT robust

SDI-12 wurde bereits 1988 von einer US-Behörde in Kooperation mit einigen Privatfirmen entwickelt und darf frei verwendet werden. Es benötigt lediglich drei Leitungen (Versorgung, Signal, GND) und es können bis zu 62 Sensoren adressiert werden, wobei jeder Sensor mehrere Werte gleichzeitig liefern kann, wie etwa Druck und Temperatur. Durch eine geringe Baudrate von lediglich 1200 Baud gibt es keinerlei Reflexions- oder Terminierungsproblematiken, wie etwa bei RS485 basierten Systemen. Typische Beispiele für den Einsatz von SDI-12 sind:
➔ Wasserpegel-Meßstationen
➔ Wetterstationen
➔ Agrarsensoren
➔ Überwachung von Naturgefahren
➔ Überwachung von Schädlingsbefall
➔ Leckageerkennung
➔ Setzungsmessungen an Brücken
➔ Füllstände von Containern und Müll
➔ u. v. a.

Eigenschaften und Vorteile von SDI-12

Bei SDI-12 kann in fast beliebiger Topologie bis zu 500 Meter Kabel verlegt werden. Die Versorgung beträgt tradi- tionell ca. 9,6 V bis 14 V und auf der Signalleitung wird mit Pegeln von circa 0 V bis 5 V kommuniziert. Die Kommunikation erfolgt komplett in einem menschlich lesbaren Format, es ist sogar nach den Spezifikationen von SDI-12 explizit gewünscht, dass Menschen direkt mit den Sensoren kommunizieren. Sogar individuelle, sensorspezifische Kommandos sind in den Spezifikationen vorgesehen. Seit der Version SDI-12 V1.3 gibt es zudem die Möglichkeit, die Daten mit einer CRC16-Prüfsumme fehlergesichert zu übertragen.

Ohne Bluetooth wären die Geräte im Schnee schwer zu finden, auf 3000 Metern über NN können -20°C herrschen
Bild 2. Ohne Bluetooth wären die Geräte im Schnee schwer zu finden, auf 3000 Metern über NN können -20°C herrschen.
© J. Wickenhäuser

Schlafmodus
Einer der wichtigsten Vorteile von SDI-12, den es in kaum einem anderen Feldbus gibt, ist der Schlafmodus. Ein typisches Beispiel ist ein Regenzähler (Bild 2): er wacht kurz auf, wenn Regen detektiert wird oder wenn sein Zählwert abgefragt wird. In der restlichen Zeit ruht er und verbraucht keinen Strom. Zum Aufwachen kennt SDI-12 ein festes Timing von maximal 100 Millisekunden. Grob wird dazu auf der Signal-Leitung ein <Break>-Signal übertragen, gefolgt von der Adresse des betreffenden Sensors (0 – 9 oder ein Buchstabe) oder der Broadcast-Adresse. Alle anderen Sensoren können sofort wieder ruhen. Danach folgt das Kommando an den Sensor im Text-Format, beendet durch ein !-Zeichen. Die Antwort des Sensors ist ebenfalls Text, am Ende mit einem (oder zwei) <CR><LF>. Messwerte werden als Standard-Zahlen- werte (Fließkomma- oder Integer-Zahl) übertragen. Einfacher geht es wirklich kaum. Bei etwaigen Problemen oder zur Diagnose kann der komplette Datenverkehr gelesen oder auch über Kommandos, wie etwa zum Einstellen von Parametern, manuell versendet werden.

SDI-12-Kommunikation und Kommandos
Für die simplen Kommandos und die Kommunikation mit SDI-12-Sensoren kann ein einfaches Terminalprogramm und eine RS232-Schnittstelle in Kombination mit wenigen diskreten Bauteilen verwendet werden. Das passende Terminalprogramm SDI12Term.exe befindet sich im Quellcode und kann kompiliert auf der Github-Seite »JoEmbedded« abgerufen werden. Dazu erlaubt es SDI-12, Sensoren mit eigenen Kommandos zu versehen. Auch reicht es, einen Sensor mit einer Minialmenge an Kommandos zu versehen, womit Entwickler an Flexibilität gewinnen.

SDI-12 Bus mit zwei Sensoren
Bild 3. SDI-12 Bus mit zwei Sensoren
© J. Wickenhäuser

Der SDI-12-Bus verfügt über eine gewachsene Struktur, er ist aktuell in V 1.4. definiert. Inzwischen gibt es Hunderte von Herstellen von Sensoren mit SDI-12-Protokoll. Die meisten Sensoren unterstützen jedoch bisher maximal SDI-12 V 1.3. Doch auch individuelle Sensoren sind recht einfach und leicht zu bauen (Bild 3). Der Autor hat zwei Open-Source-Projekte »Open-SDI12-Blue« (Hardware) und »SDI12Term« (Terminal für Windows) veröffentlicht [1, 2].

Das Gateway zum Datenrecorder

Der Datenlogger dient als Tor zum Internet und sammelt unter Verwendung der genannten oder fehlergesicherter Kommandos die Daten der Sensoren und sendet diese direkt auf einen Internet-Server.

Kern des Open-SDI12-Blue-Projekts
Bild 4. Kern des Open-SDI12-Blue-Projekts
© J. Wickenhäuser

Aufgrund des geringen Stromverbrauchs können auch sehr kleine Batterien oft jahrelang laufen. Im Open-Source-Projekt Open-SDI12-Blue (Bild 4) wurden Datenlogger mit LTE-M/2G für Internet, Bluetooth für die lokale Kommunikation mit Smartphones und SDI-12 für die Sensoren eingesetzt. Diese Geräte sind allerdings deutlich komplexer und empfehlen sich weniger für den Eigenbau, es gibt zahlreiche hochwertige Hersteller [3].


  1. SDI-12 für IoT im Outdoor-Einsatz
  2. Zwei Wege führen ins Ultra-Low-Power-IoT

Verwandte Artikel

Bluetooth SIG