Mit dem Wifi fähigen Pico W wäre es doch praktisch, wenn man das von den ESP32/ESP8266 her bekannte WebREPL nutzen könnte. Mit den neusten Firmwarebuilds für den Pico W ist dies nun möglich.
Bei der Suche nach WebREPL für den Pico W bin ich auf ein aktuelles Issue im Micropython Projekt gestossen, welches den Eindruck erweckt das WebREPL seit kurzem unterstützt wird. Wenn man den neusten Firmware Build für den Pico W verwendet und müsste man also wie WLAN Micropython Code ausführen und testen können.
Gemäss Issue aus dem WebREPL Projekt, sollte WebREPL ab der Pico W Firmware Version 1.20 standarmässig unterstützt sein. Bis dahin muss man einen Nightly Build verwenden. Ich habe die Version rp2-pico-w-20220914-unstable-v1.19.1-409-g0e8c2204d.uf2 verwendet. Diese findet man auf der Downloadseite für die Pico W Firmware.
Achtung
Dieser Blogbeitrag, war am 17.9.2022 korrekt. Da WebREPL noch auf einem Nightly Build basiert, ist durchaus noch mit Änderungen zu rechnen. Entsprechende Kommentare sind willkommen und werden gerne eingepflegt.
Installation Firmware
- Nightly Build der Firware rp2-pico-w-20220914-unstable-v1.19.1-409-g0e8c2204d.uf2 von der Downloadseite für die Pico W Firmware herunterladen. Jede neuere Firmware sollte ok sein. Ab V 1.20 kann der offizielle Release verwendet werden.
- Die Firmware gemäss «Installation Instructions» auf der Downloadseite installieren.
- Den Pico W mit dem USB Port des Rechners verbinden.
- Bei Max/Linus Rechnern sollte jetzt unter
/dev/tty.*
ein neues Device erscheinen.$> ls -al /dev/tty.*
crw-rw-rw- 1 root wheel 0x16000000 16 Sep 17:52 /dev/tty.BLTH
crw-rw-rw- 1 root wheel 0x16000006 16 Sep 17:52 /dev/tty.Bluetooth-Incoming-Port
crw-rw-rw- 1 root wheel 0x16000002 16 Sep 17:52 /dev/tty.URT1
crw-rw-rw- 1 root wheel 0x16000004 16 Sep 17:52 /dev/tty.URT2
crw-rw-rw- 1 root wheel 0x16000008 17 Sep 15:25 /dev/tty.usbmodem14501 - Bei Windows Rechner findet man den entsprechenden COM Port im Gerätemanager.
- Bei Max/Linus Rechnern sollte jetzt unter
- Mit rshell eine REPL Verbindung zum Pico W aufbauen:
$> rshell -p /dev/tty.usbmodem14501
Using buffer-size of 32
Connecting to /dev/tty.usbmodem14501 (buffer-size 32)…
Trying to connect to REPL connected
Welcome to rshell. Use Control-D (or the exit command) to exit rshell.
$>repl
Entering REPL. Use Control-X to exit.
>
MicroPython v1.19.1 on 2022-09-14; Raspberry Pi Pico W with RP2040
Type "help()" for more information.
>>>
>>> 2+2
4
>>> - Mit Ctrl-X und Ctrl-D kann rshell wieder verlassen werden.
Installation WebRepl
- Micropython Dateien für WebREPL herunterladen:
curl -O https://raw.githubusercontent.com/micropython/micropython-lib/master/micropython/net/webrepl/manifest.py
curl -O https://raw.githubusercontent.com/micropython/micropython-lib/master/micropython/net/webrepl/webrepl.py
curl -O https://raw.githubusercontent.com/micropython/micropython-lib/master/micropython/net/webrepl/webrepl_setup.py
- Eine leere datei
boot.py
erstellen. - Diese 4 Dateien müssen jetzt mit Hilfe von
rshell
auf den Pico W transferiert werden. $> rshell -p /dev/tty.usbmodem14501
Using buffer-size of 32
Connecting to /dev/tty.usbmodem14501 (buffer-size 32)…
Trying to connect to REPL connected
Welcome to rshell. Use Control-D (or the exit command) to exit rshell.
$>cp pfad/zu/den/heruntergeladenen/dateien/* /pyboard$>ls -al /pyboard
0 Sep 17 17:09 boot.py62 Sep 17 15:02 manifest.py
4244 Sep 17 15:03 webrepl.py
2764 Sep 17 15:03 webrepl_setup.py- Jetzt muss WebRepl initalisiert werden. Dazu muss mit REPL
webrepl_setup.py
ausgeführt werden. $> rshell -p /dev/tty.usbmodem14501
$> repl
Entering REPL. Use Control-X to exit.
>
MicroPython v1.19.1 on 2022-09-14; Raspberry Pi Pico W with RP2040
Type "help()" for more information.
>>>
>>> import webrepl_setup
WebREPL daemon auto-start status: disabled
Would you like to (E)nable or (D)isable it running on boot?
(Empty line to quit)
> E
To enable WebREPL, you must set password for it
New password (4-9 chars): my-secret-password
Confirm password:
my-secret-password
Changes will be activated after reboot
Would you like to reboot now? (y/n) n
>>>
- Boot
boot.py
wurde von WebRepl Setup angepasst. Diese angepasste Version muss mit dem Wifi-Login ergänzt werden. Im Beispiel bitte SSID und Passwort entsprechend anpassen. - Dazu wird
boot.py
am besten auf den Rechern kopiert, editiert und wieder zurückkopiert. In rshell sind das zwei cp Befehle. $> rshell -p /dev/tty.usbmodem14501
...
$>
cp /pyboard/boot.py .
(editieren auf dem Rechner)$>
cp boot.py /pyboard
Mit WebRepl Verbinden
- Nach eine Reboot, z.B. nach aus- und wieder einstecken des USB Kabels, loggt sich der Pico W ins WLAN ein und erhält eine IP-Adresse. Diese findet man z.B. mit dem Angry IP-Scanner heraus.
- Im Browser folgende die URL nach dem Muser
http://ip-adresse:8266
eingeben. - Nach dem Klick auf «Connect» das Passwort eingeben.
- Jetzt kann via WebREPL auf Micropython zugegriffen werden und mit dem Menu auf der rechten Seite können Dateien hoch- bzw. runtergeladen werden.
- Wenn die Verbindung nicht funktioniert, hilft es meistens 2-3 auf Connect/Disconnect zu klicken bzw. die Seite neu zu laden.
2 Gedanken zu “WebREPL für den Raspberry PI Pico W”
Hallo,
Super Tutorial — danke dafür. Auf der Original Raspberry Seite passt ein Link momentan nicht und sie haben es etwas kompliziert gemacht.
Zusätzlicher Hinweis:
Mit Thonny 4.0.2 funktioniert webrepl wenn Micropython (ESP32) oder( ESP2866) ausgewählt wird.
Wählt man Pico W oder RP2040 aus gibt es webrepl nicht zur Auswahl.