ESP und MicroPython

Inhalt

MicroPython auf ESP32, ESP8266, Raspberry Pi 1

Projekte. 1

Grundlagen.. 1

µPyCraft und die ersten Kontakte zu MicroPython.. 1

ESP32 und ESP8266 im WLAN.. 1

Module und Klassen.. 1

Module und Klassen – Teil2. 1

Geigerzähler 1

Ein Geigerzähler mit Halbleitersensor 1

Das Gammaspektrometer 1

GPS – was alles damit geht 1

GPS- und Anzeige-Einheit 1

GPS-Daten im LCD.. 1

SMS mit dem SIM808. 1

Das SIM808 als Relais-Station.. 1

Telefonieren mit dem SIM808. 1

Ein Anwesenheitssimulator 1

Der TV-Simulator 1

Robot-Car 1

Robotcar – 1. Die Steuerung. 1

Robotcar – 2. Das Auto. 1

Robotcar – 3. Steuern per Handy. 1

App-Inventor 2 – Step by step. 1

Spiele. 1

Spiele – Masterring 1 - Farbenraten.. 1

Spiele – Ringmaster 2 – geheime Zahl erraten.. 1

Spiele – der einarmige Bandit 1

Spiele – Hangman auf dem OLED-Display. 1

Datenlogger – Demonstration der Speichermöglichkeiten. 1

Erstellen von großen oder eigenen Zeichensätzen für das OLED-Display. 1

Mückenstopp und Marderschreck. 1

Mückenstopp und Marderschreck – Der Tongeber 1

Mückenstopp und Marderschreck – Die Handy-App. 1

Peltierelemente. 1

Projekte mit Peltier-Elementen - 8 Ampere-Regler als Stromversorgung. 1

Projekte mit Peltier-Elementen – Thermisches Wattmeter 1

Projekte mit Peltier-Elementen – Das Kühlaggregat 1

Projekte mit Peltier-Elementen – Das Kühlaggregat 2. 1

Projekte mit Peltier-Elementen – Die Steuerung. 1

Baumgeschichten. 1

Temperaturwächter fürs Gartenhaus. 1

Frostwächter im Garten – Messwerterfassung und Server 1

Frostwächter im Garten – Messwerterfassung und Server 1

Frostwächter im Garten – Messwerterfassung und Server 1

MQTT mit ESP32/ESP8266 und Raspberry Pi 1

Raspi und PC vorbereiten.. 1

Der DHT-Client, Temperatur, Luftfeuchte und Lüftermotor 1

Heizungssteuerung und ESP32-Kontrolleinheit 1

Node-RED bringt Übersicht 1

Zugriffe absichern – User Authentifizierung und Jobkontrolle. 1

Der etwas andere Türgong. 1

Module, die in den Projekten verwendet werden.. 1

Utilities. 1

Die_Entwicklungsumgebung_Thonny. 1

Das_modul_keypad –. 1

Closures und Decorators –. 1

Glossar 1

 

 


 

MicroPython auf ESP32, ESP8266, Raspberry Pi

 

Projekte

Grundlagen

µPyCraft und die ersten Kontakte zu MicroPython

Woher bekomme ich die Programmierumgebung?

Wie wird µPyCraft installiert?

Welche Werkzeuge beinhaltet die IDE?

Wie wird die Firmware gebrannt?

IO-Pins

Das erste Programm

 

ESP32 und ESP8266 im WLAN

Was ist OOP?

Einblick in den Aufbau von MicroPython

Die WLAN-Interfaces AP und STA

Netzwerk einrichten

Kontakt zum WLAN-Router aufnehmen

Wie arbeitet eine TCP-Verbindung?

Der erste Webserver – Hallo Welt!

Der Server schaltet eine LED

Ein erstes Glossar

 

Module und Klassen

Deutsche Fassung

Englische Fassung

So installieren Sie Thonny

Der Aufbau der IDE

Analoge Signale messen

Das LDR-Modul

Die ADC-Modi des ESP32

Vom Volt zum Byte

Der Unterschied zwischen ESP8266 und ESP32

Berührungsempfindliche Schalter – Touchpads

Was ist eine Klasse?

Die Touchpad-Klasse

Der ESP8266 bedient keine Touchpads – Ersatz?

 


 

Module und Klassen – Teil2

Deutsche Fassung

Englische Fassung

Einordnung des neuen Raspberry Pi pico

Wozu sind MicroPython-Module gut?

Versuche mit Funktionen und Variablen – Lokalität vs. Globalität

Import ist nicht gleich Import

Eigene Module und Klassen

Klassen und Instanzen

Timereinsatz und Piepen – der Piezosummer

Die Klasse BEEP

OLEDs am I2C-Bus

Die Module ssd1306 und oled

OLED-Test mit Touchpads

 

Geigerzähler

Ein Geigerzähler mit Halbleitersensor

Deutsche Fassung

Englische Fassung

Eine eigene Platine für Sensor und Verstärker

Woher bekomme ich Proben?

Zerfallssignale am ADC-Port

Autostart und Stand-Alone-Betrieb

Der ESP8266 im Vergleich zum ESP32

ESP-Tool zum Brennen der Firmware

Anpassen an die W10-Umgebung

 

Das Gammaspektrometer

Deutsche Fassung

Englische Fassung

Vererbung von Klassen und Überschreiben

Renovierung guter Bekannter

Vererbung

Netzanmeldung im neuen Gewand

Der Server wird erwachsen

Das Webinterface und CSS

Der ESP32 als Accesspoint

 

 


 

GPS – was alles damit geht

GPS- und Anzeige-Einheit

Deutsche Fassung

Englische Fassung

Das LCD-Key-Pad – Anzeige und Steuerung

SIM808 – Das vielseitige Verbindungs-Modul

Was macht MicroPython so besonders?

Thonny als IDE

Tastenabfrage mit dem LCD-Key-Pad

Eine Klasse für das LCD

 

 

GPS-Daten im LCD

Deutsche Fassung

Englische Fassung

Tricks und Infos zu MicroPython

Was ist ein Konstruktor?

Ein paralleles LCD am I2C-Bus

Ein BMP280 am I2C-Bus

6 Tasten an einem analogen Eingang

 

 

SMS mit dem SIM808

Deutsche Fassung

Englische Fassung

Gebrauch der sim-Karte

SMS empfangen und versenden

 

 

Das SIM808 als Relais-Station

Deutsche Fassung

Englische Fassung

Abfragen externer Sensoren durch SMS

Schalter per SMS umlegen

UDP als schnelles Übertragungsprotokoll zu den Sensoreinheiten

Packetsender.exe als Server oder Client

 

 

Telefonieren mit dem SIM808

Deutsche Fassung

Englische Fassung

die Gesprächsfunktion des SIM808 nutzen

Eine 4x4-Tastatur-Matrix am I2C-Bus

Die 4x4-Tastatur "parallel" abfragen

Die Teleklingel font

 

 

Ein Anwesenheitssimulator

Deutsche Fassung

Englische Fassung

Drahtloses Schalten von Lampen, Stereoanlage etc. in Abwesenheit

ESP8266-01 als Satelliten mit Relais

ESP32 als Vermittler zwischen Satelliten und SIM808

Flashen des ESP8266-01 auf dem USB-Adapter

Der Fehler 98: EADDRINUSE – Lösung

 

Der TV-Simulator

Deutsche Fassung

Neopixelringe ansteuern

Flashen eines ESP8266-01 auf dem USB-Adapter

 

Robot-Car

Robotcar – 1. Die Steuerung

Deutsche Fassung

Englische Fassung

Programmierung eines Joysticks

Ungenauigkeit der ADC-Eingänge kompensieren

Externer ADC AD1115 glänzt mit besserer Genauigkeit

Das Neigungsmodul GY521

 

 

Robotcar – 2. Das Auto

Deutsche Fassung

Englische Fassung

Der mechanische Aufbau

Montage der Sensoren

Modifizieren des Motor-Control-Shields for Arduino

Lenken ohne Lenkrad

Wie arbeiten Interrupts?

 

 

Robotcar – 3. Steuern per Handy

Deutsche Fassung

Englische Fassung

Der App-Inventor 2 Baukasten

Bildschirmobjekte zusammenstellen

Objekt-Eigenschaften bearbeiten

Die UDP-Erweiterung einbinden

Programmieren mit Bausteinen

Der AI-Companion auf dem Handy

Download der fertigen App

App-Inventor 2 – Step by step

Deutsche Fassung

Arbeiten mit dem AI2 Schritt für Schritt

Das Bausteinsystem

Life-Kontrolle mit dem Handy

Transfer der fertigen App

 

 

Spiele

Spiele – Masterring 1 - Farbenraten

Deutsche Fassung

Englische Fassung

Die Thonny IDE – Installation, erste Schritte

Wie arbeitet der Neopixelring?

Eine Neopixelklasse mit verschiedenen Lichtfolgen

OLED ansteuern

 

Spiele – Ringmaster 2 – geheime Zahl erraten

Deutsche Fassung

Englische Fassung

Eine 4x4-Tastenmatrix am ESP32

Neopixelring als magisches Auge

Zufallszahlen erzeugen

Wie arbeitet der Neopixelring?

 

 

Spiele – der einarmige Bandit

Deutsche Fassung

Englische Fassung

3 Neopixelringe ansteuern

OLED-Display über I2C ansteuern

Zufallszahlen erzeugen

Wie arbeitet der Neopixelring?

Ringzähler

 

 

Spiele – Hangman auf dem OLED-Display

Deutsche Fassung

Englische Fassung

Eine alphabetische "Tastatur" auf dem OLED-Display

Cursor erzeugen

grafische Elemente auf dem OLED-Display

Eine 4x4-Tastenmatrix am ESP32

Lokale und globale Variablen und Funktionen

Closures – Funktionen mit Gedächtnis

Der Portexpander MCP23017

Datenlogger – Demonstration der Speichermöglichkeiten

Deutsche Fassung

Englische Fassung

Luftdruck und Temperatur messen mit dem BMP280

Echtzeit-Modul DS3231

Schreiben und lesen von Dateien im ESP32/ESP8266-Flash

Formatstrings sorgen für einheitliche Darstellung

Wie benutzt man ein externes EEPROM?

Ansprechen einer SD-Karte

Tiefschlafmodus beim ESP32 und ESP8266

 

 

Erstellen von großen oder eigenen Zeichensätzen für das OLED-Display

Deutsche Fassung

Windows TTF-Zeichensätze clonen

eigene Zeichen definieren

Zeichen in OLED-Ausgaben verwenden

Beschreibung der API

 

Mückenstopp und Marderschreck

Mückenstopp und Marderschreck – Der Tongeber

Deutsche Fassung

Englische Fassung

Erzeugen von PWM-Signalen

Piezomodul ansteuern

Booster mit 6-fach CMOS Schmitt-Trigger CD40106

UDP-Fernsteuerung

Packetsender.exe als Server und Client

Wahl zwischen AP- und STA-Modus

 

 

Mückenstopp und Marderschreck – Die Handy-App

Deutsche Fassung

Englische Fassung

Herstellen einer Android-App

Entwicklung mit dem Handy kontrollieren

Die fertige App auf das Handy laden

 


 

Peltierelemente

Projekte mit Peltier-Elementen - 8 Ampere-Regler als Stromversorgung

Deutsche Fassung

Aktive Kühlung durch CPU-Lüfter mit Reglerschaltung

KY013 – NTC als Temperaturfühler

LED-Modul zur Spannungsanzeige

Strommessung mit Hall-Modul (ACS712T-ELC20A)

OLED-Display mit großem Zeichensatz

ESP8266 als Amperemeter

Große Zeichen erzeugen

 

 

Projekte mit Peltier-Elementen – Thermisches Wattmeter

Deutsche Fassung

Englische Fassung

Wärmestrom und Wärmeleistung

Ein thermisches Wattmeter

Peltierelement als Wattmeter-Sensor eichen

Wärmeströme messen

 

 

Projekte mit Peltier-Elementen – Das Kühlaggregat

Deutsche Fassung

Englische Fassung

Wie funktioniert ein thermoelektrischer Wandler?

Wie baut man eine effiziente Wärmeschleuse?

Der ESP32 steuert einen Buckconverter.

Wohin mit der Abwärme?

Ein Eigenbau-Optokoppler

 

 

Projekte mit Peltier-Elementen – Das Kühlaggregat 2

Deutsche Fassung

Englische Fassung

CMOS-N-Kanal-Transistor ersetzt Relais

OLED-Display zeigt Temperaturen, Spannungen und Stromstärken an.

Der 12A-Buck-Converter

Algorithmus zur Korrektur der Spannungsmessung

Decorators

Temperaturmessung mit DS18B20

Lüfter-Schaltstufe

Hallsensoren zur Stromstärkemessung

 

 

Projekte mit Peltier-Elementen – Die Steuerung

Deutsche Fassung

Englische Fassung

Das Touchscreen-TFT-Display

Geeignete Controller

TFT-Treiber ILI934xnew

Touchpad-Treiber XPT2046_syn

Touchpad kalibrieren

Große Zeichensätze

 

 

Baumgeschichten

Deutsche Fassung

Englische Fassung

Mechanischer und elektrischer Aufbau des Bäumchens

Verdrahtung zum ESP32

Anordnung der LED-Gruppen

Das OLED-Dispplay

Beleuchtung langsam hochfahren

Zauberbäumchen – Der Reed-Kontakt

Lärmsensor – Das Microfonmodul

Bäumchenklau – Bewegungs- und Neigungssensor GY 521

Weihnachtsatmosphäre – Temperatur und Luftfeuchte AM2302

Weihnachtsverlosung – RFID-Leser und Tokens für 13,2MHz

Weihnachtsbaum und Webserver

 

Temperaturwächter fürs Gartenhaus

Frostwächter im Garten – Messwerterfassung und Server

Deutsche Fassung

Englische Fassung

Mininetzteil 230VAC zu 5VDC

Stepup-Converter 5VDC zu 12VDC

Temperatursensoren DS18B20

ESP8266 als UDP-Server

OLED-Anzeige für Temperatur und Funkdaten

Trägerplatine für Netzteil und Boostconverter

 

 


 

Frostwächter im Garten – Messwerterfassung und Server

Deutsche Fassung

Englische Fassung

Mininetzteil 230VAC zu 5VDC

Stepup-Converter 5VDC zu 12VDC

Temperatursensoren DS18B20

ESP8266 als UDP-Server

OLED-Anzeige für Temperatur und Funkdaten

Fühler für Bodenfeuchtigkeit

Trägerplatine für ESP8266 und Relais

Konfigurationsdaten in Datei im Flash ablegen

Linux-Rechner/Raspberry Pi sammelt Daten vom ESP8266

Zeitgeber Cronjob

 

 

Frostwächter im Garten – Messwerterfassung und Server

Deutsche Fassung

Englische Fassung

Webserver auf der Linuxkiste steuert den Frostwächter

Direkte Steuerung des Wächters im WLAN mit Handy-App

Umgang mit dem App-Inventor 2

Sound- und Sprachausgabe

UDP-Erweiterung für die Handy-App

 

MQTT mit ESP32/ESP8266 und Raspberry Pi

Raspi und PC vorbereiten

Deutsche Fassung

Was macht MQTT?

Broker und Clients

Raspberry Pi aufsetzen und einrichten

Mosquitto-Broker installieren

Node RED installieren

XMING auf Windows installieren

Putty als Terminal für X11 einrichten

 

 

Der DHT-Client, Temperatur, Luftfeuchte und Lüftermotor

Deutsche Fassung

Der ESP8266 als MQTT-Client

Eine Closure als Timer

Mit MicroPython eine Verbindung zum WLAN-Router aufbauen

 

 

Heizungssteuerung und ESP32-Kontrolleinheit

Deutsche Fassung

ESP8266 schaltet Relais über MQTT

ESP8266 liest DS18B20 aus

Publishen und Subscriben

ESP32 als Schaltzentrale mit Tasten und LDC

 

Node-RED bringt Übersicht

Deutsche Fassung

Das Node RED Dashboard

Erstellen eines GUI zur Heizungssteuerung

 

 

Zugriffe absichern – User Authentifizierung und Jobkontrolle

Deutsche Fassung

Importieren eines Dashboards

Erweiterung der Grafischen Oberfläche

Authentifizierung der Benutzer

ACL – Die Access-Liste legt fest, wer was darf

 

 

Der etwas andere Türgong

Deutsche Fassung

Ein Mini MP3-Player spielt als Ersatz für die Türklingel Melodien ab

Der Broker loggt Klingelereignisse mit

Eine Handy-App steuert den Türgong und fragt ihn ab

 

 

Module, die in den Projekten verwendet werden

Es kann sein, dass in manchen Projekten ältere Versionen eines Moduls verwendet wurden. In der Regel wurde aber auf Abwärts-Kompatibilität geachtet.

 

24cxx.py

Schreiben und Lesen von I2C-EEPROMs

accesspoint.py

Snippet zum Einrichten des Onboard-Accesspoints

adcrc.py

Joystickkoordinaten vom ESP32 abfragen mit Linearitätskorrektur

ads1115.py

Bedienung des Analogdigitalwandlers ADS1115

ads1115rc.py

Bedienung des Analogdigitalwandlers ADS1115 incl. Methoden zur Joystickabfrage

beep.py

Klasse zur Steuerung der Signale einer RGB-LED und eines aktiven Tweeters

bme280.py

Interface für den Sensor BME280 Temperatur, Luftdruck, rel. Luftfeuchte

bmp180.py

Interface für den Sensor BME280 Temperatur, Luftdruck

bmp280.py

Interface für den Sensor BME280 Temperatur, Luftdruck

button.py

Abfrage von Tasten, warten auf Taste, warten auf loslassen, Display ist optional

charset.py

Klasse zur Erzeugung eigener Zeichensätze

ds1302.py

Methoden zur Real-Time-Clock DS1302

ds3231.py

Methoden zur Real-Time-Clock DS3231

gps.py

Methoden zum Arbeiten mit dem SIM808-GPS-Modul

gy521.py

Interface für das Accelerometer MPU6050

hd44780u.py

Methoden für ein LCD mit Parallelanschluss oder I2C-Adapter

i2cbus.py

Methoden zum Datenaustausch über I2C

keypad.py

Tatenabfrage für das LCD-Key-Pad und einer 4x4-Tastaturmatrix indexed (ESP32) oder reversal (MCP23017)

ks.py

Modul zur Erfassung von Kernstrahlung mit einer PIN-Diode

lcd.py

Klasse zur Bedienung eines LCDs; Die Methoden sind gleichlautend mit denen der Klasse OLED.

mcp.py

Modul zur Arbeit mit dem Portexpander MCP23017

benutzt i2cbus.py

mring.py

Methoden zur Programmierung von Neopixel-Ringen u.ä.

mrfc522.py

RFID-Tag - Leser

umqttsimple.py

MQTT-Treiber für ESP8266 und ESP32 von Rui Santos

nrf24simple.py

Klasse zum Arbeiten mit dem Funkmodul NRF24L01

oled.py

Ansteuerung eines OLED-Displays ab 19.07.2021

ältere Version oled_2021-06-17.py

pca9685.py

Interface zum Servo-Modul PCA9685

robotcar.py

Methoden zu Steuerung eines Robot Car

sdcard.py

SD-Card-Interface

sh1106.py

Interface für OLEDs mit dem Controller sh1106 I2C (1,3'')

sht21.py

Methoden zum Ansteuern des SHT21-Moduls; Temperatur und Luftfeuchte

ssd1306.py

Interface für OLEDs mit dem Controller ssd1306 – I2C (0,96'';)

touch.py

Interface für Touchpads an den Touch-Eingängen des ESP32

touch8266.py

Emuliert das Modul touch.py mit Tasten für den ESP8266

touchx.py

Extended Tsten- und Touchpadmodul; benötigt button.py oder touch

 

 

Utilities

Die_Entwicklungsumgebung_Thonny deutsche Fassung englische Fassung

Installation und erste Schritte

Das_modul_keypad

16x2 LCD + 6 Tasten

Closures und Decorators

Interessante Funktionen mit Gedächtnis

Glossar

zu allen Themen der Blogreihe

 

Erstellen_von_großen_oder_eigenen_Zeichensaetzen.pdf

API der Klasse charset.pdf

 

MIT App_Inventor_2

Einführung in MIT-AppInventor2, Apps fürs Handy (Android) selber machen