Seite 1 von 1

Inhalt vom main.py in Microphyton am Mikrokontroller ESP8266

Verfasst: Sonntag 19. März 2023, 15:13
von jospyt
Hallo,
Ich mache meine ersten Gehversuche mit Micropython (bisher auch keine nennenswerte Python Erfahrung) auf dem Microcontroller ESP8266.
In https://docs.micropython.org/en/latest/ ... ot-process steht:
it’s recommended to keep your application(s) in separate files, and have just the following in main.py:

Code: Alles auswählen

import my_app
my_app.main()
This will allow to keep the structure of your application clear, as well as allow to install multiple applications on a board, and switch among them.

Angenommen meine Applikation heißt „LED_on.py“:
  • wie soll der Inhalt von main.py konkret in diesem Falle aussehen?
  • ist my_app ein Module, das importiert werden muss?
  • was bedeutet der Anteil .main()?
  • wo ist der Bezug zu meiner Applikation „LED_on“?
Es sind wahrscheinlich sehr einfache Fragen, ich hoffe ich erhalte hier die Antworten. Herzlichen Dank im Voraus!

Beste Grüße

Re: Inhalt vom main.py in Microphyton am Mikrokontroller ESP8266

Verfasst: Sonntag 19. März 2023, 15:29
von sparrow
Da wir hier von absoluten Basics reden, empfehle ich dringend das Durcharbeiten eines Tutorials um die Grundlagen von Python zu lernen. Ein guter Einstieg ist das Tutorial in der offziellen Dokumentation. Es gibt dann bestimmt Abweichungen zu MicroPython aber ein grundlegendes Verständnis baut man damit auf.

Namen schreibt man in Python komplett klein_mit_unterstrich. Ausnahme sind Klassen (PascalCase) und Konstanten (KOMPLETT_GROSS).
Dein Modul sollte also led_on heißen, nicht LED_on.

Gut, dass du deine Applikation so geschrieben hast, dass sie ohne Seiteneffekt importiert werden kann. Sie benutzt also keine globalen Variablen und auf Modulebene stehen nur die Importe und die Definitionen von Funktionen, Klassen und Konstanten und der mit

Code: Alles auswählen

if __name__ == "__main__":
    main()
gegen importe geschützte Aufruf deiner Einstiegsfunktion.

So kannst du deine Apllikation einfach genau so importieren wie im Beispiel gezeigt. Aus my_app wird einfach led_on.

Re: Inhalt vom main.py in Microphyton am Mikrokontroller ESP8266

Verfasst: Sonntag 19. März 2023, 15:48
von Dennis89
Hallo,

ich weis nicht wie gelernte Programmierer das machen würden. Aber wenn man gerade dabei ist programmieren zu lernen, dann spricht doch erst mal nichts dagegen das Programm in 'main.py' zu schreiben. Meine Programme die ich zu Beginn mit Python geschrieben habe, waren zumindest nicht so umfangreich, dass man die Übersicht verliert. Und jetzt, ~2 Jahre später, finde ich es immer noch Übersichtlich das Hauptprogramm in 'main.py' zu schreiben und ggf. dann mal eine oder zwei Klassen aus einer anderen Datei importieren.
Ein Vorteil sehe ich jetzt aber doch noch. Wenn ich mir meinen Code auf der Festplatte speichere, dann nenne ich 'main.py' immer um, damit ich weis was dahinter steckt. Das würde dann wegfallen.

Naja ich würds erst einmal hinten anstellen und schauen das ich einfachen funktionierenden Code hinbekomme. (Es sei denn es kommen hier noch ein paar und ein gutes Argument, dann gewöhne ich mich auch um)

Grüße
Dennis

Re: Inhalt vom main.py in Microphyton am Mikrokontroller ESP8266

Verfasst: Sonntag 19. März 2023, 21:51
von __deets__
Ich bin ein erfahrener Programmierer, und ich arbeite mit micropython. Und den Tipp halte ich für Quatsch. Es gibt wenig Grund, die main so klein zu halten. Klar sind Module zur Strukturierung und Code-Wiederverwendung gut. Aber eine so künstlich verknappte Main muss nicht sein. Ob der Import-guard von sparrow unter yPy weiß ich nicht, aber da man die Main.py eh nicht anders ausführen kann, ist er (in diesem Kontext) auch unwichtig in meinen Augen.

Re: Inhalt vom main.py in Microphyton am Mikrokontroller ESP8266

Verfasst: Sonntag 2. April 2023, 18:30
von Phyton-Kater
Hallo zusammen,

ich arbeite hier mit MicroPython auf dem ESP32, einem Nachfolger vom ESP8266
und gehe auf folgende Weise vor:

main.py Hauptscript für den Anwendungscode,
d.h. hier schreibe ich das Programm, dem ich dann mit "Speichern unter" einen Namen.py gebe.

Für Anfäger empfehle ich die Entwicklungsumgebung (IDE) "Thonny" ( https://tonny.org )

Im übrigen gelten für Variablen-Namen die folgenden Regeln:
  • nur Zahlen, Buchstaben und Unterstriche
  • das erste Zeichen muss ein Buchstabe oder Unterstrich sein
  • der Variablen-Name unterscheidet zwischen Groß- und Kleinschreibung