Raspberry Pi als Logging-Modul für einen Mikrocontroller

Ich hatte noch einen älteren Raspberry Pi herumliegen und wollte ihn sinnvoll weiterverwenden. Dabei bin ich auf die Idee gekommen, ihn nicht als eigenständiges System einzusetzen, sondern eher als eine Art Erweiterungsmodul für einen beliebigen Mikrocontroller.

Schon länger interessiere ich mich für das Logging von Sensordaten. Mikrocontroller stoßen dabei schnell an ihre Grenzen: begrenzter Speicher, meist keine sauber geführte Uhrzeit und nur eingeschränkte Möglichkeiten zur späteren Auswertung der Daten. Genau hier kann ein Raspberry Pi ins Spiel kommen und diese Aufgaben übernehmen.

Aus dieser Idee heraus sind schließlich zwei Implentierungen entstanden.

Wichtig dabei: Beide Projekte sind eher als funktionale Beispiele zu verstehen und nicht als fertige, produktionsreife Lösung. Sie zeigen aber gut, wie flexibel sich ein Raspberry Pi als Ergänzung zu Mikrocontrollern einsetzen lässt.

Logging mit journald

Im ersten Ansatz habe ich das integrierte Linux-Logging-System „journald“ genutzt, um die Daten strukturiert zu speichern und später auswerten zu können.

Logging mit Datenbank und Weboberfläche

Im zweiten Ansatz ging ich einen Schritt weiter: Die Sensordaten werden in einer Datenbank abgelegt und über eine Weboberfläche visualisiert, die übers Netzwerk erreichbar ist. Der Raspberry Pi übernimmt dabei nicht nur das Logging, sondern auch gleich die tabellarische Darstellung der Daten.


Elektronik-Set Timer Edition

NE555 als akustischer Signalgeber

Natürlich ist der N555 kein Tongenerator. Es gibt tatsächlich ein paar Anwendungsfälle, die man dem Bereich Akustik zuordnen kann. Fairerweise muss man sagen, dass das nichts mit Musik zu tun hat, sondern ausgangsseitig nur ein Summer oder Lautsprecher statt einer LED verwendet wird. Die Frage ist trotzdem, welche Töne man einem NE555 entlocken kann.

 


MicroPython

MicroPython: Laufzeit messen

Die Laufzeitmessung eines Mikrocontroller-Systems wie dem Raspberry Pi Pico ist wichtig für sicherheitskritische Anwendungen, Performance-Optimierung, Stromverbrauchsreduzierung und den Vergleich von Implementierungen. Die Messung erfolgt mit einem Timer und ermöglicht die Ermittlung der Laufzeit im Programmcode. Ein Beispiel zeigt, wie die Laufzeit durch einen Millisekundenzähler erfasst wird.


Elektronik-Set Timer Edition

NE555 als monostabile Kippstufe

Didaktisch gesehen ist die monostabile Kippstufe die bevorzugte Schaltung. Allerdings ist sie aus meiner Sicht die schwerste. Allerdings stecken ein paar interessante Anwendungsfälle dahinter.


Raspberry Pi Pico RP2040

Stromspar-Optionen des Raspberry Pi Pico

Die meisten denken, dass sich dieses Thema nur direkt auf den Pico bezieht. Allerdings geht das weit darüberhinaus. Denn das Stromspar-Funktionen muss man nicht dem Pico überlassen. Man kann das auch extern steuern. Ich habe deshalb einige Ideen gesammelt und auch praktisch umgesetzt:

– Senken der Taktfrequenz
– Zeitweise in den Schlafmodus versetzen
– Spannungsregler steuern
– Mikrocontroller steuern
– Externe Auto-Power-Off-Schaltung
– Schlafmodus mit Aufweck-Funktion
– DORMANT-Modus mit Aufweck-Funktion


Text-To-Speech (TTS) mit Raspberry Pi

Ursprünglich wollte ich TTS auf einem Raspberry Pi Pico zum Laufen bekommen. Aber das war dann doch zu ambitioniert und funktioniert einfach nicht.
Doch so ganz wollte ich mich nicht geschlagen geben und hatte die Idee, dass der Einplatinen-Computer Raspberry Pi dafür besser geeignet sein könnte. Eine erster Blick auf verfügbare Software für Linux war zumindest vielversprechend.

Trotzdem wollte ich die Idee, dass der Raspberry Pi Pico sprechen kann nicht ganz aufgeben und habe die Lösungen mit dem Raspberry Pi so konzipiert, dass der Mini-Computer als Offline-TTS-Modul für einen beliebigen Mikrocontroller nutzbar ist.

Raspberry Pi mit eSpeak NG

Weil es verschiedene TTS-Lösungen für den Raspberry Pi gibt, habe ich mich auf zwei beschränkt. Eine Lösung mit eSpeak NG funktioniert mit jedem Raspberry Pi. Auch mit den ganz alten. Man muss nur einen Lautsprecher an die vorhandene Klinkenbuchse anschließen und schon kommt der Text, den der Raspberry Pi über eine serielle Schnittstelle bekommt aus dem Lautsprecher.

Raspberry Pi mit Piper-TTS

Natürlich ist bei dieser einfachen Lösung die Qualität der Sprachausgabe maximal schlecht, weswegen ich auch eine Lösung ausprobiert habe, die einfach besser und natürlicher klingt. Ein Raspberry Pi 3 B+ hat genug Rechenleistung, um kurze Sätze schnell genug in Sprache umzuwandeln, dass interaktive Systeme möglich sind. Auch hier ist der Raspberry Pi ein TTS-Modul für einen beliebigen Mikrocontroller.


Elektronik-Set Starter Edition

LED-Lichtschranke mit Fotowiderstand

Mir ist eine Schaltung ist mir in die Finger gefallen, die ich natürlich ausprobiert wollte. Wenig sinnvoll, aber nur um die Machbarkeit zu demonstrieren.

Diese LED-Lichtschranke nutzt eine Leuchtdiode und einen Fotowiderstand. Bei ununterbrochenem Licht leuchtet eine zweite LED, bei Unterbrechung erlischt sie. Die Schaltung ist jedoch anfällig für Umgebungslicht und funktioniert am besten in dunklen Bedingungen. Der Aufbau erfordert spezielle Maßnahmen zur Lichtabschirmung.


Raspberry Pi Pico RP2040

Raspberry Pi Pico: VSYS mit ADC messen

Der Raspberry Pi Pico ermöglicht das Messen der Versorgungsspannung (VSYS) über den ADC 3 (GPIO 29). Weil ein ADC nur Spannungen von 0 bis 3,3 Volt messen kann ist noch ein Spannungsteiler vorgeschaltet, wegen dem man die Spannung an VSYS berechnen muss.
Damit auch beim Pico W der VSYS gemessen werden kann ist eine angepasste Softwareimplementierung erforderlich, weil der Pin doppelt belegt ist.

Was kann man damit machen? Die Spannung an VSYS kann zur Stabilitätsüberwachung und zur Erkennung des Batteriebetriebs genutzt werden.

Denkbar wäre auch eine Anzeige des Batterie-Ladezustands, wenn der sich aus der Spannung ableiten lässt. Der Programmcode berücksichtigt Unterschiede zwischen dem Pico und Pico W. Es müssen nur die Werte für volle und leere Batterien definiert werden.


Elektronik-Set Timer Edition

NE555 als astabile Kippstufe

Die astabile Kippstufe mit dem NE555 erzeugt ein kontinuierliches Rechtecksignal, das zwischen HIGH und LOW wechselt. Sie wird häufig für Impuls- und Tongeneratoren verwendet, etwa um LEDs zum Blinken zu bringen. Wichtige Bauteile sind Widerstände und ein Elektrolyt-Kondensator, die die Blinkgeschwindigkeit beeinflussen.


Stromausfall-Monitor bei Abwesenheit

Aus der Kategorie „Kompliziert, wenn es auch einfach geht.“

In einem Artikel von Heise Online wurde einmal die Bauanleitung für einen Stromausfall-Monitor vorgestellt. Inklusive Mikrocontroller und Akku.
Ich habe mich dann für ganz clever gehalten und gedacht, dass das auch einfacher gehen müsste, und mit einem Raspberry Pi Pico und einem Taster nachgebaut. Der Raspberry Pi Pico signalisiert mit seiner Onboard-LED, wenn bei Abwesenheit der Strom weg war. Der Taster setzt den Zustand zurück

Im Prinzip ist das nur eine LED mit einer Speicher- und Rücksetz-Funktion. Deshalb habe ich mir dann gedacht, dass das noch viel einfacher gehen müsste und habe kurzer Hand diese Funktion mit ein paar elektronischen Bauteilen nachgebaut. Ohne Mikrocontroller.