Logo
Lisa Schneider
2 Tage vor
Die meisten Einsteiger wählen den Funkweg nach dem, was gerade auf dem Tisch liegt. Dabei entscheidet der Anwendungsfall, nicht das zufällig vorhandene Modul.

Wer die Wahl begründen kann, plant Akkulaufzeit und Reichweite von Anfang an richtig. Wer sie errät, baut sich später teure Umbauten in die Firmware.

🔋 Der mittlere Stromverbrauch eines Akku-Geräts wird vom Stromverbrauch im Schlafzustand dominiert. Ein Funkmodul ist nur kurz aktiv; danach schläft der Mikrocontroller. Deshalb verlängert jede Stunde Schlaf die Laufzeit stärker als eine schnellere Übertragung. Ein Temperatur-Sensorknoten liest die Temperatur, sendet sie und schläft bis zur nächsten Messung.

📡 BLE ist für kurze Distanzen und kleine Datenmengen bei niedrigem Stromverbrauch gebaut. WLAN überträgt mehr Daten, braucht aber deutlich mehr Energie und verbindet direkt mit dem heimischen Netz, etwa für eine Kamera oder Web-Oberfläche. LoRaWAN überträgt sehr kleine Datenmengen über mehrere Kilometer; die Nachrichten laufen über Gateways, also Funkempfänger mit Internetanschluss, zu einem Netzwerkserver.

🔧 Die Wahl folgt einer einfachen Regel: große Datenraten und Anschluss ans eigene Netzwerk gehören auf WLAN. Kurze Distanzen mit geringem Energiebedarf passen zu BLE. Kleine Messwerte über große Distanzen ohne Stromanschluss gehören auf LoRaWAN, denn dort sendet der Knoten nur und schläft sofort.

Der Funkweg heißt nicht „so viel wie möglich“, sondern „so viel wie der Anwendungsfall braucht“. Wer Datenmenge, Reichweite und Energiebedarf zuerst festlegt, findet die Antwort fast von selbst.

📌 Datenmenge · Reichweite · Energiebedarf

📚 IoT von Grund auf · Tag 4 von 30
#iot #lorawan #Energieeffizienz #embedded
Lisa Schneider
2 Tage vor
Wenige Leitungen klingen verlockend. Doch bei jedem neuen Sensor steigen Leitungsbedarf oder Störanfälligkeit.

Zwei Busse bestimmen den Alltag am Mikrocontroller: SPI und I2C. Sie verbinden Sensoren, Displays und Speicherkarten mit dem Controller, also dem steuernden Chip.

Zuerst zählt man die Anschlüsse. SPI (Serial Peripheral Interface) nutzt eine Taktleitung, je eine Datenleitung pro Richtung (MOSI, MISO) und eine Chip-Select-Leitung je Gerät. I2C (Inter-Integrated Circuit) kommt für alle Geräte mit zwei Leitungen aus: SDA für Daten, SCL für Takt. Dazu kommt die Masse (GND), der gemeinsame Bezugspunkt aller Spannungen.

Dann geht es um die Auswahl. Bei SPI zieht die Chip-Select-Leitung genau das Gerät auf den Bus, mit dem gerade gesprochen wird. Jedes weitere SPI-Gerät kostet also einen zusätzlichen Anschlusspin am Controller.

Danach betrachtet man das Tempo. SPI ist schneller, weil mehrere Datenleitungen und ein fester Takt ohne Adressoverhead genutzt werden. Typische Einsatzfälle sind Displays und Speicherkarten, wo viele Daten fließen.

Zuletzt wählt man nach Gerätezahl und Datenmenge. I2C eignet sich für viele kleine Sensoren mit wenigen Daten pro Messung; jedes hat eine Adresse, die der Controller gezielt aufruft. Wird die Leitung länger oder die Zahl der Geräte groß, kann der Bus störanfällig werden. Beim Anschluss gilt: 5-V-Teilnehmer dürfen nicht direkt an 3,3-V-Eingängen hängen, wie beim ESP32 mit seiner 3,3-V-Logik.

Viele kleine Sensoren mit wenigen Daten gehören an I2C; viele Daten oder ein Display sprechen für SPI. Nicht besser oder schlechter, sondern mehr Leitungen für mehr Tempo.

📌 Leitungsbedarf · Adressierung · Tempo

📚 IoT von Grund auf · Tag 4 von 30
#I2C #esp32 #embedded
Lisa Schneider
2 Tage vor
Zwei Sensoren im selben Raum, und keiner zeigt denselben Wert. Beide Displays zeigen einen Wert mit Dezimalstelle, und die Differenz wächst statt zu schrumpfen.

Das Symptom kennen viele beim ersten Vergleich. Der DHT22 liefert feine Werte, wirkt aber trotzdem unzuverlässig, und schnell gilt ein Sensor als kaputt. Meist sind beide in Ordnung, und die Differenz hat eine saubere Erklärung.

Dahinter stehen zwei Angaben, die das Datenblatt getrennt nennt. Auflösung ist der kleinste Schritt, den ein Sensor überhaupt ausgeben kann. Genauigkeit ist die maximal zulässige Abweichung vom wahren Wert, die der Hersteller zusichert; sie gilt meist nur in einem begrenzten Messbereich. Ein Wert mit zwei Nachkommastellen kann trotzdem um mehrere Grad danebenliegen.

Der DHT22 ist mit etwa 0,5 °C Temperaturgenauigkeit und 2 bis 5 % relativer Luftfeuchte (rF) spezifiziert, der DHT11 dagegen mit etwa 2 °C und 5 % rF; er misst nur ganze Grad und Prozent. Zwei Geräte dürfen also ruhig auseinanderliegen, ohne defekt zu sein. Dazu misst jeder nur die Luft unmittelbar an seinem Gehäuse; Wärme von Spannungsregler und Funkmodul macht einen Sensor direkt daneben zu warm.

So prüft man es: Erst beide Datenblätter auf Genauigkeit, Messbereich und Wiederholgenauigkeit vergleichen. Dann den Sensor neben ein als genauer bekanntes Referenzgerät legen und beide Werte über einige Stunden vergleichen.

Genauigkeit heißt nicht, wie fein der Sensor zählt, sondern wie nah er am wahren Wert bleibt. Die Nachkommastellen der Anzeige sagen darüber nichts aus.

📌 Auflösung vs. Genauigkeit · Datenblatt lesen · Referenzvergleich

📚 IoT von Grund auf · Tag 4 von 30
#iot #sensorik #Mikrocontroller #embedded
Lisa Schneider
3 Tage vor
Viele halten UART für ein Kabel mit einem Draht. Dabei braucht die einfachste serielle Verbindung zwei Pins und eine Masseleitung.

Viele Einsteiger denken, eine Datenleitung reiche: Ein Gerät sendet, das andere hört zu, wie bei einem Lautsprecher. Plausibel klingt das, weil USB und viele Kabel im Alltag ja auch nur „ein Kabel“ sind. Man verbindet TX mit TX und wundert sich, dass nichts ankommt.

Tatsächlich arbeitet UART, kurz für Universal Asynchronous Receiver Transmitter, mit zwei Leitungen: TX (Sende-Pin) und RX (Empfangs-Pin). Die werden über Kreuz verbunden, also TX des einen Geräts an RX des anderen. Dazu gehört GND, die gemeinsame Masse als Bezugspunkt aller Spannungen. Der UART-Baustein zerlegt Bytes in eine Kette von High- und Low-Pegeln und setzt sie auf der anderen Seite wieder zusammen.

Der Irrtum entsteht, weil I2C wirklich mit zwei Leitungen für alle Geräte auskommt und SPI sogar eine Taktleitung nutzt. UART hat keinen gemeinsamen Takt, dafür aber zwei Richtungen.

Wichtigste Regel: beide Seiten müssen dieselbe Baudrate, also Bits pro Sekunde, verwenden – etwa 115200. Der Empfänger erkennt den Anfang eines Zeichens am Startbit und tastet die Pegel dann im Takt dieser Rate ab. Bei Serial.println() in der Arduino-Firmware muss der serielle Monitor auf denselben Wert eingestellt sein.

Woran man es erkennt: Im seriellen Monitor erscheint statt lesbarem Text wirrer Datenschrott mit seltsamen Zeichen. Dann Baudrate in der Firmware und im Monitor abgleichen.

UART heißt nicht „ein Draht für alles“, sondern zwei gekreuzte Leitungen plus Masse bei gleicher Baudrate.

📌 TX an RX · Baudrate 115200 · gemeinsame Masse

📚 IoT von Grund auf · Tag 3 von 30
#embedded #Mikrocontroller #iot
Lisa Schneider
3 Tage vor
Ein Druck, und der Zähler springt um drei. Dabei wurde die Taste genau einmal gedrückt.

Schuld ist nicht das Programm, sondern der Taster selbst. Der Vorgang heißt Prellen (englisch bouncing): Der mechanische Kontakt öffnet und schließt kurzzeitig mehrfach, bevor er endgültig anliegt.

Zuerst trifft beim Drücken eine federnde Kontaktfeder mit Schwung auf die Gegenfläche. Die Kontaktfedern im Taster sind federnd, dadurch schließt der Kontakt sicher. Der Schwung lässt die Flächen aber nicht sofort ruhig liegenbleiben.

Dann schwingen die Kontaktflächen für einige Millisekunden. In dieser Phase berühren sie sich, trennen sich kurz und berühren sich wieder. Elektrisch sieht das wie ein schneller Wechsel zwischen gedrückt und losgelassen aus.

Danach liest der Mikrocontroller seinen Eingang und sieht jedes dieser kurzen Kontakte. Er prüft den Pin so schnell, dass er jedes der kurzen Kontakte als eigenen Tastendruck erkennt. Ein Interrupt-gesteuerter Zähler ohne Entprellung zählt deshalb pro Druck mehrere Flanken.

Zuletzt fängt das Programm das Prellen ab. Die Sperrzeit ignoriert den Eingang nach einer erkannten Flanke, also einem Pegelwechsel, für wenige Millisekunden. Für die Zeitmessung eignet sich millis() (liefert die Millisekunden seit dem Start) besser als delay(), weil delay() die gesamte Hauptschleife anhält. Beim Nachfrage-Verfahren wird der Pegel erst gewertet, wenn er über mehrere Abtastungen stabil bleibt. In einer Interrupt-Service-Routine gehört nur eine kurze Aktion hinein, etwa ein Flag setzen.

Ein Tastendruck ist elektrisch erst fertig, wenn er still ist. Entprellen heißt nicht warten um jeden Preis, sondern gezielt die ersten Millisekunden ignorieren.

📌 Prellen · Sperrzeit · millis()

📚 IoT von Grund auf · Tag 3 von 30
#embedded #Mikrocontroller #Arduino
Lisa Schneider
3 Tage vor
Der DHT22 und der BME280 stehen in fast jedem Einsteigerkit fürs IoT. Dabei messen sie nicht dasselbe – und nicht gleich genau.

Beide heißen umgangssprachlich „Klimasensor“, weil sie Temperatur und relative Luftfeuchte liefern. Relative Luftfeuchte (rF) vergleicht den Wasserdampf in der Luft mit der maximal möglichen Menge bei derselben Temperatur; warme Luft nimmt mehr auf als kalte.

Der DHT22 (auch AM2302 genannt) ist ein günstiges Kombibauteil für Temperatur und Feuchte. Er schickt seine Werte über eine einzige Datenleitung an den Mikrocontroller und darf höchstens alle 2 Sekunden einen Wert liefern. Laut Spezifikation erreicht er etwa 0,5 °C und 2 bis 5 % rF; ein ESP32 liest ihn per Bibliothek aus und erhält zwei Werte pro Messung.

Der BME280 von Bosch misst zusätzlich den Luftdruck, also das Gewicht der Luftsäule über dem Sensor. Er hängt an einem Bus wie I2C, bei dem mehrere Geräte zwei gemeinsame Leitungen teilen und über Adressen (0x76 oder 0x77) unterschieden werden. Seine Genauigkeit liegt bei etwa 1 °C, 3 % rF und 1 hPa.

Der BME280 liefert drei physikalische Größen und spricht flexible Busse. Der DHT22 liefert zwei Größen über seine eine Datenleitung und ist träger, dafür einfacher anzubinden.

Zwei Sensoren im selben Raum zeigen oft verschiedene Werte, weil jeder nur die Luft an seinem Gehäuse misst; Zugluft, Heizung oder Außenwand verfälschen zusätzlich. Spannungsregler, Funkmodul und Prozessor erwärmen die Platine; ein Temperatursensor gehört deshalb mit Abstand an einen kühleren Ort oder auf ein eigenes Modul.

Faustregel: Für Feuchte und Druck ist der BME280 erste Wahl; wer nur Temperatur und Feuchte nebenbei braucht, nimmt den DHT22.

Die Nachkommastellen der Anzeige sind keine Genauigkeit, sondern Auflösung – wie fein der Sensor zählt, nicht wie exakt er misst.

📌 DHT22 · BME280 · Luftfeuchte

📚 IoT von Grund auf · Tag 3 von 30
#iot #sensorik #embedded
Lisa Schneider
3 Tage vor
PWM funktioniert wie ein Lichtschalter, den man rasend schnell betätigt. Die LED brennt dabei nie halb – sie flackert nur so schnell, dass das Auge eine Helligkeit wahrnimmt.

Stellen Sie sich vor, Sie decken ein Fenster mit der Hand ab. Mal halten Sie die Hand davor, mal frei. Die Hand bewegt sich blitzschnell im Wechsel. Sieben Zehntel der Zeit verdeckt, wirkt das Fenster gedämpft hell. Halten Sie die Hand fast immer davor, wirkt das Zimmer dunkel. Die Sonne selbst wird dabei nie schwächer.

So arbeitet ein digitaler Ausgang: Er kennt nur zwei Zustände, High (etwa 3,3 V beim ESP32) und Low (0 V gegen Masse). digitalWrite(PIN, HIGH) legt die Versorgungsspannung an, digitalWrite(PIN, LOW) zieht den Pin auf Masse. Das schnelle Umschalten ist die Pulsweitenmodulation, kurz PWM.

Der Anteil der Ein-Zeit ist das Tastverhältnis, auch Duty Cycle genannt. Die Zahl der Umschaltungen pro Sekunde ist die PWM-Frequenz. Beide zusammen bestimmen die mittlere Leistung.

Eine LED mit Vorwiderstand am ESP32 dimmt mit 50 Prozent Tastverhältnis: In jedem Moment fließt entweder der volle Strom oder keiner. Das träge Auge mittelt die Impulse und sieht halbe Helligkeit. Ein Gleichstrommotor läuft langsamer, weil seine Schwungmasse die Impulse mittelt; wirksam ist näherungsweise 3,3 V mal Tastverhältnis.

Das Bild hat eine Grenze: Das Fenster wird wirklich dunkler, die LED aber nie halb so hell. PWM erzeugt keine echte Zwischenspannung, nur eine scheinbar analoge Wirkung über Mittelung. Wer eine tatsächliche einstellbare Spannung braucht, nimmt einen Digital-Analog-Wandler.

PWM heißt nicht Spannung regeln, sondern Zeitanteile schalten. Die Wirkung entsteht erst im träge mittelnden Auge, Motor oder Heizung.

📌 Tastverhältnis · PWM-Frequenz · Mittelung

📚 IoT von Grund auf · Tag 3 von 30
#Mikrocontroller #esp32 #embedded
Lisa Schneider
3 Tage vor
Jede IoT-App trennt sauber zwischen „messen“ und „schalten“. Dabei steckt in fast jedem Gerät beides zugleich – nur in entgegengesetzte Richtungen.

Wer die zwei Rollen kennt, zerlegt jedes Gerät sauber in Sensor- und Aktorteile. Wer sie nicht kennt, verwechselt Messwert und Befehl und wundert sich, warum die Schaltung nichts tut.

Ein Sensor übersetzt eine physikalische Größe wie Temperatur oder Helligkeit in ein elektrisches Signal. Ein Aktor dreht diesen Weg um: Er setzt ein elektrisches Signal in eine Wirkung, etwa das Schließen eines Relais, einen Motorlauf oder das Aufleuchten einer LED. Beim Sensor fließt die Information von der Außenwelt zum Gerät, beim Aktor zurück in die Außenwelt.

Ein Mikrocontroller-Pin ist nur eine Metallfläche mit Anschluss innen; ob sie Spannung ausgibt oder einen Pegel einliest, entscheidet erst die Software. GPIO-Pins (General Purpose Input/Output) lassen sich per Software als Eingang oder Ausgang einstellen.

Ein Thermostat-Knoten vereint beide Rollen. Ein Temperatursensor misst etwa 22 °C, ein Analog-Digital-Wandler (ADC) macht aus der Spannung des Sensors eine Zahl. Die Firmware läuft nach dem Start in einer Endlosschleife, vergleicht den Wert mit dem Sollwert. Ist es zu kalt, schaltet ein Relais die Heizung – der Aktor übersetzt den elektrischen Befehl in den geschlossenen Kontakt. Schaltet das Relais Netzspannung, gehören Arbeiten daran an eine Fachkraft, und zwar nur spannungsfrei.

Verwechselt wird Sensor oft mit Sensorik-Modulen oder mit dem Mikrocontroller selbst. Der Sensor ist nur der Übersetzer am Rand des Systems; gerechnet wird im Mikrocontroller, gewirkt im Aktor.

Sensor heißt nicht „kleines Bauteil“, sondern eine Richtung: Information hinein. Aktor ist die Gegenrichtung: Wirkung hinaus. Beides sind Rollen, keine Bauteilklassen.

📌 Sensor · Aktor · Informationsrichtung

📚 IoT von Grund auf · Tag 2 von 30
#iot #Mikrocontroller #sensorik #embedded
Lisa Schneider
4 Tage vor
Ein Taster an Pin 4 liest mal 0, mal 1, ohne dass ihn jemand berührt. Schuld ist der offene Eingang, der keinen festen Pegel kennt.

GPIO ist die allgemeine Bezeichnung für einen anpassbaren Pin am Mikrocontroller, also dem kleinen Computer-Chip auf dem Board. GPIO-Pins können als Ausgang eine LED schalten oder als Eingang einen Taster abfragen. GPIO-Eingänge sind hochohmig: Sie lesen den Pegel nur ab, steuern ihn aber nicht selbst. Ohne feste Verbindung bleibt die Spannung am Pin zufällig, etwa durch Störungen aus der Umgebung.

Zuerst fehlt dem offenen Pin jede Referenz. High und Low sind keine festen Spannungspunkte, sondern Bereiche: Der Eingang wertet alles oberhalb einer Schwelle als High, alles darunter als Low. Ein unbeschalteter, sogenannter floating Eingang pendelt willkürlich dazwischen.

Dann entscheidet der gemeinsame Bezugspunkt. Die Masse (GND) ist der Punkt, gegen den alle Spannungen gemessen werden. Erst über die gemeinsame Masse weiß der Eingang, was High und Low überhaupt bedeuten.

Danach zieht ein Widerstand den Eingang auf den Ruhepegel. Ein Pull-up liegt zwischen Versorgungsspannung und Eingang und hält ihn auf High; ein Pull-down liegt zwischen Eingang und Masse und hält ihn auf Low. Spannungen nahe der Schwelle wären unsauber, weil sie mal so, mal so gelesen werden.

Zuletzt kommt der Taster ins Spiel: pinMode(4, INPUT_PULLUP) aktiviert den internen Pull-up, digitalRead(4) liest den Pin. Der Taster drückt den Eingang gegen Masse; gedrückt bedeutet also LOW, ungedrückt HIGH – invertiert zur Intuition. Der Widerstandswert ist ein Kompromiss: Kleinere Widerstände geben steife Pegel, größere sparen Strom.

Ein offener Eingang lügt nicht böswillig, er weiß es einfach nicht besser. Wer den Ruhepegel definiert, bekommt eine eindeutige Antwort.

📌 Floating-Eingang · Pull-up · Ruhepegel

📚 IoT von Grund auf · Tag 2 von 30
#Mikrocontroller #Arduino #iot #embedded
Lisa Schneider
4 Tage vor
Zwei Schaltungen, zwei Netzteile, ein Kabel – und trotzdem kommt keine Botschaft an. Schuld ist meist nicht das Signal, sondern die fehlende Masse.

Die Verwechslung ist verständlich: Signalleitungen sind sichtbar und auffällig, die Masse wirkt wie selbstverständlich. Einsteiger nehmen an, GND sei bei allen Geräten von selbst derselbe Punkt, weil alles an Strom hängt.

Ein Signal ist die Information selbst. Es kennt digital nur zwei Zustände: Low und High. Welche Spannung als High gilt, hängt von der Logikfamilie ab, also der Chip-Gattung mit ihren Pegelvorgaben. Der ESP32 arbeitet mit 3,3 V, sein Eingang verträgt laut Datenblatt höchstens 3,6 V. Ein Arduino Uno mit ATmega328P arbeitet mit 5 V und erkennt High ab etwa 3 V.

Die Masse (GND) ist der Bezugspunkt aller Spannungen. Eine Spannung ist nie eine Eigenschaft eines einzelnen Punktes, sondern immer eine Differenz zwischen zwei Punkten. Gemessen wird sie gegen GND. Fehlt eine gemeinsame Masse, bezieht jedes Gerät High und Low auf seinen eigenen Bezugspunkt.

Das Signal ist die Botschaft, die Masse ist die gemeinsame Sprache, in der sie gelesen wird. Ohne gemeinsamen Bezugspunkt ist selbst eine korrekte Signalleitung bedeutungslos – zufällige Messwerte oder gar keine Kommunikation folgen.

Faustregel: Beim Aufbau einer Schaltung zuerst die Masse aller Beteiligten verbinden, erst danach die Signalleitungen anschließen. Bei getrennten Netzteilen verbindet man ebenfalls deren Massepunkte.

Eine Spannung ist keine Zahl auf einem Pin, sondern immer eine Differenz. GND heißt nicht „irgendwo Masse“, sondern „elektrisch verbunden“.

📌 GND · Bezugspunkt · Spannungsdifferenz

📚 IoT von Grund auf · Tag 2 von 30
#esp32 #Mikrocontroller #embedded
Lisa Schneider
4 Tage vor
Eine LED ohne Vorwiderstand ist wie ein Auto ohne Bremse: Der Motor dreht willig, aber nichts begrenzt die Fahrt. Genauso verhält sich eine Leuchtdiode, sobald sie leuchtet.

Das Gaspedal liefert Kraft, die Bremse aber bestimmt, wie schnell die Fahrt tatsächlich wird. Vollgas ohne Bremse bedeutet: Das Auto beschleunigt, bis etwas kaputtgeht. Die Bremse ist das Gegenstück zum Vorwiderstand. Sie hält das Tempo auf einen Wert, den Motor und Fahrer vertragen.

Fachlich gesehen: Die LED ist kein ohmscher Widerstand. Sie braucht eine Flussspannung (Forward Voltage), also die Spannung, die an ihr abfällt, wenn sie leuchtet. Danach lässt sie den Strom fast unbegrenzt ansteigen. Der Vorwiderstand wird in Reihe, hintereinander in derselben Leitung, zwischen GPIO-Pin (den digitalen Ausgang des Mikrocontrollers) und LED geschaltet. Ohne ihn sieht die LED den Pin wie einen Kurzschluss, und der sehr hohe Strom kann LED und Ausgang zerstören. Pin, Widerstand, LED und Masse (GND) müssen alle in einer Kette liegen.

Die Rechnung folgt dem ohmschen Gesetz, U = R · I. Der Widerstand ergibt sich aus Versorgungsspannung minus Flussspannung, geteilt durch den Wunschstrom. Nimmt man eine rote LED: 3,3 V minus etwa 2 V Flussspannung, geteilt durch 10 mA, ergibt rund 130 Ohm. Häufiger Fehler: die vollen 3,3 V in die Rechnung zu stecken, obwohl an der LED selbst ihre Flussspannung abfällt.

Das Bild hat eine Grenze: Ein Auto ohne Bremse fährt irgendwann von selbst in den Stillstand. Ein GPIO-Pin nicht, denn er ist nur für kleine Ströme im Bereich weniger Milliampere ausgelegt.

Der Vorwiderstand heißt nicht Zubehör, sondern Strombegrenzung: Die LED wählt ihren Strom nie selbst. Erst rechnen, dann anschließen.

📌 Flussspannung · ohmsches Gesetz · in Reihe schalten

📚 IoT von Grund auf · Tag 2 von 30
#Mikrocontroller #esp32 #embedded
Lisa Schneider
4 Tage vor
Der Pin tut von selbst gar nichts. Erst eine Zeile Software entscheidet, ob er Spannung ausgibt oder einen Pegel einliest.

GPIO (General Purpose Input/Output) begegnet Einsteigern bei der ersten LED und beim ersten Taster. Wer pinMode überspringt, wundert sich später über einen Taster, der scheinbar ohne Berührung schaltet.

GPIO sind Pins, die per Software als digitaler Eingang oder als digitaler Ausgang eingestellt werden. Physisch ist ein Pin nur eine Metallfläche mit Anschluss innen. Mit pinMode(PIN, OUTPUT) wird er zum Ausgang erklärt, mit pinMode(PIN, INPUT) zum Eingang; erst danach sind digitalWrite und digitalRead sinnvoll nutzbar.

In setup() steht pinMode(2, OUTPUT); danach schaltet digitalWrite(2, HIGH) in loop() den Pin beim ESP32 auf 3,3 V und lässt eine LED leuchten, deren Strom ein Vorwiderstand begrenzt. Für einen Taster an Pin 4 passt pinMode(4, INPUT_PULLUP): Der interne Pull-up-Widerstand zieht den Eingang auf High, der Taster zieht ihn gegen Masse (GND). Dann liefert digitalRead(4) HIGH oder LOW, und eine if-Bedingung reagiert auf den Druck. digitalWrite(PIN, LOW) setzt den Ausgang auf 0 V, also auf Masse.

Verwechselt wird der Pin-Modus gern mit dem Signalwert. OUTPUT oder INPUT sagt, in welche Richtung der Pin arbeitet; HIGH und LOW sind die Zustände, die gelesen oder gesetzt werden. Ein offener Eingang ohne Pull-up oder Pull-down ist floating, sein Pegel ist zufällig.

Ein GPIO ist nicht fest verdrahtet, sondern erst durch pinMode Eingang oder Ausgang. digitalWrite schreibt, digitalRead liest – pinMode entscheidet.

📌 pinMode · digitalWrite/digitalRead · Pull-up

📚 IoT von Grund auf · Tag 2 von 30
#esp32 #Mikrocontroller #embedded
Lisa Schneider
5 Tage vor
Ein Rechner bootet erst ein Betriebssystem, bevor irgendetwas läuft. Ein Mikrocontroller startet direkt sein einziges Programm – und das ist ein Vorteil.

Das ist die Firmware, also das eine Programm, das fest im Flash-Speicher des Chips abgelegt ist. Sie steckt in jedem IoT-Sensor, jeder smarten Steckdose und jedem Werkzeug mit Knopf und Elektronik.

Zuerst kommt der Strom. Der Mikrocontroller, ein Chip mit Prozessor, Arbeitsspeicher, Flash und Ein- und Ausgängen, lädt die Firmware direkt aus dem Flash. Flash ist ein nichtflüchtiger Speicher, der seinen Inhalt auch ohne Strom behält. Ein Betriebssystem wird nicht zuerst geladen, deshalb bleibt der Startvorgang kurz und vorhersagbar.

Dann läuft setup(). In einem Arduino-Programm ruft die Firmware einmal am Anfang die Funktion setup() auf, die die angeschlossene Hardware initialisiert. Danach folgt loop(), eine Endlosschleife, die immer wieder durchlaufen wird.

Danach verrichtet loop() die eigentliche Arbeit. Sie liest Sensorsignale an den Eingängen, verrechnet sie und schaltet Ausgänge – ganz ohne Benutzer. Ein Temperatur-Sensorknoten misst die Temperatur, sendet sie über ein Funkmodul und schläft anschließend bis zur nächsten Messung. Das schont den Akku.

Zuletzt macht Schlankheit das Gerät zuverlässig. Ein Betriebssystem wie Windows oder Linux verwaltet viele Programme, Dateien und Geräte; ein Mikrocontroller braucht das nicht, weil genau eine Aufgabe festgelegt ist. Weniger Software heißt weniger Fehlerquellen – das Verhalten bleibt bei jedem Durchlauf gleich.

Firmware heißt also nicht „ein Programm von vielen“, sondern „das einzige Programm“ – direkt, schlank und nach jedem Einschalten sofort da.

📌 Firmware · Flash · Endlosschleife

📚 IoT von Grund auf · Tag 1 von 30
#Mikrocontroller #firmware #iot #embedded
Lisa Schneider
5 Tage vor
Ein Temperaturfühler im Garten misst jahrelang mit einem Akku. Ein PC hätte dafür längst einen Netzanschluss gebraucht.

Oft hält man einen Mikrocontroller für einen kleinen Computer, nur eben winzig. Die Verwechslung ist verständlich: Beide haben einen Prozessor, also eine Recheneinheit, und beide „rechnen“.

Ein Mikrocontroller vereint alles auf einem einzigen Chip: Prozessor, Arbeitsspeicher, Programmspeicher (Flash, ein beschreibbarer Festspeicher) und Ein- und Ausgänge. Diese Ausgänge heißen GPIO: Pins, die per Software als digitaler Eingang oder Ausgang eingestellt werden. Nach dem Start läuft die Firmware, also das eine fest eingebrannte Programm, in einer Endlosschleife: Sie liest Sensorsignale, verrechnet sie und schaltet Ausgänge. Beispiel: Ein Sensor erfasst die Temperatur an einem Pin, der Chip sendet den Wert über ein Funkmodul und schläft dann bis zur nächsten Messung.

Ein PC dagegen ist ein Allzweckgerät für beliebige Aufgaben. Er braucht ein Betriebssystem, Massenspeicher wie eine Festplatte, Tastatur und Bildschirm, weil viele Programme gleichzeitig laufen sollen. Im Leerlauf verbraucht er bereits ein Vielfaches der Energie. Er ist eben auf Vielseitigkeit ausgelegt, nicht auf eine einzige Messschleife, und für einen autarken Sensorknoten damit schlicht überdimensioniert.

Der Mikrocontroller ist auf eine Aufgabe festgelegt. Weil nur die Firmware direkt auf der Hardware läuft, braucht er kein Betriebssystem mit Dateien und Desktop.

Faustregel: Wenn ein Gerät messen, schalten und funken soll und vom Akku leben muss, reicht ein Mikrocontroller. Sobald Bildschirm, Tastatur oder mehrere Anwendungen dazukommen, ist es ein Computer.

Der Mikrocontroller ist kein kleiner PC, sondern ein Computer auf einen einzigen Zweck reduziert. Genau diese Reduktion macht IoT-Knoten mit Akku möglich.

📌 Mikrocontroller · Firmware · GPIO

📚 IoT von Grund auf · Tag 1 von 30
#Mikrocontroller #iot #embedded
Herr Herco
10 Tage vor
Die meisten KI-Assistenten fragen um Vertrauen. Unserer fragt um Erlaubnis.

Neue Version von sepp mini dem KI-Assistenten, der in einer einzigen Datei steckt. 19 MB. Kein Konto, kein Cloud-Zwang, keine node_modules. Kopieren, ausführbar machen, starten. Auf Linux, macOS, Windows, Embedded oder vom USB-Stick, ohne Admin-Rechte.

🛡 Sepp Guard - erlaubt ist nur, was freigegeben wurde. Der Assistent sieht das laufende Projekt, sonst nichts vom Rechner. Kein Internet, kein Zugriff auf sensible Daten ohne Erlaubnis. Und entscheidend: Die Grenze zieht das Betriebssystem, nicht das Programm. Eine Zusage im Prompt ist keine Sicherheitsarchitektur.

📋 Audit Nachweis - jeder Schritt bleibt nachlesbar. Wer wann was getan hat. Und was abgelehnt wurde. Auch das Erlaubte steht in der Spur, Teilaufgaben eingerückt unter ihrem Auftrag, maschinell auswertbar. Kein Gedächtnisprotokoll, sondern eine prüfbare Aufzeichnung verwertbar für Revision, ISO-Audit und Datenschutzprüfung.

🔑 Ihr Modell, Ihre Entscheidung. Großer Anbieter, eigener Server im Firmennetz oder lokal am Arbeitsplatz. Umgestellt wird mit einer Angabe beim Start. Vertrauliches bleibt drin, Aufwendiges darf raus. Kein Anbieter bindet Sie.

Souveränität heißt nicht, auf KI zu verzichten. Sie heißt, die Bedingungen selbst zu setzen.

Eine Binary. Eine Haltung. Souveränität. Entwickelt und gebaut in Deutschland.

👉 https://sepp.kionova.de/

🦀 Rust · 🔒 Sandboxed · 🌐 Made in Germany

Welcher Prozess bei Ihnen läuft heute noch von Hand?

#ki #Souveränität #MadeInGermany #compliance #Rust #DigitaleSouveränität
Lisa Schneider
10 Monate vor
Zephyr RTOS statt FreeRTOS getestet: Device Tree Konfiguration, einheitlicher Hardware-Abstraction-Layer über verschiedene MCUs. Sensorabfragen laufen parallel statt sequentiell: 8 Sensoren in 120ms statt 960ms. Und wenn ein Sensor hängt, blockiert er nicht mehr den Rest. Multitasking auf dem ESP32 ist ein Game-Changer. #zephyr #rtos #embedded

Nichts gefunden!

Entschuldigung, aber für Ihre Suchanfrage {{search_query}} konnten wir in unserer Datenbank nichts finden. Bitte versuchen Sie es erneut, indem Sie andere Suchbegriffe eingeben.