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.

Innehåll dölja

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

VariantPris Huvuden?Trådlöst?Utgivning (M/ÅÅÅ)
Pico$4IngenIngen1/21
Pico H$5JaIngen6/22
Pico W$6IngenJa6/22
Pico WH$7JaJa8/22

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 WH släpps i augusti 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?

Raspberry Pi Pico vs Pico H. Den största skillnaden är SWD-huvudet för felsökning.

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.

Innehåll dölja

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.

PCB-antenn
PCB-antenn

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

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.

Pico W Pinout
Pico W Pinout

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

Raspberry Pi Pico W pinout (bild från officiellt datablad)

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.

Håll knappen BOOTSEL intryckt och anslut sedan ditt USB-minne till Raspberry Pi Pico W.
Håll knappen BOOTSEL intryckt och anslut sedan ditt USB-minne till Raspberry Pi Pico W.

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

Thonny driver vårt nybörjarprojekt (se nedan)

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

Ladda upp filer till din Raspberry Pi Pico W genom att klicka på Ladda upp till /

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:

importmaskin
importera tid

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.
importnätverk
importera tid

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

ssid = "infoga ditt SSID här"
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('Väntar på anslutning...')
    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:

# Fel i anslutning till handtaget
# Felbetydelse
# 0 Länk nere
# 1 Link Join
# 2 Link NoIp
# 3 Link Up

main.py

importera rp2
importera nätverk
importera ubinascii
importera maskin
importera urequests som requests
importera tid
from secrets importera hemligheter
importera socket

# Ange land för att undvika eventuella fel
rp2.country('DE')

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
# Om du behöver inaktivera energisparläge
# wlan.config(pm = 0xa11140)

# Se MAC-adressen i det trådlösa chipet OTP
mac = ubinascii.hexlify(network.WLAN().config('mac'),':').decode()
print('mac = ' + mac)

# Andra saker att fråga om
# print(wlan.config('channel'))
# print(wlan.config('essid'))
# print(wlan.config('txpower'))

# Ladda inloggningsuppgifter från en annan fil av säkerhetsskäl.
ssid = secrets['ssid']
pw = secrets['pw']

wlan.connect(ssid, pw)

# Vänta på anslutning med 10 sekunders timeout
timeout = 10
while timeout > 0:
    om wlan.status() = 3:
        break
    timeout -= 1
    print('Väntar på anslutning...')
    time.sleep(1)

# Definiera en blinkfunktion för den inbyggda lysdioden för att indikera felkoder.
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)
    
# Hantera fel i anslutningen
# Betydelse av fel
# 0 Länk nere
# 1 Link Join
# 2 Link NoIp
# 3 Link Up
# -1 Link Fail
# -2 Länk NoNet
# -3 Länk BadAuth

wlan_status = wlan.status()
blink_onboard_led(wlan_status)

Om wlan_status != 3:
    raise RuntimeError('Wi-Fi-anslutning misslyckades')
else:
    print('Ansluten')
    status = wlan.ifconfig()
    print('ip = ' + status[0])

secrets.py

hemligheter = {
    '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

importera rp2
importera nätverk
importera ubinascii
importera maskin
importera urequests som requests
importera tid
from secrets importera hemligheter
importera socket

# Ange land för att undvika eventuella fel
rp2.country('DE')

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

# Se MAC-adressen i det trådlösa chipet OTP
mac = ubinascii.hexlify(network.WLAN().config('mac'),':').decode()
print('mac = ' + mac)

# Ladda inloggningsuppgifter från en annan fil av säkerhetsskäl.
ssid = secrets['ssid']
pw = secrets['pw']

wlan.connect(ssid, pw)

# Vänta på anslutning med 10 sekunders timeout
timeout = 10
while timeout > 0:
    om wlan.status() = 3:
        break
    timeout -= 1
    print('Väntar på anslutning...')
    time.sleep(1)

# Definiera en blinkfunktion för den inbyggda lysdioden för att indikera felkoder.
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)

Om wlan_status != 3:
    raise RuntimeError('Wi-Fi-anslutning misslyckades')
else:
    print('Ansluten')
    status = wlan.ifconfig()
    print('ip = ' + status[0])
    
# Funktion för att ladda in html-sidan
def get_html(html_name):
    med open(html_name, 'r') som fil:
        html = file.read()
        
    return html

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

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

print('Lyssnar på', addr)

# Lyssna på anslutningar
while True:
    försök:
        cl, addr = s.accept()
        print('Klient ansluten från', addr)
        response = get_html('index.html')
        cl.send('HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\r\n')
        cl.send(svar)
        cl.close()
        
    except OSError as e:
        cl.close()
        print('Anslutning stängd')

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:

importnätverk
importera maskiner

ssid = ''
lösenord = "

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

while ap.active() == False:
  pass

print('Anslutning lyckad')
print(ap.ifconfig())
Tillgångspunkt som sänds av Raspberry Pico W. Om du inte kan se din AP som du namngav den kan du försöka dra ur USB-kontakten och ladda Pico W på nytt.

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

importera socket
importera nätverk
importera maskin

ssid = "MicroPython-AP
lösenord = "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('Anslutning lyckad')
print(ap.ifconfig())

html = """<!DOCTYPE html>
<html>
    <head> <title>Pico W</title> </head>
    <body> <h1>Pico W</h1>
        <p>Hej från Pico W.</p>
    </body>
</html>
"""

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

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

# Lyssna på anslutningar
while True:
    försök:
        cl, addr = s.accept()
        print('klient ansluten från', addr)
        request = cl.recv(1024)
        led.on()
        print(begäran)

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

    except OSError as e:
        cl.close()
        print('anslutning stängd')

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.

Styr Pico W:s inbyggda LED med en webbserver

Raspberry Pi Pico W kontrollerar inbyggd LED med 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

Raspberry Pi Pico W handledning strömmar sensordata

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)

Raspberry Pi Pico W projekterar WiFi-dörrklocka och avisering

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)

Raspberry Pi Pico W softap väderstation

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)

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.

pico w robot kevin mcaleer burgerbot
Kevin McAleers Burgerbot (skärmdump från YouTube).

e-paper kattunge bild slumpmässiga slumpgenerator

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.

Skärmdump av Placekitten, där du kan få kattbilder genom att skicka en URL.

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

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.

Se hela guiden här.

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 WEspressif ESP32-PICO-KIT
CPU-frekvens133MHz80/160/240 MHz
MikrokontrollerRP2040Xtensa LX6
Kärnor22
Flash-minne2 MB4 MB
RAM264KB520KB
GPIO26 (användbar)36
Har USB?microUSBmicroUSB
WiFi och/eller BT?Ja, båda, BT är inte aktiverat vid lanseringenJa, båda
Spänning1.8 - 5.5V eller 5V USB3,3V (via stift) eller 5V via USB eller 5V-12V (via spänningsregulator)
Storlek51x21mm52x20mm
SpråkMicroPython / CMicroPython / 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?IngenJa
Blinkar en lysdiod?Mycket snabbare från början till slutMycket långsammare; många fler processer att gå igenom
Automatisk omstart av programmet vid strömavbrott?JaInte som standard
Spela videospelInte utan en stor ansträngningJa
Körs på batteri?Ja, det är mycket troligt att de håller längre i genomsnittJa, 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ägreHögre
Storlek?MindreStö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:

ScenarioVad 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 kameraNoll
Jag vill ha en GUI/videoutgångNoll
Jag behöver WiFiAntingen
Jag behöver BluetoothNoll (från och med juli 2022)
Jag behöver den mest kompakta inställningenPico W
Jag behöver snabb omstart vid krasch/kraftfelPico W
Jag vill inte konfigurera ett operativsystemPico W
Jag vill ha det billigare alternativetPico W

Under mikroskopet

Peter Mount filmade den här videon om Pico W...

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.

Raspberry Pis teaser för Pico W

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:

2 Kommentarer

  1. Pico User den juli 15, 2022 kl 11:12 f m

    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

    • Xuyun Zeng den juli 16, 2022 kl 10:00 f m

      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

Lämna en kommentar