Logo
Lisa Schneider
2 uren geleden
Der Chip stürzt nicht ab – er wird einfach ausgeschaltet. Beim WLAN-Start fängt der Mikrocontroller den Neustart-Loop an, obwohl die Firmware korrekt ist.

Einsteiger begegnen dem Problem beim ersten Flashen: Die Firmware wird über USB in den Flash-Speicher geschrieben, und genau dann, wenn in setup() das WLAN gestartet wird, startet das Gerät endlos neu. Wer den Brownout-Reset nicht kennt, sucht wochenlang nach Softwarefehlern.

Ein Brownout-Reset ist das kontrollierte Abschalten des Mikrocontrollers, wenn die Versorgungsspannung kurz unter eine festgelegte Abschalt-Schwelle fällt. Der Chip startet dann bewusst neu, um Datenfehler zu vermeiden. Das Hochfahren des Funkmoduls zieht für Millisekunden deutlich mehr Strom als im Ruhezustand.

Das ohmsche Gesetz erklärt den Zusammenbruch: Jede Spannungsquelle hat einen Innenwiderstand. Steigt der Strom, sinkt die Spannung um Widerstand mal Strom, und der Chip fällt unter die Schwelle.

Klassisches Bild: Ein ESP32 an einem schwachen Netzteil. Serial.begin() im setup() läuft, der serielle Monitor zeigt Meldungen – bis die WLAN-Verbindung startet. Dann Neustart, wieder WLAN, wieder Neustart. Die Baudrate, also die Übertragungsgeschwindigkeit der seriellen Schnittstelle, ist bei Firmware und Monitor gleich, die Firmware auch. Nur die Versorgung bricht zusammen.

Der Unterschied: Der Chip startet nicht neu, weil das Programm fehlschlägt, sondern weil die Spannung fehlt. Auch ein zu dünnes USB-Kabel oder ein schlechter Breadboard-Kontakt verursacht denselben Reset.

Brownout ist kein Softwarefehler, sondern ein Symptom zusammenbrechender Versorgung. Abhilfe: ein ausreichend dimensioniertes Netzteil, kurze dicke Leitungen und ein Abblockkondensator, also ein Kondensator von der Versorgung nach Masse nahe am Chip, der Stromspitzen abfängt.

📌 Brownout-Reset · Innenwiderstand · Abblockkondensator

📚 IoT von Grund auf · Tag 6 von 30
#esp32 #Mikrocontroller #firmware
Lisa Schneider
2 dagen geleden
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 dagen geleden
Ein hängendes Programm sieht aus wie ein totes Gerät. Dabei startet meist unsichtbar ein kleiner Wächter den Mikrocontroller einfach neu.

Kennt ein Sensor nach Wochen plötzlich keine Meldung mehr, zeigt sich erst im Log, ob ein Watchdog den Neustart erzwungen hat. Wer ihn nicht kennt, dreht bei jedem Hänger die Stromversorgung von Hand.

Ein Watchdog ist ein Zähler, den die laufende Firmware (das Programm auf dem Chip) regelmäßig zurücksetzen muss; bleibt das aus, löst der Chip einen Reset aus. Er ist ein eigener, von der Firmware unabhängiger Schaltungsteil und zählt wie ein Timer von einem Startwert gegen null. Nur der regelmäßige Aufruf eines Zurücksetz-Befehls lädt den Zähler wieder auf.

Am Arduino Uno aktiviert die avr/wdt.h-Bibliothek den Watchdog des ATmega328P, mit bis zu 8 Sekunden Timeout. Beim ESP32 konfiguriert man den Task-Watchdog mit esp_task_wdt_init, ein Task (Programmteil) meldet sich mit esp_task_wdt_add an und bedient ihn mit esp_task_wdt_reset. Der Befehl gehört ans Ende der Hauptschleife, denn nur dort ist bewiesen, dass der Durchlauf hängenfrei war. Nach einem Neustart liefert der ESP32 den Grund über esp_reset_reason, etwa Watchdog oder Brownout (Reset bei zu niedriger Versorgungsspannung); dieser Grund gehört ins Log.

Verwechselt wird der Watchdog gern mit einem Einschalten. Tatsächlich ist er eine Rückkehr in einen definierten Startzustand, ohne dass jemand die Stromversorgung unterbrechen muss. Vor dem Aktivieren muss die Initialisierung durchlaufen sein, sonst löst ein langsamer WLAN-Verbindungsaufbau den Timeout schon vor der Hauptschleife aus.

Der Watchdog ist keine Fehlerbehebung, sondern ein Zurückversetzen in einen definierten Zustand. Die eigentliche Fehlersuche beginnt mit dem Reset-Grund im Log.

📌 Zähler gegen null · Zurücksetzen in der Hauptschleife · Reset-Grund im Log

📚 IoT von Grund auf · Tag 4 von 30
#esp32 #Mikrocontroller #firmware
Lisa Schneider
2 dagen geleden
Eine Ampel an einer Einbahnstraße arbeitet wie delay() im Mikrocontroller. Alles hält an, bis die Wartezeit vorbei ist.

Stehende Autos wollen abbiegen, Fußgänger wollen queren, ein Krankenwagen will durch. Die Ampel interessiert das nicht. Sie zählt rot herunter und lässt nichts vorbei. Erst wenn die Zeit um ist, fließt der Verkehr wieder.

So arbeitet delay() auf einem Arduino oder ESP32: Die Funktion pausiert das Programm für die angegebenen Millisekunden. Die Arduino-Firmware besteht aus der Endlosschleife loop(), in der alle Aufgaben drankommen müssen. Während delay() läuft, zählt der Controller nur Zeit ab. Tasten, Sensorabfragen und Netzwerkereignisse warten, bis die Schleife wieder frei ist.

Eine Taste soll eine LED im Sekundentakt blinken lassen. Mit delay(1000) blockiert die Schleife für eine volle Sekunde, ein kurzer Tastendruck bleibt meist unbemerkt. Stattdessen notiert man die Startzeit mit millis(), dem Millisekundenzähler seit dem Start, und prüft in jedem Durchlauf, ob das Intervall verstrichen ist. Die Taste bleibt dadurch ständig lesbar. Beim Entprellen, dem Unterdrücken des mechanischen Nachschwingens eines Tasters, bremst eine millis()-Sperrzeit nur diese eine Taste aus statt der ganzen Schleife.

Das Bild hat eine Grenze: Die Ampel regelt bewusst, wer fährt und wer wartet. delay() trifft keine solche Entscheidung, es lähmt ausnahmslos alle Aufgaben. Eine kurze Pause am Programmende ist harmlos, solange dort keine Eingaben anfallen.

delay() heißt nicht „Programm pausieren lassen“, sondern „alle Aufgaben gleichzeitig anhalten“. Wer mehrere Aufgaben bedient, vergleicht Zeitdifferenzen mit millis() statt zu warten.

📌 blockierendes Warten · millis()-Vergleich · reaktionsfähige Schleife

📚 IoT von Grund auf · Tag 4 von 30
#Arduino #Mikrocontroller #firmware
Lisa Schneider
3 dagen geleden
Die meisten Anfänger raten, wo ihre Firmware hängt. Dabei sagt es das Programm selbst – über die Verbindung, die es beim Flashen ohnehin nutzt.

Wer ein erstes IoT-Programm auf einen Mikrocontroller lädt, trifft schnell auf Serial.println(). Wer nicht weiß, was dahinterläuft, sieht nur wirre Zeichen im Monitor und hält die Platine für kaputt.

Der serielle Monitor der Arduino-IDE zeigt Textausgaben der Firmware über die USB-Verbindung an, etwa mit Serial.println(). Dahinter steckt dieselbe UART-Verbindung, also die serielle Schnittstelle mit einer TX- und einer RX-Leitung, über die auch die Firmware in den Flash-Speicher geschrieben wird. UART überträgt Daten ohne gemeinsamen Takt, deshalb müssen Firmware und Monitor dieselbe Baudrate verwenden, also dieselbe Übertragungsgeschwindigkeit in Bits pro Sekunde.

In der Praxis sieht das so aus: In setup(), dem Vorbereitungsteil, der genau einmal läuft, startet Serial.begin() die Schnittstelle und legt die Baudrate fest. Danach gibt die Firmware mit Serial.print() Text aus dem laufenden loop(), der Endlosschleife nach dem Start, an den PC. Serial.println() fügt am Ende einen Zeilenumbruch an, sodass jede Ausgabe eine eigene Zeile erhält. Vor dem WLAN-Verbinden etwa eine Zeile „WLAN verbinde…“, danach die Antwort der Firmware.

Verwechselt wird der Monitor gern mit einem Messgerät. Er ist keins: Er zeigt nur, was die Firmware selbst ausgibt, etwa den gelesenen Pin-Zustand, nicht was ein Multimeter messen würde. Auch Serial.begin() gehört in setup(), nicht in loop(), sonst wiederholt die Firmware die Startarbeit bei jedem Durchlauf und kann Abläufe stören, die nur beim Start gehören.

Der serielle Monitor ist kein separates Werkzeug, sondern dasselbe UART-Kabel, nur in Gegenrichtung. Er ersetzt kein Messgerät – aber er ersetzt das Raten.

📌 Serieller Monitor · Serial.println() · Baudrate

📚 IoT von Grund auf · Tag 3 von 30
#Arduino #esp32 #Mikrocontroller
Lisa Schneider
3 dagen geleden
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 dagen geleden
Die meisten Mikrocontroller-Pins kennen nur zwei Zustände: High oder Low. Dabei ist die Welt analog – Temperaturen, Lichtstärke und Akkuspannungen ändern sich stetig, nicht sprunghaft.

Ein ADC (Analog-Digital-Wandler) macht diese stetigen Signale für die Firmware, das Programm auf dem Mikrocontroller, lesbar. Ohne ihn könnte kein Mikrocontroller eine Spannung messen oder einen Sensor sinnvoll auswerten.

🔋 Ein ADC übersetzt eine Spannung am Pin in eine Zahl. Dabei wird die Spannung gegen die Masse (GND) gemessen, den gemeinsamen Bezugspunkt aller Spannungen in der Schaltung. Die Firmware kann diesen Zahlenwert auslesen und weiterverrechnen.

📡 Der Messbereich begrenzt, was der ADC erfassen kann. Spannungen außerhalb des Bereichs liefern nur den größten oder kleinsten möglichen Rohwert und keine sinnvolle Information. Beim ESP32 mit 3,3-V-Logik reicht der Messbereich typisch bis 3,3 V, passend zur Versorgungsspannung.

🔧 Die Auflösung in Bit bestimmt die Zahl der Stufen. Ein 12-Bit-Wandler wie im ESP32 teilt den Messbereich in 4096 Stufen; die Rohwerte laufen von 0 bis 4095. Bei 10 Bit wären es 1024 Stufen.

Ein Spannungsteiler, also zwei Widerstände, die eine Spannung teilen, liefert an den ADC-Pin die Hälfte der Versorgungsspannung. Bei einem Messbereich bis 3,3 V und 12 Bit liegt der Rohwert nahe der Mitte, also um 2048, weil eine Stufe nur etwa 0,8 Millivolt breit ist.

Ein Rohwert heißt nicht Spannung, sondern ist nur ein Zwischenschritt. Die Firmware muss den Rohwert erst über die Rechnung in eine Spannung umrechnen und dann über die Kennlinie des Sensors in die eigentliche Einheit wie Grad Celsius. Wer den Rohwert direkt als Messwert nimmt, misst falsch.

📌 Messbereich · Stufen · Rohwert umrechnen

📚 IoT von Grund auf · Tag 3 von 30
#esp32 #Mikrocontroller #sensorik
Lisa Schneider
3 dagen geleden
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 dagen geleden
Ein Arduino-Programm wirkt auf den ersten Blick wie eine Datei voller Regeln. Viele Einsteiger schreiben deshalb alles in eine Funktion – und wundern sich über stockende Abläufe.

Ein Programm sei eine Anweisung nach der anderen, also gehöre alles einfach untereinander in den Code. Das klingt plausibel, weil man beim Skripten am Rechner genau so arbeitet.

Tatsächlich besteht jedes Arduino-Programm aus zwei Bausteinen: setup() läuft genau einmal nach dem Start, loop() danach endlos. Der Mikrocontroller startet die Firmware, also das fest im Flash gespeicherte Programm, direkt ohne Betriebssystem – deshalb ist der Startvorgang kurz und vorhersagbar. In setup() steht alles, was einmalig hergestellt wird: pinMode() legt fest, ob ein GPIO-Pin (ein per Software einstellbarer Ein- oder Ausgang) Eingang oder Ausgang ist. In loop() steht die Arbeit, die sich wiederholt, etwa Sensoren lesen und Werte senden.

Der Irrtum entsteht, weil Einsteiger pinMode() oder Serial.begin() – das Starten der Seriellen Schnittstelle – in loop() schreiben. Das funktioniert oft, ist aber unnötige Arbeit bei jedem Durchlauf und stört Abläufe, die nur zum Start gehören.

Ein Beispiel ist ein Temperatur-Sensorknoten: In setup() wird der Sensor initialisiert und das Funkmodul verbunden. In loop() wird die Temperatur gelesen und gesendet; anschließend schläft der Knoten bis zur nächsten Messung.

Woran man es erkennt: Fragen Sie, ob der Schritt einen einmaligen Zustand festlegt oder wiederholt geschehen soll. Verbindung aufbauen gehört in setup(), Sensor lesen in loop().

setup() heißt nicht „Hauptprogramm mit Extras“, sondern einmalige Vorbereitung. loop() heißt nicht „einzige Funktion“, sondern endlos wiederholte Arbeit.

📌 setup() · loop() · Endlosschleife

📚 IoT von Grund auf · Tag 1 von 30
#Arduino #Mikrocontroller #firmware #iot
Lisa Schneider
5 dagen geleden
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 dagen geleden
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
Lisa Schneider
8 maanden geleden
OTA-Updates für unsere ESP32-Flotte implementiert: 30 Geräte gleichzeitig updaten, ohne ein einziges USB-Kabel. Der ESP32 prüft beim Boot ob eine neue Firmware auf dem Server liegt, lädt sie im Hintergrund, validiert die Checksumme und bootet neu.

Wichtig: Rollback-Partition für den Fall dass ein Update fehlschlägt. Ein Gerät hat sich nach einem fehlerhaften Update automatisch zurückgesetzt. Ohne Rollback wäre es ein Briefbeschwerer geworden. Skalierbare IoT-Wartung braucht OTA von Tag 1. #ota #esp32 #iot #firmware
Lisa Schneider
10 maanden geleden
Maker Faire Vortrag über IoT-Sicherheit: 85% der IoT-Geräte im Publikum hatten keine Firmware-Verschlüsselung, 60% sendeten Credentials im Klartext. Meine Checkliste für sichere IoT-Devices: TLS für alle Verbindungen, Secure Boot mit signierter Firmware, verschlüsselte OTA-Updates, keine Default-Passwörter, automatische Certificate-Rotation. Sicherheit muss beim Sensor anfangen, nicht erst in der Cloud. #iotsecurity #makerfaire #security

Niets gevonden!

Sorry, maar we konden niets in onze database vinden voor uw zoekopdracht {{search_query}}. Probeer het opnieuw door andere trefwoorden in te voeren.