Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Programmierung von Embedded Systems mit MicroPython

Seit einigen Jahren gibt es diverse Smart-Home-Geräte am Markt, die sich leider allzu oft als Sicherheitslücke, Datenschleuder oder — nach der Pleite der Firmen — teure Briefbeschwerer herausstellen. Grund genug, die Sache selbst in die Hand zu nehmen!

Dank der Sprache MicroPython ist die Programmierung von Mikrocontrollern so einfach wie nie zuvor. In diesem Workshop werden wir erste Schritte mit MicroPython auf dem verbreiteten ESP32-Chip wagen und kleine nützliche Projekte zur Automatisierung der eigenen vier Wände realisieren (z. B. einen Wassersensor, ein Thermometer und ein Display).

Links

Firmwareinstallation

Bevor MicroPython genutzt werden kann, muss es auf dem Chip installiert werden. Dieser Vorgang wird als "Flashen" bezeichnet und kann entweder mit dem esptool oder mit Thonny gemacht werden. Dafür wird eine zum Chip passende Firmwaredatei für MicroPython benötigt.

  • per esptool
esptool --chip esp32c3 --port /dev/ttyACM0 erase_flash
esptool --chip esp32c3 --port /dev/ttyACM0 --baud 460800 write_flash -z 0x0 ESP32_GENERIC_C3-xxx.bin
  • per Thonny:
    • unter Werkzeuge > Optionen > Interpreter
    • Auswahl Interpreter: "MicroPython (ESP32)"
    • "MicroPython installieren oder aktualisieren"

Einrichtung Thonny IDE/Firmwareinstallation

  • öffne Werkzeuge > Optionen > Interpreter
  • Auswahl Interpreter: "MicroPython (ESP32)"
  • Auswahl Port
  • "OK"
  • in der "Kommondozeile": help()
    • Hier sollte eine lange Hilfe kommen, die mit "Welcome to MicroPython on the ESP32!" beginnt.

Hello World mit LED

Interaktiv:

import machine
pin8 = machine.Pin(8, machine.Pin.OUT)
pin8.value(0)
pin8.value(1)

per Skript auf Gerät:

  • "Speichern" > Micropython device > "main.py"
  • Code:
from machine import Pin
from time import sleep
led = Pin(8, Pin.OUT)
while True:
    led.value(not led.value())
    sleep(1)
  • Start per RST-Button (oder Strg+D)
  • zum Beenden: 🛑 (Strg+F2)

Codebeispiele

Siehe Ordner code für kommentierte Codeschnipsel für bestimmte Sensoren.

Pin-Out

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages