Hat jemand schon mal Micropython auf dem ESP32 ausprobiert?
Beim ESP8266 gibt es die NodeMCU. Beim ESP32 habe ich eines auf dem
"WROOM" drauf steht und so aussieht:
https://cdn.instructables.com/ORIG/FQM/7X6B/J7GGGD9O/FQM7X6BJ7GGGD9O.png
Ich würde gerne wissen, ob das ESP32 zusammen mit Micropython geeignet
ist, einen HC05 US-Sensor zu nutzen.
LED-Blinken schalten klappt schon mal:
Gut zu wissen, daß es µPython auch für den ESP32 gibt; hab hier auch so
ein Modul rumliegen, daß endlich mal ausprobiert werden will.
chris schrieb:> ValueError: expecting a pin
Also die Fehlermeldung klingt für mich so, als ob Python ein pin-Objekt
als Argument erwarten würde, da der ESP32 offenbar (anders als der
ESP8266) keinen eigenen ADC-Pin hat.
>Also die Fehlermeldung klingt für mich so, als ob Python ein pin-Objekt>als Argument erwarten würde,
Daran habe ich auch gedacht, konnte aber den passenden Syntax und eine
gute Doku finden.
Wenn man es dann weiß, ist es einfach:
zum Thema files auf das board übertragen
https://github.com/stefanhoelzl/mpy-dev-tools
Damit kann man eine uPython-Gerät per FUSE als Filesystem mounten.
(getestet nur mit ESP8266 und ESP32)
Sind auch Skripte dabei um einen bestimmten Ordner mit dem Gerät zu
synchronisieren und dann ein Skript auf dem Board auszuführen und die
Ausgabe erscheint dann in der Konsole
Die zweite UART scheint rudimentär zu funktionieren:
>>> import machine>>> u2=machine.UART(2, baudrate=9600, rx=16, tx=17, timeout=10)
I (1576441) uart: ALREADY NULL
I (1576441) uart: queue free spaces: 10
>>> u2.write("Hello, World!\n")
Ich weiß zwar nicht, was die "I" Kommentare bedeuten, aber am Pin17
kommt das Signal raus.
Um mal die Geschwindigkeit die DAC-Geschwindigkeit zu testen ..
Das folgende Programm toogled den DAC Ausgang ( im Bild der Anschluss
mit der Bezeichnung D26)
chris schrieb:> Scheinbar gibt es ESP32 mit 4MB serial Ram Speichererweiterung:
Scheinbar?
Also meine hier sind real... ;)
> Bleibt die Frage, wie schnell das Python damit läuft.
Nicht schneller, aber vieles geht damit erst. Hängt halt von der
Software ab.
Ohne ist aber kaum RAM übrig für aufwendigere Programme.
>Nicht schneller, aber vieles geht damit erst. Hängt halt von der>Software ab.
Ich habe jetzt eher an langsamer gedacht, weil ja die Daten seriell in
den Prozessor übertragen werden müssen.
>Ohne ist aber kaum RAM übrig für aufwendigere Programme.
Wenn ich richtig gelesen habe, sollte der ESP 440kB Ram haben. Die
aktuelle Implementierung nutzt aber nur 100kB, es sind also 3/4 des Rams
ungenutzt.
Kann man nur hoffen, dass es in irgend einer Version geändert wird.
chris schrieb:> Ich habe jetzt eher an langsamer gedacht, weil ja die Daten seriell in> den Prozessor übertragen werden müssen.
Ja, das ist richtig, die Daten werden ja per SPI übertragen. Es werden
aber 32KB gecachet.
>>Ohne ist aber kaum RAM übrig für aufwendigere Programme.>> Wenn ich richtig gelesen habe, sollte der ESP 440kB Ram haben. Die> aktuelle Implementierung nutzt aber nur 100kB, es sind also 3/4 des Rams> ungenutzt.> Kann man nur hoffen, dass es in irgend einer Version geändert wird.
Wenn mal auch sowas wie z.B. Bluetooth vollständig implementiert sind,
bleibt vom internen RAM nicht mehr viel übrig.
Daher ist PSRAM für Micropython auf dem ESP32 leider Pflicht, wenn es
denn überhaupt mal vollständig migriert wird.
Kannst Du den Speicher auf Deinen Modulen mit folgenden Befehlen
überprüfen?:
1
importmicropython
2
micropython.mem_info()
Bei meinen dem oben abgebildeten erhalte ich:
stack: 736 out of 15360
GC: total: 111168, used: 5360, free: 105808
No. of 1-blocks: 32, 2-blocks: 9, max blk sz: 264, max free sz: 6604