Wszystko o Raspberry Pi Pico W

Dzisiaj, 30 czerwca 2022 r. o godz. 8.00 czasu brytyjskiego Raspberry Pi wydało Pico W.

Oto wszystko (co wiemy) o najnowszym Raspberry Pi.

Spis treści ukryj

Ten nowy wariant popularnego modelu Pico jest wyposażony w funkcje bezprzewodowe dzięki układowi CYW43439.
Podobnie jak w przypadku Pico, w sercu każdego Pico W to RP2040, który jest pierwszym układem krzemowym Raspberry Pi.

Na dodatek Raspberry Pi wypuściło także warianty Pico H i Pico WH.

Uwaga: Jeśli szukasz zarezerwować Raspberry Pi 4 / 4 GB lub Pi 4 / 8 GB lub Coral akcelerator USB, i znajdują się w UE + Szwajcaria, spójrz na naszą nową funkcję PiCockpit,... Narzędzie do rezerwacji Raspberry Pi - jeden na klienta, a ty jesteś w uczciwej kolejce, a nie musisz się spieszyć, gdy Pis staje się dostępny. Jeśli wystarczająco dużo osób nas poprosi, możemy również udostępnić Pico W do rezerwacji.

Warianty Raspberry Pi Pico

WariantCena Nagłówki?Bezprzewodowe?Wydanie (M/YY)
Pico$4NieNie1/21
Pico H$5TakNie6/22
Pico W$6NieTak6/22
Pico WH$7TakTakGdzieś w 2022 r.

Pico H - $5 - Raspberry Pi Pico z przylutowanymi głowicami

Pico W - $6 - Raspberry Pi Pico z łącznością bezprzewodową

Pico WH - $7 - Raspberry Pi Pico z przewodami bezprzewodowymi i gotowymi do przylutowania.

Pico H i Pico W zostały wydane 30 czerwca 2022 roku, natomiast. Pico WH pojawi się w sierpniu 2022 r..

Pico WH ma zaktualizowany harmonogram wydania, który jest "później w tym roku" w 2022 roku, według. Alasdair Allen z Raspberry Pi, który powiedział "Później w tym roku prawdopodobnie zobaczycie nadejście Pico WH, a moje przypuszczenie jest takie, że sami możecie wypracować, co to jest".

Oto aktualizacja dotycząca Pico WH w październiku. Dostałem aktualizację od Alasdaira Allena, który powiedział,

"Jest strasznie blisko do wyjścia [...] i powinno wyjść 'lada moment'. Chcieliśmy się upewnić, że mamy przyzwoitą ilość przed wypchnięciem jej za drzwi, aby ludzie mogli ją łatwo kupić."

W tym wpisie wyjaśnimy podobieństwa i różnice między Pico W i Pico. Oczywiście przedstawimy też kilka fajnych projektów związanych z Pico W.

Czy Pico H to po prostu tradycyjne Pico z przylutowanymi wcześniej nagłówkami?

Raspberry Pi Pico vs Pico H. Główna różnica to głowice debugowe SWD.

W zasadzie tak.

Ale jest lekka różnica przy nagłówkach debug SWD i nie ma kastelingu (półkolistych otworów przy krawędzi) na pinach.

Aby użyć nagłówka debugowania SWD w Pico H, musisz użyć tych złączy: 1.0mm pitch 3-pin JST 'SH' connector either BM03B-SRSS-TB (top entry) or SM03B-SRSS-TB (side entry) types, or compatible alternatives.

Piny uziemienia są też w Pico H wyraźnie kwadratowe, zamiast być zwykłym okrągłym otworem.

Gdzie mogę kupić Pico W?

Odbierz Pico W w naszym sklepie.

Spis treści ukryj

Aby uzyskać krótki przegląd, obejrzyj ten film.

Hardware

Interfejs bezprzewodowy Pico W (CYW43439)

Infineon CYW43439 obsługuje bezprzewodowy LAN IEEE 802.11 b/g/n oraz Bluetooth 5.2. W momencie premiery, obsługiwany będzie tylko bezprzewodowy LAN.

W odróżnieniu od Raspberry Pi 4, Pico W ma tylko jednozakresowe Wi-Fi 2,4 GHz 4. Pi 4 ma dwuzakresowe Wi-Fi 2,4/5 GHz, ale jeśli chodzi o Bluetooth, Pico W przebija flagowy produkt Raspberry Pi, który ma tylko Bluetooth 5.0. CYW43439 obsługuje BLE i pojedynczą antenę współdzieloną między Wi-Fi i Bluetooth.

Uwaga Funkcja Bluetooth nie jest jeszcze dostępna. Zostanie on prawdopodobnie dodany w przyszłej aktualizacji oprogramowania sprzętowego.

Jeśli przyjrzeć się bliżej Pico W, można zauważyć trójkątny kształt anteny PCB, podobny do tego, jaki zastosowano w Raspberry Pi 4. Raspberry Pi używa anteny pokładowej na licencji firmy ABRACON.

Antena na płytce drukowanej
Antena na płytce drukowanej

Oznacza to, że nie jest potrzebna dodatkowa antena. Interfejs bezprzewodowy jest podłączony przez SPI do RP2040.

Według oficjalnej karty katalogowej, Infineon CYW43439 posiada również następujące cechy:

- WiFi 4 (802.11n), jednopasmowe (2,4 GHz)
- WPA3
- SoftAP (do 4 klientów)

Oficjalny arkusz danych sugeruje również, że dla najlepszej wydajności bezprzewodowej, powinieneś umieścić antenę w wolnej przestrzeni.

Umieszczenie metalu pod lub w pobliżu anteny może zmniejszyć jej wydajność w zakresie zysku i pasma.

Jednak dodanie uziemionego metalu do boków anteny może poprawić jej pasmo przenoszenia.

Czy Pico W można przekształcić w punkt dostępowy WiFi?

Tak, ponieważ jego Infineon CYW43439 obsługuje SoftAP (do 4 klientów).

W rzeczywistości można również zrobić z Pico W portal niewoli!

Postępuj zgodnie z poniższym tutorialem.

raspberry pi pico w captive portal set up

Sprzęt do przetwarzania

Z wyjątkiem interfejsu bezprzewodowego, sprzęt jest niemal identyczny jak w oryginalnym Pico.

  • Mikrokontroler RP2040 z 2 MB pamięci flash
  • Wbudowane jednozakresowe interfejsy bezprzewodowe 2,4 GHz (802.11n)
  • Port Micro USB B do zasilania i transmisji danych (oraz do przeprogramowywania pamięci flash)
  • 40-pinowa płytka drukowana 21 mm x 51 mm typu 'DIP' o grubości 1 mm z otworami przelotowymi 0,1″, także z przetłoczeniami na krawędziach
  • Odsłania 26 wielofunkcyjnych wejść/wyjść ogólnego przeznaczenia 3,3 V (GPIO)
  • 23 GPIO są wyłącznie cyfrowe, a trzy z nich obsługują także ADC
  • Możliwość montażu natynkowego jako moduł
  • 3-pinowy port debugowania szeregowego ARM (SWD)
  • Prosta, a jednocześnie bardzo elastyczna architektura zasilacza
  • Różne opcje łatwego zasilania urządzenia z portu micro USB, zewnętrznych źródeł zasilania lub baterii
  • Dwurdzeniowy procesor Cortex M0+ o częstotliwości do 133 MHz
  • Wbudowany układ PLL umożliwia zmienną częstotliwość rdzenia
  • 264kByte multi-bank wysokowydajnej pamięci SRAM
  • Zewnętrzna pamięć flash Quad-SPI z funkcją eXecute In Place (XIP) i 16 kByte pamięci podręcznej w układzie
  • Wysokowydajna tkanina magistralna o pełnym przekroju poprzecznym
  • Wbudowany port USB1.1 (urządzenie lub host)
  • 30 wielofunkcyjnych We/Wy ogólnego przeznaczenia (cztery mogą być używane przez przetwornik ADC)
  • 1,8-3,3 V Napięcie we/wy
  • 12-bitowy przetwornik analogowo-cyfrowy (ADC) 500ksps
  • Różne cyfrowe urządzenia peryferyjne
  • 2 × UART, 2 × I2C, 2 × SPI, 16 × kanały PWM
  • 1 × timer z 4 alarmami, 1 × zegar czasu rzeczywistego
  • 2 × bloki programowalnych We/Wy (PIO), w sumie 8 maszyn stanów

Zewnętrzne wyprowadzenia pinów są niemal identyczne jak w Raspberry Pi Pico.

Rozkład pinów Pico W
Rozkład pinów Pico W

Jedyna różnica polega na zastosowaniu diod LED i pinów debugowania SWD.

Wbudowana dioda LED jest sterowana przez pin WL_GPIO0 układu 43439 firmy Infineon. W modelu Pico dioda LED była podłączona do pinu GPIO 25.

Ponadto piny debug SWD zostały przesunięte na środek płytki, aby zrobić miejsce na antenę PCB. Można je znaleźć pomiędzy RP2040 a CYW43439, a kolejność od lewej do prawej to nadal SWCLK, GND, SWDIO.

Oprogramowanie

Ponieważ układ Pico W jest oparty na układzie RP2040, można go programować tak samo jak układ Pico. Oznacza to, że można go programować w językach C/C++ i MicroPython, a kod napisany dla Pico (który nie wykorzystuje wbudowanej diody LED) powinien działać na Pico W.

Raspberry Pi zapewnia 'Podłączanie do Internetu za pomocą Raspberry Pi Pico W' przewodnik dla języków C/C++ i MicroPython. Aby ułatwić rozpoczęcie pracy z Pico W, przygotowaliśmy również kilka przykładowych projektów.

C/C++ i Pico-SDK

Istnieje aktualizacja Pico-SDK aby włączyć funkcje bezprzewodowe urządzenia Pico W. Konfiguracja i użytkowanie są dokładnie takie same jak w przypadku urządzenia Pico. Obejrzyj stronę nasze wideo aby rozpocząć pracę z komputerem Pico W i językiem C/C++.

Strona zaktualizowane Pico-SDK zawiera także kilka przykładów do wykorzystania w sieci bezprzewodowej.

MicroPython i Thonny

Najwygodniejszym sposobem używania MicroPythona z Pico W jest użycie Thonny IDE. Raspberry Pi udostępniło nowy port MicroPython dla Pico W.

Uwaga MicroPython jest specyficzny dla danej płytki. Z tego powodu istnieją różne (i niekompatybilne) wersje MicroPythona dla Pico i Pico W. Upewnij się, że zawsze używasz wersji właściwej dla swojej płytki.

Mimo to sposób programowania Pico W jest dokładnie taki sam, więc jeśli już wcześniej używałeś Pico z MicroPythonem, powinno to być łatwe.

Pico H i Pico WH

Jak wspomniano, Raspberry Pi wypuściło również Pico H i Pico WH. Litera "H" dodana do nazwy oznacza, że płyta posiada wstępnie wylutowane złącza. Pico H jest taki sam jak nasz Pico Comfort, ale dla pinów debug SWD Raspberry Pi używa poziomego złącza debug JTAG. Pico WH prawdopodobnie użyje tych samych dwóch rzędów 1×20 oraz kilku pionowych nagłówków dla pinów debugowania.

Rozpoczęcie pracy z Raspberry Pi Pico W

W tej sekcji zostaną wyróżnione proste sztuczki i wzory, które pomogą Ci rozpocząć pracę z Twoim Raspberry Pi Pico W.

Raspberry Pi Pico W pinout

Raspberry Pi Pico W pinout (obraz z oficjalnej karty katalogowej)

Flashowanie MicroPython UF2

Podstawową czynnością, którą należy wykonać jest flashowanie MicroPython UF2 na Pico W.

Po pierwsze, pobierz plik UF2 specjalnie przygotowany dla Raspberry Pi Pico W tutaj. Ewentualnie, Możesz znaleźć nocne kompilacje tutaj.

Należy pamiętać, że nie można używać UF2 z oryginalnego Raspberry Pi Pico.

Naciśnij i przytrzymaj przycisk BOOTSEL, a następnie podłącz USB do Raspberry Pi Pico W.
Naciśnij i przytrzymaj przycisk BOOTSEL, a następnie podłącz USB do Raspberry Pi Pico W.

Aby wgrać plik UF2 należy wcisnąć i przytrzymać przycisk BOOTSEL, a następnie podłączyć USB.

W eksploratorze plików zobaczysz nowy wolumin o nazwie RPI-RP2.

Skopiuj plik UF2 na ten dysk.

Po załadowaniu automatycznie się rozłączy.

To jest to! Twoje Raspberry Pi Pico W jest teraz gotowe do przyjęcia kodu MicroPython.

Do następnego kroku...

Instalacja Thonny IDE

Thonny prowadzi nasz projekt dla początkujących (patrz poniżej)

Najprostszym sposobem na uruchomienie kodu MicroPython i uzyskanie dostępu do powłoki na Raspberry Pi Pico W jest użycie Thonny IDE.

Thonny pojawia się domyślnie na systemie operacyjnym Raspberry Pi. Możesz jednak dla wygody zainstalować go na swoim głównym komputerze.

Oto jak: wejdź na stronę https://thonny.org/ i będziesz mógł znaleźć najnowsze wersje na pierwszej stronie.

Prawdopodobnie zostaniesz powitany przez wyskakujące okno z prośbą o aktualizację. Wykonaj to.

Aktualizacja działała dobrze, gdy uruchomiłem Thonny na moim Raspberry Pi OS, jednak w systemie Windows pojawił się ten błąd "SSL: CERTIFICATE_VERIFY_FAILED".

Możesz to naprawić pobierając ten certyfikat (https://letsencrypt.org/certs/lets-encrypt-r3.der), następnie kliknij prawym przyciskiem myszy na pobrany plik i "Zainstaluj certyfikat" i nie będziesz już napotykał tego błędu.

Upewnij się, że wybrałeś "MicroPython (Raspberry Pi Pico)" w prawym dolnym rogu.

Przesyłanie plików do Raspberry Pi Pico W

Prześlij pliki na Raspberry Pi Pico W klikając na Prześlij do /

Oto jak można wgrać pliki MicroPython na Raspberry Pi Pico W za pomocą Thonny.

Podłącz swoje Raspberry Pi Pico W.

W Thonny, przejdź do Widok > Pliki.

Zobaczysz dwie sekcje. Pliki na komputerze na górze i pliki na Raspberry Pi Pico W.

Kliknij prawym przyciskiem myszy na pliki, które chcesz przesłać i wybierz Prześlij do /

Mruganie diody LED na płycie

Zasadniczą różnicą pomiędzy oryginalnym Raspberry Pi Pico a Pico W jest sposób mrugania wbudowanej diody LED.

W przeszłości sterowałbyś diodą LED za pomocą tego kodu:

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

Jednak na Raspberry Pi Pico W, użyłbyś "LED" aniżeli 25.

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

Stąd, aby mrugnąć diodą pokładową, napiszesz taki kod:

import machine
import time

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

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

Zapisz to jako main.py i zostanie on automatycznie uruchomiony po zasileniu Pico W.

Podłączenie do WiFi

Poniżej znajduje się uproszczony kod, który pozwoli Ci

  • Połącz się z WiFi
  • 10-sekundowy timeout
  • Drukuj "Oczekiwanie na połączenie" podczas łączenia się z siecią zdefiniowaną w zmiennych ssid oraz pw
  • Po udanym połączeniu zapala się pokładowa dioda LED
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()

W projekcie z prawdziwego zdarzenia lepiej byłoby stworzyć osobny plik (na przykład, secrets.py) i przechowywać ssid oraz pw tam, a następnie zaimportować go do głównego pliku.

Nie ma też zbyt wiele informacji zwrotnych z tym kodem ani żadnej obsługi błędów. Jeśli się uda, otrzymujesz zapaloną diodę LED. Jeśli nie jesteś, nie otrzymujesz żadnej informacji zwrotnej.

Stąd, oto bardziej elegancki sposób na połączenie z siecią.

Poniższy kod dostosowuje się do regionalnych różnic w rp2.country("DE"). Zmień to na swój kraj, na przykład "GB", "US" itp.

Po udanym połączeniu z siecią WiFi, zobaczysz trzy mrugnięcia diody LED na płycie po udanym połączeniu. Każda inna liczba mrugnięć będzie oznaczała coś innego, na podstawie poniższej liczby mrugnięć:

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

sekrety.py

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

Wyświetlanie strony internetowej na lokalnym IP

Aby obsłużyć stronę internetową za pomocą Raspberry Pi Pico W, potrzebne będą trzy pliki.

  • main.py - główna część kodu (który automatycznie uruchamia się na Pico W)
  • sekrety.py - zawierający ssid i pw
  • index.html - zawierający stronę internetową, która zostanie zaserwowana

main.py połączy się z Twoją siecią WiFi, zdefiniowaną w sekrety.py. Następnie otworzy gniazdo, które będzie nasłuchiwało wszelkich połączeń z Raspberry Pi Pico W.

Jeśli ktoś się połączy, dostarczy stronę internetową o nazwie index.html.

Oto kod dla main.py oraz index.html. sekrety.py można zaczerpnąć z poprzedniego przykładu.

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>

Rozgłaszanie sieci WiFi (punkt dostępu SoftAP)

Piszę to w połowie lipca 2022 roku, więc sprawy szybko się zmieniają.

Jeśli nie flashed swój Raspberry Pi Pico W z najnowszym MicroPython UF2, to zrobić to teraz, jak inżynierowie w Raspberry Pi są aktualizacji go jak mówimy. Pobierz najnowszą wersję tutaj.

Najnowszy nightly build, wydany 15 lipca, ma kilka aktualizacji. Dla jednej z nich pozwala na zabezpieczenie sieci WiFi hasłem (wcześniej było to złamane).

Jest kilka błędów. Na przykład nie udało mi się zmienić nazwy SSID poprzez zatrzymanie i uruchomienie skryptu w Thonny. Musiałem zrobić mocniejszy reset poprzez wyciągnięcie USB z Pico W.

Kluczową częścią do skonfigurowania punktu dostępu jest ten segment tutaj:

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())
Punkt dostępowy nadawany przez Raspberry Pico W. Jeśli nie widzisz swojego AP tak jak go nazwałeś, spróbuj wyciągnąć wtyczkę USB i ponownie zasilić Pico W.

Oto pełna informacja od szefa dokumentacji Raspberry Pi, Alasdaira Allenaco sprawia, że Pico W staje się punktem dostępu z SSID MicroPython-AP, hasło 123456789.

Gdy się z nim połączysz, wyśle stronę internetową z napisem "Hello from 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 tutoriale dla początkujących

Zebraliśmy kilka tutoriali dla początkujących, które pomogą Ci poznać Raspberry Pi Pico W.

Raspberry Pi Pico W mega tutorial

raspberry pi pico w komponenty tutorial

Dla zupełnie początkujących z zestawem komponentów, ten tutorial poprowadzi Cię przez interakcję z komponentami bezprzewodowo.

Ten tutorial jest specjalnie skupiony na Pico W, co oznacza, że stara się wykorzystać moduł WiFi w jak największym stopniu. Tak więc, zamiast przycisków, będziemy używać przeglądarki internetowej z wirtualnymi przyciskami do sterowania diodami LED, buzzerami. Do przeglądania danych o temperaturze i odległości zamiast LCD użyjemy przeglądarki.

KLIKNIJ TUTAJ: Raspberry Pi Pico W tutorial komponentów dla początkujących

Sterowanie wbudowaną diodą LED Pico W za pomocą serwera internetowego

Raspberry Pi Pico W steruje pokładową diodą LED za pomocą serwera WWW

Jest to najbardziej podstawowy tutorial, który pomoże Ci zrozumieć jak podłączyć Raspberry Pi Pico W do WiFi, uruchomić serwer WWW i sterować pokładową diodą LED za pomocą serwera WWW.

Zostanie zaserwowana strona internetowa z przyciskiem "on/off", za pomocą którego można sterować pokładową diodą LED.

Ten tutorial stanowi podstawę do wielu kolejnych projektów wymagających zdalnego sterowania przez WiFi.

KLIKNIJ TUTAJ: Sterowanie wbudowaną diodą LED Pico W za pomocą aplikacji internetowejr

Strumieniowanie danych z czujników poprzez serwer WWW na Raspberry Pi Pico W

Raspberry Pi Pico W tutorial strumień danych z czujników

Korzystając z akcelerometru ADXL343, ten tutorial pokaże Ci jak dynamicznie aktualizować odczyty na stronie internetowej, która jest obsługiwana przez Twoje Raspberry Pi Pico W.

Strona internetowa aktualizuje się co sekundę, gdy klient odwiedza adres IP Pico W. Istnieje również funkcja cyfrowej kostki internetowej, która jest aktywowana po dotknięciu ADXL343.

Dowiesz się jak korzystać z bibliotek, skonfigurować WiFi, zaserwować stronę internetową oraz jak wyświetlić wartości czujnika na stronie internetowej.

KLIKNIJ TUTAJ: Przesyłanie danych z czujników przez WiFi z Raspberry Pi Pico W

Raspberry Pi Pico W Wi-Fi Doorbell tutorial (HTTP requests & IFTTT)

Raspberry Pi Pico W projektuje dzwonek do drzwi WiFi i powiadomienia

Ten tutorial nauczy Cię, jak wykorzystać Raspberry Pi Pico W do wystrzelenia żądania HTTP.

Użyjemy przycisku, aby zasymulować dzwonek do drzwi. Po naciśnięciu przycisk uruchomi Pico W, aby uderzyć w punkt końcowy IFTTT, który następnie uruchomi powiadomienie e-mail lub powiadomienie z aplikacji.

KLIKNIJ TUTAJ: Raspberry Pi Pico W Wi-Fi Doorbell tutorial (HTTP requests & IFTTT)

Zdalna stacja pogodowa Raspberry Pi Pico W (zasilana energią słoneczną i SoftAP)

Stacja pogodowa Raspberry Pi Pico W softap.

W tym poradniku nauczysz się rozgłaszać punkt dostępowy SoftAP, który będzie bezprzewodowo transmitował dane stacji pogodowej i zasilał go energią słoneczną!

KLIKNIJ TUTAJ: Zdalna stacja pogodowa Raspberry Pi Pico W (zasilana energią słoneczną i SoftAP)

Steruj swoim Pico W bezprzewodowo za pomocą PiCockpit!

Możesz kontrolować i uzyskiwać dane ze swojego Pico W bezprzewodowo za pomocą PiCockpit.

PiCockpit pozwala uzyskać wartości, kontrolować i używać PWM poprzez GUI za pośrednictwem swojego apletu GPIO.

Możesz również zobaczyć statystyki swojego Pico W poprzez aplet PiStats.

Integracja PiCockpit z Pico W jest super prosta.

Postępuj zgodnie z tym poradnikiem.

Napisz jeszcze mniej kodu dzięki PiCockpit i Pico W

PiCockpit ułatwia sterowanie pinami GPIO bez konieczności pisania jakiegokolwiek kodu.

Jeśli spojrzysz na samouczek nr 2Zauważ, jak dużo kodu jest potrzebne tylko do przełączenia diody LED.

Dzięki naszej nowej integracji z Pico W, PiCockpit czyni to o wiele łatwiejszym, ponieważ nie musisz niczego programować. Nawet konfiguracja WiFi - to jest zrobione za pomocą naszego kreatora konfiguracji.

10. Proste sterowanie diodami LED za pomocą PiCockpit i Pico W

Jeśli masz swoją diodę skonfigurowaną dokładnie tak, jak zrobiłem to w tutorialu nr 2, to pozostaje tylko skonfigurować ją na PiCockpit.

Jeśli kodujesz, zadeklarujesz, na którym pinie znajduje się Twoja dioda, używając led = machine.Pin(2, machine.Pin.OUT)

Na PiCockpicie wchodzisz w swój aplet GPIO, i przewijasz do "GPIO Output (On/Off)".

Wybierz BCM02 z rozwijanego menu, ponieważ twoja dioda jest na GPIO 2.

Następnie w kolumnie "Control" przełączamy przełącznik, aby włączyć diodę.

Możesz również łatwo użyć sekcji Software PWM poniżej, aby kontrolować jasność swojej diody LED.

Zauważ, że będziesz musiał usunąć poprzednie ustawienie, ponieważ nie możesz mieć dwóch wyjść na tym samym GPIO.

Gdy będziesz przesuwał suwak "Control", zauważysz, że jasność diody LED zmienia się.

picockpit gpio pwm pilot zdalnego sterowania

11. Pico W, wentylator 5V i tranzystor, sterowany przez PiCockpit

Spróbujmy czegoś nieco bardziej kompleksowego, ale wykorzystującego ten sam przełącznik GPIO Output.

Aby zilustrować niektóre przypadki użycia w świecie rzeczywistym, będę zasilał wentylator 5V za pomocą PiCockpit.

Jest to wentylator o niskiej mocy 5V pobrany z mojego Raspberry Pi 4, więc mieści się w możliwościach wyjściowych Raspberry Pi Pico W.

To powiedziawszy, ponieważ jest to wentylator 5V, nie mogę użyć pinu GPIO. W mniej energochłonnych komponentach, takich jak diody LED, możesz mieć GPIO do podwójnego zadania dostarczania zasilania do komponentu i bycia "przełącznikiem", który włącza i wyłącza go.

Ale wentylator 5V wymagałby zbyt wysokiego napięcia. Więc kolejnym najlepszym sposobem jest umieszczenie tranzystora w środku.

Dzięki temu mogę dostarczyć 5V do wentylatora, jednocześnie zapewniając sobie możliwość jego włączenia i wyłączenia.

Po raz kolejny, ze względu na PiCockpit, zrobiłem zero programowania. Zrobiłem tylko hardware, który jest okablowany w następujący sposób:

Jest to wentylator 5V/0,12A, podłączony do 5V na dodatnim końcu (czerwony przewód), a ujemny przewód idzie do nogi emiterowej tranzystora.

Tranzystor jest tranzystorem PN2222 (NPN), co oznacza, że włącza się, gdy otrzyma sygnał wysoki.

Od lewej do prawej, z półokrągłą częścią skierowaną od ciebie, nogi to Emiter, Base i Collector.

Nóżka Base jest podłączona do rezystora 1K, a następnie podłączona do GPIO 15.

Noga Collector jest podłączona do masy.

Konfiguracja PiCockpit do pracy z tranzystorem

Po raz kolejny super proste.

Przejdź do rozwijanego menu w sekcji GPIO Output i dodaj BCM15.

Gdy już jest, możesz kliknąć strzałkę w dół i zmienić nazwy stanów na "fan off" i "fan on".

Przełącz przełącznik sterujący i powinieneś zobaczyć, że wentylator się włącza.

Możesz również użyć PiStats, aby zobaczyć spadek temperatur na swojej płycie.

Projekty Pico W

Z Raspberry Pi Pico W możesz zrobić wszystko to, co można zrobić z Pico. Możesz jednak uczynić go jeszcze lepszym, dodając bezprzewodowe sterowanie lub wyjście.

Większość projektów wymaga dodatkowego sprzętu, dlatego przygotowaliśmy dla Ciebie naszą ofertę Zestawy Pico.

Burgerbot: uaktualniony z normalnego Pico

Kevin McAleer zbudował Burgerbota ze zwykłym Pico, a gdy pojawiło się Pico W, skorzystał z okazji, by go ulepszyć.

W swoim filmie na YouTube, obejmuje on, jak używa Pico W, Node-Red i zaktualizował swój kod, aby połączyć Pico W z Burgerbotem poprzez MQTT.

Kevin wybrał Node-Red, aby zbudować pulpit nawigacyjny i zaprogramować swoje wiadomości MQTT, ponieważ ułatwia to proces.

pico w robot kevin mcaleer burgerbot
Burgerbot Kevina McAleera (zrzut ekranu z YouTube).

e-papierowy kociak randomizator obrazu

Placekitten to strona internetowa, która hostuje urocze zdjęcia kotów do wykorzystania jako placeholder dla projektantów stron internetowych.

To, co zrobił Phil Howard, to skłonienie Pico W do pingowania strony Placekitten i załadowania losowego zdjęcia kota na jego wyświetlacz e-ink.

Zrzut ekranu z serwisu Placekitten, gdzie można otrzymać zdjęcia kotów poprzez pingowanie adresu URL.

Pimoroni robi Pico Inky Pack, który jest 2,9″ wyświetlaczem e-ink, który idealnie pasuje do Pico W (z wlutowanymi headerami).

Po podłączeniu do WiFi, Phil pingował adres URL, aby uzyskać obraz do wyświetlenia na wyświetlaczu e-ink. Pico Inky ma wyświetlacz 296x128px, co oznacza, że jeśli użyjesz adresu url http://placekitten.com/296/128, otrzymasz obraz, który idealnie pasuje do wyświetlacza.

Spraw, by twoje rośliny pisały do ciebie SMS-y

Kiedy twoi przyjaciele są spragnieni, napiszą do ciebie SMS-a z pytaniem, czy chcesz iść na drinka.

Dlaczego nie mielibyśmy mieć takich samych doświadczeń z roślinami domowymi?

Sandeep Mistry zrobił to dokładnie dzięki Raspberry Pi Pico W, Pimoroni Grow Kit i Twilio SMS API.

Przede wszystkim roślina poinformuje Cię, kiedy będzie potrzebowała wody. Czujnik wysyła cyfrowy sygnał impulsowy o częstotliwości od 1 Hz do 30 Hz. Jeśli jest sucho, będzie miał wysoką częstotliwość, a to wyzwala Pico W, aby pingować Twilio SMS API, aby wysłać wiadomość.

Zobacz pełny przewodnik tutaj.

Raspberry Pi Pico W vs Espressif ESP32

Jakim cudem Raspberry Pi Pico W zmieniło grę.

Kiedy porównywaliśmy Raspberry Pi Pico z ESP32, wybraliśmy PICO-KIT, ponieważ miał najbardziej zbliżoną obudowę do Pico.

Dużą przewagą jaką miał ESP32 nad Pico W jest WiFi i Bluetooth.

Ale tak już nie jest. Pico W ma teraz WiFi i choć chip WLAN może robić Bluetooth, to od początku lipca nie jest on jeszcze włączony.

Tak więc, jeśli potrzebujesz teraz obsługi Bluetooth, to lepiej zrobisz z ESP32.

To powiedziawszy, ESP32 ma inne zalety, w tym różne częstotliwości procesora, w tym dwie szybsze prędkości w porównaniu z Pico W.

ESP32 jest na rynku znacznie dłużej, co sprawia, że jest o wiele więcej projektów, które są na nim zbudowane. Jego dokumentacja, eksperymenty i dodatki są o wiele lepsze od Raspberry Pi Pico.

Raspberry Pi Pico WEspressif ESP32-PICO-KIT
Częstotliwość CPU133MHz80/160/240MHz
MikrokontrolerRP2040Xtensa LX6
Rdzenie22
Pamięć flash2MB4MB
RAM264KB520KB
GPIO26 (do wykorzystania przez użytkownika)36
Czy ma USB?microUSBmicroUSB
WiFi i/lub BT?Tak, oba, BT nie jest włączony w momencie uruchomienia.Tak, obie
Napięcie1,8 - 5,5V lub 5V USB3.3V (przez piny) lub 5V przez USB lub 5V-12V (przez regulator napięcia)
Rozmiar51x21mm52x20mm
JęzykiMicroPython / CMicroPython / C

Opinie społeczności na temat Pico W vs ESP32

Rozpoczęliśmy wątek na forum Raspberry Pi o tym dokładnym temacie i oto kilka wspaniałych myśli od społeczności:

Użytkownik forum Raspberry Pi - scruss stwierdził, że ESP32 ma większą moc obliczeniową w wariancie 160MHz, podając 1639 pystonów/sekundę vs 1243 na Pico W. 240MHz jest jeszcze szybszy.

Wymienił też następujące powody, dla których ESP32 miałby triumfować nad Pico W.

  • timery sprzętowe
  • naprawdę niezły ADC, z możliwością dostrojenia zakresu i bezpośredniego odczytu napięcia
  • 2-kanałowy DAC
  • dotyk pojemnościowy
  • Czujnik magnetyczny z efektem Halla (machaj do niego magnesem, a on powie ci, że machasz do niego magnesem)
  • Kanały RMT dla dość sprytnego PWM

Z drugiej strony, użytkownik skotty101 ma to do powiedzenia o zaletach Pico W:

  • Środowisko rozwojowe
  • Wspieranie Raspberry Pi i jego celów edukacyjnych
  • Rozpowszechnienie i wielkość społeczności.
  • Łatwość umieszczenia nowej binarki na Pico

"Lubię ESP32, ale nienawidzę konieczności pobierania esptool za każdym razem, gdy ponownie uruchamiam porzucony projekt. Mam tak mało czasu, że MicroPython na Pico jest dla mnie szybki i łatwy do ruszenia z miejsca" - powiedział scotty101.

Wreszcie, bystry22 przedstawił wyważony pogląd na to, co widział w obu zarządach. Poza argumentami przedstawionymi powyżej, oto dodatkowe punkty:

Raspberry Pi Pico W posiada programowalne IO (PIO).

cleverca22 mówi, że jego zdaniem platforma ESP ma specjalną jednostkę zarządzania pamięcią pomiędzy XIP a flash, dzięki czemu można przechowywać wiele aplikacji jednocześnie, a to pozwala na rollbacki.

A platforma ESP kontroluje WiFi i Bluetooth bezpośrednio z procesora, co pozwala na niestandardowe działania RF, podczas gdy Pico W's jest prawdopodobnie zarządzany za pomocą zamkniętego blobu, stąd pozwala tylko na zatwierdzone działania RF.

Pico W vs Zero 2 W

Być może przewracasz oczami, bo uważasz, że porównujemy jabłka do pomarańczy.

Ale czy naprawdę jesteśmy?

Porozmawiajmy tutaj o podstawowej różnicy. Raspberry Pi Pico W to mikrokontroler, natomiast Raspberry Pi Zero 2 W to mikrokomputer.

Mówiąc prościej, Raspberry Pi Pico W jest zaprojektowane do uruchamiania jednej rzeczy. Zero 2 W ma być bardziej dynamiczny - może uruchamiać wiele zadań, różne OS-y i można go programować w wielu językach.

Oto tabela wyjaśniająca różnice:

Czy to...Mikrokontroler (np. Raspberry Pi Pico W)Mikrokomputer (np. Raspberry Pi Zero 2 W)
Uruchomić serwer?NieTak
Mrugać diodą?Znacznie szybciej od początku do końcaDużo wolniej; dużo więcej procesów do przejścia
Auto-restart programu przy awarii zasilania?TakNie domyślnie
Graj w gry wideoNie bez dużego wysiłkuTak
Działa na baterie?Tak, znacznie prawdopodobne jest, że średnio wytrzyma dłużejTak, nie trwa tak długo jak przeciętnie
Zarządzanie ciepłem?Zazwyczaj nie są wymaganeRadiatory, wentylatory, obudowy termoprzewodzące
Koszty?NiżejWyżej
Rozmiar?MniejszaWiększa

WiFi teraz już nie jest zaletą Pi Zero W

Teraz jedną z rzeczy, która naprawdę przyciągnęła niektórych użytkowników do serii Pi Zero jest zintegrowana sieć bezprzewodowa.

W przeszłości trzeba było kupić akcesorium, aby nadać oryginalnemu Pico możliwości bezprzewodowe. To był całkiem spory punkt, który popychał ludzi do używania Zero jako zamiennika dla swoich projektów.

To powiedziawszy, z Pico W posiadającym teraz sieć bezprzewodową, przewaga, którą miał Zero W już nie istnieje.

Bluetooth pozostaje zaletą Pi Zero W... na razie

W momencie premiery Pico W ma w sobie chip Bluetooth, ale nie został on włączony.

Raspberry Pi powiedział, że umożliwią to w przyszłości. Kiedykolwiek to będzie.

Tak więc, jak na razie, jeśli potrzebujesz Bluetooth, Pi Zero W jest lepszą opcją.

Raspberry Pi Zero 2 W niedobory = przewaga Pico W

Kolejnym elementem, który daje Pico W taką przewagę nad Zero 2 W jest jego dostępność.

W pierwszych dwóch tygodniach od premiery, zapas był jeszcze dostępny w wielu sklepach, w tym w naszym. To z pewnością nie odzwierciedla sytuacji w przypadku Pi Zero 2, który jest nastawiony na niską podaż przez resztę 2022 roku.

Oczywiście, jeśli masz konto PiCockpit, użytkownicy z UE/Szwajcarii można również użyć naszego narzędzia do rezerwacji, aby zarezerwować następny Raspberry Pi.

Jak się zdecydować?

Oto logika, której używam, aby zdecydować, którego użyć:

ScenariuszCo kupić
Jestem lepszy w języku innym niż C/PythonZero
Mam "nieograniczoną" moc (tzn. przypadek użycia bez energii słonecznej lub baterii)Zero
Muszę zapisywać dane (np. rejestry temperatury)Zero
Muszę użyć kameryZero
Chcę mieć wyjście GUI/videoZero
Potrzebuję WiFiAlbo
Potrzebuję BluetoothZero (od lipca 2022 r.)
Potrzebuję najbardziej kompaktowej konfiguracjiPico W
Potrzebuję szybkiego restartu w przypadku awarii/braku zasilaniaPico W
Nie chcę konfigurować systemu operacyjnegoPico W
Chcę tańszą opcjęPico W

Pod mikroskopem

Peter Mount nakręcił ten filmik z Pico W...

Jak Raspberry Pi teasowało premierę Pico W?

Według Raspberry Pi nikt nie dostał teasera, którym była krowa z grafiką Raspberry Pi na całej powierzchni.

Teaser Raspberry Pi dla Pico W

Powiedzieli: "Nadal nie możemy uwierzyć, że żaden z was nie dostał bardzo abstrakcyjnego teasera, który upuściliśmy na Twitterze w noc przed uruchomieniem Pico W. To jest krowa. Rozumiecie?"

Raspberry Pi Cow rearanżowane to Raspberry Pico W.

Chyba teraz, kiedy kot wyszedł już z worka, mówienie o tym jest całkiem niezłe moot.

Więcej informacji

Mamy encyklopedia informacji dla zwykłego Raspberry Pi Pico które pomogą Ci rozpocząć pracę z Raspberry Pi Pico W. Tutaj możesz rozpocząć naukę o Raspberry Pi Pico.

KLIKNIJ TUTAJ: Wszystko, co powinieneś wiedzieć o Raspberry Pi Pico

Istnieje również ogólna i szczegółowa dokumentacja dostępna prosto z Raspberry Pi:

Komentarzy: 11

  1. Pico User lipiec 15, 2022 o 11:12 am

    Złącza debugowe Pico H od strony kabla/przewodów to właściwie
    SHR-03V-S (bez kołnierza) lub SHR-03V-S-B (z kołnierzem).

    https://www.jst.co.uk/downloads/series/eSH_(21-03-24).pdf
    https://shop.pimoroni.com/products/pimoroni-pico-debug-cable
    https://kabel-me.eu/details/48010

  2. JJE październik 30, 2022 o 2:14 pm

    Świetna praca, byłaby jeszcze bardziej przydatna, gdybyś nie przepchnął kodu python przez translator.

    • Xuyun Zeng listopad 4, 2022 o 8:15 pm

      Dzięki JJE za zwrócenie nam na to uwagi. To zdecydowanie coś, nad czym warto popracować.

  3. iApe marzec 4, 2023 o 11:05 pm

    Danke!

    Endlich funktioniert es!

  4. Andrew kwiecień 2, 2023 o 8:57 pm

    Dziękuję za udostępnienie tych informacji społeczności, okazały się bardzo pomocne.

  5. [...] już artykuł obejmujący wszystko, co musisz wiedzieć o Pico W. Ponadto, jeśli jesteś początkującym z Pico W, możesz sprawdzić to [...]

  6. [...] Podczas gdy świat tworzenia stron internetowych przeszedł do korzystania z frameworków frontendowych, takich jak React, Angular lub Vue, obsługa stron internetowych na Raspberry Pi Pico wymaga zazwyczaj znajomości pisania waniliowego JavaScript. Jeśli spojrzysz na nasze samouczki w naszym mega artykule Pico W, zobaczysz. [...]

  7. [...] W chwili pisania tego tekstu, Pico WH (H dla nagłówków) nie został jeszcze wydany. Nasz mega-artykuł Pico W śledzi jego wydanie. [...]

  8. [...] Kliknij ten link, aby dowiedzieć się, jak go zaktualizować. Link pokaże również szybką metodę rozgłaszania własnej sieci WiFi. [...]

  9. [...] Pod wieloma względami miernik wilgotności roślin jest idealnym towarzyszem programu do wysyłania wiadomości tekstowych, który omówiliśmy wcześniej na tym blogu. [...]

Pozostaw komentarz