Allt om Raspberry Pi Pico W
Idag, den 30 juni 2022 klockan 8.00 brittisk tid, släppte Raspberry Pi den nya Pico W.
Här är allt vi vet om den nyaste Raspberry Pi.
Denna nya variant av den älskade Pico har trådlös kapacitet tack vare det trådlösa chipet CYW43439.
Precis som i Pico är hjärtat i varje Pico W är RP2040, som är Raspberry Pis första kiselchip.
Till råga på allt släppte Raspberry Pi även varianterna Pico H och Pico WH.
Observera: Om du vill reservera en Raspberry Pi 4 / 4 GB eller Pi 4 / 8 GB eller Coral USB-accelerator, och befinner dig inom EU + Schweiz, ta en titt på vår helt nya PiCockpit-funktion, den Verktyg för bokning av Raspberry Pi - en per kund, och du står i en rättvis kö i stället för att behöva skynda dig när Pis blir lediga. Om tillräckligt många frågar oss kanske vi också gör Pico W tillgänglig för bokning.
Raspberry Pi Pico varianter
Variant | Pris | Huvuden? | Trådlöst? | Utgivning (M/ÅÅÅ) |
Pico | $4 | Ingen | Ingen | 1/21 |
Pico H | $5 | Ja | Ingen | 6/22 |
Pico W | $6 | Ingen | Ja | 6/22 |
Pico WH | $7 | Ja | Ja | Någon gång under 2022 |
Pico H - $5 - En Raspberry Pi Pico med förlödda huvuden
Pico W - $6 - En Raspberry Pi Pico med trådlöst nätverk
Pico WH - $7 - En Raspberry Pi Pico med både trådlösa och förlödda kontaktdon.
Pico H och Pico W släpptes den 30 juni 2022, medan Pico H och Pico W Pico WH kommer att släppas i augusti 2022..
Pico WH har en uppdaterad tidsplan för lanseringen som är "senare i år" 2022, enligt Alasdair Allen från Raspberry Pi, som sa: "Senare i år kommer Pico WH förmodligen att dyka upp, och jag gissar att ni själva kan räkna ut vad det är."
Här är en uppdatering om Pico WH i oktober. Jag fick en uppdatering från Alasdair Allen som sa,
"Den är väldigt nära att komma ut [...] och den borde komma ut 'när som helst nu'. Vi ville försäkra oss om att vi hade en anständig volym innan vi släppte ut den så att folk lätt kunde köpa den."
Den är inte ute ännu, men den är väldigt nära att vara ute. Det finns produktionsutrustning (och den produceras i stort antal) och den borde vara ute "när som helst nu". Vi ville försäkra oss om att vi hade en anständig volym innan vi tryckte ut den så att folk lätt kunde köpa den.
- Alasdair Allan (@aallan) 24 oktober 2022
I det här inlägget förklarar vi likheterna och skillnaderna mellan Pico W och Pico. Naturligtvis kommer vi också att presentera några coola Pico W-projekt.
Är Pico H bara en traditionell Pico med förlödda kontaktdon?
I huvudsak ja.
Men det finns en liten skillnad vid SWD-debughuvudena och det finns ingen castellation (halvcirkelformade hål i kanten) på stiften.
För att kunna använda SWD-debughuvudet på Pico H måste du använda dessa kontakter: Du måste använda följande kontaktdon: 1,0 mm pitch 3-pin JST "SH"-kontakt, antingen BM03B-SRSS-TB (övre ingång) eller SM03B-SRSS-TB (sidoingång), eller kompatibla alternativ.
Jordstiften är också tydligt fyrkantiga på Pico H, i stället för att vara ett vanligt runt hål.
Var kan jag köpa en Pico W?
Hämta din Pico W i vår butik.
För en snabb översikt, titta på den här videon.
Hårdvara
Trådlöst Pico W-gränssnitt (CYW43439)
Infineon CYW43439 stöder IEEE 802.11 b/g/n trådlöst LAN och Bluetooth 5.2. Vid lanseringen kommer endast det trådlösa LAN att stödjas.
I motsats till Raspberry Pi 4 har Pico W endast en trådlös trådlös anslutning med ett band på 2,4 GHz 4. Pi 4 har dubbelbands Wi-Fi 2,4/5 GHz, men när det gäller Bluetooth överglänser Pico W Raspberry Pis flaggskepp, som endast har Bluetooth 5.0. CYW43439 stöder BLE och en enda antenn som delas mellan Wi-Fi och Bluetooth.
Obs Bluetooth är inte tillgängligt ännu. Det kommer troligen att läggas till i en framtida uppdatering av den fasta programvaran.
Om du tittar närmare på Pico W ser du den triangelformade PCB-antennen som liknar Raspberry Pi 4. Raspberry Pi använder en inbyggd antenn med licens från ABRACON.
Det betyder att det inte behövs någon extra antenn. Det trådlösa gränssnittet är anslutet via SPI till RP2040.
Enligt det officiella databladet har Infineon CYW43439 också följande egenskaper:
- WiFi 4 (802.11n), enkelband (2,4 GHz)
- WPA3
- SoftAP (upp till 4 klienter)
I det officiella databladet står det också att du bör placera antennen i ett fritt utrymme för bästa trådlösa prestanda.
Metall under eller nära antennen kan minska dess prestanda i fråga om förstärkning och bandbredd.
Genom att lägga till jordad metall på sidorna av antennen kan man dock förbättra antennens bandbredd.
Kan Pico W förvandlas till en WiFi-åtkomstpunkt?
Ja, eftersom Infineon CYW43439 stöder SoftAP (upp till 4 klienter).
Du kan faktiskt också göra Pico W till en portalenhet!
Hårdvara för bearbetning
Med undantag för det trådlösa gränssnittet är hårdvaran nästan identisk med den ursprungliga Pico.
- RP2040-mikrokontroller med 2 MB flashminne
- Inbyggt trådlöst gränssnitt för enkelbandigt 2,4 GHz (802.11n)
- Micro USB B-port för ström och data (och för omprogrammering av flash-enheten)
- 40 stift 21mmx51mm "DIP" stil 1mm tjock PCB med 0,1″ genomgående hål stift även med kantkastreringar
- Exponerar 26 multifunktionella 3,3V I/O för allmänna ändamål (GPIO).
- 23 GPIO är enbart digitala, varav tre även har ADC-funktion.
- Kan monteras på ytan som en modul
- 3-stifts ARM-port för seriell tråddebuggning (SWD)
- Enkel men mycket flexibel arkitektur för strömförsörjning
- Olika alternativ för att enkelt driva enheten från mikro-USB, externa strömförsörjningar eller batterier.
- Dubbelkärnig cortex M0+ med upp till 133 MHz
- PLL på chipet möjliggör variabel kärnfrekvens
- 264 kByte multi-bank SRAM med hög prestanda
- Extern Quad-SPI Flash med XIP (eXecute In Place) och 16 kByte on-chip cache
- Högpresterande bussväv med full tvärgående skenor
- Inbyggd USB1.1 (enhet eller värd)
- 30 multifunktions-I/O för allmänna ändamål (fyra kan användas för ADC)
- 1,8-3,3V I/O-spänning
- 12-bitars 500ksps analog till digital omvandlare (ADC)
- Olika digitala kringutrustning
- 2 × UART, 2 × I2C, 2 × SPI, 16 × PWM-kanaler
- 1 × timer med 4 larm, 1 × realtidsklocka
- 2 × programmerbara I/O-block (PIO), totalt 8 tillståndsmaskiner
Den externa pinouten är nästan identisk med den för Raspberry Pi Pico.
Den enda skillnaden är LED- och SWD-felsökningspinnarna.
Den inbyggda lysdioden styrs via WL_GPIO0-pinnen på Infineon 43439-chipet. På Pico var lysdioden ansluten till GPIO Pin 25.
Dessutom flyttades SWD-debugstiften till mitten av kretskortet för att skapa utrymme för PCB-antennen. Du hittar dem mellan RP2040 och CYW43439 och ordningen från vänster till höger är fortfarande SWCLK, GND, SWDIO.
Programvara
Eftersom Pico W är baserad på RP2040-chippet kan du programmera den precis som Pico. Det betyder att du kan programmera den i C/C++ och MicroPython och att kod som skrivits för Pico (som inte använder den inbyggda lysdioden) bör fungera på Pico W.
Raspberry Pi erbjuder en 'Anslutning till Internet med Raspberry Pi Pico W' för C/C++ och MicroPython. För att göra din start med Pico W enklare har vi också sammanställt några exempelprojekt.
C/C++ och Pico-SDK
Det finns en uppdatering av Pico-SDK för att aktivera de trådlösa funktionerna i din Pico W. Inställningen och användningen är exakt densamma som med Pico. Titta på vår video för att komma igång med Pico W och C/C++.
The uppdaterad Pico-SDK innehåller också några exempel för trådlös användning.
MicroPython och Thonny
Det bekvämaste sättet att använda MicroPython med Pico W är att använda Thonny IDE. Raspberry Pi har släppt en ny MicroPython-port för Pico W.
Obs MicroPython är styrkortsspecifikt. Därför finns det olika (och inkompatibla) MicroPython-versioner för Pico och Pico W. Se till att du alltid använder rätt version för ditt kort.
Men programmeringen av Pico W sker på exakt samma sätt, så om du har använt Pico med MicroPython tidigare bör det vara enkelt.
Pico H och Pico WH
Som nämnts har Raspberry Pi också släppt Pico H och Pico WH. H i namnet betyder att den levereras med förpolade huvudledare. Pico H är precis som vår Pico Comfort, men för SWD-debugpinnarna använder Raspberry Pi ett horisontellt JTAG-debughuvud. Pico WH kommer troligen att använda samma två rader av 1×20-huvudkontakter och någon vertikal huvudkontakter för felsökningsnålarna.
Kom igång med Raspberry Pi Pico W
I det här avsnittet beskrivs enkla knep och mönster som hjälper dig att komma igång med din Raspberry Pi Pico W.
Raspberry Pi Pico W pinout
Flashning av MicroPython UF2
En grundläggande installationsuppgift som du behöver göra är att flasha MicroPython UF2 på din Pico W.
Först, ladda ner UF2-filen som är speciellt gjord för Raspberry Pi Pico W här. Alternativt, Du kan hitta de nattliga byggnaderna här.
Observera att du inte kan använda UF2 från den ursprungliga Raspberry Pi Pico.
För att ladda upp UF2-filen måste du trycka på BOOTSEL-knappen och hålla den intryckt och sedan koppla in USB-kabeln.
Du kommer att se en ny volym som heter RPI-RP2 i din filutforskare.
Kopiera UF2-filen till den enheten.
Den kopplas automatiskt bort när den laddas upp.
Det var allt! Din Raspberry Pi Pico W är nu redo att ta emot MicroPython-kod.
Till nästa steg...
Installera Thonny IDE
Det enklaste sättet att köra MicroPython-kod och komma åt ett skal på Raspberry Pi Pico W är att använda Thonny IDE.
Thonny levereras som standard med Raspberry Pi OS. Du kanske dock vill installera det på din huvuddator för att underlätta.
Så här gör du: gå till https://thonny.org/ och du kommer att kunna hitta de senaste versionerna på förstasidan.
Du kommer troligen att mötas av ett popup-fönster där du uppmanas att uppdatera. Gör det.
Uppdateringen fungerade bra när jag körde Thonny på mitt Raspberry Pi OS, men på Windows uppstod felet "SSL: CERTIFICATE_VERIFY_FAILED".
Du kan åtgärda detta genom att ladda ner det här certifikatet (https://letsencrypt.org/certs/lets-encrypt-r3.der), högerklicka sedan på den nedladdade filen och välj "Install Certificate" så kommer du inte längre att stöta på det här felet.
Kontrollera att du har valt "MicroPython (Raspberry Pi Pico)" i det nedre högra hörnet.
Ladda upp filer till din Raspberry Pi Pico W
Så här kan du ladda upp dina MicroPython-filer till Raspberry Pi Pico W med Thonny.
Koppla in din Raspberry Pi Pico W.
I Thonny, gå till Visa > Filer.
Du kommer att se två sektioner. Filer på din dator överst och filer på Raspberry Pi Pico W.
Högerklicka på de filer du vill ladda upp och välj Ladda upp till /
Blinkar på den inbyggda lysdioden
En grundläggande skillnad mellan den ursprungliga Raspberry Pi Pico och Pico W är hur du blinkar med den inbyggda lysdioden.
Tidigare styrde du lysdioden med den här koden:
led = machine.Pin(25, machine.Pin.OUT)
På Raspberry Pi Pico W skulle du dock använda följande "LED" i stället för 25.
led = machine.Pin('LED', machine.Pin.OUT)
För att få den inbyggda lysdioden att blinka skriver du den här koden:
import machine
import time
led = machine.Pin('LED', machine.Pin.OUT)
while (True):
led.on()
time.sleep(.2)
led.off()
time.sleep(.2)
Spara detta som main.py och den kommer att köras automatiskt när Pico W är strömförsörjd.
Ansluta till WiFi
Nedan finns en förenklad kod som gör att du kan
- Anslut till WiFi
- Timeout på 10 sekunder
- Skriv ut "Waiting for connection" (väntar på anslutning) när du ansluter till det nätverk som definieras i variablerna. ssid och pw
- Tänd den inbyggda lysdioden vid en lyckad anslutning.
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()
I ett verkligt projekt är det bättre att skapa en separat fil (t.ex, secrets.py) och lagra den ssid och pw där, och importera den sedan till huvudfilen.
Det finns inte heller mycket återkoppling med den här koden eller någon felhantering. Om du lyckas får du en lysande lysdiod. Om du inte lyckas får du ingen återkoppling.
Här är ett elegantare sätt att ansluta till ett nätverk.
Följande kod justerar för regionala skillnader i den rp2.country("DE"). Ändra detta till ditt land, t.ex. "GB", "US" osv.
När du lyckas ansluta till ett WiFi-nätverk ser du tre blinkningar av den inbyggda lysdioden när anslutningen är lyckad. Varje annat antal blinkningar betyder något annat, baserat på följande antal blinkningar:
# 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',
}
Servera en webbsida på den lokala IP:n
För att kunna visa en webbsida med Raspberry Pi Pico W behöver du tre filer.
- main.py - huvuddelen av koden (som automatiskt körs på Pico W)
- secrets.py - som innehåller ssid och pw
- index.html - som innehåller den webbsida som ska visas
main.py kommer att ansluta till ditt WiFi-nätverk, som definieras i secrets.py. Därefter öppnas en socket som lyssnar efter anslutningar till Raspberry Pi Pico W.
Om någon ansluter sig, kommer webbsidan, som heter index.html.
Här är koden för main.py och index.html. secrets.py kan hämtas från det föregående exemplet.
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>
Sänder ut ett WiFi-nätverk (SoftAP-åtkomstpunkt)
Jag skriver detta i mitten av juli 2022, så saker och ting förändras snabbt.
Om du inte har flashat din Raspberry Pi Pico W med den senaste MicroPython UF2, gör det nu eftersom ingenjörerna på Raspberry Pi håller på att uppdatera den just nu. Hämta den senaste versionen här.
Den senaste nightly build, som släpptes den 15 juli, innehåller flera uppdateringar. Till exempel kan du nu säkra ditt WiFi-nätverk med ett lösenord (tidigare var det inte möjligt).
Det finns några buggar. Jag kunde till exempel inte ändra SSID-namnet genom att stoppa och köra skriptet i Thonny. Jag var tvungen att göra en hårdare återställning genom att dra ut USB-kabeln från Pico W.
Den viktigaste delen för att konfigurera en åtkomstpunkt är det här segmentet:
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())
Här är en fullständig sammanfattning från Raspberry Pis dokumentationschef Alasdair Allenvilket gör din Pico W till en åtkomstpunkt med SSID MicroPython-AP, lösenord 123456789.
När du ansluter till den skickar den en webbsida med texten "Hello from Pico W" (Hej från 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 nybörjarhandledning
Vi har sammanställt några handledningar för nybörjare som hjälper dig att lära dig mer om Raspberry Pi Pico W.
Raspberry Pi Pico W mega handledning
För absoluta nybörjare som har ett kit med komponenter kommer den här handledningen att visa hur du interagerar trådlöst med dina komponenter.
Den här handledningen är särskilt inriktad på Pico W, vilket innebär att den försöker använda WiFi-modulen så mycket som möjligt. I stället för knappar kommer vi att använda en webbläsare med virtuella knappar för att styra lysdioder och summer. Vi kommer att använda en webbläsare för att visa temperatur- och avståndsdata i stället för en LCD-skärm.
KLICKA HÄR: Raspberry Pi Pico W - handledning för nybörjare om komponenter
Styr Pico W:s inbyggda LED med en webbserver
Detta är den mest grundläggande handledningen som hjälper dig att förstå hur du ansluter din Raspberry Pi Pico W till WiFi, startar en webbserver och styr den inbyggda lysdioden med webbservern.
En webbsida kommer att visas med en "on/off"-knapp som kan användas för att styra den inbyggda lysdioden.
Den här handledningen utgör grunden för många andra projekt som kräver fjärrstyrning via WiFi.
KLICKA HÄR: Styr Pico W:s inbyggda LED med en webbtjänstr
Strömma sensordata via webbserver på Raspberry Pi Pico W
Med hjälp av accelerometern ADXL343 visar den här handledningen hur du dynamiskt uppdaterar mätvärdena på en webbsida som serveras av din Raspberry Pi Pico W.
Webbsidan uppdateras varje sekund när en klient besöker Pico W:s IP-adress. Det finns också en digital webbtärningsfunktion som aktiveras när ADXL343 trycks på.
Du kommer att lära dig hur du använder bibliotek, konfigurerar WiFi, serverar en webbsida och hur du visar sensorns värden på webbsidan.
KLICKA HÄR: Strömma sensordata via WiFi med Raspberry Pi Pico W
Handledning för Raspberry Pi Pico W Wi-Fi Doorbell (HTTP-förfrågningar och IFTTT)
I den här handledningen lär du dig hur du använder Raspberry Pi Pico W för att skicka en HTTP-förfrågan.
Vi använder en knapp för att simulera en dörrklocka. När vi trycker på knappen utlöser Pico W en IFTTT-slutpunkt som sedan utlöser ett e-postmeddelande eller ett appmeddelande.
KLICKA HÄR: Handledning för Raspberry Pi Pico W Wi-Fi Doorbell (HTTP-förfrågningar och IFTTT)
Raspberry Pi Pico W fjärrstyrd väderstation (soldriven och SoftAP)
I den här handledningen får du lära dig att sända en SoftAP-åtkomstpunkt som trådlöst sänder väderstationsdata och driva den med solenergi!
KLICKA HÄR: Raspberry Pi Pico W fjärrstyrd väderstation (soldriven och SoftAP)
Styr din Pico W trådlöst med PiCockpit!
Du kan styra och få data från din Pico W trådlöst med hjälp av PiCockpit.
Med PiCockpit kan du få värden, styra och använda PWM via ett grafiskt gränssnitt via dess GPIO-applet.
Du kan också se din Pico W:s statistik med hjälp av appletten PiStats.
Det är superenkelt att integrera PiCockpit i din Pico W.
Skriv ännu mindre kod med PiCockpit och Pico W
PiCockpit gör det enkelt för dig att styra dina GPIO-stift utan att behöva skriva någon kod.
Om du tittar på handledning nummer 2Lägg märke till hur mycket kod som krävs för att bara växla en lysdiod.
Med vår nya Pico W-integration gör PiCockpit det mycket enklare eftersom du inte behöver programmera någonting alls. Inte ens WiFi-konfigurationen - det görs med vår installationsguide.
10. Enkel LED-styrning med PiCockpit och Pico W
Om du har konfigurerat din lysdiod precis som jag gjorde i handledning nr 2 är allt som återstår att konfigurera den i PiCockpit.
Om du kodar ut det, anger du vilken stift din lysdiod är på med hjälp av led = machine.Pin(2, machine.Pin.OUT)
I PiCockpit går du till din GPIO-applet och bläddrar till "GPIO Output (On/Off)".
Välj BCM02 från rullgardinsmenyn eftersom din lysdiod är på GPIO 2.
I kolumnen "Control" (kontroll) växlar du sedan mellan strömbrytaren för att tända lysdioden.
Du kan också enkelt använda Software PWM-avsnittet nedan för att styra ljusstyrkan på din lysdiod.
Observera att du måste ta bort den tidigare inställningen eftersom du inte kan ha två utgångar på samma GPIO.
När du vänder på reglaget "Control" kommer du att märka att ljusstyrkan på lysdioden ändras.
11. Pico W, 5V fläkt och en transistor, styrd av PiCockpit
Låt oss prova något lite mer omfattande men med samma GPIO Output toggle.
För att illustrera några verkliga användningsfall kommer jag att driva en 5V-fläkt med hjälp av PiCockpit.
Det här är en 5V-fläkt med låg effekt från min Raspberry Pi 4, så den ligger väl inom Raspberry Pi Pico W:s kapacitet.
Eftersom det är en 5V-fläkt kan jag inte använda en GPIO-stift. I mindre strömkrävande komponenter, t.ex. en lysdiod, kan du låta GPIO-stiftet göra dubbla uppgifter, nämligen att leverera ström till komponenten och vara den "strömbrytare" som slår på och av den.
Men 5V-fläkten skulle kräva för hög spänning. Så det näst bästa sättet är att sätta en transistor i mitten.
På så sätt kan jag leverera 5 V till fläkten och samtidigt se till att jag kan slå på och stänga av den.
Återigen, tack vare PiCockpit, gjorde jag ingen programmering. Jag gjorde bara hårdvaran, som är kopplad på följande sätt:
Fläkten är en 5V/0,12A fläkt, ansluten till 5V i den positiva änden (röd tråd), och den negativa tråden går till transistorens emitterben.
Transistorn är en PN2222-transistor (NPN), vilket innebär att den slår på när den får en hög signal.
Från vänster till höger, med den halvcirkelformade delen vänd bort från dig, är benen Emitter, Base och Collector.
Base-benet ansluts till ett motstånd på 1 K och ansluts sedan till GPIO 15.
Kollektorbenet är anslutet till jord.
Konfigurera PiCockpit för att arbeta med transistorer
Återigen, superenkelt.
Gå till rullgardinsmenyn i avsnittet GPIO Output och lägg till BCM15.
När den är inne kan du klicka på pilen nedåt och ändra State Names till "fan off" (fläkt av) och "fan on" (fläkt på).
Om du vrider på strömbrytaren bör du se att fläkten startar.
Du kan också använda PiStats för att se hur temperaturen sjunker på ditt kort.
Pico W-projekt
Med Raspberry Pi Pico W kan du göra allt som du kan göra med Pico. Men du kan göra det bättre genom att lägga till trådlös styrning eller utdata.
De flesta projekt kräver ytterligare hårdvara, och därför har vi täckt upp dig med vår Pico-satser.
Burgerbot: uppgraderad från en vanlig Pico
Kevin McAleer byggde en Burgerbot med en vanlig Pico och när Pico W kom ut tog han chansen att uppgradera den.
I sin YouTube-video visar han hur han använder Pico W, Node-Red och uppdaterar sin kod för att ansluta Pico W till Burgerbot via MQTT.
Kevin valde Node-Red för att bygga en instrumentpanel och programmera sina MQTT-meddelanden eftersom det gör processen enklare.
e-paper kattunge bild slumpmässiga slumpgenerator
Samlas i tyst vördnad inför den trådlösa kraften! @Raspberry_Pi Pico W Placekitten randomiserar! pic.twitter.com/U5jxbeWUwx
- Phil Howard (@Gadgetoid) 30 juni 2022
Placekitten är en webbplats med söta kattbilder som kan användas som platshållare av webbdesigners.
Phil Howard fick Pico W att pinga Placekittens webbplats och ladda in ett slumpmässigt foto av en katt på hans e-inkskärm.
Pimoroni tillverkar Pico Inky Pack som är en 2,9-tums e-inkskärm som passar perfekt till en Pico W (med lödda huvuden).
När Phil var ansluten till WiFi skickade han en URL för att få en bild som skulle visas på e-inkskärmen. Pico Inky har en skärm på 296x128px, vilket innebär att om du använder webbadressen http://placekitten.com/296/128får du en bild som passar perfekt i skärmen.
Få dina växter att skicka sms till dig
The @Raspberry_Pi Pico W är perfekt för smarta hemutrustning, inklusive smarta växter!🪴
- Arm (@Arm) 30 juni 2022
Japp, du läste rätt.@sandeepmistry beskriver hur du kan få växter att skicka sms till dig med hjälp av Pico W tillsammans med teknik från @pimoroni, @micropython och @twilio på @Hacksterio: https://t.co/5oyu9W81S8 pic.twitter.com/7xbxGvmYey
När dina vänner är törstiga skickar de ett sms till dig och frågar om du vill gå ut och ta en drink.
Varför inte få samma upplevelse med dina krukväxter?
Sandeep Mistry har gjort exakt det med Raspberry Pi Pico W, Pimoroni Grow Kit och Twilio SMS API.
Det viktigaste är att växten talar om för dig när den behöver vatten. Sensorn ger ut en digital pulssignal med en frekvens mellan 1 Hz och 30 Hz. Om den är torr kommer den att ha en hög frekvens, och detta utlöser Pico W att pinga Twilio SMS API för att skicka ett meddelande.
Raspberry Pi Pico W vs Espressif ESP32
Raspberry Pi Pico W är verkligen en nytändare.
När vi jämförde Raspberry Pi Pico med ESP32 valde vi PICO-KIT eftersom den hade den mest likartade formfaktorn som Pico.
Den stora fördelen med ESP32 jämfört med Pico W är WiFi och Bluetooth.
Men så är inte längre fallet. Pico W har nu WiFi och WLAN-chippet kan även hantera Bluetooth, men i början av juli var det ännu inte aktiverat.
Så om du behöver Bluetooth-funktion nu, är det bättre att välja ESP32.
ESP32 har dock andra fördelar, bland annat varierande CPU-frekvenser, inklusive två högre hastigheter jämfört med Pico W.
ESP32 har också funnits på marknaden mycket längre, vilket gör att det finns många fler projekt som bygger på den. Dess dokumentation, experimenterande och tilläggsfunktioner ligger långt före Raspberry Pi Pico-sortimentet.
Raspberry Pi Pico W | Espressif ESP32-PICO-KIT | |
CPU-frekvens | 133MHz | 80/160/240 MHz |
Mikrokontroller | RP2040 | Xtensa LX6 |
Kärnor | 2 | 2 |
Flash-minne | 2 MB | 4 MB |
RAM | 264KB | 520KB |
GPIO | 26 (användbar) | 36 |
Har USB? | microUSB | microUSB |
WiFi och/eller BT? | Ja, båda, BT är inte aktiverat vid lanseringen | Ja, båda |
Spänning | 1.8 - 5.5V eller 5V USB | 3,3V (via stift) eller 5V via USB eller 5V-12V (via spänningsregulator) |
Storlek | 51x21mm | 52x20mm |
Språk | MicroPython / C | MicroPython / C |
Gemenskapens tankar om Pico W vs ESP32
Vi startade en tråd på Raspberry Pi-forumet om just detta ämne och här finns några bra tankar från gemenskapen:
Användaren av Raspberry Pi-forumet scruss säger att ESP32 har mer processorkraft med 160 MHz-varianten och anger 1639 pystones/sekund jämfört med 1243 för Pico W. 240 MHz är ännu snabbare.
Han räknade också upp följande skäl till varför ESP32 skulle vinna över Pico W.
- hårdvarutidsklockor.
- riktigt bra ADC, med intervallinställning och direkt spänningsavläsning.
- 2-kanals DAC
- kapacitiv beröring
- Magnetgivare med Hall-effekt (vifta med en magnet mot den och den kan tala om för dig att du viftar med en magnet mot den).
- RMT-kanaler för ganska smart PWM
Å andra sidan kan användaren scotty101 har detta att säga om Pico W:s fördelar:
- Utvecklingsmiljö
- Stödja Raspberry Pi och dess pedagogiska mål
- Prevalens och samhällets storlek.
- Lätt att lägga in en ny binär kod på Pico
"Jag gillar ESP32, men jag hatar att behöva ladda ner esptoolen varje gång jag startar om ett övergivet projekt. Jag har så lite tid att MicroPython på Pico är snabbt och enkelt för mig att komma igång med", säger scotty101.
Slutligen, cleverca22 gav en balanserad bild av vad han såg i båda nämnderna. Utöver de argument som framförts ovan, följer här ytterligare punkter:
Raspberry Pi Pico W har programmerbar IO (PIO).
cleverca22 säger att han tror att ESP-plattformen har en speciell minneshanteringsenhet mellan XIP och flash, så att man kan lagra flera appar samtidigt och det möjliggör rollbacks.
ESP-plattformen styr WiFi och Bluetooth direkt från CPU:n, vilket tillåter icke-standardiserade RF-åtgärder, medan Pico W:s troligen hanteras med hjälp av en sluten källkod, vilket innebär att endast godkända RF-åtgärder tillåts.
Pico W vs Zero 2 W
Du kanske rullar med ögonen för att du tycker att vi jämför äpplen med päron.
Men är vi det verkligen?
Låt oss tala om den grundläggande skillnaden här. Raspberry Pi Pico W är en mikrokontroller medan Raspberry Pi Zero 2 W är en mikrodator.
Raspberry Pi Pico W är helt enkelt utformad för att köra en sak. Zero 2 W är tänkt att vara mer dynamisk - den kan köra flera uppgifter, olika operativsystem och du kan programmera den på flera språk.
Här finns en tabell som förklarar skillnaderna:
Kan det... | Mikrokontroller (t.ex. Raspberry Pi Pico W) | Mikrodator (t.ex. Raspberry Pi Zero 2 W) |
Driver du en server? | Ingen | Ja |
Blinkar en lysdiod? | Mycket snabbare från början till slut | Mycket långsammare; många fler processer att gå igenom |
Automatisk omstart av programmet vid strömavbrott? | Ja | Inte som standard |
Spela videospel | Inte utan en stor ansträngning | Ja |
Körs på batteri? | Ja, det är mycket troligt att de håller längre i genomsnitt | Ja, håller inte lika länge i genomsnitt |
Hantering av värme? | Inget krävs vanligtvis. | Kylflänsar, fläktar, värmeledande höljen |
Kostnader? | Lägre | Högre |
Storlek? | Mindre | Större |
WiFi är nu inte längre Pi Zero W:s fördel
En av de saker som verkligen lockade vissa användare till Pi Zero-serien är det integrerade trådlösa nätverket.
Tidigare var du tvungen att köpa ett tillbehör för att ge den ursprungliga Pico trådlös kapacitet. Det var i stort sett den punkt som fick folk att använda Zero som ett substitut för sina projekt.
Med tanke på att Pico W nu har trådlöst nätverk finns den fördel som Zero W hade inte längre.
Bluetooth förblir en fördel för Pi Zero W... än så länge
Vid tidpunkten för lanseringen har Pico W ett Bluetooth-chip i den, men det har inte aktiverats.
Raspberry Pi har sagt att de kommer att möjliggöra detta i framtiden. När det än är.
Så om du behöver Bluetooth är Pi Zero W det bättre alternativet.
Raspberry Pi Zero 2 W brist = Pico W fördel
En annan faktor som ger Pico W en sådan fördel jämfört med Zero 2 W är dess tillgänglighet.
Under de två första veckorna efter lanseringen, fanns fortfarande i många butiker, även i vår. Det stämmer inte alls med Pi Zero 2, som förväntas ha ett lågt utbud under resten av 2022.
Om du har ett PiCockpit-konto kan du som användare från EU och Schweiz naturligtvis kan också använda vårt bokningsverktyg för att boka din nästa Raspberry Pi.
Hur ska man bestämma sig?
Här är den logik som jag använder för att bestämma vilken som ska användas:
Scenario | Vad du ska köpa |
Jag är bättre på ett annat språk än C/Python. | Noll |
Jag har "obegränsad" ström (dvs. användning som inte är solceller eller batterier). | Noll |
Jag behöver spara data (t.ex. temperaturloggar). | Noll |
Jag behöver använda en kamera | Noll |
Jag vill ha en GUI/videoutgång | Noll |
Jag behöver WiFi | Antingen |
Jag behöver Bluetooth | Noll (från och med juli 2022) |
Jag behöver den mest kompakta inställningen | Pico W |
Jag behöver snabb omstart vid krasch/kraftfel | Pico W |
Jag vill inte konfigurera ett operativsystem | Pico W |
Jag vill ha det billigare alternativet | Pico W |
Under mikroskopet
Peter Mount filmade den här videon om Pico W...
Som vanligt @pimoroni snabbt... så jag satte den nya @Raspberry_Pi PicoW i mikroskopet... #ebenana #RaspberryPi #RaspberryPicoW pic.twitter.com/MvJHfENvKF
- Peter Mount (@peter_mount) 1 juli 2022
Hur tipsade Raspberry Pi om att Pico W skulle släppas?
Enligt Raspberry Pi fick ingen ta del av teasern, som var en ko med Raspberry Pi-grafik överallt.
De sa: "Vi kan fortfarande inte fatta att inte en enda av er fick den mycket abstrakta teaser som vi släppte på Twitter natten innan Pico W lanserades. Det är en ko. Fattar ni?"
Raspberry Pi Cow är Raspberry Pico W.
Nu när katten är ute ur säcken är det väl ganska lätt att prata om det. moot.
Mer information
Vi har ett uppslagsverk med information för vanliga Raspberry Pi Pico som hjälper dig att komma igång med Raspberry Pi Pico W. Här kan du börja lära dig mer om Raspberry Pi Pico..
KLICKA HÄR: Allt du behöver veta om Raspberry Pi Pico
Det finns också allmän och specifik dokumentation direkt från Raspberry Pi:
Pico H-debuggningskontakterna för kabeln/ledningarna är faktiskt följande
SHR-03V-S (utan fläns) eller SHR-03V-S-B (med fläns).
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, missar jag något eller är det bara en kompatibel kontakt? Här är vad jag fick från den officiella dokumentationen:
"Vi anger att kontakten ska vara en JST 'SH'-kontakt med 3 stift med 1,0 mm stigning, antingen BM03B-SRSS-TB (överst) eller BM03B-SRSS-TB (nederst).
(med sidoingång) eller SM03B-SRSS-TB (med sidoingång), eller kompatibla alternativ."
https://datasheets.raspberrypi.com/debug/debug-connector-specification.pdf
Bra jobbat, skulle vara ännu mer användbart om du inte hade tryckt pythonkoden genom översättaren.
Tack JJE för att du uppmärksammade oss på detta. Det är definitivt något att arbeta med.
Danke!
Endlich funktioniert es!
Tack för att du gav den här informationen till gemenskapen, den var till stor hjälp för mig.
[...] har redan en artikel som täcker allt du behöver veta om Pico W. Dessutom, om du är nybörjare med Pico W, kan du kolla in denna [...].
[...] Medan webbutvecklingsvärlden har gått över till att använda ett frontend-ramverk som React, Angular eller Vue, kräver servering av webbplatser på Raspberry Pi Pico i allmänhet att du vet hur man skriver vanilj-JavaScript. Om du tittar på våra handledningar i vår Pico W mega-artikel kommer du att se. [...]
[...] I skrivande stund har Pico WH (H för headers) ännu inte släppts. Vår megaartikel om Pico W håller koll på dess lansering. [...]
[...] Följ den här länken för att lära dig hur du uppdaterar den. Länken visar dig också en snabbstartsmetod för att sända ditt eget WiFi-nätverk. [...]
[...] På många sätt är en fuktmätare för växter det perfekta komplementet till det textningsprogram för växter som vi tidigare har skrivit om på den här bloggen. [...]