Micropython Kurs 2023: Difference between revisions

From Attraktor Wiki
Jump to navigation Jump to search
Line 84: Line 84:
<br>
<br>
[[Micropython Kurs 2023 - Teil 3]]<br>
[[Micropython Kurs 2023 - Teil 3]]<br>
=== *** <s>Herbst</s>ferien Pause ***===
<br>
[[27. Lektion: Watch Dog Timer (WDT)]]<br>
[[28. Lektion: Interrupts]]<br>
[[29. Lektion: Timer]]<br>
==== 7. Abend====
21.11.2023
<br>
[[30. Lektion: Das Filesystem]]
===== Wlan=====
===== NTP/RTC=====
Die RTC des ESP32 soll sehr ungenau sein.
<pre>
MicroPython v1.20.0 on 2023-04-26; ESP32S3 module with ESP32S3
Type "help()" for more information.
>>> import network
>>> import ntptime
>>> from machine import RTC
# WLAN einrichten
>>> wlan = network.WLAN(network.STA_IF)
>>> wlan.active(True)
True
>>> wlan.connect('SSID', 'PW')
>>> wlan.isconnected()
False
>>> wlan.isconnected()
True
>>> wlan.ifconfig()
('192.168.5.109', '255.255.255.0', '192.168.5.1', '192.168.5.1')
# Die RTC mit NTP einstellen
>>> ntptime.settime()
# Die RTC einrichten
>>> rtc = RTC()
>>> rtc.datetime()
(2023, 9, 5, 1, 15, 39, 56, 427762)
>>> rtc.datetime()
(2023, 9, 5, 1, 16, 14, 5, 837765)
>>> rtc.datetime()
(2023, 9, 5, 1, 16, 21, 42, 597764)
>>> dir(ntptime)
['__class__', '__name__', '__dict__', '__file__', 'socket', 'struct', 'time', 'timeout', 'utime', '__version__', 'host', 'settime']
>>> ntptime.time()
747246194
>>> rtc.datetime()
(2023, 9, 5, 1, 16, 23, 49, 897771)
>>> ntptime.time()
747246234
>>> ntptime.utime
<module 'utime'>
>>> rtc.datetime()
(2023, 9, 5, 1, 16, 24, 29, 867765)
>>> ntptime.time()
747246276
>>> import time
>>> dir(time)
['__class__', '__name__', '__dict__', 'gmtime', 'localtime', 'mktime', 'sleep', 'sleep_ms', 'sleep_us', 'ticks_add', 'ticks_cpu', 'ticks_diff', 'ticks_ms', 'ticks_us', 'time', 'time_ns']
>>> time.gmtime()
(2023, 9, 5, 16, 25, 39, 1, 248)
>>> time.localtime()
(2023, 9, 5, 16, 25, 57, 1, 248)
>>> time.mktime(rtc.datetime())
747191787
>>> ntptime.time()
747246461
>>> time.mktime(rtc.datetime())
747191787
>>> ntptime.time()
747246472
>>> time.mktime(rtc.datetime())
747191788
>>> ntptime.time()
747246489
>>>
</pre>
===== Datum und Uhrzeit=====
===== Links:=====
==== 8. Abend====
28.11.2023
<br>
* Display anschließen
** https://github.com/TimAEllis/ssd1306-py/blob/master/ssd1306.py
** https://www.grzesina.de/az/blog_robotcar/ssd1306.py
<br>
* Webserver
** Raspberry Pi Pico
*** MicroWebSrv
**** https://github.com/jczic/MicroWebSrv
**** https://forums.raspberrypi.com/viewtopic.php?t=338692
*** Andere Links mit Sockets:
**** http://www.doctormonk.com/2022/09/a-better-web-server-for-raspberry-pi.html
**** https://microdot.readthedocs.io/en/latest/intro.html
**** https://wellys.com/posts/rp2040_microphyton_webserver/
**** https://github.com/miguelgrinberg/microdot
==== 9. Abend====
==== 10. Abend====
===== Kritik=====
<br>
$ jupyter notebook<br>
<br>
<br>
<br>


== Material zum Kurs==
== Material zum Kurs==

Revision as of 09:31, 9 September 2023


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

Über diese Seite

Diese Seite wird gerade umgebaut!

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.
https://www.mediawiki.org/wiki/Extension:Replace_Text/de

Über diesen Kurs

Achtung, der Kurs wird kostenplichtig sein (69 € je Teil).
Die Hardware (Raspberrry Pi Pico W) wird gestellt.
Die Termine des Kurses ändern sich ebenfalls!
Weiter Informationen folgen. 
  • Dieser Kurs richtet sich an Phyton Anfänger.
  • Er gibt einen Einblick in die grundlegenden Eigenschaften von Phyton/Microphyton.
    • Im 1.Teil werden wir uns mit der Programmiersprache Phyton/Microphyton beschäfftigen.
    • Im 2.Teil werden wir auch die Hardware einsetzen.
  • Die Teilnehmer sollen überwiegend eigene Erfahrungen im Umgang mit Microphyton machen.
    • Deshalb ist es wichtig die erforderliche Hardware ab dem 1. Tag funktionsfähig dabei zu haben.
    • 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.
  • Der Kurs besteht aus 2 Teilen:
    • Einführung mit viel Praxis im 1.Teil
      • Im 1.Teil weitgehend natives Microphyton, nichts M5Stack/Raspberry Pi Pico spezifisches.
    • Vertiefung und Microcontroller spezifisches im 2.Teil
      • Im 2.Teil wird auch M5Stack/Raspberry Pi Pico spezifisches behandelt.
  • 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äfftigen, 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 gestellt.
  • Es wird Laptop mit Windows benötigt.
  • Als IDE kommt Thonny 4.1.2 oder neuer zum Einsatz.
    • Thonny installieren.
    • Microphyton installieren.
    • Ggf. können Laptops mit installiertem Thonny vom Attraktor zur Verfügung gestellt werden.

Anmeldung

Die Anmeldung erfolgt über meetup.
Wer am Kurs telnehmen möchte melde sich bitte per Email (peter@attraktor.org) bis zu 12.9.23 bei mir an.

Zeitraum

Teil 1: 19.09.2023 - 10.10.2023
Teil 2: 07.11.2023 - 28.11.2023
Anzahl: 2x 4 Abende von 18:30 - 21:30 Uhr

Inhalte

https://medium.com/@pythonfundamentals

Teil 1

Die Themen des ersten Teils sind weitgehend Hardwareunabhängig und meist auch nicht Microphyton spezifisch.
Micropython Kurs 2023 - Teil 1

Teil 2

Im 2. Teil geht es um den Einsatz der Microcontroller internen Hardware.
Micropython Kurs 2023 - Teil 2

Teil 3

Dieser Teil ist noch in der Planung. Wenn er stattfindet, werden wir uns mit OOP beschäftigen.
Micropython Kurs 2023 - Teil 3

Material zum Kurs

Die folgenden Dateien sind im Wiki als .txt gespeichert. Mit einen Klick darauf werden sie angezeigt, aber nicht herunter geladen.
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

Zahlenraten.py
https://www.python-lernen.de/uebung-zahlenraten.htm
https://www.freecodecamp.org/news/python-program-examples-simple-code-examples-for-beginners/
https://profound.academy/python-introduction/zYwMdQXFuKPpQa5RyFMJ

7. Lektion

Tannenbaum_1.py
Tannenbaum_2.py


Mediawiki - MEMS-Typen ändern

https://www.mediawiki.org/wiki/Manual:Configuring_file_uploads/de
https://www.mediawiki.org/wiki/Manual:$wgProhibitedFileExtensions

9. Lektion

Karel.txt

Material für den Kurs

Hier findet Ihr eine Liste der erforderlichen Hardware:

  • Für alle Hardwarebezogenen Lektionen:
    • Steckbrett
    • Kabel
  • 18. Lektion: Pin's
    • LED
    • Widerstand 330 Ohm
    • Taster
    • Widerstand 10kOhm
  • 19. Lektion: Neopixel
    • Neopixel LED - Nur EINE LED!


SSD1306 Display

ToDo

  • 1.Lektion
    • Wo ist das Programm Begrüßung.py?
  • 2.Lektion
    • Variablenbeschreibungen für die Übung!
  • 3.Lektion
  • 4.Lektion
  • 5.Lektion
  • 6.Lektion
  • 7.Lektion
  • 8.Lektion
  • 9.Lektion
  • 10.Lektion
  • 11.Lektion
  • 12.Lektion
    • Modules von ESP32 und Raspberry Pi Pico W einbauen
  • 13.Lektion
  • 14.Lektion
  • 15.Lektion
  • 16.Lektion
  • 17.Lektion
  • 18.Lektion
  • 19.Lektion
  • 20.Lektion
  • 21.Lektion
  • 22.Lektion
  • 23.Lektion
  • 24.Lektion
  • 25.Lektion
  • 26.Lektion
  • 27.Lektion
  • 28.Lektion
  • 29.Lektion
  • 30.Lektion

Links zur Vorbereitung

https://www.youtube.com/watch?v=nwIgxrXP-X4
https://techexplorations.com/
https://www.youtube.com/watch?v=362fjQdpFlc
https://www.youtube.com/watch?v=RBpK8C3N-Y8
https://www.youtube.com/watch?v=rfscVS0vtbw
https://www.youtube.com/watch?v=eWRfhZUzrAc
https://randomnerdtutorials.com/raspberry-pi-pico-outputs-inputs-microphyton/
https://randomnerdtutorials.com/getting-started-raspberry-pi-pico-w/#install-thonny-ide
100-days-of-phyton
[]
[]
[]

Navigation

Zur Attraktor Wiki Startseite