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.
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
Variant | Prijs | Headers? | Draadloos? | Vrijgave (M/JJ) |
Pico | $4 | Geen | Geen | 1/21 |
Pico H | $5 | Ja | Geen | 6/22 |
Pico W | $6 | Geen | Ja | 6/22 |
Pico WH | $7 | Ja | Ja | Ergens 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."
Het is nog niet uit, maar het is erg dichtbij. Er is productie hardware (en het wordt in grote aantallen geproduceerd) 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.
- Alasdair Allan (@aallan) 24 oktober 2022
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?
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.
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.
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.
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.
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
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.
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
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
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())
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
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
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
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)
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)
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.
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.
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.
e-paper kitten afbeelding randomizer
Kom bijeen in stille eerbied voor de kracht van de radio! @Raspberry_Pi Pico W Placekitten randomiser! pic.twitter.com/U5jxbeWUwx
- Phil Howard (@Gadgetoid) 30 juni 2022
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.
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
De @Raspberry_Pi Pico W is perfect voor slimme apparaten in huis, inclusief slimme planten!
- Arm (@Arm) 30 juni 2022
Ja, dat lees je goed.@sandeepmistry details over hoe je planten je kunnen laten sms'en met de Pico W samen met technologie van @pimoroni, @micropython en @twilio op @Hacksterio: https://t.co/5oyu9W81S8 pic.twitter.com/7xbxGvmYey
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 W | Espressif ESP32-PICO-KIT | |
CPU Frequentie | 133MHz | 80/160/240MHz |
Microcontroller | RP2040 | Xtensa LX6 |
Kernen | 2 | 2 |
Flashgeheugen | 2MB | 4MB |
RAM | 264KB | 520KB |
GPIO | 26 (door gebruiker te gebruiken) | 36 |
Heeft USB? | microUSB | microUSB |
WiFi en/of BT? | Ja, beide, BT niet ingeschakeld bij de lancering | Ja, allebei |
Spanning | 1.8 - 5.5V of 5V USB | 3,3V (via pinnen) of 5V via USB of 5V-12V (via spanningsregelaar) |
Maat | 51x21mm | 52x20mm |
Talen | MicroPython / C | MicroPython / 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? | Geen | Ja |
Een LED laten knipperen? | Veel sneller van begin tot eind | Veel langzamer; veel meer processen te doorlopen |
Auto-herstart programma bij stroomuitval? | Ja | Niet standaard |
Videospelletjes spelen | Niet zonder veel moeite | Ja |
Loopt op de batterij? | Ja, de kans is groot dat hij gemiddeld langer meegaat | Ja, gaat gemiddeld niet zo lang mee |
Warmtehuishouding? | Gewoonlijk niet vereist | Koellichamen, ventilatoren, thermisch geleidende behuizingen |
Kosten? | Lager | Hoger |
Grootte? | Kleiner | Groter |
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:
Scenario | Wat te krijgen |
Ik ben beter in een andere taal dan C/Python | Zero |
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 gebruiken | Zero |
Ik wil een GUI/video uitgang | Zero |
Ik heb WiFi nodig | Ofwel |
Ik heb Bluetooth nodig | Nul (vanaf juli 2022) |
Ik heb de meest compacte opstelling nodig | Pico W |
Ik heb een snelle herstart nodig bij een crash/stroomstoring | Pico W |
Ik wil geen OS opzetten | Pico W |
Ik wil de goedkopere optie | Pico W |
Onder de microscoop
Peter Mount filmde deze video van de Pico W...
Zoals gewoonlijk @pimoroni snel geleverd... dus heb ik de nieuwe @Raspberry_Pi PicoW onder de loep... #ebenana #RaspberryPi #RaspberryPicoW pic.twitter.com/MvJHfENvKF
- Peter Mount (@peter_mount) 1 juli 2022
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.
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.
Er is ook algemene en specifieke documentatie beschikbaar rechtstreeks van Raspberry Pi:
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
Hmm, mis ik iets of is dat gewoon een compatibele connector? Dit is wat ik uit de officiële docs heb gehaald:
"We specificeren dat de connector een 1,0 mm pitch 3-pins JST 'SH' connector moet zijn, ofwel BM03B-SRSS-TB (top
of SM03B-SRSS-TB (zijdelingse invoer), of compatibele alternatieven."
https://datasheets.raspberrypi.com/debug/debug-connector-specification.pdf
Geweldig werk, zou nog nuttiger zijn als je de python code niet door de vertaler had gehaald.
Bedankt JJE om dit onder onze aandacht te brengen. Het is zeker iets om aan te werken.
Danke!
Endlich funktioniert es!
Bedankt voor het verstrekken van deze informatie aan de gemeenschap, ik vond het zeer nuttig.
[...] 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.
[...] 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. [...]
[...] Op het moment van schrijven is de Pico WH (H voor headers) nog niet uitgebracht. Ons Pico W mega-artikel houdt de release bij. [...]
[...] 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. [...]
[...] In veel opzichten is een plantvochtigheidsmeter de perfecte aanvulling op het sms-programma voor planten dat we eerder op deze blog hebben besproken. [...]