Forum: Mikrocontroller und Digitale Elektronik PiPico Ethernet W55RP20-EVB


von Christoph M. (mchris)


Lesenswert?

Gestern auf der Embedded in Nürnberg habe ich zufällig ein kleines 
Mikrocontrollerboard mit einem Ethernet-Anschluss bekommen. Der 
Verkäufer am Stand hatte gemeint, es befinde sich ein 
PiPico-Mikrocontroller darauf. Allerdings war beim näheren Hinsehen 
keiner zu entdecken. Es ist wohl so, dass sich im Gehäuse des W55RP20 3 
Chips übereinander befinden: Ein RP2040, ein Flash und ein 
Wiznent-Ethernet Chip:

https://docs.wiznet.io/Product/ioNIC/W55RP20/w55rp20-evb-pico

Da ich Standardmäßig das Early-Hill-Power Arduino Framework installiert 
habe, war ich ganz erstaunt, dass sich dort das Board tatsächlich im 
Auswahlmenü befindet:

https://github.com/earlephilhower/arduino-pico

Das Blink-Example lies sich gerade eben schon mal ohne Probleme flashen 
und ich bin schon mal begeistert, dass das so problemlos ging.

Auch lustig: Das Ethernet-Beispiel, welches sich den "daily quote" holt 
(ist wohl so was wie der Spruch des Tages), funktioniert auch ohne 
Probleme:

https://github.com/earlephilhower/arduino-pico/blob/master/libraries/lwIP_w55rp20/examples/WiFiClient-W55RP20/WiFiClient-W55RP20.ino
1
Starting Ethernet port
2
.
3
Ethernet connected
4
IP address: 
5
192.168.178.47
6
connecting to djxmmx.net:17
7
sending data to server
8
receiving from remote server
9
"We want a few mad people now. See where the sane ones have landed us!"
10
 George Bernard Shaw (1856-1950)
11
12
closing connection
13
connecting to djxmmx.net:17
14
sending data to server
Die Frage ist jetzt, was mache ich mit dem Board? Ein Freund meinte, man 
könne es vielleicht als Endpunkt für Audio-Streaming verwenden. Wer hat 
noch Ideen.

: Bearbeitet durch User
von Christoph M. (mchris)


Angehängte Dateien:

Lesenswert?

Ok, was am Anfang einfach war, ist dann doch mit Arbeit verbunden.
Eigentlich soll es Micropython geben, aber leider habe ich nichts für 
das Board gefunden, deshalb musste ich es selbst compilieren.
https://github.com/WIZnet-ioNIC/WIZnet-ioNIC-micropython-examples
Ich hänge das U2F file mal an (Achtung: Verwendung auf eigene Gefahr, 
ich übernehme keine Garantie für die Netzwerksicherheit .. ).

Hier der einfache Blink-Test:
1
# blink for W55RP20-EVB-PICO
2
# pinout
3
# https://docs.wiznet.io/Product/ioNIC/W55RP20/w55rp20-evb-pico
4
from machine import Pin
5
from time import sleep
6
7
led = Pin(19, Pin.OUT)
8
9
while True:
10
    led.on()
11
    sleep(0.5)
12
    led.off()
13
    sleep(1)

von Vanye R. (vanye_rijan)


Lesenswert?

> Die Frage ist jetzt, was mache ich mit dem Board?

Wegwerfen? :-D  Ich mache beruflich auch gelegentlich etwas mit Ethernet 
und darauf basierenden Feldbussen, aber ich weiss echt nicht was man 
privat damit machen soll. Will man wirklich eine Kiste fuer irgendwas 
bauen wo man dann noch ein Ethernetkabel hinlegen muss? Ich wuerde da 
immer Wlan nehmen.

Vanye

von Christoph M. (mchris)


Angehängte Dateien:

Lesenswert?

Vanye R. (vanye_rijan)
15.03.2025 05:51
>Wegwerfen? :-D  Ich mache beruflich auch gelegentlich etwas mit Ethernet
>und darauf basierenden Feldbussen, aber ich weiss echt nicht was man
>privat damit machen soll.
Naja, das Ein- oder Andere könnte man schon damit machen. Der oben schon 
erwähnte Streaming-Client.
Was vielleicht auch sehr praktisch ist: Eine Messtechnik-Board IO-Board 
um z.B. Bauteile zu testen.
 Mit der Ethernet-Schnittstelle sollte die Datenübertragung ja schneller 
als mit der seriellen Schnittstelle funktionieren.
Im Anhang mal der gerade mühselig erstellte, simple-Webserver zum Test.

von Christoph M. (mchris)



Lesenswert?

Auf der Messe gab es einen Bildschirm, der den Durchsatz des Chips 
verdeutlichen sollte.
Vielleicht hätte die Ethernet-Verbindung im Vergleich zu einem ESP32 
bezüglich der Geschwindigkeit Vorteile.
Ich hänge mal das 500kHz sampling rate ADC Webserver Beispiel an.
Das ganze macht jetzt optisch noch nicht ganz so viel her, aber kann 
wahrscheinlich gut als Grundlage zum experimentieren dienen.

von Vanye R. (vanye_rijan)


Lesenswert?

> Naja, das Ein- oder Andere könnte man schon damit machen.

Wenn ich sowas sage ist das natuerlich provokativ! Bestimmt gibt es auch 
irgendwo eine Anwendung die einfach keinem einfaellt. Aber halt nur sehr 
wenig.

> Der oben schon erwähnte Streaming-Client.

Macht bei mir ein Qualcom Chip mit Bluetooth und Aptx fuer Audio und 
sonst wohl auch eher Wlan. Willst du noch extra Kabel durch deine Bude 
verlegen?

> Was vielleicht auch sehr praktisch ist: Eine Messtechnik-Board IO-Board
> um z.B. Bauteile zu testen.

Auch da finde ich Wlan praktischer. Schon allein weil die dicken starren 
Ethernetkabel immer so am Board zerren.

>  Mit der Ethernet-Schnittstelle sollte die Datenübertragung ja schneller
> als mit der seriellen Schnittstelle funktionieren.

Wlan auch. :-D

Ich weiss, das klingt jetzt alles so abtoernend. Aber ich sehe wirklich 
nur wenig Sinn ausser dir faellt etwas ein wo man wirklich die maximale 
Geschwindigkeit braucht die man mit Ethernet so erreichen kann.

> Ich hänge mal das 500kHz sampling rate ADC Webserver Beispiel an.

Genau, da kommst du dann in Gegenden wo es sinnvoll wird. Mach noch 
20Mhz draus und nenn es Ethernet-Oszillograph.

Vanye

von Jack V. (jackv)


Lesenswert?

Vanye R. schrieb:
> Aber ich sehe wirklich
> nur wenig Sinn ausser dir faellt etwas ein wo man wirklich die maximale
> Geschwindigkeit braucht die man mit Ethernet so erreichen kann.

… oder wo man geringe Latenz benötigt, eine hohe Störsicherheit möchte, 
die Einbindung in bestehendes Netzwerk wünscht, … – mir fallen da schon 
noch einige Sachen ein. Mal gucken, ob und wann es bei einem der 
Kaufmänner verfügbar wird, denen ich gerne meine Münzen gebe.

von Udo (grindstone)


Lesenswert?

Christoph M. schrieb:
> Die Frage ist jetzt, was mache ich mit dem Board? Ein Freund meinte, man
> könne es vielleicht als Endpunkt für Audio-Streaming verwenden. Wer hat
> noch Ideen.
Ethernettester für die Hosentasche.

: Bearbeitet durch User
von Christoph M. (mchris)


Lesenswert?

Jack V.
>Mal gucken, ob und wann es bei einem der
>Kaufmänner verfügbar wird, denen ich gerne meine Münzen gebe.

Erstaunlicherweise hat die Reichelt:
https://www.reichelt.de/de/de/shop/produkt/raspberry_pi_pico_-_rp2040_w5500_ethernet-controller-398078

von Bauform B. (bauformb)


Lesenswert?

Jack V. schrieb:
> Vanye R. schrieb:
>> Aber ich sehe wirklich
>> nur wenig Sinn ausser dir faellt etwas ein wo man wirklich die maximale
>> Geschwindigkeit braucht die man mit Ethernet so erreichen kann.
>
> … oder wo man geringe Latenz benötigt, eine hohe Störsicherheit möchte,
> die Einbindung in bestehendes Netzwerk wünscht...

oder man in einem Neubau wohnt und deshalb kein WLAN braucht. In der 
Firma könnte man sofort ca. 5 Rechner durch so ein Board ersetzen. Heute 
kann man kaum noch stromsparende PCs kaufen und diese Boards sollten mit 
deutlich weniger als 1 Watt auskommen. Der Wiznet W5500 braucht 80mA @ 
3.3V (ja, leider nur typisch).

Es gibt auch ein Schaltbild von einem ähnlichen Board mit einem echten 
RP2350 und einem W5500, das nennt sich da W5500-EVB-Pico2. Wenn 
eshop.wiznet.io nicht so chaotisch wäre, könnte man das vielleicht sogar 
kaufen. Oder was soll das heißen:

Jack V. schrieb:
> Mal gucken, ob und wann es bei einem der
> Kaufmänner verfügbar wird, denen ich gerne meine Münzen gebe.

von Jack V. (jackv)


Lesenswert?

Christoph M. schrieb:
> Erstaunlicherweise hat die Reichelt:

Danke, da hatte ich mal ’nen Account – mal gucken, ob der noch gilt, und 
ob sie immer noch so dreist bei den Versandkosten sind.

Bauform B. schrieb:
> Oder was soll das heißen:

Was dort steht: Ob und wann es bei einem der Läden verfügbar wird, bei 
denen ich Kunde bin – wiznet.io ist kein solcher Laden.

von Christoph M. (mchris)


Lesenswert?

Bauform B. (bauformb)
>oder man in einem Neubau wohnt und deshalb kein WLAN braucht. In der
>Firma könnte man sofort ca. 5 Rechner durch so ein Board ersetzen. Heute
>kann man kaum noch stromsparende PCs kaufen und diese Boards sollten mit
>deutlich weniger als 1 Watt auskommen. Der Wiznet W5500 braucht 80mA @
>3.3V (ja, leider nur typisch).
Hmm.. ich habe gerade überlegt, ob man mit einer 64GB SD-Karte und 
Micropython vielleicht einen kleinen Fileserver basteln könnte.
Leider fehlt wohl das SDCard Modul im obigen Kompilat:

1
>>> help('modules')
2
__main__          binascii          lwip              select
3
_asyncio          builtins          machine           socket
4
_boot             cmath             math              ssl
5
_boot_fat         collections       micropython       struct
6
_onewire          cryptolib         mip/__init__      sys
7
_rp2              deflate           neopixel          time
8
_thread           dht               network           tls
9
_webrepl          ds18x20           ntptime           uasyncio
10
array             errno             onewire           uctypes
11
asyncio/__init__  framebuf          os                urequests
12
asyncio/core      gc                platform          vfs
13
asyncio/event     hashlib           random            webrepl
14
asyncio/funcs     heapq             re                webrepl_setup
15
asyncio/lock      io                requests/__init__ websocket
16
asyncio/stream    json              rp2
17
Plus any modules on the filesystem

von Norbert (der_norbert)


Lesenswert?

Christoph M. schrieb:
> Leider fehlt wohl das SDCard Modul im obigen Kompilat:

Christoph M. schrieb:
> Plus any modules on the filesystem

So schnell kommt man zu einer befriedigenden Antwort!

von Christoph M. (mchris)


Lesenswert?

> Plus any modules on the filesystem
Norbert (der_norbert)
>>So schnell kommt man zu einer befriedigenden Antwort!

Auf die Idee, dass man das extern einbinden könnte, bin ich gar nicht 
gekommen.
Meinst du das hier?:

https://github.com/micropython/micropython-lib/tree/master/micropython/drivers/storage/sdcard

von Norbert (der_norbert)


Lesenswert?

Christoph M. schrieb:
> Meinst du das hier?:

Der soll wohl dem Vernehmen nach ganz ordentlich funktionieren.

Hatte mir seinerzeit allerdings einen eigenen geschrieben, brauchte 
richtig Geschwindigkeit.

von Christoph M. (mchris)


Lesenswert?

Einige meiner Messgeräte (Oszi, Multimeter) haben einen 
Ethernet-Anschluss und können per SCPI-Kommandos gesteuert werden.
Man könnte theoretisch mit Micropython relativ einfach ein eigenes 
SCPI-Messgerät bauen:

https://github.com/JitseB/MicroPython_SCPI

Oder vielleicht doch lieber in C++:

https://github.com/Vrekrer/Vrekrer_scpi_parser/tree/master

Was meint Ihr?

: Bearbeitet durch User
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.