Re: ftDuino32
Verfasst: 29 Mär 2021, 16:34
Hier gibt es ein Video mit ein paar ersten Impressionen, wie der ftDuino32 Python und Blockly kombiniert:
https://youtu.be/JS-Ef-26_-E
https://youtu.be/JS-Ef-26_-E
Das dauert sicher noch ein paar Tage. Aber ich könnte demnächst bestimmt mal einen Prototypen für engagierte User entbehren.
Danke für die Doku, schaut gut aus. Werde mich, wenn die Sonne im Westen steht und die Kinder im Bett sind darüber machen.MasterOfGizmo hat geschrieben: ↑31 Mär 2021, 10:53Bis dahin habe ich mal die Doku unter https://github.com/harbaum/ftDuino32 aktualisiert und vor allem nochmal mein eigenes altes Breadboard-Setup re-aktiviert und fotografiert. Das solltest Du mit Deinem Board nachbauen können.
Code: Alles auswählen
mkdir ftduino32
cd ftduino32
git clone https://github.com/harbaum/ftDuino32.git
cd ftDuino32/
git clone https://github.com/espressif/esp-idf.git
cd esp-idf
git checkout 4c81978a3e2220674a432a588292a4c860eef27b
git submodule update --init
python -m pip install --user -r ./requirements.txt
./install.sh
. ./export.sh
patch -p1 < ../patches/esp-idf.patch
sudo apt-get install build-essential libreadline-dev libffi-dev git pkg-config libsdl2-2.0-0 libsdl2-dev python3.8
git clone --recurse-submodules https://github.com/littlevgl/lv_micropython.git
cd lv_micropython/
patch -p1 ../../patches/http_server.patch
patch -p1 < ../../patches/http_server.patch
patch -p1 < ../../patches/lvgl.patch
patch -p1 < ../../patches/uzlib_compression.patch
make -c mpy-cross
virtualenv -p python venv
source venv/bin/activate
pip install pyparsing==2.3.1
pip install -r ../requirements.txt
make -C ports/esp32 BOARD=GENERIC_SPIRAM deploy
screen /dev/ttyUSB0 115200
Hab zwei 2,4 Zoll rumliegen:MasterOfGizmo hat geschrieben: ↑31 Mär 2021, 22:38Grossartig. Was für ein Display hast Du Dir denn bestellt? Diese ganzen roten 2.4 und 2.8"-Displays müssten eigentlich gehen. Ich habe nur die 2.4er ausprobiert.
In der Beschreibung stehtMasterOfGizmo hat geschrieben: ↑01 Apr 2021, 11:43Edit: was Du da verlinkst sind aber keine ILI9341-Displays. Das braucht es aber leider ....
daher ging ich davon aus, dass dies das richtige Display sei.Display-Controller: Das SPI TFT Display Modul ist mit einem ILI9341-Controller mit integriertem Video-RAM-Puffer ausgestattet. Betriebsarten: SPI- und 8-Bit-Modus.
Code: Alles auswählen
ampy run firmware/main.py
Double buffer
ILI9341 initialization completed
Enable backlight
Traceback (most recent call last):
File "<stdin>", line 30, in __init__
OSError: 16
Traceback (most recent call last):
File "/home/michl/Dokumente/Projekte/Fischertechnik/ftduino32/ftDuino32/venv/bin/ampy", line 8, in <module>
sys.exit(cli())
File "/home/michl/Dokumente/Projekte/Fischertechnik/ftduino32/ftDuino32/venv/lib/python3.6/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/home/michl/Dokumente/Projekte/Fischertechnik/ftduino32/ftDuino32/venv/lib/python3.6/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/home/michl/Dokumente/Projekte/Fischertechnik/ftduino32/ftDuino32/venv/lib/python3.6/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/michl/Dokumente/Projekte/Fischertechnik/ftduino32/ftDuino32/venv/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/michl/Dokumente/Projekte/Fischertechnik/ftduino32/ftDuino32/venv/lib/python3.6/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/home/michl/Dokumente/Projekte/Fischertechnik/ftduino32/ftDuino32/venv/lib/python3.6/site-packages/ampy/cli.py", line 338, in run
output = board_files.run(local_file, not no_output, not no_output)
File "/home/michl/Dokumente/Projekte/Fischertechnik/ftduino32/ftDuino32/venv/lib/python3.6/site-packages/ampy/files.py", line 309, in run
self._pyboard.execfile(filename, stream_output=True)
File "/home/michl/Dokumente/Projekte/Fischertechnik/ftduino32/ftDuino32/venv/lib/python3.6/site-packages/ampy/pyboard.py", line 285, in execfile
return self.exec_(pyfile, stream_output=stream_output)
File "/home/michl/Dokumente/Projekte/Fischertechnik/ftduino32/ftDuino32/venv/lib/python3.6/site-packages/ampy/pyboard.py", line 277, in exec_
ret, ret_err = self.exec_raw(command, data_consumer=data_consumer)
File "/home/michl/Dokumente/Projekte/Fischertechnik/ftduino32/ftDuino32/venv/lib/python3.6/site-packages/ampy/pyboard.py", line 266, in exec_raw
return self.follow(timeout, data_consumer)
File "/home/michl/Dokumente/Projekte/Fischertechnik/ftduino32/ftDuino32/venv/lib/python3.6/site-packages/ampy/pyboard.py", line 230, in follow
raise PyboardError('timeout waiting for first EOF reception')
ampy.pyboard.PyboardError: timeout waiting for first EOF reception
Ja hab ich. Wollte daher mal schauen, wie es weiter geht. Hab daher mit screen gearbeitet. Mti Strg+D eine reboot erzeugt.MasterOfGizmo hat geschrieben: ↑02 Apr 2021, 16:32Hier musst Du wie beschrieben alle Dateien per "ampi Put" auf das Gerät kopieren. Beim nächsten Reset startet das main.py dann ganz alleine. Für den html-Zweig ist ein Shellscript dabei, das das alles erledigt. Vielleicht sollte ich sowas für den firmware-Zweig auch machen.
Ach ja, hab die SD Karte mal nicht gemountet. Zeile 28 bis 35 auskommentiert - deaktiviert. Dann war der OS16 Fehler weg. Werde mal die Verkablung überprüfen müssen und die SD-Karte verdrahten.Rebooting...
ets Jul 29 2019 12:21:46
rst:0xc (SW_CPU_RESET),boot:0x1f (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:5656
load:0x40078000,len:14868
load:0x40080400,len:4336
entry 0x40080650
Double buffer
ILI9341 initialization completed
Enable backlight
I (4457) wifi:wifi driver task: 3ffe1e60, prio:23, stack:6656, core=0
I (4467) wifi:wifi firmware version: aa5336b
I (4467) wifi:config NVS flash: enabled
I (4467) wifi:config nano formating: disabled
I (4467) wifi:Init dynamic tx buffer num: 32
I (4477) wifi:Init data frame dynamic rx buffer num: 32
I (4477) wifi:Init management frame dynamic rx buffer num: 32
I (4487) wifi:Init management short buffer num: 32
I (4487) wifi:Init static rx buffer size: 1600
I (4487) wifi:Init static rx buffer num: 10
I (4497) wifi:Init dynamic rx buffer num: 32
I (4577) wifi:mode : sta (40:f5:20:48:f4:54)
Na dann muss ich mich mal hier als Betatester outen.MasterOfGizmo hat geschrieben: ↑29 Apr 2021, 10:32Vom Betatester (der hier nie erwähnt hat, dass es bei ihm nun läuft) kam die Idee, MQTT einzubinden.