Forum: Mikrocontroller und Digitale Elektronik ESP8266 (512 KBytes), MicroPython


von Paul (Gast)


Lesenswert?

2014 habe ich eine Reihe von ESP8266 gekauft und jetzt erst aus der 
Schublade geholt. Auf den ESPs soll nun MicroPython installiert werden.

Da der ESP8266 nur 512 KBytes hat, wird ein MicroPython mit 
eingeschränktem Umfang geflasht (kein Dateisystem). 
https://micropython.org/download/esp8266-512k/

Ist es trotzdem möglich einen (kleinen) Webserver laufen zu lassen, der 
mir Temperatur/Feuchtigkeit eines BMP180 übermittelt?

von Stefan F. (Gast)


Lesenswert?

Paul schrieb:
> nur 512 KBytes

Mache das lieber mit Arduino, dann hast du kein Problem mit zu wenig 
Speicher.

von Paul (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Paul schrieb:
>> nur 512 KBytes
>
> Mache das lieber mit Arduino, dann hast du kein Problem mit zu wenig
> Speicher.

Ich habe eine Frage gestellt. Wenn Du sie nicht beantworten kannst, 
solltest Du erst gar nicht schreiben.

von Michael U. (amiga)


Lesenswert?

Hallo,

gerade gesehen, meine Antwort wird genauso unerwünscht sein...

warum will man da unbedingt Python drauf haben?
Aus der ArduinoIDE ist es kein Problem, da wäre sogar noch Platz für 
128k Filesystem.
Der BMP180 kann nur Temperator und Luftdruck, keine Feuchte.
Das kann aus der Serie der BME280.

Gruß aus Berlin
Michael

: Bearbeitet durch User
von Brain 2.0 (Gast)


Lesenswert?

Du kannst auch den Speicherbaustein auf dem ESP wechseln.
Sorry, wenn dir das nicht zu deiner Frage passt.

von Paul (Gast)


Lesenswert?

Michael U. schrieb:
> Hallo,
>
> gerade gesehen, meine Antwort wird genauso unerwünscht sein...
>
> warum will man da unbedingt Python drauf haben?
> Aus der ArduinoIDE ist es kein Problem, da wäre sogar noch Platz für
> 128k Filesystem.
> Der BMP180 kann nur Temperator und Luftdruck, keine Feuchte.
> Das kann aus der Serie der BME280.
>
> Gruß aus Berlin
> Michael

Man soll die Hoffnung nicht aufgeben, vielleicht findet sich noch jemand 
der mir die Frage beantworten kann.

Danke für den BMP189-Hinweis. Feuchtigkeit bitte durch Luftdruck 
ersetzen.

von Michael U. (amiga)


Lesenswert?

Hallo,

Paul schrieb:
> Man soll die Hoffnung nicht aufgeben, vielleicht findet sich noch jemand
> der mir die Frage beantworten kann.

keine Ahnung, ob es ein Forum zu MicrpPython gibt, ist für mich eher 
eine Frage der Resourcen. Hier sind auch noch wenige der ersten 
ESP8266-01 mit 512k im Einsatz. Fast immer genau für solche Sensoren 
oder PIR und MQTT-Anbindung.

Brain 2.0 schrieb:
> Du kannst auch den Speicherbaustein auf dem ESP wechseln.

würde ich bei den Preisverhältnissen nicht machen. Es sollte einer der 
vom ESP8266 erkannten Typen sein und die genutzte Bauform ist auch recht 
selten.
Beinchen passend biegen geht zwar, ist aber auch nicht die ideale 
Lösung.
Ich habe es nur bei einem mal gemacht, lohnt sich einfach nicht 
wirklich.

Gruß aus Berlin
Michael

von Dennis H. (c-logic) Benutzerseite


Lesenswert?


von Stefan F. (Gast)


Lesenswert?

Dennis H. schrieb:
> Ist in https://micropython.org/download/esp8266-512k/
> kein Webserver ?

Nein. Und auch kein Filesystem wo man das Script ablegen könnte das 
ausgeführt werden soll.

von Stefan F. (Gast)


Lesenswert?

Paul schrieb:
> Ich habe eine Frage gestellt. Wenn Du sie nicht beantworten kannst,
> solltest Du erst gar nicht schreiben.

OK, die Antwort lautet: Es ist möglich, aber nur mit erheblichem 
Aufwand. Du musst dir dazu ein Modul in C programmieren und mit sehr 
wenig Speicher (Flash und RAM) auskommen. Es ist mühsam und wird nicht 
gut aussehen.

Ich gehe davon aus, dass du das in absehbarer Zeit nicht hinbekommen 
wirst. Denn hättest du das nötige Know-How, dann hättest du diese Frage 
nicht gestellt.

Diese unschöne Antwort wollte ich dir eigentlich ersparen, deswegen mein 
Versuch dich mit Arduino abzulenken, wo das wesentlich unproblematischer 
ist.

von Joachim (Gast)


Lesenswert?

Ich habe keine eigene Erfahrung mit MicroPython, aber so wie ich die 
MicroPython-Dokumentation interpretiere, ist das wesentliche Feature, 
das in dem abgespeckten 512kB-Build deaktiviert ist, die Unterstützung 
für ein Dateisystem. Und halt alle weiteren Features, die die 
Verfügbarkeit eines Dateisystems erfordern.

Ein wirklich minimalistischer HTTP-Server, der einfach nur die Messwerte 
eines Sensors zurückliefert (und auch nur im lokalen WLAN erreichbar 
ist, Sicherheit etc. also keine Rolle spielt etc.), dürfte dann 
tatsächlich möglich sein.

Der Webserver-Teil scheint sogar vglw. leicht zu implementieren zu sein 
- in der MicroPython-Dokumentation findet sich bereits eine 
Beispielimplementierung für einen minimalistischen HTTP-Server, gerade 
mal ca. ein Dutzend Codezeilen lang, die für Deinen Zweck vermutlich nur 
minimal verändert werden müsste:
http://docs.micropython.org/en/latest/esp8266/tutorial/network_tcp.html#simple-http-server

Das Abfragen des BMP180 wäre damit vermutlich noch das grössere Problem, 
da bei Micropython offenbar kein fertiges Modul für diesen Sender 
mitgeliefert wird.
Auch das dürfte allerdings kein allzu grosses Problem darstellen, denn 
es gibt im Netz offenbar fertige in MicroPython geschriebene Module für 
die Kommunikation mit diesem Sensor:
https://github.com/micropython-IMU/micropython-bmp180

von Joachim (Gast)


Lesenswert?

Nachdem ich die Micropython-Dokumentation nochmal kurz überflogen habe, 
fürchte ich, dass Dein Vorhaben doch nicht mit vertretbarem Aufwand 
umsetzbar ist.

Denn aufgrund des fehlenden Dateisystems ist es bei den 512kb-Builds 
offenbar schlicht nicht möglich, eine "main.py"-Micropython-Datei im 
Flash zu speichern, die dann bei jedem Booten automatisch ausgeführt 
wird.
Damit sind die 512kB-Builds offenbar wirklich nur geeignet, um ein Stück 
MicroPython-Code mal kurz per REPL-Shell direkt auszuprobieren, für jede 
sinnvolle Verwendung braucht man hingegen offenbar mehr als 512kB.

von Stefan F. (Gast)


Lesenswert?

Dazu kommt: Versuche mal wenigstens einen Bericht zu finden, wo jemand 
diese 512k Version erfolgreich benutzt hat. Ich habe keinen gefunden.

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.