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$7JaJa8/22

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 zijn op 30 juni 2022 uitgebracht, terwijl de Pico WH in augustus 2022 zal worden uitgebracht.

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).

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:

machine importeren
invoertijd

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

terwijl (True):
    led.on()
    tijd.slaap(.2)
    led.uit()
    tijd.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
importeren netwerk
invoertijd

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
terwijl timeout > 0:
    als wlan.status() >= 3:
        light_onboard_led()
        break
    timeout -= 1
    print('Wachten op verbinding...')
    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:

# Fout bij afhandelen verbinding
# Fout betekenissen
# 0 Verbinding verbroken
# 1 Verbinding verbroken
# 2 Link NoIp
# 3 Link Up

main.py

importeren rp2
importeren netwerk
importeren ubinascii
importeer machine
importeer urequests als verzoeken
invoer tijd
uit secrets import secrets
importeren socket

# Stel land in om mogelijke fouten te vermijden
rp2.country("DE")

wlan = netwerk.WLAN(netwerk.STA_IF)
wlan.active(True)
# Als u de energiebesparende modus wilt uitschakelen
# wlan.config(pm = 0xa11140)

# Bekijk het MAC-adres in de draadloze chip OTP
mac = ubinascii.hexlify(network.WLAN().config('mac'),':').decode()
print('mac = ' + mac)

# Andere dingen om te vragen
# print(wlan.config('kanaal'))
# print(wlan.config('essid'))
# print(wlan.config('txpower'))

# Laad login-gegevens uit een ander bestand om veiligheidsredenen
ssid = secrets['sid']
pw = secrets['pw']

wlan.connect(ssid, pw)

# Wacht op verbinding met timeout van 10 seconden
timeout = 10
terwijl timeout > 0:
    als wlan.status() = 3:
        break
    timeout -= 1
    print('Wachten op verbinding...')
    time.sleep(1)

# Definieer knipper functie voor onboard LED om foutcodes aan te geven
def blink_onboard_led(num_blinks):
    led = machine.Pin('LED', machine.Pin.OUT)
    voor i in range(num_blinks):
        led.on()
        tijd.sleep(.2)
        led.uit()
        tijd.sleep(.2)
    
# Verbindingsfout afhandelen
# Foutmeldingen
# 0 Verbinding verbroken
# 1 Verbinding verbroken
# 2 Link NoIp
# 3 Link Up
# -1 Link mislukt
# -2 Link NoNet
# -3 Link BadAuth

wlan_status = wlan.status()
blink_onboard_led(wlan_status)

als wlan_status != 3:
    raise RuntimeError('Wi-Fi-verbinding mislukt')
anders:
    print('Verbonden')
    status = wlan.ifconfig()
    print('ip = ' + status[0])

secrets.py

secrets = {
    "ssid": "uw-ssid",
    "pw": 'jouw-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

importeren rp2
importeren netwerk
importeren ubinascii
importeer machine
importeer urequests als verzoeken
invoer tijd
uit secrets import secrets
importeren socket

# Stel land in om mogelijke fouten te vermijden
rp2.country("DE")

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

# Bekijk het MAC adres in de draadloze chip OTP
mac = ubinascii.hexlify(network.WLAN().config('mac'),':').decode()
print('mac = ' + mac)

# Laad login gegevens uit een ander bestand voor veiligheidsredenen
ssid = secrets['sid']
pw = secrets['pw']

wlan.connect(ssid, pw)

# Wacht op verbinding met timeout van 10 seconden
timeout = 10
terwijl timeout > 0:
    als wlan.status() = 3:
        break
    timeout -= 1
    print('Wachten op verbinding...')
    time.sleep(1)

# Definieer knipper functie voor onboard LED om foutcodes aan te geven
def blink_onboard_led(num_blinks):
    led = machine.Pin('LED', machine.Pin.OUT)
    voor i in range(num_blinks):
        led.on()
        tijd.sleep(.2)
        led.uit()
        tijd.sleep(.2)

wlan_status = wlan.status()
knipperen_aanboord_led(wlan_status)

als wlan_status != 3:
    raise RuntimeError('Wi-Fi-verbinding mislukt')
anders:
    print('Verbonden')
    status = wlan.ifconfig()
    print('ip = ' + status[0])
    
# Functie om html-pagina in te laden
def get_html(html_name):
    met open(html_name, 'r') als bestand:
        html = bestand.lezen()
        
    html teruggeven

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

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

print('Luisteren op', addr)

# Luister voor verbindingen
while True:
    try:
        cl, addr = s.accept()
        print('Client verbonden van', addr)
        response = get_html('index.html')
        cl.send('HTTP/1.0 200 OKOnderhoudstype: tekst/html')
        cl.send(antwoord)
        cl.close()
        
    behalve OSError als e:
        cl.close()
        print('Verbinding gesloten')

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:

netwerk importeren
importmachine

ssid = "
wachtwoord = "

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

terwijl ap.active() == False:
  pas

print('Verbinding geslaagd')
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"

socket importeren
importeren netwerk
import machine

ssid = "MicroPython-AP
wachtwoord = "123456789

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

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

terwijl ap.active() == False:
  pas

print('Verbinding geslaagd')
print(ap.ifconfig())

html = """<!DOCTYPE html>
<html>
    <head> <title>Pico W</title> </head>
    <body> <h1>Pico W</h1>
        <p>Hallo van 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('luisteren op', addr)
led.uit()

# Luister voor verbindingen
while True:
    try:
        cl, addr = s.accept()
        print('client verbonden van', addr)
        request = cl.recv(1024)
        led.on()
        print(verzoek)

        cl.send('HTTP/1.0 200 OKOnderhoudstype: tekst/html')
        cl.send(html)
        cl.close()
        led.uit()

    behalve OSError als e:
        cl.close()
        print('verbinding gesloten')

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.

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)

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:

2 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

Laat een reactie achter