Zum Inhalt springen

TempSense: Eine ESP32-OLED-Benutzeroberfläche für Arbeiten am Stromnetz entwerfen ​

TempSense-Empfänger- und Sendereinheiten mit Live-Temperaturdaten auf ihren OLED-Screens

Stell dir die alte Arbeitsweise vor. Monteure sitzen oben auf einem Übertragungsmast, ein Ingenieur steht am Boden, und zwischen ihnen hängt ein Leiter, an den eine Grill-Temperatursonde geklemmt ist. Der Ingenieur braucht die Temperatur dieses Leiters, um zu berechnen, wie weit die Leitung in Richtung Boden durchhängt. Also greift er zum Funkgerät, ein Monteur blinzelt auf die Sonde und funkt „16 Celsius“ zurück, und die Berechnung beginnt. Bis sie fertig ist, steht der Leiter bei 20, und das ganze Spiel geht von vorne los.

Vinod sah sich das an und dachte, das geht besser. Er hatte recht.

Lerne Vinod kennen ​

Vinod ist Ingenieur bei Transpower, dem Unternehmen, dem Neuseelands nationales Übertragungsnetz gehört und das es betreibt. Er studierte Mechatronik und hatte jahrelang mit Mikrocontrollern und Python herumexperimentiert, aber noch nie ein echtes Embedded-Gerät für die Industrie ausgeliefert. Als sein Team bei Arbeiten zum Durchhang von Leitungen immer wieder mit der Grillsonden-Routine kämpfte, schlug er seinem Vorgesetzten vor, etwas Besseres zu bauen. Dann baute er das ganze Ding selbst: die Elektronik, die Firmware und das CAD-Modell für das Gehäuse.

Das Problem: eine Temperatur, der du trauen kannst, auf einen Blick ​

Arbeiten zum Leitungsdurchhang hängen von der Temperatur des Leiters ab. Liegt sie falsch, ist auch die Abstandsberechnung falsch. Die manuelle Methode war langsam und driftete, während die Crew arbeitete. Deshalb wollte Vinod ein Gerät, das den Leiter direkt misst und die Zahl auf einen Screen bringt, den Crew und Ingenieur in Echtzeit sehen können.

Dafür wollte er ein OLED-Display. Schwarze Pixel sind auf OLED wirklich schwarz, sodass der Kontrast draußen bei Tageslicht standhält und drinnen scharf aussieht. Das Gerät verbindet eine Sondeneinheit über eine LoRa-Verbindung mit einem Empfänger. Die Verbindung reicht mehr als zwei Kilometer weit, löst die Temperatur auf 0,5 °C auf und läuft bis zu neun Stunden mit einer Ladung. Seinen ersten Bau nannte er scherzhaft „10 cents“. Das Team kennt ihn als TempSense.

TempSense-V2-Sender, -Empfänger, Transportkoffer und Leiterklemme

Wo Lopaka ins Spiel kam ​

Der Screen war der Teil, vor dem Vinod früher Respekt hatte. Vor Lopaka bedeutete das Entwerfen einer OLED-Oberfläche: Photoshop öffnen, ein Rechteck in der richtigen Pixelgröße zeichnen, es hin und her ziehen, um Koordinaten zu finden, und diese Zahlen dann von Hand in U8g2-Code im Arduino-Sketch kopieren. Flashen, schauen, verschieben, wiederholen. Er beschrieb das als so viel Reibung, dass er mit Displays überhaupt nichts Aufwendiges mehr machen wollte.

Lopaka nahm ihm diesen Schritt ab. Er legte die TempSense-Screens visuell an, platzierte seine Rechtecke und Texte genau dort, wo er sie haben wollte, und brachte seine eigenen Logos ein, die Lopaka in displayfertige Bitmaps umwandelte. Als Bibliothek wählte er U8g2, sodass der exportierte Code direkt in seine Firmware passte. Die gestufte Boot-Sequenz, bei der Logo und Messwerte nacheinander erscheinen, entstand aus kleinen Verzögerungen, die er im Code über ein Layout legte, das er beim Entwerfen tatsächlich sehen konnte.

Seine Zusammenfassung von Lopaka für einen Kollegen: ein Web-Tool mit einer schönen GUI, in der du Formen und Bitmaps platzierst, dein eigenes Bild mitbringst, und es wandelt alles passend zu deinem Display um. Dann nimmst du den Code in dein Projekt und verdrahtest ihn.

Wie alles zusammenkam ​

Die erste Iteration brauchte Vinod etwa einen Monat, CAD und 3D-Druck inklusive. Sie war grob, und sie funktionierte. Der vollständige Bau dauerte rund sechs Monate, und TempSense ist inzwischen in seiner zweiten Version, bei der sich die beiden Einheiten in Echtzeit über die Zwei-Kilometer-LoRa-Strecke verbinden. Er entwarf sogar eine gedruckte Klemme, die die Sonde auf dem Leiterbündel hält, mit dem Aufdruck „This side down“, damit niemand sie falsch herum montiert.

TempSense-OLED-Screens, Gehäusedruck und die Leiterklemme

Die TX- und RX-Module verbinden sich über diese LoRa-Strecke durch passende Pogo-Pin-Anschlüsse, direkt auf dem gedruckten Gehäuse beschriftet, sodass im Feld niemand raten muss, welche Einheit wohin gehört.

Nahaufnahme der TempSense-TX- und RX-Module mit ihren beschrifteten Pogo-Pin-Anschlüssen

Der Lohn ​

TempSense brachte Vinod den People's Choice Award bei der APEX25, dem Annual Power Engineering Exchange. Innerhalb von Transpower und draußen beim Dienstleister Northpower, wo er die Prototypen vor Ort testete, gibt es echtes Interesse daran, daraus ein Produkt zu machen, das andere Anbieter statt der Sonden-und-Funkgerät-Routine nutzen könnten.

TempSense-Empfänger, -Sender und Ladestation

Lopaka blieb nach dem Abschluss des Projekts in seinem Werkzeugkasten. Er greift jedes Mal darauf zurück, wenn in einem Bau ein OLED-Display auftaucht, bei rund fünf Projekten im Jahr, und bewertet den Schmerz, es zu verlieren, mit 8 von 10 für seine OLED-Arbeit. Er bezahlt für Plus wegen der unbegrenzten Screens und weil er sehen konnte, dass es von jemandem gebaut wurde, dem das Tool am Herzen liegt.

Baue dein eigenes ​

Wenn dein nächstes Projekt einen kleinen Screen hat, musst du Pixel nicht von Hand platzieren, wie Vinod es früher tat. Entwirf den Screen im Browser, wähle deine Bibliothek und kopiere den Code. Für monochrome Panels starte mit dem U8g2-Bildkonverter. Wechselst du zu einem Farbdisplay wie den günstigen ESP32-Modulen, die Vinod getestet hat? Schau dir an, was Lopaka für LVGL und andere Farbdisplay-Bibliotheken im selben Editor unterstützt.

Gute Arbeit, Vinod. Verkauf ruhig tausend davon.

FAQ ​

Wie entwerfe ich eine OLED-Oberfläche für ESP32? ​

Lege den Screen visuell in Lopaka an, platziere deine Texte, Formen und Bitmaps auf einer 1:1-Zeichenfläche, wähle U8g2 als Bibliothek und kopiere den generierten Code in dein Arduino- oder PlatformIO-Projekt. Ganz ohne Pixelkoordinaten von Hand zu zählen.

Wie wandle ich ein Bild in eine U8g2-Bitmap um? ​

Lege dein Logo oder Icon auf die Zeichenfläche, passe die Monochrom-Schwelle an und exportiere die U8g2-Bitmap samt Zeichenaufruf. So brachte Vinod seine eigenen Logos für TempSense ein.

Kann ich einen monochromen OLED-Screen entwerfen, ohne ihn von Hand zu programmieren? ​

Ja. Der Editor generiert den Layout-Code für dich, sodass du deine Datenlogik und Ereignisbehandlung schreibst, nicht die Pixelpositionen für jedes Rechteck und jede Beschriftung.

Funktioniert Lopaka für SSD1306 und andere OLED-Treiber? ​

Wähle deine Panelgröße, und U8g2 kümmert sich um gängige OLED-Treiber wie SSD1306 und SH1106, wobei die exportierte Bitmap und der Zeichencode zu deinem Display passen. Den U8g2-Konstruktor für deinen Controller, deine Schnittstelle und deine Pins wählst du weiterhin selbst.

Credits ​

TempSense und Fotografie von Vinod Rodrigo.