Micropython Kurs 2023: Unterschied zwischen den Versionen

Aus Attraktor Wiki

Wechseln zu: Navigation, Suche
(Created page with "== Richtlinien für die Kursentwicklung == *Dieser Kurs richtet sich an Anfänger. *Er basiert auf dem M5Stick C Plus. *Als IDE kommt Thonny 3.3.13 zum Einsatz. Es sei denn V....")
 
(Teil 2)
 
(407 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Richtlinien für die Kursentwicklung ==
+
[[Category:Microphyton Kurs 2023]]
*Dieser Kurs richtet sich an Anfänger.
+
 
*Er basiert auf dem M5Stick C Plus.
+
Diese Seite ist meine persönliche Planungsseite und die Unterlage für den Microphyton Kurs 2023/24.
*Als IDE kommt Thonny 3.3.13 zum Einsatz. Es sei denn V.4.x arbeitet stabil mit dem M5Stick C Plus zusammen.
+
 
*Er gibt nur einen Einblick in die grundlegenden Eigenschaften von Python/Micropython.
+
== Über diese Seite==
*Wenn mehrere Lösungswege möglich sind wird nur der einfachste oder sinnvollste gezeigt.
+
Dieses hier ist die Startseite zum Micropythonkurs 2023. Sie führt zu allen Seiten, die diesen Kurs betreffen.
*Aus dem M5Stack-Micropython wird nur das Display, die Keys und der Timer behandelt.
+
 
*Die Teilnehmer bekommen nur kurze Hinweise und sollen dann selbst ausprobieren.
+
Die Seiten erfüllen zwei Aufgaben. Zum Einen dienen sie mir zur Erstellung des Kurses, zum Anderen dienen sie als Vorlage für die Durchführung des Kurses.
 +
Deshalb ist alles auf diesen Seiten in Bewegung. Manche Seiten sind fertiggestellt, andere noch in einem sehr frühen Entwicklungsstand und enthalten nur Notizen und Links.
 +
 
 +
Der Zustand einer Seite, die im Kurs behandelt wurde, wird nicht mehr verändert. Es sei denn es wird ein Fehler korrigiert.
 +
 
 +
Mit Hilfe dieser Seiten kann man sich über den Stoff, der im Kurs behandelt wird informieren und ggf. auch auf ihnen nachschlagen.
 +
 
 +
Auf dieser Seite ist > M i c r o p y t h o n < häufig falsch geschrieben als Microphyton. Ich habe den Fehler auf einer der ersten Seiten gemacht. Nun glaubt Mediwiki es müsse das richtig geschriebene Wort durch das Falsche ersetzen.
 +
<br>
 +
Bisher habe ich keine Möglichkeit gefunden das zu korrigieren.
 +
<br>
 +
Vielleicht gibt es hier eine Lösung: (Notiz für mich)
 +
* https://www.mediawiki.org/wiki/Extension:Replace_Text/de
 +
<br>
 +
 
 +
== Über diesen Kurs ==
 +
 
 +
* Dieser Kurs richtet sich an Python Anfänger.
 +
* Er gibt einen Einblick in die grundlegenden Eigenschaften von Python/Micropython.
 +
** Im 1.Teil werden wir uns mit der Programmiersprache Phyton/Microphyton beschäftigen.
 +
*** Dieser Teil enthält weitgehend natives Micropython, nichts ESP32/M5Stack/Raspberry Pi Pico spezifisches.
 +
** Im 2.Teil werden wir unsere Kenntnisse in Micropython vertiefen und lernen die periphere Hardware des Pico einzusetzen.
 +
* Die Teilnehmer sollen überwiegend eigene Erfahrungen im Umgang mit Micropython machen.
 +
** Deshalb ist es wichtig die erforderliche Hardware ab dem 1. Tag funktionsfähig zur Verfügung steht.
 +
*** Aus diesem Grund wird ein mit Micropython versehener Rasperry Pi Pico W für jedem Teilnehmer bereitgestellt. In den Kursgeführen enthalten.
 +
** Die Themen werden vorgestellt und dann von den Teilnehmern ausprobiert.
 +
* Am Ende des 1.Teils sollten die Teilnehmer in der Lage sein kleine Programme in Microphyton zu entwickeln.
 +
* Es muss eine ganze Menge Stoff vermittelt werden, um dieses Ziel zu erreichen.
 +
** Deshalb ist eine aktive Teilnahme der Teilnehmer erforderlich.
 +
** Nur durch zuhören kann man nicht programmieren lernen!
 +
 
 +
* Es geht bei diesem Kurs nicht darum schnell irgendwelche Effekte zu erzielen, sondern darum eine Programmiersprache zu erlernen.
 +
** Deshalb werden wir im ersten Teil keine LED's blinken lassen, sondern uns intensiv mit dem beschäftigen, was Microphyton uns zu bieten hat.
 +
** Im 2.Teil können wir dann auch eine LED blinken lassen. Wir wissen dann aber wie und warum da was funktioniert.
 +
<br>
 +
Was der Kurs Euch inhaltlich bietet könnt Ihr weiter unten unter Inhalte sehen.
 +
<br>
 +
=== Technische Vorraussetzungen===
 +
* Es ist ein Microcontroller Board mit RP2040 W und installiertem Micropython erforderlich. Es wird vom Attraktor zur Verfügung gestellt.
 +
* Es wird Laptop mit Windows benötigt.
 +
* Als IDE kommt Thonny 4.1.2 oder neuer zum Einsatz.
 +
* Jeder Teilnehmer muss einen Laptop mit installiertem Thonny ab dem 1. Abend dabei haben.
 +
 
 +
=== Thonny installieren===
 +
* Thonny herunterladen:
 +
** https://thonny.org/
 +
* Thonny installieren.
 +
** Die Installation von Thonny ist ganz einfach. Einfach die heruntergeladene Datei starten. Thonny kann alles andere selbst.
 +
 
 +
=== Anmeldung===
 +
Die Anmeldung erfolgt über '''meetup'''.<br>
 +
https://www.meetup.com/attraktor/events/296003198/<br>
 +
Die Teilnahme am Kurs ist kostenpflichtig: jeder Kursteil kostet € 69.- für Attraktormitglieder € 10.-
 +
 
 +
== Inhalte ==
 +
https://medium.com/@pythonfundamentals
 +
 
 +
=== Teil 1===
 +
Dienstags: 31.10.23 - 28.11.23<br>
 +
Jeweils 18.00 Uhr bis 21.00 Uhr<br>
 +
Die Themen des ersten Teils sind weitgehend hardwareunabhängig und meist auch nicht Microphyton spezifisch.<br>
 +
In der Kursgebühr ist ein Rasperry Pi Pico WH und ein USB-Kabel enthalten.<br>
 +
[[Micropython Kurs 2023 - Teil 1]]<br>
 +
 
 +
=== Teil 2===
 +
Dienstags: 16.1.24 - 13.2.24<br>
 +
Jeweils 18.00 - 21.00 Uhr<br>
 +
Im 2. Teil geht es um den Einsatz der Microcontroller internen Hardware.<br>
 +
In der Kursgebühr ist eine Experimentierplatine enthalten mit der alle Experimente des 2.Teiles durchgeführt werden können. Für den Raspberry Pico WH sind Steckleisten vorhanden.<br>
 +
[[Micropython Kurs 2023 - Teil 2]]<br>
 +
Anmeldung: https://www.meetup.com/attraktor/events/298161947/
 +
<!--
 +
=== Teil 3===
 +
Dienstags: 23.4.24 - 14.5.24<br>
 +
jeweils 18.00 - 21.00 Uhr<br>
 +
Dieser Teil ist noch in der Planung. Wenn er stattfindet, werden wir uns mit OOP beschäftigen.
 +
<br>
 +
[[Micropython Kurs 2023 - Teil 3]]<br>
 +
-->
 +
 
 +
== Material zum Kurs==
 +
Hier werden Links zum Kursmaterial stehen.
 +
 
 +
Derzeit ist das Mediwiki vom Attraktor noch nicht bereit .py-Dateien, auch gepackt entgegen zu nehmen.
 +
 
 +
<!--
 +
Die folgenden Dateien sind im Wiki als .txt gespeichert. Mit einen Klick darauf werden sie angezeigt, aber nicht herunter geladen.<br>
 +
Es ist folgendermaßen zu verfahren:
 +
* Datei mit Linksklick Ziel speichern unter herrunterladen.
 +
* Dateinamenerweiterung von .txt in .py ändern.
 +
* Die erscheinende Warnung weg klicken.
 +
 
 +
===== 6. Lektion=====
 +
[[Media:Zahlenraten.txt|Zahlenraten.py]]<br>https://www.python-lernen.de/uebung-zahlenraten.htm<br>
 +
https://www.freecodecamp.org/news/python-program-examples-simple-code-examples-for-beginners/<br>
 +
https://profound.academy/python-introduction/zYwMdQXFuKPpQa5RyFMJ<br>
 +
<br>
 +
===== 7. Lektion=====
 +
[[Media:Tannenbaum_1.txt|Tannenbaum_1.py]]<br>
 +
[[Media:Tannenbaum_2.txt|Tannenbaum_2.py]]<br>
 +
 
 +
 
 +
===== Mediawiki - MEMS-Typen ändern=====
 +
https://www.mediawiki.org/wiki/Manual:Configuring_file_uploads/de
 +
<br>
 +
https://www.mediawiki.org/wiki/Manual:$wgProhibitedFileExtensions
 +
<br>
 +
===== 9. Lektion=====
 +
[[Media:Karel.txt|Karel.txt]]<br>
 +
-->
 +
== Tips für Linuxuser== 
 +
Vielen Dank an Andreas und Geoffrey für ihre Unterstützung bei diesem Thema.<br>
 +
<br>
 +
In Linux ist es nicht immer ganz einfach sich mit dem Pico zu verbinden. Dazu sind 2 Schritte nötig:
 +
=== Den Gerätenamen des Pico ermitteln===
 +
 
 +
Meistens erhält der Pico den Gerätenamen /dev/ttyACM0, wenn es noch keine anderen Geräte mit den Gerätenamen /dev/ttyACM* gibt. Sonst wird die Zahl am Ende erhöht, z.B. /dev/ttyACM1.<br>
 +
Mit '''ls''' kann man prüfen welche Geräte vorhanden sind:
 +
<pre>
 +
# Pico nicht angeschlossen
 +
 
 +
peter@oldi:~$ ls -all /dev/ttyACM*
 +
ls: Zugriff auf '/dev/ttyACM*' nicht möglich: Datei oder Verzeichnis nicht gefunden
 +
 
 +
# Pico angeschlossen
 +
 
 +
peter@oldi:~$ ls -all /dev/ttyACM*
 +
crw-rw---- 1 root dialout 166, 0 Dez 16 11:55 /dev/ttyACM0
 +
 
 +
</pre>
 +
 
 +
Leider ist es unter Linux nicht unbedingt einfach zu bestimmen, welches Gerät unter welchem Namen unter <code>/dev</code> erscheint. Eine Möglichkeit wäre, <code>dmesg</code> aufzurufen:
 +
 
 +
<pre>
 +
# Nach dem Einstecken des Picos aufrufen
 +
# Für dmesg ist sudo meistens erforderlich
 +
$ sudo dmesg
 +
[...]
 +
[944704.804798] usb 1-1.1.3.3: new full-speed USB device number 82 using xhci_hcd
 +
[944704.922582] usb 1-1.1.3.3: New USB device found, idVendor=2e8a, idProduct=000a, bcdDevice= 1.00
 +
[944704.922603] usb 1-1.1.3.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
 +
[944704.922610] usb 1-1.1.3.3: Product: Pico
 +
[944704.922616] usb 1-1.1.3.3: Manufacturer: Raspberry Pi
 +
[944704.922622] usb 1-1.1.3.3: SerialNumber: DF6018F2676E5438
 +
[944704.935735] cdc_acm 1-1.1.3.3:1.0: ttyACM0: USB ACM device
 +
[...]
 +
</pre>
 +
 
 +
Da sieht man ttyACM0 in der letzten Zeile.
 +
 
 +
=== Dem User den Zugriff auf den Pico ermöglichen===
 +
 
 +
Wenn die Gruppe als '''dialout''' erscheint, dann reicht der Aufruf von <code>usermod</code>, so wie dargestellt. Aber <u>wichtig</u>: nach dem Aufruf von <code>usermod</code> '''ausloggen''' und '''wieder einloggen'''.
 +
 
 +
<pre>
 +
sudo usermod -aG dialout NUTZERNAME
 +
</pre>
 +
Nun abmelden, dann wieder anmelden:
 +
<pre>
 +
peter@oldi:~$ groups
 +
peter adm dialout cdrom sudo dip plugdev lpadmin sambashare
 +
</pre>
 +
Jetzt gehöre ich auch der Gruppe dialout an und darf auf /dev/ttyACM0 zugreifen.
 +
 
 +
Bei mir klappte der Zugriff direkt nach der Installation von Thonny dann noch immer nicht. Hier hat ein Neustart geholfen.
 +
<!--
 +
==Links zur Vorbereitung==
 +
Nur für mich:
 +
 
 +
[https://www.youtube.com/watch?v=nwIgxrXP-X4 https://www.youtube.com/watch?v=nwIgxrXP-X4]<br>
 +
[https://techexplorations.com/ https://techexplorations.com/]<br>
 +
[https://www.youtube.com/watch?v=362fjQdpFlc https://www.youtube.com/watch?v=362fjQdpFlc]<br>
 +
[https://www.youtube.com/watch?v=RBpK8C3N-Y8 https://www.youtube.com/watch?v=RBpK8C3N-Y8]<br>
 +
[https://www.youtube.com/watch?v=rfscVS0vtbw https://www.youtube.com/watch?v=rfscVS0vtbw]<br>
 +
[https://www.youtube.com/watch?v=eWRfhZUzrAc https://www.youtube.com/watch?v=eWRfhZUzrAc]<br>
 +
[https://randomnerdtutorials.com/raspberry-pi-pico-outputs-inputs-microphyton/ https://randomnerdtutorials.com/raspberry-pi-pico-outputs-inputs-microphyton/]<br>
 +
[https://randomnerdtutorials.com/getting-started-raspberry-pi-pico-w/#install-thonny-ide https://randomnerdtutorials.com/getting-started-raspberry-pi-pico-w/#install-thonny-ide]<br>
 +
[https://martinxpn.medium.com/100-days-of-phyton-9dd04d0995f1 100-days-of-phyton]<br>
 +
<br>
 +
Zur Überprüfung auf wichtige/interessante Themen:<br>
 +
https://levelup.gitconnected.com/my-personal-collection-of-100-python-one-liners-that-shaped-my-career-d2a41f8f447a[]<br>
 +
[]<br>
 +
[]<br>
 +
* Zwischenlager
 +
[[MPK23-Zwischenlager]]<br>
 +
-->
 +
 
 +
== Navigation==
 +
[[Attraktor_Wiki|Zur Attraktor Wiki Startseite]]

Aktuelle Version vom 8. Januar 2024, 11:50 Uhr


Diese Seite ist meine persönliche Planungsseite und die Unterlage für den Microphyton Kurs 2023/24.

Über diese Seite

Dieses hier ist die Startseite zum Micropythonkurs 2023. Sie führt zu allen Seiten, die diesen Kurs betreffen.

Die Seiten erfüllen zwei Aufgaben. Zum Einen dienen sie mir zur Erstellung des Kurses, zum Anderen dienen sie als Vorlage für die Durchführung des Kurses. Deshalb ist alles auf diesen Seiten in Bewegung. Manche Seiten sind fertiggestellt, andere noch in einem sehr frühen Entwicklungsstand und enthalten nur Notizen und Links.

Der Zustand einer Seite, die im Kurs behandelt wurde, wird nicht mehr verändert. Es sei denn es wird ein Fehler korrigiert.

Mit Hilfe dieser Seiten kann man sich über den Stoff, der im Kurs behandelt wird informieren und ggf. auch auf ihnen nachschlagen.

Auf dieser Seite ist > M i c r o p y t h o n < häufig falsch geschrieben als Microphyton. Ich habe den Fehler auf einer der ersten Seiten gemacht. Nun glaubt Mediwiki es müsse das richtig geschriebene Wort durch das Falsche ersetzen.
Bisher habe ich keine Möglichkeit gefunden das zu korrigieren.
Vielleicht gibt es hier eine Lösung: (Notiz für mich)


Über diesen Kurs

  • Dieser Kurs richtet sich an Python Anfänger.
  • Er gibt einen Einblick in die grundlegenden Eigenschaften von Python/Micropython.
    • Im 1.Teil werden wir uns mit der Programmiersprache Phyton/Microphyton beschäftigen.
      • Dieser Teil enthält weitgehend natives Micropython, nichts ESP32/M5Stack/Raspberry Pi Pico spezifisches.
    • Im 2.Teil werden wir unsere Kenntnisse in Micropython vertiefen und lernen die periphere Hardware des Pico einzusetzen.
  • Die Teilnehmer sollen überwiegend eigene Erfahrungen im Umgang mit Micropython machen.
    • Deshalb ist es wichtig die erforderliche Hardware ab dem 1. Tag funktionsfähig zur Verfügung steht.
      • Aus diesem Grund wird ein mit Micropython versehener Rasperry Pi Pico W für jedem Teilnehmer bereitgestellt. In den Kursgeführen enthalten.
    • Die Themen werden vorgestellt und dann von den Teilnehmern ausprobiert.
  • Am Ende des 1.Teils sollten die Teilnehmer in der Lage sein kleine Programme in Microphyton zu entwickeln.
  • Es muss eine ganze Menge Stoff vermittelt werden, um dieses Ziel zu erreichen.
    • Deshalb ist eine aktive Teilnahme der Teilnehmer erforderlich.
    • Nur durch zuhören kann man nicht programmieren lernen!
  • Es geht bei diesem Kurs nicht darum schnell irgendwelche Effekte zu erzielen, sondern darum eine Programmiersprache zu erlernen.
    • Deshalb werden wir im ersten Teil keine LED's blinken lassen, sondern uns intensiv mit dem beschäftigen, was Microphyton uns zu bieten hat.
    • Im 2.Teil können wir dann auch eine LED blinken lassen. Wir wissen dann aber wie und warum da was funktioniert.


Was der Kurs Euch inhaltlich bietet könnt Ihr weiter unten unter Inhalte sehen.

Technische Vorraussetzungen

  • Es ist ein Microcontroller Board mit RP2040 W und installiertem Micropython erforderlich. Es wird vom Attraktor zur Verfügung gestellt.
  • Es wird Laptop mit Windows benötigt.
  • Als IDE kommt Thonny 4.1.2 oder neuer zum Einsatz.
  • Jeder Teilnehmer muss einen Laptop mit installiertem Thonny ab dem 1. Abend dabei haben.

Thonny installieren

  • Thonny herunterladen:
  • Thonny installieren.
    • Die Installation von Thonny ist ganz einfach. Einfach die heruntergeladene Datei starten. Thonny kann alles andere selbst.

Anmeldung

Die Anmeldung erfolgt über meetup.
https://www.meetup.com/attraktor/events/296003198/
Die Teilnahme am Kurs ist kostenpflichtig: jeder Kursteil kostet € 69.- für Attraktormitglieder € 10.-

Inhalte

https://medium.com/@pythonfundamentals

Teil 1

Dienstags: 31.10.23 - 28.11.23
Jeweils 18.00 Uhr bis 21.00 Uhr
Die Themen des ersten Teils sind weitgehend hardwareunabhängig und meist auch nicht Microphyton spezifisch.
In der Kursgebühr ist ein Rasperry Pi Pico WH und ein USB-Kabel enthalten.
Micropython Kurs 2023 - Teil 1

Teil 2

Dienstags: 16.1.24 - 13.2.24
Jeweils 18.00 - 21.00 Uhr
Im 2. Teil geht es um den Einsatz der Microcontroller internen Hardware.
In der Kursgebühr ist eine Experimentierplatine enthalten mit der alle Experimente des 2.Teiles durchgeführt werden können. Für den Raspberry Pico WH sind Steckleisten vorhanden.
Micropython Kurs 2023 - Teil 2
Anmeldung: https://www.meetup.com/attraktor/events/298161947/

Material zum Kurs

Hier werden Links zum Kursmaterial stehen.

Derzeit ist das Mediwiki vom Attraktor noch nicht bereit .py-Dateien, auch gepackt entgegen zu nehmen.

Tips für Linuxuser

Vielen Dank an Andreas und Geoffrey für ihre Unterstützung bei diesem Thema.

In Linux ist es nicht immer ganz einfach sich mit dem Pico zu verbinden. Dazu sind 2 Schritte nötig:

Den Gerätenamen des Pico ermitteln

Meistens erhält der Pico den Gerätenamen /dev/ttyACM0, wenn es noch keine anderen Geräte mit den Gerätenamen /dev/ttyACM* gibt. Sonst wird die Zahl am Ende erhöht, z.B. /dev/ttyACM1.
Mit ls kann man prüfen welche Geräte vorhanden sind:

# Pico nicht angeschlossen

peter@oldi:~$ ls -all /dev/ttyACM*
ls: Zugriff auf '/dev/ttyACM*' nicht möglich: Datei oder Verzeichnis nicht gefunden

# Pico angeschlossen

peter@oldi:~$ ls -all /dev/ttyACM*
crw-rw---- 1 root dialout 166, 0 Dez 16 11:55 /dev/ttyACM0

Leider ist es unter Linux nicht unbedingt einfach zu bestimmen, welches Gerät unter welchem Namen unter /dev erscheint. Eine Möglichkeit wäre, dmesg aufzurufen:

# Nach dem Einstecken des Picos aufrufen
# Für dmesg ist sudo meistens erforderlich
$ sudo dmesg
[...]
[944704.804798] usb 1-1.1.3.3: new full-speed USB device number 82 using xhci_hcd
[944704.922582] usb 1-1.1.3.3: New USB device found, idVendor=2e8a, idProduct=000a, bcdDevice= 1.00
[944704.922603] usb 1-1.1.3.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[944704.922610] usb 1-1.1.3.3: Product: Pico
[944704.922616] usb 1-1.1.3.3: Manufacturer: Raspberry Pi
[944704.922622] usb 1-1.1.3.3: SerialNumber: DF6018F2676E5438
[944704.935735] cdc_acm 1-1.1.3.3:1.0: ttyACM0: USB ACM device
[...]

Da sieht man ttyACM0 in der letzten Zeile.

Dem User den Zugriff auf den Pico ermöglichen

Wenn die Gruppe als dialout erscheint, dann reicht der Aufruf von usermod, so wie dargestellt. Aber wichtig: nach dem Aufruf von usermod ausloggen und wieder einloggen.

sudo usermod -aG dialout NUTZERNAME

Nun abmelden, dann wieder anmelden:

peter@oldi:~$ groups
peter adm dialout cdrom sudo dip plugdev lpadmin sambashare

Jetzt gehöre ich auch der Gruppe dialout an und darf auf /dev/ttyACM0 zugreifen.

Bei mir klappte der Zugriff direkt nach der Installation von Thonny dann noch immer nicht. Hier hat ein Neustart geholfen.

Navigation

Zur Attraktor Wiki Startseite

Diese Seite wurde zuletzt am 8. Januar 2024 um 11:50 Uhr geändert. Diese Seite wurde bisher 15.199 mal abgerufen.