ubuntuusers.de

Python installeren zum Microcontroller programmieren

Status: Ungelöst | Ubuntu-Version: Ubuntu 21.10 (Impish Indri)
Antworten |

Atze1967

Anmeldungsdatum:
25. August 2015

Beiträge: 99

moin Ich habe Ubuntu64 Bit und wollte mir Python 3.10 installieren. gibt es eine Anleitung für Terminal die Funktioniert?

entweder habe ich die Falsche Variante erwischt oder es ich heute einfach nicht mein Tag!

Saddy

Anmeldungsdatum:
2. Mai 2006

Beiträge: 1148

Ich würde zunächst sicherstellen, dass die Pakete für den Microcontroller unter 3.10 schon zur Verfügung stehen. Dann würde ich Conda empfehlen.

Atze1967

(Themenstarter)

Anmeldungsdatum:
25. August 2015

Beiträge: 99

Coanda? es geht nur um den ESP32 den ich kompl. ausnutzen will. mit der Arduino IDE ist das glaube nicht Möglich. Ich allen Büchern wird Python erwähnt....

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 11999

Atze1967 schrieb:

wollte mir Python 3.10 installieren.

Das liegt selbst in Arch noch in staging - und Du nutzt Ubuntu, pff.

gibt es eine Anleitung für Terminal die Funktioniert?

Warum suchst Du nicht selbst danach? Sowas muß man voraussetzen können.

Da kommt man z.B. auf How To Install Python 3.10 on Ubuntu 20.04. Auf das PPA würde ich nicht gehen, schon weil das eben nur bis Focal unterstützt. Weiter unten wird beschrieben, wie kompiliert wird. Im übrigen gibt's auch hier einen Wiki-Artikel Python/manuelle_Installation.

Das alte 3.9.4 in Impish (und Jelly) genügt vorerst nicht für Deine Zwecke? Dann solltest Du Dir eher Gedanken darüber machen, ob Du überhaupt eine solche Distribution fahren solltest. In Arch liegt 3.9.9.

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1269

Atze1967 schrieb:

Coanda? es geht nur um den ESP32 den ich kompl. ausnutzen will. mit der Arduino IDE ist das glaube nicht Möglich. Ich allen Büchern wird Python erwähnt....

Ähm... Was hast du vor? Das normale IDE für ESP und Arduino ist C++ basiert. Es gibt einige Teile im Arduino IDE Environment, das aus Python Code (früher 2.7, jetzt 3.x) besteht. Es wird z.B. für OTA verwendet.

Oder meinst du MicroPython? Das ist eine komplett andere IDE. Wenn du in die Richtung denkst, schau dir mal ▶ Thonny ◀ an.

Atze1967

(Themenstarter)

Anmeldungsdatum:
25. August 2015

Beiträge: 99

Ups!

Micro Pyhton ist das selbige wie die Arduino IDE? im Prinzip jedenfalls oder?

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1269

Micro Pyhton ist das selbige wie die Arduino IDE? im Prinzip jedenfalls oder?

Ja und nein. Beide Systeme haben eine Entwicklungsumgebung (IDE) und nutzen einen Micro-Controller (z.B. ESP) mit seinen GPIOs, PWM, ADC, SPI, I2C, RTC usw. Dann wird es unterschiedlich.

Mit dem "normalen" Arduino IDE wird aus deinem .iso Sourcecode (C++) mit Hilfe des gcc Compilers ein statisches Image erzeugt, das auf den ESP geladen wird. Nach Drücken des Reset-Knopfes hüpft die Interrupt-Service-Routine zum Anfang deines Programms, das dann alles selbst machen muss (mit Hilfe der eingebundenen Libraries). Du hast praktisch dein "Betriebssystem" selbst geschrieben.

Die "MicroPython" IDE (basiert auf Python3) erfordert auf dem ESP quasi eine bestehende Python3 Umgebung, die deinen .mpy Soucecode abarbeiten kann. Diese MicroPython-Firmware, die zuerst auf den ESP geladen werden muss, arbeitet dann wie ein spartanisches Betriebssystem oder wie ein Zwischencode-Interpreter.

Obwohl MicroPython bereits über eine sehr umfangreiche Bibliothek verfügt, ist bei der C++ Variante ein größerer Fundus (historisch bedingt) vorhanden.

Man kann objektiv nicht sagen, welche Variante besser ist. Beide habe ihre Vor- und Nachteile. Wenn du bereits viele Projekte mit Python3 realisiert hast, wirst du dich bei MicoPython wohler fühlen. Bei der ursprünglichen C++ Lösung ist allerdings die User-Basis deutlich größer und die Wahrscheinlichkeit für Hilfestellung höher.

Atze1967

(Themenstarter)

Anmeldungsdatum:
25. August 2015

Beiträge: 99

Prima Ich bleibe dann am besten bei meiner Arduino IDE dort ist mein ESP32 schon installiert.... wie sieht das übertragen von Micro Python zum ESP32 aus? wie bei der Arduino IDE oder ist dort nur W-lAN ETC MÖGLICH? ICH STEHE MIT W-Lan auf Kriegsfuß....

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1269

Es gibt ja zig unterschiedliche Hardware beim Arduino und ESP. Das, was das Board hat, kannst du auch nutzen. In der Regel ist eine serielle Schnittstelle (UART) über USB vorhanden, über die die Sketche geladen werden und man kommunizieren kann. Natürlich ist das auch über WLAN (OTA) möglich.

Die UART und OTA Möglichkeit hast du bei der Arduino IDE Lösung. Wenn man im RAM ein kleines RAM-Filesystem einrichtet (z.B. SPIFFS) kannst du über Web-Up/Download auch Dateien austauschen (z.B. Logfiles).

Bei der MicroPython IDE Lösung hast du sogar eine Konsol-Kommunikation z.B. über das USB Kabel und kannst mit Befehlen wie %lsdevice, %upload, %cat usw das RAM-Filesystem standardmäßig nutzen.

Bei der Arduino IDE wäre dies in einer kleinen Funktion kurz selbst zu programmieren (SPIFFS.open, .openDir, .remove etc). Ich realisiere das in der Regel über eine kleine Webseite und AJAX.

Mit WLAN musst du nicht auf Kriegsfuß stehen. Schau dir mal die ESP32WebServer.h, ArduinoOTA.h und FS.h an. Da siehst du jede Menge Objekte und Methoden, die du einfach nutzen kannst, um einen Webserver und ein RAM-Filesystem zu implementieren. Ok, Micro-Controller programmieren ist eine Stufe komplexer als wenn man ein Betriebssystem mit fertigen Komponenten wie Apache und PHP hat.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

auf der Micro Python Webseite gibt es doch eine Tutorial für den ESP32: http://docs.micropython.org/en/latest/esp32/tutorial/intro.html#esp32-intro. Bevor du irgendein Python-Programm überträgst musst du erst die Micro Python Firmware auf den ESP 32 übertragen.

Gruß, noisefloor

Antworten |