Micropython Quicky
Diese Seite dient zur Vorbereitung des Team Event MP am 11.06.2024
Löten
Was ist ein Microcontroller im Gegensatz zum PC?
Was bietet das Demoboard?
Die IDE Thonny
Python
Python ist objektorentiert entwickelt worden. Alles in Python ist ein Objekt. Demnach hat auch Alles Methoden.
In Micropython sind diese häufig nur sehr rudimentär implementiert.
Micropython
Python vs. Micropython
Micropython ist eine an den geringeren Speicher und die Besonderheiten von Microcontrolern angepasste Python Version.
D.h. dass die grundlegenden Konzepte von Python in Micropython vorhanden sind. Allerdings sind nicht alle Methoden der Klassen von Python vorhanden. Andererseits gibt es in Micropython Klassen die in Python nicht existieren. Manches verhält sich in Micropython anders als in Python. Informationen dazu findet man in der Dokumentation zu Micropython: https://docs.micropython.org/en/latest/
Alles in Allem kann man aber sagen, dass man die Anleitungen von Python zum Lernen von Micropython verwenden kann. Wenn mal etwas nicht so funktioniert wie erwartet, dann sollte man in der Micropython Doku nachsehen.
Was unterscheidet Python von anderen Programmiersprachen?
Der auffälligste Unterschied zu anderen Programmiersprachen ist wohl, das Blöcke nicht in {} eingefasst werden, sondern eingerückt werden:
if a > b:
tue etwas
a = b
Die Einrückung beträgt 4 Spaces - !kein Tab!
Es funktioniert auch mit mehr oder weniger Spaces aber das ist schlechter Stil. Wichtig ist das die Einrückungen immer gleich sind.
Datentypen und Datenstrukturen in Python
Die Datentypen von Python sind recht übersichtlich:
int
Integer sind in ihrer Größe nur durch den Speicherplatz begrenzt.
float
str
bool
None
complex
einfache Variablen
Listen
Tuple
Dictionarys
Strings
Operatoren
Die Operatoren von Python unterscheiden sich eigentlich nicht von den üblichen Operatoren.
Die einzige Ausnahme ist die Division!
- /
- liefert einen float zurück
- //
- liefert einen int zurück
Entscheidungen
Für Entscheidungen gibt es:
if x > 0:
print("Positive")
elif x == 0:
print("Zero")
else:
print("Negative")
Schleifen
Es gibt in Python nur 2 Schleifen. Die for- und die while-Schleife.
Die for Schleife entspricht nicht der üblichen for-next-Schleife. Sie ist speziell für die Verarbeitung von Iterables ausgelegt.
for item in my_list:
print(item)
Eine klassische for-Schleife lässt sich so realisieren:
for index, item in enumerate(my_list):
print(index, item)
Die while-Schleife entspricht dem Üblichen:
while condition:
# code
Module / Bibliotheken
Wie für andere Programmiersprachen, gibt es auch für Python Bibliotheken. Wenn es sich um ein einzelnes File handelt heißen sie hier Module. Wenn es eine Sammlung von mehreren Dateien ist werden sie Libraries genannt.
Das Erstellen von Modulen ist in Python ganz einfach. Im Prinzip kann jedes Pythonscript als Modul verwendet werden.
Module werden mit import eingebunden.
Es gibt 4 Möglichkeiten Module einzubinden:
import modul import modul as mo from modul import function from modul import function as func
Beim Einbinden eines Modules wird dieses ausgeführt. Es können also nicht nur Funktionen oder Klassen importiert werden, sondern auch Variablen initiiert oder z.B. eine Wlan-Verbindung aufgebaut werden.
Da es sehr einfach ist ein Modul für Python zu erstellen, gibt für Python eine Unmenge Module für die verschiedensten Anwendungen.
Für Micropython gibt es nicht so viele Module, aber für die meisten Sachen findet man welche:
Es gibt verschiedene Quellen für Module, die nicht direkt Microphyton enthalten sind. Alle sind über das Internet zu erreichen:
- Google Suche
- Github u.ä.
- Adafruit
- [https://learn.adafruit.com/]
- Überwiegend CircutPython
- Weitere Links:
Programmieren mit Micropython
Links
https://deasadiqbal.medium.com/python-cheatsheet-5474e14853cb