Forum: PC-Programmierung Problem bei der Installation von "esp8266.py" auf Raspberry Pi


von Florian J. (Gast)



Lesenswert?

Hallo Leute,

google hat mir leider nicht weitergeholfen.

Hab hier einen Raspberry 3 B+, und versuche ein Paket zu installieren 
gemäß dieser Anleitung:

https://pypi.org/project/esp8266.py/

Installation klappt wie es scheint problemlos. Wenn ich das Modul dann 
aber einbinden will teilt mir thonny mit es existiert nicht, wie auf dem 
screenshot zu sehen.

Ich hab das Paket auch unter thonny installiert und das Programm neu 
gestartet, ebenfalls ohne Erfolg.

Hab nun keine Ideen mehr. Wer hat einen Tip für mich?

Danke!!

von Schlaumaier (Gast)


Lesenswert?

Such die Datei die er will und kopiere sie von Hand dahin wo er sie 
haben will.

Steht alles in der Fehlermeldung.

Vielleicht ist das Installationsprogramm zickig.

Ist jedenfalls das was ich immer als erstes mache.

von Imonbln (Gast)


Lesenswert?

Dein Sourcecode sieht nach Python3 aus, das installierte Module ist aber 
für Python 2.7!
Es sieht so aus als hättest du mit pip das Modul für cPython 2.7 
installiert, verwendest aber in deiner IDE MicroPython, was Python3 
entspricht.

Ganz generell Python 2.7 ist veraltet und sollte nicht mehr für neue 
Projekte verwendet werden, das Module ist als auch veraltet! Warum tust 
du dir an, mit MicroPython zu arbeiten, wenn möglich empfehle ich dir, 
mit cPython3.x zu arbeiten.

P.S System Dateien mit Hand zu kopieren wie hier vorgeschlagen ist ein 
super weg ein System unwartbar kaputt zu bekommen.

von FlorianJ (Gast)


Lesenswert?

Hallo,

also ich versuche eigentlich ein WiFi Modul auf einem RasPi Pico zum 
laufen zu bekommen.

https://cdn-reichelt.de/documents/datenblatt/A300/DIP-PI-IOT.pdf

Der Tipp mit Python3 war gut, ich hab es nun also mit

pip3 install esp8266.py

probiert, hat jedoch auch nicht geklappt. In thonny zeigt er mir ja 
eigentlich auch das richtige Verzeichnis zu den Python3 Libraries an.

Klicke ich auf jenes Verzeichnis, bekomme ich im esp8266 Ordner nur eine 
"__init__.py" Datei, ich wüsste somit auch überhaupt nicht was ich 
eigentlich wohin kopieren soll wie es vorgeschlagen wurde.

von imonbln (Gast)


Lesenswert?

FlorianJ schrieb:
> pip3 install esp8266.py
>
> probiert, hat jedoch auch nicht geklappt. In thonny zeigt er mir ja
> eigentlich auch das richtige Verzeichnis zu den Python3 Libraries an.

Okay mal ganz langsam,

Mit pip3 installierst du ein Modul für cPython3 auf deinem 
Entwicklungssystem (Host), was du eigentlich willst, ist auf deinem 
Target RasPi Pico das WIFI zum Laufen bringen. Das WIFI auf dein Target 
verhält sich laut Datenblatt wie ein UART gegenüber dein MicroPython 
Programm. Es lässt sich mit ein paar AT Kommandos steuern.

Das cPython2.7 Module esp8266.py, hast du bist jetzt immer für deinen 
Host Python installiert, was du aber eigentlich brauchst, ist eine 
Möglichkeit es für das Target MicroPython zu installieren, wie das geht 
weiß ich nicht, aber ich bin mir sicher es wird nicht einfach "pip3 
magic command" sein, da wirst du die Dokumentation von MircoPython lesen 
und verstehen müssen.

Aber und das ist ein großes aber, es wird nicht ohne Codeanpassung gehen 
https://github.com/996refuse/esp8266.py/blob/f1a61ffd65b157b392b7e3fba2394db86167e0f6/esp8266/__init__.py 
ist für cPython2.7 geschrieben wurden. Du brauchst, aber Code der auf 
MicroPython (eher Python3) läuft.

Zum Glück ist die Funktionalität dieses Moduls aber so gering. Es sind 
eigentlich nur ein paar AT Kommandos in wrapper Funktionen. Daher würde 
ich mich an deiner Stelle nicht lange mit diesem Modul aufhalten und die 
Handvoll Kommandos die gebraucht werden selbst implementieren. Die 
Komplexität von Selbst machen und das Modul auf MicroPython zu portieren 
erscheint mir vergleichbar, zumal das Threating im Module auf 
MicroPython, eher nicht gebraucht wird.

von Andreas (Gast)


Lesenswert?

Ich würde das Projekt anders angehen ...

Wozu überhaupt zwei Mikrocontroller, Raspi Pico und ESP? Du könntest 
dein Programm gleich für den ESP schreiben. Vorteile :
-weniger Bauteile
-weniger Kosten
-weniger Stromverbrauch
-kein Kommunikationsgehampple zwischen den µCs
-weniger Programmieraufwand

https://docs.micropython.org/en/latest/esp8266/tutorial/intro.html

von Florian J. (Gast)


Lesenswert?

Hallo Leute,

sorry für die späte Antwort, hab jetzt erst wieder die Zeit gefunden 
mich mit dem Thema zu beschäftigen.

Erstmal danke für eure Hinweise. Hatte da ohnehin einen massiven 
Denkfehler da ich den Weg über "Manage packages... " gehen muss um die 
libraries in den Pico-Speicher zu bekommen.

Hab mich allerdings jetzt entschieden komplett von MicroPython 
wegzugehen und es in C zu implementieren. Konnte einige Codebeispiele 
organisieren und es scheint tatsächlich sehr einfach (die Aussage von 
imonbln ist völlig korrekt):

Man schickt AT-strings via UART vom Pico zum ESP8266 und dieser tritt 
dann entsprechend Anweisungen in Aktion. Verhältnismäßig simpel in C, 
man braucht nur die Standard-libraries.

Grüße

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.