Alles über den Raspberry Pi Pico W

Heute, am 30. Juni 2022 um 8.00 Uhr britischer Zeit hat Raspberry Pi das Pico W.

Hier ist alles (was wir wissen) über den neuesten Raspberry Pi.

Inhalt ausblenden

Diese neue Variante des beliebten Pico verfügt dank des CYW43439 Wireless-Chips über Wireless-Fähigkeiten.
Genau wie der Pico ist das Herzstück eines jeden Pico W ist der RP2040, der erste Siliziumchip des Raspberry Pi.

Darüber hinaus hat Raspberry Pi auch die Varianten Pico H und Pico WH herausgebracht.

Anmerkung: Wenn Sie einen Raspberry Pi 4 / 4 GB oder Pi 4 / 8 GB oder Coral USB-Beschleuniger reservieren möchten und sich innerhalb der EU + Schweiz befinden, werfen Sie einen Blick auf unser brandneues PiCockpit Feature, den Raspberry Pi Reservierungstool - Einer pro Kunde, und Sie stehen in einer fairen Warteschlange, anstatt sich beeilen zu müssen, wenn Pis verfügbar wird. Wenn genügend Leute bei uns nachfragen, werden wir vielleicht auch den Pico W zur Reservierung bereitstellen.

Raspberry Pi Pico-Varianten

VariantePreis Kopfzeile?Drahtlos?Freigabe (M/YY)
Pico$4NeinNein1/21
Pico H$5JaNein6/22
Pico W$6NeinJa6/22
Pico WH$7JaJaIrgendwann im Jahr 2022

Pico H - $5 - Ein Raspberry Pi Pico mit vorgelöteten Headern

Pico W - $6 - Ein Raspberry Pi Pico mit Funkverbindung

Pico WH - $7 - Ein Raspberry Pi Pico mit sowohl drahtlosen als auch vorgelöteten Steckern.

Der Pico H und der Pico W wurden am 30. Juni 2022 auf den Markt gebracht, während der Pico WH wird im August 2022 veröffentlicht.

Der aktualisierte Zeitplan für die Veröffentlichung des Pico WH lautet 2022, also noch in diesem Jahr". Alasdair Allen von Raspberry PiEr sagte: "Später in diesem Jahr werden Sie wahrscheinlich die Ankunft des Pico WH sehen, und ich schätze, Sie können selbst herausfinden, was das ist."

Hier ist ein Update zur Pico WH im Oktober. Ich habe ein Update von Alasdair Allen erhalten, der sagte,

"Es steht kurz vor der Veröffentlichung [...] und es sollte 'jederzeit' erscheinen. Wir wollten sicherstellen, dass wir eine anständige Menge haben, bevor wir es herausbringen, damit die Leute es einfach kaufen können."

In diesem Beitrag werden wir die Gemeinsamkeiten und Unterschiede zwischen dem Pico W und dem Pico erklären. Natürlich werden wir auch einige coole Pico W-Projekte vorstellen.

Ist der Pico H nur ein herkömmlicher Pico mit vorgelöteten Headern?

Raspberry Pi Pico vs. Pico H. Der Hauptunterschied sind die SWD-Debug-Header.

Im Wesentlichen, ja.

Aber es gibt einen kleinen Unterschied bei den SWD-Debug-Headern und es gibt keine Kastellation (halbkreisförmige Löcher am Rand) auf den Pins.

Um den SWD-Debug-Header auf der Pico H verwenden zu können, müssen Sie diese Steckverbinder verwenden: 3-poliger JST-'SH'-Stecker mit 1,0 mm Abstand, entweder BM03B-SRSS-TB (oberer Eingang) oder SM03B-SRSS-TB (seitlicher Eingang) oder kompatible Alternativen.

Die Erdungsstifte des Pico H sind ebenfalls quadratisch und nicht wie üblich mit einem runden Loch versehen.

Wo kann ich einen Pico W kaufen?

Heben Sie Ihr Pico W in unserem Geschäft.

Inhalt ausblenden

Für einen schnellen Überblick siehe dieses Video.

Hardware

Drahtlose Schnittstelle Pico W (CYW43439)

Der Infineon CYW43439 unterstützt IEEE 802.11 b/g/n Wireless LAN und Bluetooth 5.2. Zum Start wird nur das Wireless LAN unterstützt.

Im Gegensatz zum Raspberry Pi 4 verfügt der Pico W nur über Single-Band 2,4 GHz Wi-Fi 4. Der Pi 4 verfügt über Dualband-Wi-Fi 2,4/5 GHz, aber in Bezug auf Bluetooth stellt der Pico W das Flaggschiff des Raspberry Pi in den Schatten, das nur Bluetooth 5.0 hat. Der CYW43439 unterstützt BLE und eine einzelne Antenne, die von Wi-Fi und Bluetooth gemeinsam genutzt wird.

Hinweis Bluetooth ist noch nicht verfügbar. Es wird wahrscheinlich in einem zukünftigen Firmware-Update hinzugefügt werden.

Wenn Sie sich den Pico W genauer ansehen, werden Sie die dreieckige PCB-Antenne bemerken, die der des Raspberry Pi 4 ähnelt. Der Raspberry Pi verwendet eine von ABRACON lizenzierte Onboard-Antenne.

PCB-Antenne
PCB-Antenne

Das bedeutet, dass keine zusätzliche Antenne benötigt wird. Die Funkschnittstelle ist über SPI mit dem RP2040 verbunden.

Laut offiziellem Datenblatt verfügt der Infineon CYW43439 außerdem über die folgenden Merkmale:

- WiFi 4 (802.11n), Einzelband (2,4 GHz)
- WPA3
- SoftAP (bis zu 4 Clients)

Im offiziellen Datenblatt wird außerdem empfohlen, die Antenne im freien Raum zu platzieren, um eine optimale Funkleistung zu erzielen.

Das Anbringen von Metall unter oder in der Nähe der Antenne kann deren Leistung in Bezug auf Gewinn und Bandbreite verringern.

Das Hinzufügen von geerdetem Metall an den Seiten der Antenne kann jedoch die Bandbreite der Antenne verbessern.

Kann der Pico W in einen WiFi-Zugangspunkt umgewandelt werden?

Ja, denn der Infineon CYW43439 unterstützt SoftAP (bis zu 4 Clients).

Verarbeitung von Hardware

Abgesehen von der drahtlosen Schnittstelle ist die Hardware fast identisch mit der des ursprünglichen Pico.

  • RP2040-Mikrocontroller mit 2 MB Flash-Speicher
  • Integrierte drahtlose 2,4-GHz-Single-Band-Schnittstellen (802.11n)
  • Micro-USB-B-Anschluss für Strom und Daten (und zum Umprogrammieren des Flash)
  • 40-polige 21mmx51mm 'DIP'-Leiterplatte, 1mm dick, mit 0,1″-Durchgangslöchern, auch mit Randverzahnung
  • Verfügt über 26 multifunktionale 3,3-V-Allzweck-E/A (GPIO)
  • 23 GPIO sind rein digital, drei davon sind auch ADC-fähig
  • Kann als Modul auf der Oberfläche montiert werden
  • 3-poliger ARM Serial Wire Debug Anschluss (SWD)
  • Einfache und dennoch hochflexible Stromversorgungsarchitektur
  • Verschiedene Optionen für die einfache Stromversorgung des Geräts über Micro-USB, externe Netzteile oder Batterien
  • Dual-Core-Cortex M0+ mit bis zu 133MHz
  • On-chip PLL ermöglicht variable Kernfrequenz
  • 264kByte Multi-Bank-Hochleistungs-SRAM
  • Externer Quad-SPI-Flash mit eXecute In Place (XIP) und 16kByte On-Chip-Cache
  • Hochleistungsfähiges Vollquerschienen-Busgewebe
  • Eingebauter USB1.1 (Gerät oder Host)
  • 30 Multifunktions-E/A (vier können für ADC verwendet werden)
  • 1,8-3,3V E/A-Spannung
  • 12-Bit 500ksps Analog-Digital-Wandler (ADC)
  • Verschiedene digitale Peripheriegeräte
  • 2 × UART, 2 × I2C, 2 × SPI, 16 × PWM-Kanäle
  • 1 × Zeitschaltuhr mit 4 Alarmen, 1 × Echtzeituhr
  • 2 × programmierbare E/A-Blöcke (PIO), insgesamt 8 Zustandsmaschinen

Die externe Pinbelegung ist fast identisch mit der des Raspberry Pi Pico.

Pico W Pinout
Pico W Pinout

Der einzige Unterschied liegt bei den LED- und SWD-Debug-Pins.

Die Onboard-LED wird über den WL_GPIO0 Pin des Infineon 43439 Chips gesteuert. Auf dem Pico wurde die LED an GPIO Pin 25 angeschlossen.

Außerdem wurden die SWD-Debug-Pins in die Mitte des Boards verlegt, um Platz für die PCB-Antenne zu schaffen. Sie sind zwischen dem RP2040 und dem CYW43439 zu finden und die Reihenfolge von links nach rechts ist immer noch SWCLK, GND, SWDIO.

Software

Da der Pico W auf dem RP2040-Chip basiert, können Sie ihn genau wie den Pico programmieren. Das bedeutet, dass Sie ihn in C/C++ und MicroPython programmieren können und dass der für den Pico geschriebene Code (der die Onboard-LED nicht verwendet) auf dem Pico W funktionieren sollte.

Der Raspberry Pi bietet eine Verbindung zum Internet mit Raspberry Pi Pico W'. Anleitung für C/C++ und MicroPython. Um Ihnen den Start mit dem Pico W zu erleichtern, haben wir auch einige Beispielprojekte zusammengestellt.

C/C++ und das Pico-SDK

Es gibt eine Aktualisierung des Pico-SDK um die drahtlosen Funktionen Ihres Pico W zu aktivieren. Die Einrichtung und Verwendung ist genau dieselbe wie beim Pico. Siehe unser Video für die ersten Schritte mit dem Pico W und C/C++.

Die aktualisiertes Pico-SDK enthält auch einige Beispiele für die drahtlose Nutzung.

MicroPython und Thonny

Der bequemste Weg, MicroPython mit dem Pico W zu verwenden, ist die Verwendung der Thonny IDE. Raspberry Pi hat eine neue MicroPython-Schnittstelle für den Pico W.

Hinweis MicroPython ist platinenspezifisch. Daher gibt es unterschiedliche (und inkompatible) MicroPython-Versionen für den Pico und den Pico W. Stellen Sie sicher, dass Sie immer die richtige Version für Ihr Board verwenden.

Allerdings ist die Programmierung des Pico W genau die gleiche, wenn Sie also den Pico bereits mit MicroPython verwendet haben, sollte es ein Kinderspiel sein.

Pico H und Pico WH

Wie bereits erwähnt, hat Raspberry Pi auch den Pico H und den Pico WH herausgebracht. Das "H" im Namen bedeutet, dass er mit vorgelöteten Headern kommt. Der Pico H ist genau wie unser Pico Comfort, aber für die SWD-Debug-Pins verwendet Raspberry Pi einen horizontalen JTAG-Debug-Header. Der Pico WH wird wahrscheinlich die gleichen zwei Reihen von 1×20 Stiftleisten und eine vertikale Stiftleiste für die Debug-Pins verwenden.

Erste Schritte mit dem Raspberry Pi Pico W

In diesem Abschnitt werden einfache Tricks und Muster vorgestellt, die Ihnen den Einstieg in die Arbeit mit Ihrem Raspberry Pi Pico W erleichtern.

Raspberry Pi Pico W Anschlussbelegung

Raspberry Pi Pico W Anschlussbelegung (Bild aus dem offiziellen Datenblatt)

Flashen des MicroPython UF2

Eine grundlegende Einrichtungsaufgabe, die Sie erledigen müssen, ist das Flashen des MicroPython UF2 auf Ihren Pico W.

Erstens, Laden Sie hier die UF2-Datei herunter, die speziell für den Raspberry Pi Pico W entwickelt wurde. Alternativ dazu, können Sie die nächtlichen Builds hier finden.

Bitte beachten Sie, dass Sie den UF2 nicht mit dem ursprünglichen Raspberry Pi Pico verwenden können.

Halten Sie die BOOTSEL-Taste gedrückt und schließen Sie dann Ihren USB-Stecker an den Raspberry Pi Pico W an.
Halten Sie die BOOTSEL-Taste gedrückt und schließen Sie dann Ihren USB-Stecker an den Raspberry Pi Pico W an.

Um die UF2-Datei hochzuladen, müssen Sie die BOOTSEL-Taste drücken und gedrückt halten und dann den USB-Stecker einstecken.

In Ihrem Dateiexplorer wird ein neues Volume namens RPI-RP2 angezeigt.

Kopieren Sie die UF2-Datei auf dieses Laufwerk.

Die Verbindung wird beim Hochladen automatisch unterbrochen.

Das war's! Ihr Raspberry Pi Pico W ist nun bereit, MicroPython-Code zu akzeptieren.

Weiter zum nächsten Schritt...

Installation der Thonny IDE

Thonny führt unser Anfängerprojekt durch (siehe unten)

Der einfachste Weg, MicroPython-Code auszuführen und auf eine Shell auf dem Raspberry Pi Pico W zuzugreifen, ist die Verwendung der Thonny IDE.

Thonny wird standardmäßig auf dem Raspberry Pi OS installiert. Sie können es aber auch auf Ihrem Hauptcomputer installieren, um es bequemer zu machen.

So geht's: Besuchen Sie https://thonny.org/ und Sie werden die neuesten Versionen auf der Startseite finden können.

Wahrscheinlich wird ein Popup-Fenster erscheinen, das Sie auffordert, die Aktualisierung durchzuführen. Machen Sie damit weiter.

Das Update lief problemlos, als ich Thonny auf meinem Raspberry Pi OS laufen ließ, aber unter Windows gab es diese Fehlermeldung "SSL: CERTIFICATE_VERIFY_FAILED".

Sie können dies beheben, indem Sie dieses Zertifikat herunterladen (https://letsencrypt.org/certs/lets-encrypt-r3.der), klicken Sie dann mit der rechten Maustaste auf die heruntergeladene Datei und wählen Sie "Zertifikat installieren", damit dieser Fehler nicht mehr auftritt.

Vergewissern Sie sich, dass Sie " " gewählt haben.MicroPython (Raspberry Pi Pico)" in der rechten unteren Ecke.

Hochladen von Dateien auf Ihren Raspberry Pi Pico W

Laden Sie Dateien auf Ihren Raspberry Pi Pico W hoch, indem Sie auf Hochladen auf /

Hier erfahren Sie, wie Sie Ihre MicroPython-Dateien mit Thonny auf den Raspberry Pi Pico W hochladen können.

Schließen Sie Ihren Raspberry Pi Pico W an.

In Thonny, gehen Sie zu Ansicht > Dateien.

Sie werden zwei Abschnitte sehen. Dateien auf Ihrem Computer oben und Dateien auf dem Raspberry Pi Pico W.

Klicken Sie mit der rechten Maustaste auf die Dateien, die Sie hochladen möchten, und wählen Sie Hochladen auf /

Blinkende Onboard-LED

Ein grundlegender Unterschied zwischen dem ursprünglichen Raspberry Pi Pico und dem Pico W ist die Art und Weise, wie Sie die integrierte LED blinken lassen können.

In der Vergangenheit haben Sie die LED mit diesem Code gesteuert:

led = machine.Pin(25, machine.Pin.OUT)

Auf dem Raspberry Pi Pico W würden Sie jedoch Folgendes verwenden "LED" statt 25.

led = machine.Pin('LED', machine.Pin.OUT)

Um die Onboard-LED zum Blinken zu bringen, müssen Sie also diesen Code schreiben:

import machine
import time

led = machine.Pin('LED', machine.Pin.OUT)

while (True):
    led.on()
    time.sleep(.2)
    led.off()
    time.sleep(.2)
   

Speichern Sie dies als main.py und wird automatisch ausgeführt, wenn der Pico W mit Strom versorgt wird.

Verbinden mit WiFi

Im Folgenden finden Sie einen vereinfachten Code, mit dem Sie

  • Mit WiFi verbinden
  • 10-Sekunden-Timeout
  • Drucken Sie "Waiting for connection" während der Verbindung mit dem in den Variablen definierten Netzwerk ssid und pw
  • Aufleuchten der eingebauten LED bei erfolgreicher Verbindung
import network
import time

wlan = network.WLAN(network.STA_IF)
wlan.active(True)

ssid = "insert-your-SSID-here"
pw = "insert-your-pw-here"

wlan.connect(ssid, pw)

def light_onboard_led():
    led = machine.Pin('LED', machine.Pin.OUT)
    led.on();

timeout = 10
while timeout > 0:
    if wlan.status() >= 3:
        light_onboard_led()
        break
    timeout -= 1
    print('Waiting for connection...')
    time.sleep(1)
   
wlan_status = wlan.status()

In einem realen Projekt wäre es besser, eine separate Datei zu erstellen (zum Beispiel, geheimnisse.py) und speichern Sie die ssid und pw und importieren Sie sie dann in die Hauptdatei.

Außerdem gibt es bei diesem Code kaum Rückmeldungen und auch keine Fehlerbehandlung. Wenn Sie erfolgreich sind, leuchtet eine LED. Wenn nicht, erhalten Sie keine Rückmeldung.

Daher gibt es eine elegantere Möglichkeit, eine Verbindung zu einem Netzwerk herzustellen.

Der folgende Code korrigiert die regionalen Unterschiede in der rp2.country("DE"). Ändern Sie dies in Ihr Land, z. B. "GB", "US", usw.

Wenn Sie erfolgreich eine Verbindung zu einem WiFi-Netzwerk hergestellt haben, blinkt die integrierte LED dreimal auf, wenn die Verbindung erfolgreich hergestellt wurde. Jede andere Anzahl von Blinkzeichen bedeutet etwas anderes, basierend auf der folgenden Anzahl von Blinkzeichen:

# Handle connection error
# Error meanings
# 0  Link Down
# 1  Link Join
# 2  Link NoIp
# 3  Link Up

main.py

import rp2
import network
import ubinascii
import machine
import urequests as requests
import time
from secrets import secrets
import socket

# Set country to avoid possible errors
rp2.country('DE')

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
# If you need to disable powersaving mode
# wlan.config(pm = 0xa11140)

# See the MAC address in the wireless chip OTP
mac = ubinascii.hexlify(network.WLAN().config('mac'),':').decode()
print('mac = ' + mac)

# Other things to query
# print(wlan.config('channel'))
# print(wlan.config('essid'))
# print(wlan.config('txpower'))

# Load login data from different file for safety reasons
ssid = secrets['ssid']
pw = secrets['pw']

wlan.connect(ssid, pw)

# Wait for connection with 10 second timeout
timeout = 10
while timeout > 0:
    if wlan.status() < 0 or wlan.status() >= 3:
        break
    timeout -= 1
    print('Waiting for connection...')
    time.sleep(1)

# Define blinking function for onboard LED to indicate error codes    
def blink_onboard_led(num_blinks):
    led = machine.Pin('LED', machine.Pin.OUT)
    for i in range(num_blinks):
        led.on()
        time.sleep(.2)
        led.off()
        time.sleep(.2)
    
# Handle connection error
# Error meanings
# 0  Link Down
# 1  Link Join
# 2  Link NoIp
# 3  Link Up
# -1 Link Fail
# -2 Link NoNet
# -3 Link BadAuth

wlan_status = wlan.status()
blink_onboard_led(wlan_status)

if wlan_status != 3:
    raise RuntimeError('Wi-Fi connection failed')
else:
    print('Connected')
    status = wlan.ifconfig()
    print('ip = ' + status[0])

geheimnisse.py

secrets = {
    'ssid': 'your-ssid',
    'pw': 'your-pw',
    }

Bereitstellen einer Webseite auf lokaler IP

Um eine Webseite mit dem Raspberry Pi Pico W zu bedienen, benötigen Sie drei Dateien.

  • main.py - der Hauptteil des Codes (der automatisch auf dem Pico W läuft)
  • geheimnisse.py - mit ssid und pw
  • index.html - mit der Webseite, die angezeigt werden soll

main.py stellt eine Verbindung zu Ihrem WiFi-Netzwerk her, das in geheimnisse.py. Dann wird ein Socket geöffnet, der auf Verbindungen zum Raspberry Pi Pico W wartet.

Wenn jemand eine Verbindung herstellt, wird die Webseite mit dem Namen index.html.

Hier ist der Code für main.py und index.html. geheimnisse.py kann aus dem vorherigen Beispiel übernommen werden.

main.py

import rp2
import network
import ubinascii
import machine
import urequests as requests
import time
from secrets import secrets
import socket

# Set country to avoid possible errors
rp2.country('DE')

wlan = network.WLAN(network.STA_IF)
wlan.active(True)

# See the MAC address in the wireless chip OTP
mac = ubinascii.hexlify(network.WLAN().config('mac'),':').decode()
print('mac = ' + mac)

# Load login data from different file for safety reasons
ssid = secrets['ssid']
pw = secrets['pw']

wlan.connect(ssid, pw)

# Wait for connection with 10 second timeout
timeout = 10
while timeout > 0:
    if wlan.status() < 0 or wlan.status() >= 3:
        break
    timeout -= 1
    print('Waiting for connection...')
    time.sleep(1)

# Define blinking function for onboard LED to indicate error codes    
def blink_onboard_led(num_blinks):
    led = machine.Pin('LED', machine.Pin.OUT)
    for i in range(num_blinks):
        led.on()
        time.sleep(.2)
        led.off()
        time.sleep(.2)

wlan_status = wlan.status()
blink_onboard_led(wlan_status)

if wlan_status != 3:
    raise RuntimeError('Wi-Fi connection failed')
else:
    print('Connected')
    status = wlan.ifconfig()
    print('ip = ' + status[0])
    
# Function to load in html page    
def get_html(html_name):
    with open(html_name, 'r') as file:
        html = file.read()
        
    return html

# HTTP server with socket
addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1]

s = socket.socket()
s.bind(addr)
s.listen(1)

print('Listening on', addr)

# Listen for connections
while True:
    try:
        cl, addr = s.accept()
        print('Client connected from', addr)
        response = get_html('index.html')
        cl.send('HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\n')
        cl.send(response)
        cl.close()
        
    except OSError as e:
        cl.close()
        print('Connection closed')

index.html

<!DOCTYPE html>
<html>
    <head>
        <title>Pico W</title>
    </head>
    <body>
        <h1>Pico W</h1>
    
    </body>
</html>

Übertragung eines WiFi-Netzwerks (SoftAP-Zugangspunkt)

Ich schreibe diese Zeilen Mitte Juli 2022, die Dinge ändern sich also schnell.

Wenn Sie Ihren Raspberry Pi Pico W noch nicht mit dem neuesten MicroPython UF2 geflasht haben, sollten Sie das jetzt tun, denn die Ingenieure von Raspberry Pi aktualisieren es gerade. Holen Sie sich den neuesten Build hier.

Das neueste Nightly-Build, das am 15. Juli veröffentlicht wurde, enthält mehrere Updates. Zum einen ermöglicht es Ihnen, Ihr WiFi-Netzwerk mit einem Passwort zu sichern (vorher war es gebrochen).

Es gibt einige Bugs. Zum Beispiel konnte ich den SSID-Namen nicht ändern, indem ich das Skript in Thonny stoppte und ausführte. Ich musste einen härteren Reset durchführen, indem ich den USB-Stecker vom Pico W abzog.

Dieser Abschnitt ist entscheidend für die Einrichtung eines Zugangspunkts:

import network
import machine

ssid = '<your-ap-name>'
password = '<your-pw>'

ap = network.WLAN(network.AP_IF)
ap.config(essid=ssid, password=password)
ap.active(True)

while ap.active() == False:
  pass

print('Connection successful')
print(ap.ifconfig())
Access Point, der vom Raspberry Pico W gesendet wird. Wenn Sie Ihren AP nicht sehen können, versuchen Sie, den USB-Stecker zu ziehen und den Pico W neu zu starten.

Hier ist eine vollständige Zusammenfassung von Alasdair Allen, dem Dokumentationsleiter des Raspberry Pi, wodurch Ihr Pico W zu einem Zugangspunkt mit SSID MicroPython-AP, Kennwort 123456789.

Wenn Sie eine Verbindung herstellen, wird eine Webseite mit "Hello from Pico W" gesendet.

import socket
import network
import machine

ssid = 'MicroPython-AP'
password = '123456789'

led = machine.Pin("LED",machine.Pin.OUT)

ap = network.WLAN(network.AP_IF)
ap.config(essid=ssid, password=password)
ap.active(True)

while ap.active() == False:
  pass

print('Connection successful')
print(ap.ifconfig())

html = """<!DOCTYPE html>
<html>
    <head> <title>Pico W</title> </head>
    <body> <h1>Pico W</h1>
        <p>Hello from Pico W.</p>
    </body>
</html>
"""

addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1]
s = socket.socket()
s.bind(addr)
s.listen(1)

print('listening on', addr)
led.off()

# Listen for connections
while True:
    try:
        cl, addr = s.accept()
        print('client connected from', addr)
        request = cl.recv(1024)
        led.on()
        print(request)

        cl.send('HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\n')
        cl.send(html)
        cl.close()
        led.off()

    except OSError as e:
        cl.close()
        print('connection closed')

Raspberry Pi Pico W Einsteiger-Tutorials

Wir haben ein paar Anfängertutorials zusammengestellt, die Ihnen helfen, den Raspberry Pi Pico W kennenzulernen.

Steuerung der Pico W Onboard-LED mit einem Webserver

Raspberry Pi Pico W steuert Onboard-LED mit Webserver

Dies ist das grundlegendste Tutorial, das Ihnen helfen wird zu verstehen, wie Sie Ihren Raspberry Pi Pico W mit WiFi verbinden, einen Webserver starten und die Onboard-LED mit dem Webserver steuern.

Es wird eine Webseite mit einer "on/off"-Taste angezeigt, mit der die integrierte LED gesteuert werden kann.

Dieses Tutorial bildet die Grundlage für viele weitere Projekte, die eine Fernsteuerung über WiFi erfordern.

HIER KLICKEN: Steuerung der Pico W Onboard-LED über einen Webserverr

Streaming von Sensordaten über Webserver auf dem Raspberry Pi Pico W

Raspberry Pi Pico W-Tutorial Sensordaten streamen

Mit Hilfe des Beschleunigungssensors ADXL343 zeigt Ihnen dieses Tutorial, wie Sie die Messwerte auf einer Webseite, die von Ihrem Raspberry Pi Pico W bedient wird, dynamisch aktualisieren können.

Die Webseite wird jede Sekunde aktualisiert, wenn ein Client die IP-Adresse des Pico W besucht. Es gibt auch eine digitale Web-Würfel-Funktion, die aktiviert wird, wenn der ADXL343 angetippt wird.

Sie werden lernen, wie man Bibliotheken verwendet, WiFi einrichtet, eine Webseite bedient und wie man die Sensorwerte auf der Webseite anzeigt.

HIER KLICKEN: Streaming von Sensordaten über WiFi mit Raspberry Pi Pico W

Raspberry Pi Pico W Wi-Fi Türklingel Tutorial (HTTP Anfragen & IFTTT)

Raspberry Pi Pico W Projekte WiFi Türklingel und Benachrichtigung

In diesem Tutorial lernen Sie, wie Sie mit dem Raspberry Pi Pico W eine HTTP-Anfrage stellen können.

Wir werden eine Taste verwenden, um eine Türklingel zu simulieren. Wenn die Taste gedrückt wird, löst der Pico W den Endpunkt von IFTTT aus, der dann eine E-Mail-Benachrichtigung oder eine App-Benachrichtigung auslöst.

HIER KLICKEN: Raspberry Pi Pico W Wi-Fi Türklingel Tutorial (HTTP Anfragen & IFTTT)

Raspberry Pi Pico W ferngesteuerte Wetterstation (solarbetrieben und SoftAP)

Raspberry Pi Pico W softap Wetterstation

In diesem Tutorial lernen Sie, einen SoftAP Access Point zu entwickeln, der Wetterstationsdaten drahtlos überträgt und mit Solarstrom versorgt!

HIER KLICKEN: Raspberry Pi Pico W ferngesteuerte Wetterstation (solarbetrieben und SoftAP)

Pico W Projekte

Mit dem Raspberry Pi Pico W können Sie alles machen, was Sie auch mit dem Pico machen können. Aber Sie können es besser machen, indem Sie eine drahtlose Steuerung oder Ausgabe hinzufügen.

Für die meisten Projekte ist zusätzliche Hardware erforderlich, daher haben wir für Sie unser Pico-Bausätze.

Burgerbot: aufgerüstet von einem normalen Pico

Kevin McAleer baute einen Burgerbot mit dem normalen Pico und als der Pico W auf den Markt kam, nutzte er die Gelegenheit, ihn aufzurüsten.

In seinem YouTube-Video zeigt er, wie er den Pico W und Node-Red verwendet und seinen Code aktualisiert, um den Pico W über MQTT mit dem Burgerbot zu verbinden.

Kevin hat sich für Node-Red entschieden, um ein Dashboard zu erstellen und seine MQTT-Nachrichten zu programmieren, weil es den Prozess vereinfacht.

pico w roboter kevin mcaleer burgerbot
Der Burgerbot von Kevin McAleer (Screenshot von YouTube).

e-paper Kätzchen Bild Zufallsgenerator

Placekitten ist eine Website, die niedliche Katzenbilder als Platzhalter für Webdesigner bereitstellt.

Phil Howard hat den Pico W dazu gebracht, die Website von Placekitten anzupingen und ein zufälliges Foto einer Katze auf sein E-Ink-Display zu laden.

Screenshot von Placekitten, wo Sie Katzenfotos erhalten können, indem Sie eine URL angeben.

Pimoroni stellt das Pico Inky Pack her, ein 2,9″ E-Ink-Display, das perfekt zu einem Pico W passt (mit angelöteten Headern).

Sobald er mit dem WiFi verbunden war, hat Phil eine URL gepingt, um ein Bild auf dem E-Ink-Display anzeigen zu lassen. Der Pico Inky hat ein 296x128px großes Display, was bedeutet, dass man mit der URL http://placekitten.com/296/128erhalten Sie ein Bild, das perfekt in die Anzeige passt.

Bringen Sie Ihre Pflanzen dazu, Ihnen eine SMS zu schicken

Wenn deine Freunde durstig sind, schicken sie dir eine SMS und fragen dich, ob du etwas trinken gehen möchtest.

Warum sollten Sie diese Erfahrung nicht auch mit Ihren Zimmerpflanzen machen?

Sandeep Mistry hat genau das mit dem Raspberry Pi Pico W, dem Pimoroni Grow Kit und der Twilio SMS API erreicht.

Das Wichtigste ist, dass die Pflanze Ihnen sagt, wann sie Wasser braucht. Der Sensor gibt ein digitales Impulssignal mit einer Frequenz zwischen 1 Hz und 30 Hz aus. Bei Trockenheit ist die Frequenz hoch, was den Pico W dazu veranlasst, die Twilio-SMS-API anzupingen und eine Nachricht zu senden.

Den vollständigen Leitfaden finden Sie hier.

Raspberry Pi Pico W vs. Espressif ESP32

Der Raspberry Pi Pico W ist ein wahres Multitalent.

Als wir den Raspberry Pi Pico mit dem ESP32 verglichen, haben wir uns für das PICO-KIT entschieden, weil es dem Pico am ähnlichsten ist.

Der große Vorteil des ESP32 gegenüber dem Pico W ist WiFi und Bluetooth.

Aber das ist nicht mehr der Fall. Der Pico W hat jetzt WiFi und der WLAN-Chip kann zwar Bluetooth, aber das ist seit Anfang Juli noch nicht aktiviert.

Wenn Sie also Bluetooth-Fähigkeit benötigen, dann sind Sie mit dem ESP32 besser bedient.

Allerdings hat der ESP32 auch andere Vorteile, wie z.B. unterschiedliche CPU-Frequenzen, darunter zwei schnellere Geschwindigkeiten als der Pico W.

Der ESP32 ist auch schon viel länger auf dem Markt, was dazu führt, dass es viel mehr Projekte gibt, die auf ihm aufbauen. Die Dokumentation, die Experimentiermöglichkeiten und die Add-ons sind der Raspberry Pi Pico-Reihe um Längen voraus.

Raspberry Pi Pico WEspressif ESP32-PICO-KIT
CPU-Frequenz133MHz80/160/240MHz
MikrocontrollerRP2040Xtensa LX6
Kerne22
Flash-Speicher2MB4MB
RAM264KB520KB
GPIO26 (vom Benutzer verwendbar)36
Hat USB?microUSBmicroUSB
WiFi und/oder BT?Ja, beides, BT bei der Einführung nicht aktiviertJa, beide
Spannung1,8 - 5,5V oder 5V USB3,3V (über Pins) oder 5V über USB oder 5V-12V (über Spannungsregler)
Größe51x21mm52x20mm
SprachenMicroPython / CMicroPython / C

Gedanken der Gemeinschaft zu Pico W vs. ESP32

Wir haben im Raspberry Pi-Forum einen Thread zu genau diesem Thema gestartet, und hier sind einige großartige Gedanken der Community:

Raspberry Pi Forum Benutzer scruss sagte, dass der ESP32 mit der 160MHz-Variante mehr Rechenleistung hat, und nannte 1639 Pystone/Sekunde gegenüber 1243 beim Pico W. Der 240MHz ist sogar noch schneller.

Er nannte auch die folgenden Gründe, warum der ESP32 über den Pico W triumphieren würde.

  • Hardware-Zeitgeber
  • wirklich guter ADC, mit Bereichsabstimmung und direkter Spannungsmessung
  • 2-Kanal-DAC
  • kapazitive Berührung
  • Hall-Effekt-Magnetsensor (wenn man ihn mit einem Magneten berührt, kann er einem sagen, dass man ihn mit einem Magneten berührt)
  • RMT-Kanäle für ziemlich clevere PWM

Auf der anderen Seite, Benutzer scotty101 schreibt über die Vorteile des Pico W:

  • Entwicklungsumgebung
  • Unterstützung des Raspberry Pi und seiner Bildungsziele
  • Prävalenz und Größe der Gemeinschaft.
  • Einfaches Aufspielen einer neuen Binärdatei auf den Pico

"Ich mag ESP32, aber ich hasse es, jedes Mal, wenn ich ein aufgegebenes Projekt neu starte, das esptool herunterzuladen. Ich habe so wenig Zeit, dass ich mit MicroPython auf dem Pico schnell und einfach loslegen kann", sagte scotty101.

Endlich, cleverca22 gab einen ausgewogenen Überblick über das, was er in beiden Gremien sah. Abgesehen von den oben genannten Argumenten sind hier noch weitere Punkte zu nennen:

Der Raspberry Pi Pico W verfügt über Programmable IO (PIO).

cleverca22 sagt, dass er glaubt, dass die ESP-Plattform eine spezielle Speicherverwaltungseinheit zwischen dem XIP und dem Flash hat, so dass man mehrere Anwendungen gleichzeitig speichern kann und dies ein Rollback ermöglicht.

Außerdem steuert die ESP-Plattform WiFi und Bluetooth direkt von der CPU aus, was nicht standardisierte RF-Aktionen ermöglicht, während die Pico W-Plattform wahrscheinlich über einen Closed-Source-Blob verwaltet wird und daher nur genehmigte RF-Aktionen zulässt.

Pico W gegen Zero 2 W

Sie rollen vielleicht mit den Augen, weil Sie denken, dass wir Äpfel mit Birnen vergleichen.

Aber sind wir das wirklich?

Lassen Sie uns hier über den grundlegenden Unterschied sprechen. Der Raspberry Pi Pico W ist ein Mikrocontroller, während der Raspberry Pi Zero 2 W ein Mikrocomputer ist.

Einfach ausgedrückt: Der Raspberry Pi Pico W ist für eine einzige Aufgabe konzipiert. Die Zero 2 W soll dynamischer sein - sie kann mehrere Aufgaben und verschiedene Betriebssysteme ausführen und man kann sie in mehreren Sprachen programmieren.

In der folgenden Tabelle werden die Unterschiede erläutert:

Kann es...Mikrocontroller (z. B. Raspberry Pi Pico W)Mikrocomputer (z. B. Raspberry Pi Zero 2 W)
Einen Server betreiben?NeinJa
Blinken einer LED?Viel schneller von Anfang bis EndeViel langsamer; viel mehr Prozesse müssen durchlaufen werden
Automatischer Neustart des Programms bei Stromausfall?JaNicht standardmäßig
Videospiele spielenNicht ohne großen AufwandJa
Läuft mit Batterie?Ja, sie halten im Durchschnitt viel längerJa, hält im Durchschnitt nicht so lange
Wärmemanagement?Normalerweise nicht erforderlichKühlkörper, Lüfter, wärmeleitende Gehäuse
Kosten?UnterHöher
Größe?KleinerGrößere

WiFi jetzt nicht mehr der Vorteil des Pi Zero W

Eines der Dinge, die einige Nutzer wirklich an der Pi Zero-Serie interessiert haben, ist die integrierte Funkverbindung.

In der Vergangenheit musste man ein Zubehörteil kaufen, um die ursprüngliche Pico kabellos zu machen. Das war so ziemlich der Punkt, der die Leute dazu brachte, den Zero als Ersatz für ihre Projekte zu verwenden.

Da die Pico W jetzt über eine drahtlose Verbindung verfügt, ist der Vorteil der Zero W nicht mehr gegeben.

Bluetooth bleibt ein Vorteil des Pi Zero W... vorerst

Zum Zeitpunkt der Veröffentlichung verfügt der Pico W über einen Bluetooth-Chip, der jedoch noch nicht aktiviert ist.

Raspberry Pi hat gesagt, dass sie es in Zukunft ermöglichen werden. Wann auch immer das sein wird.

Wenn Sie also Bluetooth benötigen, ist das Pi Zero W die bessere Wahl.

Raspberry Pi Zero 2 W Knappheit = Pico W Vorteil

Ein weiterer Vorteil der Pico W gegenüber der Zero 2 W ist ihre Verfügbarkeit.

In den ersten zwei Wochen nach seiner Veröffentlichung, In vielen Geschäften, auch in unserem, waren noch Vorräte vorhanden. Für das Pi Zero 2 trifft dies sicherlich nicht zu, die für den Rest des Jahres 2022 ein geringes Angebot erwarten lässt.

Natürlich, wenn Sie ein PiCockpit Konto haben, EU/Schweizer Benutzer können Sie auch unser Reservierungstool verwenden, um Ihren nächsten Raspberry Pi zu reservieren.

Wie soll man sich entscheiden?

Hier ist die Logik, nach der ich entscheide, welche ich verwende:

SzenarioWas zu holen ist
Ich bin besser in einer anderen Sprache als C/PythonNull
Ich habe "unbegrenzten" Strom (d.h. kein Solar- oder Batteriebetrieb)Null
Ich muss Daten speichern (z. B. Temperaturprotokolle)Null
Ich muss eine Kamera benutzenNull
Ich möchte eine GUI/VideoausgabeNull
Ich brauche WiFiEntweder
Ich brauche BluetoothNull (ab Juli 2022)
Ich brauche die kompakteste LösungPico W
Ich brauche einen schnellen Neustart bei Absturz/StromausfallPico W
Ich möchte kein Betriebssystem einrichtenPico W
Ich möchte die billigere OptionPico W

Unter dem Mikroskop

Peter Mount filmte dieses Video von der Pico W...

Wie hat Raspberry Pi die Veröffentlichung des Pico W angepriesen?

Laut Raspberry Pi hat niemand den Teaser bekommen, der eine Kuh mit Raspberry Pi-Grafiken zeigte.

Der Teaser von Raspberry Pi für den Pico W

Sie sagten: "Wir können immer noch nicht glauben, dass nicht einer von euch den sehr abstrakten Teaser bekommen hat, den wir in der Nacht vor dem Start von Pico W auf Twitter veröffentlicht haben. Es ist eine Kuh. Versteht ihr das?"

Raspberry Pi Cow ist umbenannt in Raspberry Pico W.

Ich denke, jetzt, wo die Katze aus dem Sack ist, ist das Reden darüber ziemlich muht.

Weitere Informationen

Wir haben eine Enzyklopädie von Informationen für den normalen Raspberry Pi Pico die Ihnen bei den ersten Schritten mit dem Raspberry Pi Pico W helfen werden. Hier können Sie anfangen, mehr über den Raspberry Pi Pico zu erfahren.

HIER KLICKEN: Alles, was Sie über den Raspberry Pi Pico wissen müssen

Es gibt auch allgemeine und spezielle Dokumentationen direkt vom Raspberry Pi:

4 Kommentare

  1. Veröffentlich von Pico User am Juli 15, 2022 um 11:12 am

    Die Pico H Debug-Anschlüsse für die Kabel-/Drahtseite sind eigentlich
    SHR-03V-S (ohne Flansch) oder SHR-03V-S-B (mit Flansch).

    https://www.jst.co.uk/downloads/series/eSH_(21-03-24).pdf
    https://shop.pimoroni.com/products/pimoroni-pico-debug-cable
    https://kabel-me.eu/details/48010

    • Veröffentlich von Xuyun Zeng am Juli 16, 2022 um 10:00 am

      Hmm, übersehe ich etwas oder ist das nur ein kompatibler Anschluss? Hier ist, was ich aus den offiziellen Dokumenten erhalten habe:

      "Wir spezifizieren den Stecker als 3-poligen JST 'SH'-Stecker im Raster 1,0 mm, entweder BM03B-SRSS-TB (oben)
      Eingang) oder SM03B-SRSS-TB (seitlicher Eingang), oder kompatible Alternativen."

      https://datasheets.raspberrypi.com/debug/debug-connector-specification.pdf

  2. Veröffentlich von JJE am Oktober 30, 2022 um 2:14 pm

    Tolle Arbeit, wäre noch nützlicher, wenn Sie den Python-Code nicht durch den Übersetzer gejagt hätten.

    • Veröffentlich von Xuyun Zeng am November 4, 2022 um 8:15 pm

      Danke, JJE, dass Sie uns darauf aufmerksam gemacht haben. Das ist definitiv etwas, woran wir arbeiten müssen.

Hinterlassen Sie einen Kommentar