Alles over de Raspberry Pi Pico W

Vandaag, 30 juni 2022 om 8.00 uur Britse tijd heeft Raspberry Pi de Pico W.

Hier is alles (dat we weten) over de nieuwste Raspberry Pi.

Inhoud verbergen

Deze nieuwe variant van de geliefde Pico heeft draadloze mogelijkheden dankzij de CYW43439 draadloze chip.
Net als de Pico, in het hart van elke Pico W is RP2040, de eerste siliciumchip van Raspberry Pi.

Als klap op de vuurpijl heeft Raspberry Pi ook de Pico H en Pico WH varianten uitgebracht.

Let op: Als u een Raspberry Pi 4 / 4 GB of Pi 4 / 8 GB of Coral USB-accelerator wilt reserveren, en u bevindt zich in de EU + Zwitserland, kijk dan eens naar onze gloednieuwe PiCockpit-functie, de Raspberry Pi Reserveringshulpmiddel - één per klant, en u staat in een eerlijke rij in plaats van dat u zich moet haasten als er Pis beschikbaar komen. Als genoeg mensen het ons vragen, maken we misschien ook de Pico W beschikbaar om te reserveren.

Raspberry Pi Pico Varianten

VariantPrijs Headers?Draadloos?Vrijgave (M/JJ)
Pico$4GeenGeen1/21
Pico H$5JaGeen6/22
Pico W$6GeenJa6/22
Pico WH$7JaJaErgens in 2022

Pico H - $5 - Een Raspberry Pi Pico met voorgesoldeerde headers

Pico W - $6 - Een Raspberry Pi Pico met draadloze

Pico WH - $7 - Een Raspberry Pi Pico met zowel draadloze als voorgesoldeerde headers.

De Pico H en Pico W werden uitgebracht op 30 juni 2022, terwijl de Pico WH komt uit in augustus 2022.

De Pico WH heeft een bijgewerkte releasetijdlijn die "later dit jaar" in 2022 is, volgens Raspberry Pi's Alasdair Allendie zei: "Later dit jaar zult u waarschijnlijk de komst van de Pico WH zien, en ik denk dat u zelf wel kunt bedenken wat dat is."

Hier is een update over de Pico WH in oktober. Ik kreeg een update van Alasdair Allen die zei,

"Het is bijna uit [...] en het kan elk moment uitkomen. We wilden er zeker van zijn dat we een behoorlijk volume hadden voordat we het de deur uit duwden, zodat mensen het gemakkelijk konden kopen."

In dit bericht zullen we de overeenkomsten en verschillen tussen de Pico W en de Pico uitleggen. Natuurlijk zullen we ook enkele coole Pico W projecten voorstellen.

Is de Pico H gewoon een traditionele Pico met voorgesoldeerde headers?

Raspberry Pi Pico vs Pico H. Het belangrijkste verschil is de SWD debug headers.

In essentie, ja.

Maar er is een klein verschil bij de SWD debug headers en er is geen castellatie (halve cirkelvormige gaatjes aan de rand) op de pinnen.

Om de SWD debug header op de Pico H te gebruiken, moet u deze connectoren gebruiken: 1.0mm pitch 3-polige JST 'SH' connector, ofwel BM03B-SRSS-TB (top entry) of SM03B-SRSS-TB (side entry) types, of compatibele alternatieven.

De aardingspennen zijn ook duidelijk vierkant op de Pico H, in plaats van een gewoon rond gat.

Waar kan ik een Pico W kopen?

Pak je Pico W in onze winkel.

Inhoud verbergen

Voor een snel overzicht kijk deze video.

Hardware

Pico W draadloze interface (CYW43439)

De Infineon CYW43439 ondersteunt IEEE 802.11 b/g/n draadloze LAN en Bluetooth 5.2. Bij de lancering zal alleen de draadloze LAN worden ondersteund.

In tegenstelling tot de Raspberry Pi 4, heeft de Pico W slechts single-band 2.4 GHz Wi-Fi 4. De Pi 4 heeft dual-band Wi-Fi 2.4/5 GHz, maar wat Bluetooth betreft, overtreft de Pico W het vlaggenschip van de Raspberry Pi, die alleen Bluetooth 5.0 heeft. De CYW43439 ondersteunt BLE en een enkele antenne die gedeeld wordt tussen Wi-Fi en Bluetooth.

Noot Bluetooth is nog niet beschikbaar. Het zal waarschijnlijk in een toekomstige firmware-update worden toegevoegd.

Als u de Pico W van dichtbij bekijkt, zult u de driehoekige PCB-antenne opmerken die vergelijkbaar is met die van de Raspberry Pi 4. De Raspberry Pi gebruikt een ingebouwde antenne onder licentie van ABRACON.

PCB-antenne
PCB-antenne

Dat betekent dat er geen extra antenne nodig is. De draadloze interface is via SPI verbonden met de RP2040.

Volgens de officiële datasheet heeft de Infineon CYW43439 ook de volgende kenmerken:

- WiFi 4 (802.11n), enkelbandig (2,4 GHz)
- WPA3
- SoftAP (tot 4 cliënten)

Het officiële gegevensblad suggereert ook dat voor de beste draadloze prestaties, u de antenne in de vrije ruimte moet plaatsen.

Metaal onder of dicht bij de antenne kan de versterking en de bandbreedte verminderen.

Het toevoegen van geaard metaal aan de zijkanten van de antenne kan echter de bandbreedte van de antenne verbeteren.

Kan de Pico W worden omgebouwd tot een WiFi-toegangspunt?

Ja, want de Infineon CYW43439 ondersteunt SoftAP (tot 4 clients).

In feite kun je van de Pico W ook een gesloten portaal maken!

Volg de onderstaande handleiding.

raspberry pi pico w captive portal instellen

Verwerkingshardware

Afgezien van de draadloze interface is de hardware vrijwel identiek aan die van de oorspronkelijke Pico.

  • RP2040 microcontroller met 2MB flashgeheugen
  • Geïntegreerde single-band 2,4GHz draadloze interfaces (802.11n)
  • Micro USB B-poort voor stroom en gegevens (en voor het herprogrammeren van de flash)
  • 40 pinnen 21mmx51mm 'DIP' stijl 1mm dikke PCB met 0.1″ through-hole pinnen ook met randafgietsels
  • Stelt 26 multifunctionele 3,3 V I/O's voor algemeen gebruik (GPIO) ter beschikking
  • 23 GPIO zijn alleen digitaal, waarvan er drie ook geschikt zijn voor ADC
  • Opbouwmontage als module mogelijk
  • 3-pins ARM seriële draad debug (SWD) poort
  • Eenvoudige maar zeer flexibele voedingsarchitectuur
  • Verschillende mogelijkheden om het toestel gemakkelijk van stroom te voorzien via micro USB, externe voedingen of batterijen
  • Dual-core cortex M0+ tot 133MHz
  • On-chip PLL maakt variabele kernfrequentie mogelijk
  • 264kByte multi-bank SRAM met hoge prestaties
  • Externe quad-SPI-flash met eXecute In Place (XIP) en 16k byte cache op chip
  • Hoogwaardig, volledig dwarsliggend busweefsel
  • On-board USB1.1 (apparaat of host)
  • 30 multifunctionele I/O's voor algemeen gebruik (vier kunnen worden gebruikt voor ADC)
  • 1,8-3,3 V I/O-spanning
  • 12-bit 500ksps analoog naar digitaal omzetter (ADC)
  • Diverse digitale randapparatuur
  • 2 × UART, 2 × I2C, 2 × SPI, 16 × PWM-kanalen
  • 1 × timer met 4 alarmen, 1 × real-time klok
  • 2 × programmeerbare I/O (PIO) blokken, 8 toestandsmachines in totaal

De externe pinout is bijna identiek aan die van de Raspberry Pi Pico.

Pico W Pinout
Pico W Pinout

Het enige verschil zit in de LED en SWD debug pinnen.

De LED aan boord wordt aangestuurd via de WL_GPIO0 Pin van de Infineon 43439 chip. Op de Pico was de LED verbonden met GPIO Pin 25.

Verder zijn de SWD debug-pennen naar het midden van de printplaat verplaatst, om ruimte te maken voor de PCB-antenne. U kunt ze vinden tussen de RP2040 en de CYW43439 en de volgorde van links naar rechts is nog steeds SWCLK, GND, SWDIO.

Software

Aangezien de Pico W gebaseerd is op de RP2040 chip, kun je hem net als de Pico programmeren. Dat betekent dat je hem kunt programmeren in C/C++ en MicroPython en dat code die geschreven is voor de Pico (en die geen gebruik maakt van de ingebouwde LED) zou moeten werken op de Pico W.

Raspberry Pi biedt een Verbinding maken met het internet met Raspberry Pi Pico W gids voor C/C++ en MicroPython. Om uw start met de Pico W te vergemakkelijken, hebben we ook enkele voorbeeldprojecten samengesteld.

C/C++ en de Pico-SDK

Er is een update van de Pico-SDK om de draadloze mogelijkheden van uw Pico W in te schakelen. De installatie en het gebruik zijn precies hetzelfde als bij de Pico. Kijk op onze video om aan de slag te gaan met de Pico W en C/C++.

De Pico-SDK bijgewerkt bevat ook enkele voorbeelden voor draadloos gebruik.

MicroPython en Thonny

De handigste manier om MicroPython met de Pico W te gebruiken is met de Thonny IDE. Raspberry Pi heeft een nieuwe MicroPython poort voor de Pico W.

Noot MicroPython is board-specifiek. Vandaar dat er verschillende (en incompatibele) MicroPython versies zijn voor de Pico en de Pico W. Zorg ervoor dat u altijd de juiste versie voor uw bord gebruikt.

Dit gezegd zijnde, is de manier van programmeren van de Pico W precies hetzelfde, dus als je de Pico eerder met MicroPython hebt gebruikt, zou het een koud kunstje moeten zijn.

Pico H en Pico WH

Zoals gezegd, heeft Raspberry Pi ook de Pico H en Pico WH uitgebracht. De 'H' toegevoegd aan de naam betekent dat het wordt geleverd met voorgesoldeerde headers. De Pico H is net als onze Pico Comfort, maar voor de SWD debug pinnen gebruikt Raspberry Pi een horizontale JTAG debug header. De Pico WH zal waarschijnlijk dezelfde twee rijen 1×20 headers gebruiken en een verticale header voor de debug pinnen.

Aan de slag met de Raspberry Pi Pico W

Deze sectie zal eenvoudige trucs en patronen belichten die u zullen helpen om met uw Raspberry Pi Pico W aan de slag te gaan.

Raspberry Pi Pico W pinout

Raspberry Pi Pico W pinout (afbeelding van officieel gegevensblad)

De MicroPython UF2 flashen

Een fundamentele insteltaak die u moet uitvoeren is het flashen van de MicroPython UF2 op uw Pico W.

Eerst, download hier het UF2-bestand dat speciaal gemaakt is voor de Raspberry Pi Pico W. Een andere mogelijkheid, je kunt de nachtelijke builds hier vinden.

Merk op dat u de UF2 van de originele Raspberry Pi Pico niet kunt gebruiken.

Houd de BOOTSEL-knop ingedrukt en sluit vervolgens uw USB aan op de Raspberry Pi Pico W.
Houd de BOOTSEL-knop ingedrukt en sluit vervolgens uw USB aan op de Raspberry Pi Pico W.

Om het UF2 bestand te uploaden, moet u de BOOTSEL knop ingedrukt houden en dan de USB inpluggen.

U zult een nieuw volume zien met de naam RPI-RP2 in uw bestandsverkenner.

Kopieer het UF2 bestand naar dat station.

De verbinding wordt automatisch verbroken bij het uploaden.

Dat was het! Uw Raspberry Pi Pico W is nu klaar om MicroPython code te accepteren.

Op naar de volgende stap...

Installatie van Thonny IDE

Thonny loopt ons beginnersproject (zie hieronder)

De eenvoudigste manier om MicroPython code te draaien en een shell te openen op de Raspberry Pi Pico W is door gebruik te maken van de Thonny IDE.

Thonny wordt standaard geleverd op het Raspberry Pi OS. Maar misschien wilt u het voor uw gemak op uw hoofdcomputer installeren.

Hier is hoe: ga naar https://thonny.org/ en u zult de laatste versies op de voorpagina kunnen vinden.

U zult waarschijnlijk begroet worden door een pop-up venster dat u vraagt om te updaten. Ga je gang.

De update werkte goed toen ik Thonny op mijn Raspberry Pi OS draaide, maar op Windows was er deze foutmelding "SSL: CERTIFICATE_VERIFY_FAILED".

U kunt dit oplossen door dit certificaat te downloaden (https://letsencrypt.org/certs/lets-encrypt-r3.der), klik dan met de rechtermuisknop op het gedownloade bestand en "Certificaat installeren" en u zult deze fout niet meer tegenkomen.

Zorg ervoor dat u "MicroPython (Raspberry Pi Pico)" in de rechter benedenhoek.

Bestanden uploaden naar uw Raspberry Pi Pico W

Upload bestanden naar uw Raspberry Pi Pico W door te klikken op Uploaden naar /

Hier ziet u hoe u uw MicroPython bestanden kunt uploaden naar de Raspberry Pi Pico W met Thonny.

Sluit uw Raspberry Pi Pico W aan.

In Thonny, ga naar Beeld > Bestanden.

U ziet twee secties. Bestanden op uw computer bovenaan en bestanden op de Raspberry Pi Pico W.

Klik met de rechtermuisknop op de bestanden die u wilt uploaden en selecteer Uploaden naar /

Knipperende LED aan boord

Een fundamenteel verschil tussen de originele Raspberry Pi Pico en de Pico W is hoe je de LED op het bord laat knipperen.

In het verleden bediende je de LED door deze code te gebruiken:

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

Echter, op de Raspberry Pi Pico W, zou u "LED" liever dan 25.

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

Om de onboard LED te laten knipperen, schrijf je dus deze code:

import machine
import time

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

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

Bewaar dit als main.py en het zal automatisch starten wanneer de Pico W van stroom wordt voorzien.

Verbinding maken met WiFi

Hieronder staat een vereenvoudigde code die u in staat zal stellen

  • Verbinden met WiFi
  • 10-seconden time-out
  • Print "Waiting for connection" terwijl verbinding wordt gemaakt met het netwerk dat in de variabelen is gedefinieerd ssid en pw
  • De LED op het bord licht op bij een geslaagde verbinding
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 een echt project zou het de voorkeur verdienen om een apart bestand te maken (bijvoorbeeld, secrets.py) en sla de ssid en pw en importeer het dan in het hoofdbestand.

Er is ook niet veel feedback met deze code noch enige foutafhandeling. Als je succes hebt, krijg je een brandende LED. Zo niet, dan krijg je geen feedback.

Vandaar, hier is een elegantere manier om verbinding te maken met een netwerk.

De volgende code corrigeert voor regionale verschillen in de rp2.country("DE"). Verander dit in uw land, zoals "GB", "US", enz.

Wanneer u met succes verbinding maakt met een WiFi-netwerk, ziet u drie keer knipperen van de LED op de kaart bij een geslaagde verbinding. Elk ander aantal knipperingen betekent iets anders, gebaseerd op het volgende aantal:

# 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])

secrets.py

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

Serveer een webpagina op lokaal IP

Om een webpagina te serveren met de Raspberry Pi Pico W, hebt u drie bestanden nodig.

  • main.py - het grootste deel van de code (die automatisch op de Pico W draait)
  • secrets.py - met ssid en pw
  • index.html - met de webpagina die zal worden geserveerd

main.py zal verbinding maken met uw WiFi netwerk, gedefinieerd in secrets.py. Dan zal het een socket openen die zal luisteren naar verbindingen met de Raspberry Pi Pico W.

Als iemand verbinding maakt, zal het de webpagina afleveren, genaamd index.html.

Hier is de code voor main.py en index.html. secrets.py kan uit het vorige voorbeeld worden gehaald.

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>

Uitzenden van een WiFi netwerk (SoftAP toegangspunt)

Ik schrijf dit in het midden van juli 2022, dus de dingen veranderen snel.

Als u uw Raspberry Pi Pico W nog niet hebt geflasht met de nieuwste MicroPython UF2, doe dat dan nu, want de ingenieurs bij Raspberry Pi zijn het op dit moment aan het updaten. Haal de laatste versie hier.

De laatste nachtelijke build, uitgebracht op 15 juli, heeft verschillende updates. Zo is het nu mogelijk om je WiFi-netwerk te beveiligen met een wachtwoord (voorheen was dit niet mogelijk).

Er zijn een paar bugs. Ik was bijvoorbeeld niet in staat om de SSID naam te veranderen door het script in Thonny te stoppen en te draaien. Ik moest een hardere reset doen door de USB uit de Pico W te trekken.

Het cruciale deel om een toegangspunt in te stellen is dit segment hier:

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 uitgezonden door de Raspberry Pico W. Als u uw AP niet kunt zien zoals u het hebt genoemd, probeer dan de USB-stekker eruit te trekken en de Pico W opnieuw te voeden.

Hier is een volledige samenvatting van Raspberry Pi's hoofd van documentatie, Alasdair Allen, wat van uw Pico W een toegangspunt maakt met SSID MicroPython-APWachtwoord 123456789.

Als je er verbinding mee maakt, zal het een webpagina sturen met "Hallo van Pico W"

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 beginners tutorials

We hebben een paar tutorials voor beginners samengesteld om u te helpen de Raspberry Pi Pico W te leren kennen.

Raspberry Pi Pico W mega handleiding

tutorial raspberry pi pico w componenten

Voor absolute beginners met een set componenten, zal deze handleiding u helpen bij de draadloze interactie met uw componenten.

Deze handleiding is specifiek gericht op de Pico W, en probeert dus zoveel mogelijk gebruik te maken van de WiFi-module. Dus in plaats van knoppen gebruiken we een webbrowser met virtuele knoppen om LED's en zoemers te bedienen. We gebruiken een browser om temperatuur- en afstandsgegevens te bekijken in plaats van een LCD-scherm.

KLIK HIER: Raspberry Pi Pico W tutorial voor beginners

Bedien Pico W onboard LED met een webserver

Raspberry Pi Pico W controleert LED aan boord met webserver

Dit is de meest eenvoudige tutorial die u zal helpen begrijpen hoe u uw Raspberry Pi Pico W met WiFi verbindt, een webserver opstart en de LED op het bord met de webserver bedient.

Er wordt een webpagina aangeboden met een "aan/uit"-knop waarmee de ingebouwde LED kan worden bediend.

Deze handleiding vormt de basis voor vele andere projecten die afstandsbediening via WiFi vereisen.

KLIK HIER: Bedien Pico W onboard LED met een webservicer

Stream sensorgegevens via een webserver op de Raspberry Pi Pico W

Raspberry Pi Pico W tutorial sensorgegevens streamen

Met behulp van de versnellingsmeter ADXL343, zal deze tutorial laten zien hoe je dynamisch de metingen kunt bijwerken op een webpagina die wordt geserveerd door je Raspberry Pi Pico W.

De webpagina wordt elke seconde geactualiseerd wanneer een klant het IP-adres van de Pico W bezoekt. Er is ook een digitale webdobberfunctie die wordt geactiveerd wanneer de ADXL343 wordt aangeraakt.

U leert hoe u bibliotheken gebruikt, WiFi instelt, een webpagina serveert en hoe u de waarden van de sensor op de webpagina weergeeft.

KLIK HIER: Sensorgegevens streamen over WiFi met Raspberry Pi Pico W

Raspberry Pi Pico W Wi-Fi deurbel tutorial (HTTP verzoeken & IFTTT)

Raspberry Pi Pico W projecteert WiFi deurbel en notificatie

Deze tutorial leert je hoe je de Raspberry Pi Pico W kunt gebruiken om een HTTP verzoek te schieten.

We zullen een knop gebruiken om een deurbel te simuleren. Wanneer de knop wordt ingedrukt, zal de Pico W het eindpunt van IFTTT aansturen, dat vervolgens een e-mailnotificatie of app-notificatie zal triggeren.

KLIK HIER: Raspberry Pi Pico W Wi-Fi deurbel tutorial (HTTP verzoeken & IFTTT)

Raspberry Pi Pico W weerstation op afstand (op zonne-energie en SoftAP)

Raspberry Pi Pico W softap weerstation

In deze tutorial leert u een SoftAP access point uit te zenden dat draadloos weerstation gegevens uitzendt en deze van stroom voorziet met zonne-energie!

KLIK HIER: Raspberry Pi Pico W weerstation op afstand (op zonne-energie en SoftAP)

Bedien je Pico W draadloos met PiCockpit!

Met PiCockpit kunt u uw Pico W draadloos besturen en gegevens opvragen.

Met PiCockpit kunt u waarden krijgen, controleren en PWM gebruiken via een GUI via zijn GPIO applet.

U kunt de statistieken van uw Pico W ook bekijken via de PiStats applet.

PiCockpit integreren in je Pico W is super eenvoudig.

Volg deze handleiding.

Nog minder code schrijven met PiCockpit en de Pico W

PiCockpit maakt het u gemakkelijk om uw GPIO-pinnen aan te sturen zonder code te hoeven schrijven.

Als je kijkt naar handleiding nummer 2Merk op hoeveel code er nodig is om een LED te laten knipperen.

Met onze nieuwe Pico W integratie maakt PiCockpit het zo veel gemakkelijker omdat u helemaal niets hoeft te programmeren. Zelfs niet de WiFi configuratie - dat wordt gedaan met onze setup wizard.

10. Eenvoudige LED-bediening met PiCockpit en Pico W

Als je je LED precies zo hebt geconfigureerd als in tutorial 2, dan hoef je hem alleen nog maar in PiCockpit in te stellen.

Als je het uit codeert, geef je aan op welke pin je LED zit met behulp van led = machine.Pin(2, machine.Pin.OUT)

Op PiCockpit ga je naar je GPIO applet, en scroll je naar "GPIO Output (On/Off)".

Kies BCM02 uit het dropdown menu omdat uw LED op GPIO 2 staat.

Zet vervolgens in de kolom "Controle" de schakelaar om om de LED aan te zetten.

U kunt ook gemakkelijk het Software PWM-gedeelte hieronder gebruiken om de helderheid van uw LED te regelen.

Merk op dat u de vorige instelling moet verwijderen omdat u geen twee uitgangen op dezelfde GPIO kunt hebben.

Als u de regelaar "Control" verschuift, ziet u de helderheid van de LED veranderen.

picockpit gpio pwm afstandsbediening

11. Pico W, 5V ventilator en een transistor, bestuurd door PiCockpit

Laten we iets uitgebreider proberen, maar met dezelfde GPIO Output toggle.

Om enkele praktijkgevallen te illustreren zal ik een 5V ventilator van stroom voorzien met PiCockpit.

Dit is een 5V-ventilator met laag vermogen, afkomstig van mijn Raspberry Pi 4, dus hij valt ruim binnen de uitgangscapaciteit van de Raspberry Pi Pico W.

Maar omdat het een 5V ventilator is, kan ik geen GPIO pin gebruiken. In minder energie-intensieve componenten, zoals een LED, kun je de GPIO een dubbele taak laten vervullen door de component van stroom te voorzien en de "schakelaar" te zijn die hem in- en uitschakelt.

Maar de 5V ventilator zou een te hoge spanning vereisen. Dus, de volgende beste manier is om een transistor in het midden te plaatsen.

Hierdoor kan ik de ventilator van 5V voorzien, terwijl ik er zeker van ben dat ik hem aan en uit kan zetten.

Nogmaals, vanwege PiCockpit heb ik nul programmering gedaan. Ik heb alleen de hardware gedaan, die als volgt bedraad is:

De ventilator is een 5V/0,12A ventilator, aangesloten op 5V aan de positieve kant (rode draad), en de negatieve draad gaat naar het emitterbeen van de transistor.

De transistor is een PN2222 (NPN) transistor, wat betekent dat hij inschakelt wanneer hij een hoog signaal ontvangt.

Van links naar rechts, met het halfronde deel van u af gericht, zijn de benen de Emitter, Base en Collector.

Het basisdeel wordt verbonden met een weerstand van 1K en vervolgens verbonden met GPIO 15.

De collector poot is verbonden met massa.

PiCockpit configureren om met transistor te werken

Nogmaals, super makkelijk.

Ga naar het dropdown menu in de GPIO Output sectie en voeg BCM15 toe.

Als het eenmaal binnen is, kunt u op de pijl naar beneden klikken en de Staatsnamen veranderen in "ventilator uit" en "ventilator aan".

Schakel de schakelaar om en u zou moeten zien dat de ventilator aangaat.

U kunt PiStats ook gebruiken om de temperatuurdaling op uw bord te zien.

Pico W projecten

Met de Raspberry Pi Pico W kunt u alles doen wat u ook met de Pico kunt doen. Maar je kunt het nog beter maken door draadloze bediening of uitvoer toe te voegen.

De meeste projecten vereisen wat extra hardware, vandaar dat wij u gedekt hebben met onze Pico kits.

Burgerbot: opgewaardeerd van een gewone Pico

Kevin McAleer bouwde een Burgerbot met de gewone Pico en toen de Pico W uitkwam, greep hij de kans om hem te upgraden.

In zijn YouTube video legt hij uit hoe hij de Pico W, Node-Red en een update van zijn code gebruikt om de Pico W via MQTT met de Burgerbot te verbinden.

Kevin koos Node-Red om een dashboard te bouwen en zijn MQTT-berichten te programmeren omdat dit het proces vergemakkelijkt.

pico w robot kevin mcaleer burgerbot
Kevin McAleer's Burgerbot (screenshot van YouTube).

e-paper kitten afbeelding randomizer

Placekitten is een website die schattige kattenplaatjes host voor gebruik als placeholder voor webdesigners.

Wat Phil Howard deed, was de Pico W de website van Placekitten laten pingen en een willekeurige foto van een kat op zijn e-ink display laten laden.

Screenshot van Placekitten, waar je kattenfoto's kunt krijgen door een URL te pingen.

Pimoroni maakt de Pico Inky Pack. Dit is een 2,9″ e-ink display dat perfect past in een Pico W (met headers er aan gesoldeerd).

Eenmaal verbonden met WiFi, pingde Phil een URL om een afbeelding op het e-ink scherm te krijgen. De Pico Inky heeft een 296x128px scherm, wat betekent dat als je de url http://placekitten.com/296/128krijgt u een beeld dat perfect in het scherm past.

Laat je planten je sms'en

Als je vrienden dorst hebben, sms'en ze je om te vragen of je iets wilt gaan drinken.

Waarom niet dezelfde ervaring met uw kamerplanten?

Sandeep Mistry heeft precies dat gedaan met de Raspberry Pi Pico W, Pimoroni Grow Kit en de Twilio SMS API.

In principe zal de plant u vertellen wanneer ze water nodig heeft. De sensor zendt een digitaal pulssignaal uit met een frequentie tussen 1 Hz en 30 Hz. Als het droog is, zal het een hoge frequentie hebben, en dit zal de Pico W triggeren om de Twilio SMS API te pingen om een bericht te sturen.

Bekijk de volledige gids hier.

Raspberry Pi Pico W vs Espressif ESP32

Wat een spelveranderaar is de Raspberry Pi Pico W.

Toen we de Raspberry Pi Pico vergeleken met de ESP32, kozen we voor de PICO-KIT omdat die qua vorm het meest leek op de Pico.

Het grote voordeel van de ESP32 ten opzichte van de Pico W is WiFi en Bluetooth.

Maar dat is niet langer het geval. De Pico W heeft nu WiFi en hoewel de WLAN-chip ook Bluetooth kan, is dat vanaf begin juli nog niet mogelijk.

Dus, als u nu Bluetooth nodig heeft, dan kunt u beter de ESP32 gebruiken.

Toch heeft de ESP32 nog andere voordelen, zoals variërende CPU-frequenties, waaronder twee hogere snelheden dan de Pico W.

De ESP32 is ook al veel langer op de markt, waardoor er veel meer projecten op gebouwd zijn. De documentatie, experimenten en uitbreidingen liggen mijlenver voor op die van de Raspberry Pi Pico.

Raspberry Pi Pico WEspressif ESP32-PICO-KIT
CPU Frequentie133MHz80/160/240MHz
MicrocontrollerRP2040Xtensa LX6
Kernen22
Flashgeheugen2MB4MB
RAM264KB520KB
GPIO26 (door gebruiker te gebruiken)36
Heeft USB?microUSBmicroUSB
WiFi en/of BT?Ja, beide, BT niet ingeschakeld bij de lanceringJa, allebei
Spanning1.8 - 5.5V of 5V USB3,3V (via pinnen) of 5V via USB of 5V-12V (via spanningsregelaar)
Maat51x21mm52x20mm
TalenMicroPython / CMicroPython / C

Gemeenschapsgedachten over Pico W vs ESP32

We zijn een discussie gestart op het Raspberry Pi forum over precies dit onderwerp en hier zijn een aantal geweldige gedachten van de gemeenschap:

Raspberry Pi forum gebruiker scruss zegt dat de ESP32 meer verwerkingskracht heeft met de 160MHz variant, en noemt 1639 pystones/seconde vs 1243 op de Pico W. De 240MHz is nog sneller.

Hij somde ook de volgende redenen op waarom de ESP32 zou zegevieren over de Pico W.

  • hardwaretimers
  • echt mooie ADC, met bereik afstemming en directe spanningsuitlezing
  • 2-kanaals DAC
  • capacitieve aanraking
  • Hall-effect magnetische sensor (zwaai er met een magneet tegenaan, en hij kan je vertellen dat je er met een magneet tegenaan zwaait)
  • RMT kanalen voor nogal slimme PWM

Aan de andere kant, gebruiker scotty101 heeft dit te zeggen over de voordelen van de Pico W:

  • Ontwikkelingsomgeving
  • Ondersteuning van Raspberry Pi en zijn educatieve doelstellingen
  • Prevalentie en de grootte van de gemeenschap.
  • Gemakkelijk om een nieuwe binary op de Pico te zetten

"Ik hou van ESP32 maar ik haat het om de esptool te moeten downloaden telkens ik een verlaten project herstart. Ik heb zo weinig tijd dat MicroPython op de Pico snel en gemakkelijk is voor mij om mee aan de slag te gaan," zei scotty101.

Eindelijk, slimca22 gaf een evenwichtig beeld van wat hij in beide besturen zag. Afgezien van de argumenten die hierboven zijn aangevoerd, zijn dit de aanvullende punten:

De Raspberry Pi Pico W heeft programmeerbare IO (PIO).

cleverca22 zegt dat hij denkt dat het ESP-platform een speciale geheugenbeheerseenheid heeft tussen de XIP en de flash, zodat je meerdere apps tegelijk kunt opslaan en dit rollbacks mogelijk maakt.

En het ESP-platform bestuurt de WiFi en Bluetooth rechtstreeks vanuit de CPU, waardoor niet-standaard RF-acties mogelijk zijn, terwijl die van de Pico W waarschijnlijk worden beheerd met behulp van een closed-source blob, waardoor alleen goedgekeurde RF-acties mogelijk zijn.

Pico W vs Zero 2 W

Je rolt misschien met je ogen omdat je denkt dat we appels met peren vergelijken.

Maar zijn we dat echt?

Laten we het eens hebben over het fundamentele verschil hier. De Raspberry Pi Pico W is een microcontroller terwijl de Raspberry Pi Zero 2 W een microcomputer is.

Simpel gezegd, de Raspberry Pi Pico W is ontworpen om één ding te draaien. De Zero 2 W is bedoeld om dynamischer te zijn - hij kan meerdere taken uitvoeren, verschillende besturingssystemen en je kunt hem in meerdere talen programmeren.

Hier is een tabel die de verschillen uitlegt:

Kan het...Microcontroller (b.v. Raspberry Pi Pico W)Microcomputer (b.v. Raspberry Pi Zero 2 W)
Een server draaien?GeenJa
Een LED laten knipperen?Veel sneller van begin tot eindVeel langzamer; veel meer processen te doorlopen
Auto-herstart programma bij stroomuitval?JaNiet standaard
Videospelletjes spelenNiet zonder veel moeiteJa
Loopt op de batterij?Ja, de kans is groot dat hij gemiddeld langer meegaatJa, gaat gemiddeld niet zo lang mee
Warmtehuishouding?Gewoonlijk niet vereistKoellichamen, ventilatoren, thermisch geleidende behuizingen
Kosten?LagerHoger
Grootte?KleinerGroter

WiFi nu niet langer het voordeel van de Pi Zero W

Een van de dingen die sommige gebruikers echt tot de Pi Zero serie hebben aangetrokken, is de geïntegreerde draadloze verbinding.

In het verleden moest je een accessoire kopen om de originele Pico draadloos te maken. Dat was zo'n beetje het punt dat mensen ertoe aanzette de Zero te gebruiken als vervanger voor hun projecten.

Dat gezegd hebbende, nu de Pico W draadloos is, is het voordeel dat de Zero W had er niet meer.

Bluetooth blijft een voordeel voor de Pi Zero W... voorlopig

Op het moment van uitgave heeft de Pico W wel een Bluetooth-chip in zich, maar deze is nog niet ingeschakeld.

Raspberry Pi heeft gezegd dat ze het in de toekomst mogelijk zullen maken. Wanneer dat ook is.

Dus, vanaf nu, als u Bluetooth nodig hebt, is de Pi Zero W de betere optie.

Raspberry Pi Zero 2 W tekorten = Pico W voordeel

Een ander element dat de Pico W zo'n voordeel geeft ten opzichte van de Zero 2 W is zijn beschikbaarheid.

In de eerste twee weken na de release, was de voorraad nog in veel winkels beschikbaar, ook in de onze. Dit komt zeker niet overeen met de situatie voor de Pi Zero 2, die voor de rest van 2022 op een laag aanbod staat.

Natuurlijk, als u een PiCockpit account heeft, kunnen EU/Zwitserse gebruikers kunt u ook onze reserveringstool gebruiken om uw volgende Raspberry Pi te reserveren.

Hoe beslis je?

Hier is de logica die ik gebruik om te beslissen welke te gebruiken:

ScenarioWat te krijgen
Ik ben beter in een andere taal dan C/PythonZero
Ik heb "onbeperkte" stroom (d.w.z. niet-zonne-energie of batterijgebruik)Zero
Ik moet gegevens opslaan (zoals temperatuur logs)Zero
Ik moet een camera gebruikenZero
Ik wil een GUI/video uitgangZero
Ik heb WiFi nodigOfwel
Ik heb Bluetooth nodigNul (vanaf juli 2022)
Ik heb de meest compacte opstelling nodigPico W
Ik heb een snelle herstart nodig bij een crash/stroomstoringPico W
Ik wil geen OS opzettenPico W
Ik wil de goedkopere optiePico W

Onder de microscoop

Peter Mount filmde deze video van de Pico W...

Hoe teasde Raspberry Pi de release van de Pico W?

Volgens Raspberry Pi heeft niemand de teaser gekregen, die een koe was met overal Raspberry Pi afbeeldingen.

Raspberry Pi's teaser voor de Pico W

Ze zeiden: "We kunnen nog steeds niet geloven dat niet één van jullie de zeer abstracte teaser heeft gekregen die we op Twitter lieten vallen de nacht voordat Pico W lanceerde. Het is een koe. Snap je het?"

Raspberry Pi Cow herschikt is Raspberry Pico W.

Ik denk dat nu de kat uit de zak is, erover praten is vrij moot.

Meer informatie

We hebben een encyclopedie van informatie voor de gewone Raspberry Pi Pico die u zullen helpen aan de slag te gaan met de Raspberry Pi Pico W. Hier is waar u kunt beginnen met het leren over de Raspberry Pi Pico.

KLIK HIER: Alles wat u moet weten over de Raspberry Pi Pico

Er is ook algemene en specifieke documentatie beschikbaar rechtstreeks van Raspberry Pi:

11 Opmerkingen

  1. Pico User op juli 15, 2022 op 11:12 am

    De Pico H debug connectoren voor de kabel/draad zijde zijn eigenlijk
    SHR-03V-S (zonder flens) of SHR-03V-S-B (met flens).

    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

  2. JJE op oktober 30, 2022 op 2:14 pm

    Geweldig werk, zou nog nuttiger zijn als je de python code niet door de vertaler had gehaald.

    • Xuyun Zeng op november 4, 2022 op 8:15 pm

      Bedankt JJE om dit onder onze aandacht te brengen. Het is zeker iets om aan te werken.

  3. iApe op maart 4, 2023 op 11:05 pm

    Danke!

    Endlich funktioniert es!

  4. Andrew op april 2, 2023 op 8:57 pm

    Bedankt voor het verstrekken van deze informatie aan de gemeenschap, ik vond het zeer nuttig.

  5. [...] hebben al een artikel over alles wat je moet weten over de Pico W. Bovendien, als je een beginner bent met de Pico W, kun je deze [...] bekijken.

  6. [...] Terwijl de webontwikkelingswereld is overgestapt op het gebruik van een frontend framework zoals React, Angular of Vue, vereist het serveren van websites op de Raspberry Pi Pico over het algemeen dat je weet hoe je vanilla JavaScript moet schrijven. Als je kijkt naar onze tutorials in ons Pico W mega artikel, zul je zien. [...]

  7. [...] Op het moment van schrijven is de Pico WH (H voor headers) nog niet uitgebracht. Ons Pico W mega-artikel houdt de release bij. [...]

  8. [...] Volg deze link om te leren hoe je het kunt bijwerken. De link toont je ook een snelstartmethode om je eigen WiFi-netwerk uit te zenden. [...]

  9. [...] In veel opzichten is een plantvochtigheidsmeter de perfecte aanvulling op het sms-programma voor planten dat we eerder op deze blog hebben besproken. [...]

Laat een reactie achter