Tudo sobre o Raspberry Pi Pico W

Hoje, 30 de Junho de 2022 às 8.00 horas, hora do Reino Unido, Raspberry Pi lançou o Pico W.

Aqui está tudo (que sabemos) sobre o mais recente Raspberry Pi.

Conteúdo esconder

Esta nova variante do amado Pico tem capacidades sem fios graças ao chip sem fios CYW43439.
Tal como o Pico, no coração de cada Pico W é o RP2040, que é o primeiro chip de silício de Raspberry Pi.

Para completar, Raspberry Pi também lançou as variantes Pico H e Pico WH.

Nota: se pretende reservar um acelerador Raspberry Pi 4 / 4 GB ou Pi 4 / 8 GB ou Coral USB, e estão localizados dentro da UE + Suíça, dê uma olhada na nossa novíssima funcionalidade PiCockpit, o Ferramenta de Reserva Raspberry Pi - um por cliente, e está numa fila justa em vez de precisar de se apressar quando Pis se torna disponível. Se um número suficiente de pessoas nos perguntar, podemos também disponibilizar o Pico W para reserva.

Variantes de framboesa Pi Pico

VariantePreço Cabeçalhos?Sem fios?Libertação (M/YYY)
Pico$4NãoNão1/21
Pico H$5SimNão6/22
Pico W$6NãoSim6/22
Pico WH$7SimSimAlgum tempo em 2022

Pico H - $5 - A Raspberry Pi Pico com cabeçalhos pré-soldados

Pico W - $6 - A Raspberry Pi Pico com wireless

Pico WH - $7 - Um Pico de framboesa Pi Pico com cabeçalhos tanto sem fios como pré-soldados.

O Pico H e o Pico W foram lançados em 30 de Junho de 2022, enquanto o Pico WH será lançado em Agosto de 2022.

O Pico WH tem uma linha temporal de lançamento actualizada que é "mais tarde este ano" em 2022, de acordo com Alasdair Allen de Raspberry Pi'sque disse: "Mais tarde este ano, provavelmente verão a chegada do Pico WH, e o meu palpite é que poderão descobrir o que é aquilo que vocês próprios são".

Aqui está uma actualização sobre o Pico WH em Outubro. Recebi uma actualização de Alasdair Allen que disse,

"Está terrivelmente perto de sair [...] e deve sair 'a qualquer momento'. Queríamos ter a certeza de que tínhamos um volume decente antes de o empurrarmos para fora da porta para que as pessoas o pudessem comprar facilmente".

Neste post, vamos explicar as semelhanças e diferenças entre o Pico W e o Pico. É claro que também apresentaremos alguns projectos frescos do Pico W.

O Pico H é apenas um Pico tradicional com cabeçalhos pré-soldados?

Raspberry Pi Pico vs Pico H. A principal diferença são os cabeçalhos de depuração SWD.

Em essência, sim.

Mas há uma ligeira diferença nos cabeçalhos de depuração SWD e não há castelação (buracos de semi-círculo na borda) nos pinos.

Para utilizar o cabeçalho de depuração SWD no Pico H, é necessário utilizar estes conectores: Conector JST 'SH' de 3 pinos de passo de 1,0mm, do tipo BM03B-SRSS-TB (entrada superior) ou SM03B-SRSS-TB (entrada lateral), ou alternativas compatíveis.

Os pinos de terra são também nitidamente quadrados no Pico H, em vez de serem um buraco redondo regular.

Onde posso comprar um Pico W?

Pegue no seu Pico W na nossa loja.

Conteúdo esconder

Para uma rápida visão geral este vídeo.

Hardware

Interface sem fios Pico W (CYW43439)

O Infineon CYW43439 suporta IEEE 802.11 b/g/n LAN sem fios e Bluetooth 5.2. No lançamento, apenas a LAN sem fios será suportada.

Ao contrário do Raspberry Pi 4, o Pico W tem apenas uma banda de 2,4 GHz Wi-Fi 4. O Pi 4 tem banda dupla Wi-Fi 2,4/5 GHz, mas em relação ao Bluetooth, o Pico W brilha mais que o carro-chefe do Raspberry Pi, que só tem Bluetooth 5.0. O CYW43439 suporta BLE e uma única antena partilhada entre Wi-Fi e Bluetooth.

Nota O Bluetooth ainda não está disponível. Será provavelmente adicionado numa futura actualização de firmware.

Se olhar mais de perto para o Pico W, notará a antena PCB em forma de triângulo semelhante à Raspberry Pi 4. Raspberry Pi utiliza uma antena de bordo licenciada pela ABRACON.

Antena PCB
Antena PCB

Isso significa que não é necessária antena adicional. A interface sem fios é ligada via SPI ao RP2040.

De acordo com a ficha oficial, o Infineon CYW43439 tem também as seguintes características:

- WiFi 4 (802.11n), Banda única (2,4 GHz)
- WPA3
- SoftAP (Até 4 clientes)

A ficha oficial também sugere que para um melhor desempenho sem fios, a antena deve ser colocada em espaço livre.

Colocar metal por baixo ou perto da antena pode reduzir o seu desempenho em ganho e largura de banda.

Contudo, a adição de metal ligado à terra aos lados da antena pode melhorar a largura de banda da antena.

O Pico W pode ser transformado num ponto de acesso WiFi?

Sim, porque o seu Infineon CYW43439 suporta SoftAP (até 4 clientes).

De facto, também pode transformar o Pico W num portal cativo!

Siga o tutorial abaixo.

portal cativo de framboesa pi pico w criado

Processamento de hardware

Com excepção da interface sem fios, o hardware é quase idêntico ao do Pico original.

  • Microcontrolador RP2040 com 2MB de memória flash
  • Interfaces sem fios de banda única de 2,4GHz a bordo (802.11n)
  • Porta micro USB B para alimentação e dados (e para reprogramação do flash)
  • 40 pinos de 21mmx51mm 'DIP' estilo 1mm de espessura PCB com 0.1″ pinos de furo passante também com castelas de borda
  • Expõe 26 I/O multifunções 3.3V de uso geral (GPIO)
  • 23 As GPIO são apenas digitais, sendo três também capazes de ADC
  • Pode ser montado à superfície como um módulo
  • Porta debug de fio série ARM (SWD) de 3 pinos
  • Arquitectura simples mas altamente flexível de fornecimento de energia
  • Várias opções para alimentar facilmente a unidade a partir de micro USB, fontes externas ou baterias
  • Córtex dual-core M0+ a até 133MHz
  • O PLL no chip permite uma frequência central variável
  • 264kByte SRAM multi-bancos de alto desempenho
  • Flash Quad-SPI externo com eXecute In Place (XIP) e 16kByte on-chip cache
  • Tecido de autocarros de barramento completo de alto desempenho
  • USB1.1 incorporado (dispositivo ou anfitrião)
  • 30 E/S multifunções de uso geral (quatro podem ser usadas para ADC)
  • 1.8-3.3V Tensão I/O
  • Conversor analógico a digital de 12 bits 500ksps (ADC)
  • Vários periféricos digitais
  • 2 × UART, 2 × I2C, 2 × SPI, 16 × canais PWM
  • 1 × temporizador com 4 alarmes, 1 × relógio em tempo real
  • 2 × blocos de E/S (PIO) programáveis, 8 máquinas de estado no total

O pino externo quase idêntico ao do Raspberry Pi Pico.

Pico W Pinout
Pico W Pinout

A única diferença é com os pinos de depuração LED e SWD.

O LED a bordo é controlado através do pino WL_GPIO0 do chip Infineon 43439. No Pico, o LED foi ligado ao Pino 25 da GPIO.

Além disso, os pinos debug SWD foram movidos para o centro da placa, para criar espaço para a antena PCB. Pode encontrá-los entre o RP2040 e o CYW43439 e a ordem da esquerda para a direita ainda é SWCLK, GND, SWDIO.

Software

Uma vez que o Pico W é baseado no chip RP2040, é possível programá-lo tal como o Pico. Isso significa que pode programá-lo em C/C++ e MicroPython e que o código escrito para o Pico (que não utiliza o LED de bordo) deve funcionar no Pico W.

Raspberry Pi fornece um Ligação à Internet com Raspberry Pi Pico W''. guia para C/C++ e MicroPython. Para facilitar o seu início com o Pico W, também elaboramos alguns projectos de exemplo.

C/C++ e o Pico-SDK

Existe um actualização para o Pico-SDK para permitir as capacidades sem fios do seu Pico W. A configuração e utilização é exactamente a mesma que com o Pico. Ver o nosso vídeo para começar com o Pico W e C/C+++.

O Pico-SDK actualizado também contém alguns exemplos para uso sem fios.

MicroPython e Thonny

A forma mais conveniente de utilizar MicroPython com o Pico W é utilizar o Thonny IDE. Raspberry Pi lançou um novo porto MicroPython para o Pico W.

Nota MicroPython é específico da direcção. Assim, existem diferentes (e incompatíveis) versões MicroPython para o Pico e o Pico W. Certifique-se de utilizar sempre a versão correcta para a sua prancha.

Dito isto, a forma de programação do Pico W é exactamente a mesma, portanto se já utilizou o Pico com MicroPython antes, deve ser uma brisa.

Pico H e Pico WH

Como mencionado, Raspberry Pi também lançou o Pico H e o Pico WH. O "H" adicionado ao nome significa que vem com cabeçalhos pré-soldados. O Pico H é como o nosso Pico Comfort, mas para o SWD debug Pins Raspberry Pi usa um cabeçalho debug JTAG horizontal. O Pico WH irá provavelmente utilizar as mesmas duas filas de cabeçalhos 1×20 e alguns cabeçalhos verticais para os pinos de depuração.

Começar com o Raspberry Pi Pico W

Esta secção irá destacar truques e padrões simples que o ajudarão a começar com o seu Raspberry Pi Pico W.

Pico de framboesa Pi Pico W pinout

Raspberry Pi Pico W pinout (imagem da ficha de dados oficial)

A piscar o MicroPython UF2

Uma tarefa de configuração fundamental que precisará de fazer é fazer piscar o MicroPython UF2 no seu Pico W.

Primeiro, descarregue aqui o ficheiro UF2 feito especificamente para o Raspberry Pi Pico W. Em alternativa, pode encontrar aqui as construções nocturnas.

Note que não pode utilizar o UF2 do Raspberry Pi Pico original.

Prima e mantenha premido o botão BOOTSEL, depois ligue o seu USB ao Raspberry Pi Pico W.
Prima e mantenha premido o botão BOOTSEL, depois ligue o seu USB ao Raspberry Pi Pico W.

Para carregar o ficheiro UF2, terá de premir e manter premido o botão BOOTSEL e depois ligar o USB.

Verá um novo volume chamado RPI-RP2 no seu explorador de ficheiros.

Copiar o ficheiro UF2 para essa unidade.

Desligar-se-á automaticamente após o carregamento.

É isso mesmo! O seu Raspberry Pi Pico W está agora pronto para aceitar o código MicroPython.

Para o próximo passo...

Instalação do Thonny IDE

Thonny a gerir o projecto do nosso principiante (ver abaixo)

A maneira mais fácil de executar o código MicroPython e aceder a uma concha no Raspberry Pi Pico W é utilizar a IDE Thonny.

Thonny vem por defeito no SO Raspberry Pi. No entanto, poderá querer instalá-lo no seu computador principal para sua conveniência.

Eis como: ir para https://thonny.org/ e poderá encontrar as últimas versões na página principal.

Você provavelmente será saudado por uma janela pop-up pedindo-lhe para atualizar. Vá em frente com isso.

A atualização correu bem quando eu executei Thonny no meu sistema operacional Raspberry Pi, porém, no Windows, houve um erro dizendo "SSL: CERTIFICATE_VERIFY_FAILED".

Você pode corrigir isso baixando este certificado (https://letsencrypt.org/certs/lets-encrypt-r3.der), depois clique com o botão direito do rato no ficheiro descarregado e "Install Certificate" e não encontrará mais este erro.

Assegure-se de que escolheu "MicroPython (Raspberry Pi Pico)" no canto inferior direito.

Carregando ficheiros para o seu Raspberry Pi Pico W

Carregue ficheiros no seu Raspberry Pi Pico W, clicando em Carregar para /

Eis como pode carregar os seus ficheiros MicroPython no Raspberry Pi Pico W com Thonny.

Ligue o seu Raspberry Pi Pico W.

Em Thonny, vá para Ver > Ficheiros.

Verá duas secções. Ficheiros no seu computador no topo e ficheiros no Raspberry Pi Pico W.

Clique com o botão direito do rato sobre os ficheiros que deseja carregar e seleccione Carregar para /

LED de piscar a bordo

Uma diferença fundamental entre o Raspberry Pi Pico original e o Pico W é como se piscaria o LED a bordo.

No passado, controlava o LED, utilizando este código:

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

No entanto, no Raspberry Pi Pico W, utilizaria "LED" em vez de 25.

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

Assim, a fim de piscar o LED a bordo, escreverá este código:

import machine
import time

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

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

Guarde isto como main.py e funcionará automaticamente quando o Pico W for alimentado.

Ligação a WiFi

Segue-se um código simplificado que lhe permitirá

  • Ligar a WiFi
  • Tempo limite de 10 segundos
  • Imprimir "À espera de ligação" enquanto se liga à rede definida nas variáveis ssid e pw
  • Iluminar o LED de bordo após uma ligação bem sucedida
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()

Num projecto do mundo real, seria preferível criar um ficheiro separado (por exemplo, secrets.py) e armazenar o ssid e pw e depois importá-la para o ficheiro principal.

Também não há muito feedback com este código nem qualquer manipulação de erros. Se for bem sucedido, recebe um LED aceso. Se não tiver, não recebe qualquer feedback.

Assim, aqui está uma forma mais elegante de se ligar a uma rede.

O seguinte código ajusta-se às diferenças regionais no rp2.país("DE"). Mude isto para o seu país, tal como "GB", "US", etc.

Quando se ligar com sucesso a uma rede WiFi, verá três piscadelas do LED de bordo após uma ligação bem sucedida. Qualquer outro número de pestanejos significará algo mais, com base no seguinte número de pestanejos:

# 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',
    }

Servir uma página web sobre IP local

Para servir uma página web utilizando o Raspberry Pi Pico W, necessitará de três ficheiros.

  • main.py - a maior parte do código (que corre automaticamente no Pico W)
  • secrets.py - contendo ssid e pw
  • index.html - contendo a página web que será servida

main.py irá ligar-se à sua rede WiFi, definida em secrets.py. Depois, abrirá uma tomada que escutará quaisquer ligações ao Raspberry Pi Pico W.

Se alguém se ligar, entregará a página web, denominada index.html.

Aqui está o código para main.py e index.html. secrets.py pode ser retirado do exemplo anterior.

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>

Difusão de uma rede WiFi (ponto de acesso SoftAP)

Estou a escrever isto em meados de Julho de 2022, por isso as coisas estão a mudar rapidamente.

Se ainda não exibiu o seu Raspberry Pi Pico W com o mais recente MicroPython UF2, então faça-o agora que os engenheiros do Raspberry Pi estão a actualizá-lo neste preciso momento. Obtenha aqui a construção mais recente.

A última construção nocturna, lançada a 15 de Julho, tem várias actualizações. Para uma, permite-lhe proteger a sua rede WiFi com uma palavra-passe (anteriormente estava quebrada).

Existem alguns bugs. Por exemplo, não fui capaz de mudar o nome SSID parando e executando o guião em Thonny. Tive de fazer um reset mais difícil puxando o USB do Pico W.

A parte crucial para criar um ponto de acesso é este segmento aqui:

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())
Ponto de acesso transmitido pelo Raspberry Pico W. Se não consegue ver o seu AP tal como o nomeou, tente puxar a ficha USB e voltar a ligar o Pico W.

Aqui está um resumo completo do chefe de documentação de Raspberry Pi, Alasdair Alleno que faz do seu Pico W um ponto de acesso com SSID MicroPython-AP, senha 123456789.

Quando se ligar a ela, enviará uma página web com "Olá do 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')

Tutoriais para principiantes do Raspberry Pi Pico W

Compilámos alguns tutoriais para principiantes para o ajudar a aprender sobre o Raspberry Pi Pico W.

Mega tutorial do Raspberry Pi Pico W

tutorial de componentes de framboesa pi pico w

Para principiantes absolutos com um kit de componentes, este tutorial irá guiá-lo através da interacção com os seus componentes sem fios.

Este tutorial está especificamente centrado no Pico W, o que significa que tenta utilizar o módulo WiFi tanto quanto possível. Assim, em vez de botões, vamos utilizar um navegador da web com botões virtuais para controlar LEDs, buzzers. Utilizaremos um navegador para visualizar dados de temperatura e distância em vez de um LCD.

CLIQUE AQUI: Tutorial de componentes para principiantes do Raspberry Pi Pico W

Controlo Pico W a bordo LED com um servidor web

Raspberry Pi Pico W controlo a bordo LED com servidor web

Este é o tutorial mais básico que o ajudará a compreender como ligar o seu Raspberry Pi Pico W a WiFi, lançar um servidor web e controlar o LED a bordo com o servidor web.

Uma página web será servida com um botão "on/off" que pode ser usado para controlar o LED de bordo.

Este tutorial constitui a base para muitos outros projectos que requerem controlo remoto sobre WiFi.

CLIQUE AQUI: Controlo Pico W a bordo LED com um serviço webr

Transmitir dados do sensor via servidor web no Raspberry Pi Pico W

Raspberry Pi Pico W tutorial dados do sensor de fluxo

Usando o acelerómetro ADXL343, este tutorial mostrar-lhe-á como actualizar dinamicamente as leituras numa página web que é servida pelo seu Raspberry Pi Pico W.

A página web é actualizada a cada segundo quando um cliente visita o endereço IP do Pico W. Há também uma função de dados digitais da web que é activada quando o ADXL343 é tocado.

Aprenderá a utilizar bibliotecas, a configurar WiFi, a servir uma página web e a exibir os valores do sensor na página web.

CLIQUE AQUI: Transmissão de dados de sensores via WiFi com Raspberry Pi Pico W

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

Raspberry Pi Pico W projecta campainha WiFi e notificação

Este tutorial ensinar-lhe-á como utilizar o Raspberry Pi Pico W para filmar um pedido HTTP.

Utilizaremos um botão para simular uma campainha de porta. Quando premido, o botão accionará o Pico W para atingir o ponto final do IFTTT, o que desencadeará então uma notificação por e-mail ou notificação de aplicação.

CLIQUE AQUI: Raspberry Pi Pico W Wi-Fi Doorbell tutorial (pedidos HTTP & IFTTT)

Estação meteorológica remota Raspberry Pi Pico W (alimentada por energia solar e SoftAP)

Estação meteorológica do softap Raspberry Pi Pico W

Neste tutorial, aprenda a transmitir um ponto de acesso SoftAP que transmite dados da estação meteorológica sem fios e alimenta-a com energia solar!

CLIQUE AQUI: Estação meteorológica remota Raspberry Pi Pico W (alimentada por energia solar e SoftAP)

Controle o seu Pico W sem fios com o PiCockpit!

Pode controlar e obter dados do seu Pico W sem fios, utilizando o PiCockpit.

PiCockpit permite-lhe obter valores, controlar e utilizar PWM através de uma GUI através da sua applet GPIO.

Também pode ver as estatísticas do seu Pico W através do applet PiStats.

Integrar o PiCockpit no seu Pico W é super fácil.

Siga este tutorial.

Escreva ainda menos código com o PiCockpit e o Pico W

PiCockpit facilita-lhe o controlo dos seus pinos GPIO sem ter de escrever qualquer código.

Se olhar para tutorial número 2, repare quanto código é necessário apenas para alternar um LED.

Com a nossa nova integração no Pico W, PiCockpit torna-o muito mais fácil, uma vez que não é necessário programar absolutamente nada. Nem sequer a configuração WiFi - isso é feito com o nosso assistente de configuração.

10. Controlo LED simples com PiCockpit e Pico W

Se tiver o seu LED configurado exactamente como eu o fiz no tutorial nº 2, então tudo o que lhe resta é configurá-lo no PiCockpit.

Se estiver a codificá-lo, irá declarar qual o pino do seu LED que está a usar led = machine.Pin(2, machine.Pin.OUT)

No PiCockpit, irá para a sua applet GPIO, e o pergaminho para "Saída GPIO (On/Off)".

Escolha BCM02 no menu suspenso porque o seu LED está no GPIO 2.

Em seguida, na coluna "Controlo", alternar o interruptor para ligar o LED.

Pode também utilizar facilmente a secção de Software PWM abaixo para controlar o brilho do seu LED.

Note que terá de remover a configuração anterior porque não pode ter duas saídas na mesma GPIO.

Ao alternar o selector "Control", notará o brilho da mudança do LED.

picockpit gpio pwm controlo remoto

11. Pico W, ventilador 5V e um transistor, controlado por PiCockpit

Vamos tentar algo um pouco mais abrangente, mas usando o mesmo alternador de saída GPIO.

Para ilustrar alguns casos de utilização no mundo real, vou alimentar um ventilador de 5V usando o PiCockpit.

Este é um ventilador de 5V de baixa potência retirado do meu Raspberry Pi 4, por isso está bem dentro das capacidades de saída do Raspberry Pi Pico W.

Dito isto, por ser um ventilador de 5V, não posso usar um pino GPIO. Em componentes menos potentes, como um LED, pode-se fazer com que a GPIO faça o duplo dever de fornecer energia ao componente e ser o "interruptor" que o liga e desliga.

Mas o ventilador de 5V exigiria uma tensão demasiado alta. Portanto, a próxima melhor maneira é colocar um transístor no meio.

Isto permite-me fornecer 5V ao ventilador, garantindo ao mesmo tempo que o posso ligar e desligar.

Mais uma vez, por causa do PiCockpit, fiz uma programação zero. Só fiz o hardware, que está ligado da seguinte forma:

O ventilador é um ventilador de 5V/0.12A, ligado a 5V na extremidade positiva (fio vermelho), e o fio negativo vai para a perna emissora do transístor.

O transistor é um transistor PN2222 (NPN), o que significa que se liga quando recebe um sinal elevado.

Da esquerda para a direita, com a parte semi-circulada virada para longe de si, as pernas são o Emissor, Base e Colector.

A perna Base é ligada a uma resistência de 1K, depois ligada à GPIO 15.

A perna do Colector está ligada à terra.

Configuração do PiCockpit para trabalhar com transístor

Mais uma vez, super fácil.

Ir para o menu dropdown na secção Saída GPIO e adicionar BCM15.

Uma vez dentro, pode clicar na seta para baixo e mudar os Nomes de Estado para "ventilador desligado" e "ventilador ligado".

Alterne o interruptor de controlo e deverá ver o ventilador a ligar-se.

Também pode usar o PiStats para ver a queda de temperaturas no seu tabuleiro.

Projectos Pico W

Com o Raspberry Pi Pico W pode fazer tudo o que pode fazer com o Pico. Mas pode torná-lo melhor adicionando controlo sem fios ou saída.

A maioria dos projectos requer algum hardware adicional, por isso temos a nossa Kits Pico.

Burgerbot: melhorado de um Pico normal

Kevin McAleer construiu um Burgerbot com o Pico normal e quando o Pico W saiu, aproveitou a oportunidade para o actualizar.

No seu vídeo do YouTube, ele cobre como usa o Pico W, Node-Red e actualiza o seu código para ligar o Pico W ao Burgerbot via MQTT.

Kevin escolheu Node-Red para construir um painel de instrumentos e programar as suas mensagens MQTT porque torna o processo mais fácil.

robot kevin mcaleer hamburguerbot
Kevin McAleer's Burgerbot (imagem de ecrã do YouTube).

randomizador de imagem e-paper kitten

Placekitten é um sítio web que hospeda imagens de gatos giros para utilização como espaço reservado aos web designers.

O que Phil Howard fez foi levar o Pico W ao website do Ping Placekitten e carregar uma fotografia aleatória de um gato no seu ecrã e-ink.

Screenshot de Placekitten, onde se pode obter fotos de gatos através de pingar um URL.

Pimoroni faz o Pico Inky Pack que é um ecrã 2.9″ e-ink que encaixa perfeitamente com um Pico W (com cabeçalhos soldados).

Uma vez ligado ao WiFi, Phil pingou um URL a fim de obter uma imagem a mostrar no ecrã e-ink. O Pico Inky tem um ecrã de 296x128px, o que significa que se utilizasse a url http://placekitten.com/296/128, obterá uma imagem que se encaixa perfeitamente no visor.

Faça com que as suas plantas lhe enviem mensagens de texto

Quando os seus amigos têm sede, enviam-lhe uma mensagem de texto para lhe perguntar se quer ir tomar uma bebida.

Porque não obter a mesma experiência com as plantas da sua casa?

Sandeep Mistry fez exactamente isso com o Raspberry Pi Pico W, Pimoroni Grow Kit e o Twilio SMS API.

Acima de tudo, a planta dir-lhe-á quando precisou de água. O sensor emite um sinal de impulso digital com uma frequência entre 1 Hz e 30 Hz. Se estiver seco, terá uma alta frequência, e isto desencadeia o Pico W a pingar o Twilio SMS API para enviar uma mensagem.

Ver o guia completo aqui.

Raspberry Pi Pico W vs Espressif ESP32

Que mudança de jogo o Raspberry Pi Pico W é.

Quando comparámos o Raspberry Pi Pico com o ESP32, escolhemos o PICO-KIT porque tinha o factor de forma mais semelhante ao Pico.

A grande vantagem que o ESP32 tinha sobre o Pico W é o WiFi e o Bluetooth.

Mas já não é esse o caso. O Pico W tem agora WiFi e enquanto o chip WLAN pode fazer Bluetooth, a partir do início de Julho, ainda não está activado.

Portanto, se precisar da capacidade Bluetooth agora, então fará melhor com o ESP32.

Dito isto, o ESP32 tem outras vantagens, incluindo frequências de CPU variáveis, incluindo duas velocidades mais rápidas versus o Pico W.

A ESP32 também está no mercado há muito mais tempo, levando a que haja muitos mais projectos que nela se baseiem. A sua documentação, experimentação e complementos estão quilómetros à frente da gama Raspberry Pi Pico.

Framboesa Pi Pico WEspressif ESP32-PICO-KIT
Frequência da CPU133MHz80/160/240MHz
MicrocontroladorRP2040Xtensa LX6
Núcleos22
Memória flash2MB4MB
RAM264KB520KB
GPIO26 (utilizável pelo utilizador)36
Tem USB?microUSBmicroUSB
WiFi e/ou BT?Sim, ambos, BT não activado no lançamentoSim, ambos.
Voltagem1.8 - 5.5V ou 5V USB3.3V (via pinos) ou 5V via USB ou 5V-12V (via regulador de voltagem)
Tamanho51x21mm52x20mm
IdiomasMicroPython / CMicroPython / C

Pensamentos comunitários sobre o Pico W vs ESP32

Começámos um tópico no fórum Raspberry Pi sobre este tópico exacto e aqui estão alguns grandes pensamentos da comunidade:

Raspberry Pi fórum scruss utilizador disse que o ESP32 tem mais poder de processamento com a variante de 160MHz, citando 1639 pedras/segundo contra 1243 no Pico W. Os 240MHz são ainda mais rápidos.

Também enumerou as seguintes razões pelas quais o ESP32 triunfaria sobre o Pico W.

  • temporizadores de hardware
  • ADC realmente agradável, com afinação de alcance e leitura directa da tensão
  • DAC de 2 canais
  • toque capacitivo
  • Sensor magnético de efeito Hall (acena com um íman, e pode dizer-lhe que lhe está a acenar com um íman)
  • Canais RMT para PWM bastante inteligentes

Por outro lado, o utilizador scotty101 tem isto a dizer sobre as vantagens do Pico W:

  • Ambiente de desenvolvimento
  • Apoio ao Raspberry Pi e aos seus objectivos educativos
  • Prevalência e a dimensão da comunidade.
  • Facilidade de colocar um novo binário no Pico

"Gosto de ESP32 mas detesto ter de descarregar o esptool de cada vez que reinicio um projecto abandonado. Tenho tão pouco tempo que o MicroPython no Pico é rápido e fácil para mim", disse o scotty101.

Finalmente, cleverca22 deu uma visão equilibrada do que viu em ambas as tábuas. Para além dos argumentos apresentados acima, aqui estão os pontos adicionais:

O Raspberry Pi Pico W tem IO programável (PIO).

cleverca22 diz acreditar que a plataforma ESP tem uma unidade especial de gestão de memória entre o XIP e o flash, para que se possa armazenar múltiplas aplicações ao mesmo tempo e isto permite rollbacks.

E a plataforma ESP controla o WiFi e o Bluetooth directamente a partir do CPU, o que permite acções RF não padronizadas, enquanto que os Pico W's são susceptíveis de ser geridos utilizando um blob de fonte fechada, permitindo assim apenas acções RF aprovadas.

Pico W vs Zero 2 W

Pode estar a rebolar os olhos porque pensa que estamos a comparar maçãs com laranjas.

Mas será que estamos, realmente?

Falemos aqui sobre a diferença fundamental. O Raspberry Pi Pico W é um microcontrolador enquanto o Raspberry Pi Zero 2 W é um microcomputador.

Em termos simples, o Raspberry Pi Pico W foi concebido para executar uma coisa. O Zero 2 W foi concebido para ser mais dinâmico - pode executar múltiplas tarefas, diferentes SOs e pode programá-lo em múltiplas línguas.

Aqui está uma tabela que explica as diferenças:

Será possível...Microcontrolador (por exemplo, Raspberry Pi Pico W)Microcomputador (por exemplo, Raspberry Pi Zero 2 W)
Gerir um servidor?NãoSim
Pestanejar um LED?Muito mais rápido do início ao fim.Muito mais lento; muitos mais processos para passar
Programa de reinício automático em caso de falha de energia?SimNão por omissão
Jogar videojogosNão sem muito esforçoSim
Funciona com bateria?Sim, muito provavelmente vai durar mais tempo em médiaSim, não dura tanto tempo, em média.
Gestão de calor?Não é necessário normalmenteDissipadores de calor, ventiladores, caixas condutoras de calor
Custos?BaixarSuperior
Tamanho?Mais pequenoMaior

WiFi agora já não é a vantagem do Pi Zero W

Agora, uma das coisas que realmente atraiu alguns utilizadores para a série Pi Zero é o wireless integrado.

No passado, era necessário comprar um acessório para dar a capacidade original sem fios do Pico. Era praticamente o ponto que impulsionava as pessoas a usar o Zero como substituto para os seus projectos.

Dito isto, tendo agora o Pico W sem fios, a vantagem de o W Zero já não existir.

O Bluetooth continua a ser uma vantagem Pi Zero W... por agora

No momento do lançamento, o Pico W tem um chip Bluetooth, mas não foi activado.

Raspberry Pi disse que o irão permitir no futuro. Sempre que isso acontecer.

Portanto, a partir de agora, se precisar de Bluetooth, o Pi Zero W é a melhor opção.

Raspberry Pi Zero 2 W = Vantagem Pico W

Outro elemento que dá ao Pico W tal vantagem sobre o Zero 2 W é a sua disponibilidade.

Nas primeiras duas semanas do seu lançamento, o stock ainda estava disponível em muitas lojas, incluindo a nossa. Isto certamente não reflecte a situação para o Pi Zero 2, que está previsto para o resto de 2022.

Claro que, se tiver uma conta PiCockpit, os utilizadores da UE/Suíça pode também utilizar a nossa Ferramenta de Reserva para reservar o seu próximo Raspberry Pi.

Como decidir?

Aqui está a lógica que eu uso para decidir qual usar:

CenárioO que obter
Sou melhor numa língua que não seja C/PythonZero
Eu tenho energia "ilimitada" (ou seja, caso de uso não solar ou bateria)Zero
Preciso de guardar dados (tais como registos de temperatura)Zero
Preciso de usar uma máquina fotográfica.Zero
Quero uma saída GUI/vídeoZero
Preciso de WiFiOu
Preciso de BluetoothZero (a partir de Julho de 2022)
Eu preciso da configuração mais compactaPico W
Preciso de reiniciar rapidamente em caso de falha de energiaPico W
Eu não quero montar um sistema operacional.Pico W
Eu quero a opção mais barata.Pico W

Sob o microscópio

Peter Mount filmou este vídeo do Pico W...

Como é que o Raspberry Pi provocou a libertação do Pico W?

De acordo com Raspberry Pi, ninguém recebeu o teaser que era uma vaca com gráficos de Raspberry Pi por todo o lado.

Teaser de Framboesa Pi's para o Pico W

Eles disseram: "Ainda não podemos acreditar que nenhum de vós tenha recebido o teaser muito abstracto que lançámos no Twitter na noite anterior ao lançamento do Pico W. É uma vaca. Perceberam?"

Raspberry Pi Cow rearranjado é Raspberry Pico W.

Acho que agora que o gato está fora do saco, falar sobre isso é bonito moot.

Mais informações

Nós temos uma enciclopédia de informação para o regular Raspberry Pi Pico que o ajudará a começar com o Raspberry Pi Pico W. Aqui é onde pode começar a aprender sobre o Raspberry Pi Pico.

CLIQUE AQUI: Tudo o que precisa de saber sobre o Raspberry Pi Pico

Há também documentação geral e específica disponível directamente da Raspberry Pi:

4 comentários

  1. Pico User em Julho 15, 2022 às 11:12 am

    Os conectores de depuração Pico H para o lado do cabo/fios são na realidade
    SHR-03V-S (sem flange) ou SHR-03V-S-B (com flange).

    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 em Outubro 30, 2022 às 2:14 pm

    Grande trabalho, seria ainda mais útil, se não se tivesse empurrado o código python através do tradutor.

    • Xuyun Zeng em Novembro 4, 2022 às 8:15 pm

      Obrigado JJE por trazer isto à nossa atenção. É definitivamente algo para se trabalhar.

Deixe um comentário