Todo sobre la Raspberry Pi Pico W

Hoy, 30 de junio de 2022, a las 8.00 AM hora del Reino Unido, Raspberry Pi ha lanzado el Pico W.

Aquí está todo (que sabemos) sobre la más reciente Raspberry Pi.

Contenido ocultar

Esta nueva variante del querido Pico tiene capacidades inalámbricas gracias al chip inalámbrico CYW43439.
Al igual que el Pico, en el corazón de cada Pico W es el RP2040, que es el primer chip de silicio de Raspberry Pi.

Por si fuera poco, Raspberry Pi también lanzó las variantes Pico H y Pico WH.

Nota: si usted está buscando para reservar una Raspberry Pi 4 / 4 GB o Pi 4 / 8 GB o Coral acelerador USB, y se encuentran dentro de la UE + Suiza, echa un vistazo a nuestra nueva característica PiCockpit, el Herramienta de reserva de Raspberry Pi - uno por cliente, y así estarás en una cola justa en lugar de tener que apresurarte cuando Pis esté disponible. Si un número suficiente de personas nos lo pide, es posible que también podamos reservar el Pico W.

Variantes de Raspberry Pi Pico

VariantePrecio ¿Cabezales?¿Inalámbrica?Liberación (M/AA)
Pico$4NoNo1/21
Pico H$5No6/22
Pico W$6No6/22
Pico WH$7En algún momento de 2022

Pico H - $5 - Un Raspberry Pi Pico con cabezales pre-soldados

Pico W - $6 - Una Raspberry Pi Pico con conexión inalámbrica

Pico WH - $7 - Un Raspberry Pi Pico con cabezales inalámbricos y pre-soldados.

El Pico H y el Pico W salieron a la venta el 30 de junio de 2022, mientras que el Pico WH saldrá a la venta en agosto de 2022.

El Pico WH tiene un calendario de lanzamiento actualizado que es "a finales de este año" en 2022, según Alasdair Allen de Raspberry Pique dijo: "A finales de este año probablemente verán la llegada del Pico WH, y mi opinión es que pueden averiguar qué es ustedes mismos".

Aquí hay una actualización sobre el Pico WH en octubre. Tengo una actualización de Alasdair Allen que dijo,

"Está muy cerca de salir a la venta [...] y debería salir 'en cualquier momento'. Queríamos asegurarnos de tener un volumen decente antes de sacarlo a la venta para que la gente pudiera comprarlo fácilmente."

En este post, explicaremos las similitudes y diferencias entre el Pico W y el Pico. Por supuesto, también presentaremos algunos proyectos geniales de Pico W.

¿El Pico H es sólo un Pico tradicional con cabezales pre-soldados?

Raspberry Pi Pico vs Pico H. La principal diferencia son los cabezales de depuración SWD.

En esencia, sí.

Pero hay una ligera diferencia en los cabezales de depuración SWD y no hay castellación (agujeros semicirculares en el borde) en los pines.

Para utilizar el cabezal de depuración SWD en el Pico H, debe utilizar estos conectores: Conector JST 'SH' de 3 patillas y paso de 1,0 mm, ya sea del tipo BM03B-SRSS-TB (entrada superior) o SM03B-SRSS-TB (entrada lateral), o alternativas compatibles.

Las clavijas de tierra también son claramente cuadradas en el Pico H, en lugar de ser un agujero redondo normal.

¿Dónde puedo comprar un Pico W?

Recoge tu Pico W en nuestra tienda.

Contenido ocultar

Para una rápida visión general, vea este video.

Hardware

Interfaz inalámbrica Pico W (CYW43439)

El Infineon CYW43439 es compatible con la LAN inalámbrica IEEE 802.11 b/g/n y el Bluetooth 5.2. En el momento del lanzamiento, solo será compatible con la LAN inalámbrica.

A diferencia de la Raspberry Pi 4, la Pico W solo tiene Wi-Fi de banda única de 2,4 GHz. La Pi 4 tiene Wi-Fi de doble banda de 2,4/5 GHz, pero en cuanto al Bluetooth, la Pico W supera al buque insignia de la Raspberry Pi, que solo tiene Bluetooth 5.0. El CYW43439 soporta BLE y una única antena compartida entre Wi-Fi y Bluetooth.

Nota El Bluetooth aún no está disponible. Es probable que se añada en una futura actualización del firmware.

Si observas de cerca el Pico W, te darás cuenta de la antena de PCB en forma de triángulo, similar a la de la Raspberry Pi 4. La Raspberry Pi utiliza una antena integrada con licencia de ABRACON.

Antena de PCB
Antena de PCB

Esto significa que no se necesita una antena adicional. La interfaz inalámbrica se conecta mediante SPI al RP2040.

Según la hoja de datos oficial, el Infineon CYW43439 también tiene las siguientes características:

- WiFi 4 (802.11n), monobanda (2,4 GHz)
- WPA3
- SoftAP (hasta 4 clientes)

La hoja de datos oficial también sugiere que, para obtener el mejor rendimiento inalámbrico, hay que colocar la antena en el espacio libre.

Poner metal debajo o cerca de la antena puede reducir su rendimiento en ganancia y ancho de banda.

Sin embargo, añadir metal conectado a tierra a los lados de la antena puede mejorar el ancho de banda de la misma.

¿Se puede convertir el Pico W en un punto de acceso WiFi?

Sí, porque su Infineon CYW43439 soporta SoftAP (hasta 4 clientes).

De hecho, ¡también puedes convertir el Pico W en un portal cautivo!

Sigue el siguiente tutorial.

configuración del portal cautivo de raspberry pi pico w

Hardware de procesamiento

A excepción de la interfaz inalámbrica, el hardware es casi idéntico al del Pico original.

  • Microcontrolador RP2040 con 2MB de memoria flash
  • Interfaces inalámbricas integradas de banda única de 2,4 GHz (802.11n)
  • Puerto micro USB B para alimentación y datos (y para reprogramar la flash)
  • Placa de circuito impreso de 40 pines de 21mmx51mm estilo 'DIP' de 1mm de grosor con pines de agujero pasante de 0,1″ también con almenas en los bordes.
  • Expone 26 E/S multifunción de 3,3 V de propósito general (GPIO)
  • 23 GPIO son sólo digitales, tres de ellos con capacidad ADC
  • Puede montarse en superficie como un módulo
  • Puerto de depuración de cables en serie (SWD) de 3 pines de ARM
  • Arquitectura de alimentación sencilla pero muy flexible
  • Varias opciones para alimentar fácilmente la unidad desde un micro USB, suministros externos o baterías
  • Doble núcleo Cortex M0+ hasta 133MHz
  • El PLL en el chip permite variar la frecuencia del núcleo
  • SRAM de alto rendimiento de 264kByte multibanco
  • Flash externa Quad-SPI con eXecute In Place (XIP) y caché de 16kBytes en el chip
  • Tejido de barras cruzadas de alto rendimiento
  • USB1.1 integrado (dispositivo o host)
  • 30 E/S multifunción de propósito general (cuatro pueden utilizarse para ADC)
  • 1,8-3,3V Tensión de E/S
  • Convertidor analógico-digital (ADC) de 12 bits y 500 kHz
  • Varios periféricos digitales
  • 2 × UART, 2 × I2C, 2 × SPI, 16 × canales PWM
  • 1 × temporizador con 4 alarmas, 1 × reloj en tiempo real
  • 2 × bloques de E/S programables (PIO), 8 máquinas de estado en total

El pinout externo es casi idéntico al de la Raspberry Pi Pico.

Pico W Pinout
Pico W Pinout

La única diferencia es con el LED y los pines de depuración SWD.

El LED integrado se controla a través del pin WL_GPIO0 del chip Infineon 43439. En el Pico, el LED estaba conectado al pin GPIO 25.

Además, los pines de depuración SWD fueron movidos hacia el centro de la placa, para crear espacio para la antena del PCB. Puede encontrarlos entre el RP2040 y el CYW43439 y el orden de izquierda a derecha sigue siendo SWCLK, GND, SWDIO.

Software

Dado que el Pico W se basa en el chip RP2040, se puede programar igual que el Pico. Eso significa que puedes programarlo en C/C++ y MicroPython y que el código escrito para el Pico (que no utiliza el LED integrado) debería funcionar en el Pico W.

Raspberry Pi proporciona un 'Conexión a Internet con Raspberry Pi Pico W' para C/C++ y MicroPython. Para facilitar su comienzo con el Pico W, también hemos reunido algunos proyectos de ejemplo.

C/C++ y el Pico-SDK

Hay un actualización del Pico-SDK para activar las capacidades inalámbricas de su Pico W. La configuración y el uso son exactamente los mismos que con el Pico. Ver nuestro video para empezar con el Pico W y C/C++.

El actualizado Pico-SDK también contiene algunos ejemplos de uso inalámbrico.

MicroPython y Thonny

La forma más conveniente de utilizar MicroPython con el Pico W es utilizar el IDE Thonny. Raspberry Pi lanzó una nuevo puerto MicroPython para el Pico W.

Nota MicroPython es específico de la placa. Por lo tanto, hay diferentes (e incompatibles) versiones de MicroPython para el Pico y el Pico W. Asegúrese de utilizar siempre la versión correcta para su placa.

Dicho esto, la forma de programar el Pico W es exactamente la misma, por lo que si has utilizado el Pico con MicroPython antes, debería ser una brisa.

Pico H y Pico WH

Como se ha mencionado, Raspberry Pi también ha lanzado el Pico H y el Pico WH. La 'H' añadida al nombre significa que viene con cabeceras pre-soldadas. El Pico H es como nuestro Pico Comfort, pero para los pines de depuración SWD, Raspberry Pi utiliza un cabezal de depuración JTAG horizontal. El Pico WH probablemente utilizará las mismas dos filas de cabezales 1×20 y algún cabezal vertical para los pines de depuración.

Cómo empezar con la Raspberry Pi Pico W

Esta sección destacará trucos y patrones simples que le ayudarán a comenzar con su Raspberry Pi Pico W.

Pinout de Raspberry Pi Pico W

Pinout de Raspberry Pi Pico W (imagen de la hoja de datos oficial)

Flashear el MicroPython UF2

Una tarea de configuración fundamental que tendrá que hacer es flashear el MicroPython UF2 en su Pico W.

Primero, descargue el archivo UF2 hecho específicamente para la Raspberry Pi Pico W aquí. Alternativamente, puedes encontrar las construcciones nocturnas aquí.

Tenga en cuenta que no puede utilizar el UF2 de la Raspberry Pi Pico original.

Mantenga pulsado el botón BOOTSEL, luego conecte su USB en la Raspberry Pi Pico W.
Mantenga pulsado el botón BOOTSEL, luego conecte su USB en la Raspberry Pi Pico W.

Para cargar el archivo UF2, tendrás que mantener pulsado el botón BOOTSEL y luego conectar el USB.

Verá un nuevo volumen llamado RPI-RP2 en su explorador de archivos.

Copie el archivo UF2 en esa unidad.

Se desconectará automáticamente cuando se cargue.

Ya está. Su Raspberry Pi Pico W está ahora lista para aceptar código MicroPython.

En el siguiente paso...

Instalación de Thonny IDE

Thonny dirigiendo nuestro proyecto para principiantes (ver abajo)

La forma más fácil de ejecutar el código MicroPython y acceder a un shell en la Raspberry Pi Pico W es utilizar el IDE Thonny.

Thonny viene por defecto en el sistema operativo Raspberry Pi. Sin embargo, es posible que desee instalarlo en su ordenador principal para su comodidad.

Así es como: vaya a https://thonny.org/ y podrá encontrar las últimas versiones en la página principal.

Es probable que le aparezca una ventana emergente pidiéndole que se actualice. Hazlo.

La actualización funcionó bien cuando ejecuté Thonny en mi Raspberry Pi OS, sin embargo, en Windows, hubo este error diciendo "SSL: CERTIFICATE_VERIFY_FAILED".

Puede solucionarlo descargando este certificado (https://letsencrypt.org/certs/lets-encrypt-r3.der), luego haga clic con el botón derecho del ratón en el archivo descargado e "Instale el certificado" y ya no encontrará este error.

Asegúrese de haber elegido "MicroPython (Raspberry Pi Pico)" en la esquina inferior derecha.

Carga de archivos en su Raspberry Pi Pico W

Cargue los archivos en su Raspberry Pi Pico W haciendo clic en Subir a /

Así es como puedes cargar tus archivos de MicroPython en la Raspberry Pi Pico W con Thonny.

Conecta tu Raspberry Pi Pico W.

En Thonny, vaya a Ver > Archivos.

Verás dos secciones. Los archivos en su ordenador en la parte superior y los archivos en la Raspberry Pi Pico W.

Haga clic con el botón derecho del ratón en los archivos que desea cargar y seleccione Subir a /

Parpadeo del LED de la placa

Una diferencia fundamental entre la Raspberry Pi Pico original y la Pico W es la forma de hacer parpadear el LED de la placa.

En el pasado, se controlaba el LED mediante este código:

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

Sin embargo, en la Raspberry Pi Pico W, se utilizaría "LED" en lugar de 25.

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

Por lo tanto, para hacer parpadear el LED de la placa, escribirás 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)
   

Guarda esto como main.py y se ejecutará automáticamente cuando se alimente el Pico W.

Conectarse al WiFi

A continuación se muestra un código simplificado que le permitirá

  • Conéctate al WiFi
  • Tiempo de espera de 10 segundos
  • Imprime "Esperando conexión" mientras se conecta a la red definida en las variables ssid y pw
  • Enciende el LED de la placa cuando se conecta con éxito
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()

En un proyecto del mundo real, sería preferible crear un archivo separado (por ejemplo, secretos.py) y guardar el ssid y pw allí, y luego importarlo en el archivo principal.

Tampoco hay mucha retroalimentación con este código ni manejo de errores. Si tienes éxito, obtienes un LED encendido. Si no lo tiene, no recibe ninguna respuesta.

Por lo tanto, aquí hay una forma más elegante de conectarse a una red.

El siguiente código ajusta las diferencias regionales en el rp2.country("DE"). Cámbialo por tu país, por ejemplo "GB", "US", etc.

Cuando te conectes con éxito a una red WiFi, verás tres parpadeos del LED de la placa al conectarse con éxito. Cualquier otro número de parpadeos significará otra cosa, según el siguiente número de parpadeos:

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

secretos.py

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

Servir una página web en la IP local

Para servir una página web usando el Raspberry Pi Pico W, necesitarás tres archivos.

  • main.py - el grueso del código (que se ejecuta automáticamente en el Pico W)
  • secretos.py - que contiene ssid y pw
  • index.html - que contiene la página web que se servirá

main.py se conectará a su red WiFi, definida en secretos.py. A continuación, se abrirá un socket que escuchará cualquier conexión a la Raspberry Pi Pico W.

Si alguien se conecta, entregará la página web, llamada index.html.

Este es el código para main.py y index.html. secretos.py puede tomarse del ejemplo 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>

Difusión de una red WiFi (punto de acceso SoftAP)

Estoy escribiendo esto a mediados de julio de 2022, así que las cosas están cambiando rápidamente.

Si no has flasheado tu Raspberry Pi Pico W con la última MicroPython UF2, entonces hazlo ahora ya que los ingenieros de Raspberry Pi están actualizándola mientras hablamos. Consigue la última versión aquí.

La última versión nocturna, publicada el 15 de julio, contiene varias actualizaciones. Por un lado, permite asegurar la red WiFi con una contraseña (antes no funcionaba).

Hay algunos errores. Por ejemplo, no pude cambiar el nombre del SSID deteniendo y ejecutando el script en Thonny. Tuve que hacer un reinicio más duro tirando del USB del Pico W.

La parte crucial para configurar un punto de acceso es este segmento de aquí:

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())
Punto de acceso emitido por la Raspberry Pico W. Si no puedes ver tu AP como lo nombraste, intenta desconectar el enchufe USB y volver a alimentar la Pico W.

Aquí está un resumen completo del jefe de documentación de Raspberry Pi, Alasdair Allenlo que convierte a su Pico W en un punto de acceso con SSID MicroPython-AP, contraseña 123456789.

Cuando te conectes a él, enviará una página web con "Hola desde 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')

Tutoriales para principiantes de Raspberry Pi Pico W

Hemos recopilado unos cuantos tutoriales para principiantes que te ayudarán a conocer la Raspberry Pi Pico W.

Raspberry Pi Pico W mega tutorial

tutorial de componentes de raspberry pi pico w

Para principiantes absolutos con un kit de componentes, este tutorial le guiará a través de la interacción con sus componentes de forma inalámbrica.

Este tutorial se centra específicamente en el Pico W, lo que significa que intenta utilizar el módulo WiFi tanto como sea posible. Así, en lugar de botones, utilizaremos un navegador web con botones virtuales para controlar los LED y los zumbadores. Utilizaremos un navegador para ver los datos de temperatura y distancia en lugar de una pantalla LCD.

PULSE AQUÍ: Tutorial de componentes para principiantes de Raspberry Pi Pico W

Controla el LED integrado de Pico W con un servidor web

Raspberry Pi Pico W control de LED a bordo con servidor web

Este es el tutorial más básico que le ayudará a entender cómo conectar su Raspberry Pi Pico W a WiFi, lanzar un servidor web y controlar el LED a bordo con el servidor web.

Se servirá una página web con un botón de "encendido/apagado" que se puede utilizar para controlar el LED de la placa.

Este tutorial es la base de muchos otros proyectos que requieren control remoto a través de WiFi.

PULSE AQUÍ: Controla el LED integrado de Pico W con un servicio webr

Transmisión de datos de sensores a través de un servidor web en la Raspberry Pi Pico W

Tutorial de la Raspberry Pi Pico W para la transmisión de datos de los sensores

Usando el acelerómetro ADXL343, este tutorial le mostrará cómo actualizar dinámicamente las lecturas en una página web que es servida por su Raspberry Pi Pico W.

La página web se actualiza cada segundo cuando un cliente visita la dirección IP del Pico W. También hay una función de dados web digitales que se activa cuando se toca el ADXL343.

Aprenderás a utilizar las librerías, a configurar el WiFi, a servir una página web y a mostrar los valores del sensor en la página web.

PULSE AQUÍ: Transmisión de datos de sensores por WiFi con Raspberry Pi Pico W

Tutorial sobre el timbre Wi-Fi de Raspberry Pi Pico W (solicitudes HTTP e IFTTT)

Raspberry Pi Pico W proyecta timbre y notificación WiFi

Este tutorial le enseñará cómo utilizar la Raspberry Pi Pico W para disparar una solicitud HTTP.

Utilizaremos un botón para simular un timbre. Al pulsarlo, el botón hará que el Pico W se dirija al punto final de IFTTT, que a su vez activará una notificación por correo electrónico o una notificación de la aplicación.

PULSE AQUÍ: Tutorial sobre el timbre Wi-Fi de Raspberry Pi Pico W (solicitudes HTTP e IFTTT)

Estación meteorológica remota Raspberry Pi Pico W (alimentación solar y SoftAP)

Estación meteorológica Raspberry Pi Pico W softap

En este tutorial, aprende a emitir un punto de acceso SoftAP que transmite los datos de la estación meteorológica de forma inalámbrica y lo alimenta con energía solar.

PULSE AQUÍ: Estación meteorológica remota Raspberry Pi Pico W (alimentación solar y SoftAP)

¡Controla tu Pico W de forma inalámbrica con PiCockpit!

Puede controlar y obtener datos de su Pico W de forma inalámbrica utilizando PiCockpit.

PiCockpit le permite obtener valores, controlar y utilizar PWM a través de una GUI mediante su applet GPIO.

También puedes ver las estadísticas de tu Pico W a través del applet PiStats.

Integrar PiCockpit en tu Pico W es superfácil.

Sigue este tutorial.

Escribir aún menos código con PiCockpit y Pico W

PiCockpit te facilita el control de tus pines GPIO sin tener que escribir ningún código.

Si mira tutorial número 2fíjate en la cantidad de código que se necesita para encender un LED.

Con nuestra nueva integración de Pico W, PiCockpit te lo pone mucho más fácil, ya que no tienes que programar nada en absoluto. Ni siquiera la configuración WiFi, que se realiza con nuestro asistente de configuración.

10. Control sencillo de LED con PiCockpit y Pico W

Si tienes tu LED configurado exactamente como yo lo he hecho en el tutorial nº 2, entonces sólo queda configurarlo en PiCockpit.

Si lo estás codificando, declararás en qué pin está tu LED usando led = machine.Pin(2, machine.Pin.OUT)

En PiCockpit, irás a tu applet GPIO, y te desplazarás hasta "GPIO Output (On/Off)".

Elige BCM02 en el menú desplegable porque tu LED está en GPIO 2.

A continuación, en la columna "Control", activa el interruptor para encender el LED.

También puede utilizar fácilmente la sección de Software PWM a continuación para controlar el brillo de su LED.

Ten en cuenta que tendrás que eliminar la configuración anterior porque no puedes tener dos salidas en el mismo GPIO.

A medida que desplaces el control deslizante "Control", verás cómo cambia el brillo del LED.

control remoto gpio pwm de picockpit

11. Pico W, ventilador de 5V y un transistor, controlado por PiCockpit

Intentemos algo un poco más completo pero usando el mismo conmutador de salida GPIO.

Para ilustrar algunos casos de uso en el mundo real, alimentaré un ventilador de 5V usando PiCockpit.

Este es un ventilador de 5V de baja potencia tomado de mi Raspberry Pi 4, por lo que está bien dentro de las capacidades de salida de la Raspberry Pi Pico W.

Dicho esto, como es un ventilador de 5V, no puedo usar un pin GPIO. En componentes que consumen menos energía, como un LED, puedes hacer que el GPIO cumpla la doble función de suministrar energía al componente y ser el "interruptor" que lo enciende y lo apaga.

Pero el ventilador de 5V requeriría un voltaje demasiado alto. Por lo tanto, la siguiente mejor manera es poner un transistor en el medio.

Esto me permite suministrar 5V al ventilador, a la vez que me aseguro de que puedo encenderlo y apagarlo.

Una vez más, gracias a PiCockpit, hice cero programación. Sólo hice el hardware, que está cableado de la siguiente manera:

El ventilador es un ventilador de 5V/0,12A, conectado a 5V en el extremo positivo (cable rojo), y el cable negativo va a la pata emisora del transistor.

El transistor es un transistor PN2222 (NPN), lo que significa que se pone en ON cuando recibe una señal alta.

De izquierda a derecha, con la parte semicircular de espaldas a ti, las patas son el Emisor, la Base y el Colector.

La pata Base se conecta a una resistencia de 1K, y luego se conecta a GPIO 15.

La pata del colector está conectada a masa.

Configuración de PiCockpit para trabajar con transistor

Una vez más, súper fácil.

Ve al menú desplegable de la sección GPIO Output y añade BCM15.

Una vez dentro, puedes hacer clic en la flecha hacia abajo y cambiar los Nombres de Estado a "ventilador apagado" y "ventilador encendido".

Activa el interruptor de control y verás que el ventilador se enciende.

También puedes usar PiStats para ver la caída de temperaturas en tu placa.

Proyectos Pico W

Con la Raspberry Pi Pico W puedes hacer todo lo que puedes hacer con la Pico. Pero puedes mejorarlo añadiendo control o salida inalámbrica.

La mayoría de los proyectos requieren algún tipo de hardware adicional, por lo que le tenemos cubierto con nuestro Kits Pico.

Burgerbot: actualizado desde un Pico normal

Kevin McAleer construyó un Burgerbot con el Pico normal y cuando salió el Pico W, aprovechó la oportunidad para actualizarlo.

En su vídeo de YouTube, cubre cómo utiliza el Pico W, Node-Red y actualiza su código para conectar el Pico W al Burgerbot a través de MQTT.

Kevin eligió Node-Red para construir un tablero y programar sus mensajes MQTT porque facilita el proceso.

pico w robot kevin mcaleer burgerbot
El Burgerbot de Kevin McAleer (captura de pantalla de YouTube).

aleatoriedad de la imagen del gatito de e-paper

Placekitten es un sitio web que aloja simpáticas imágenes de gatos para que los diseñadores web las utilicen como marcadores de posición.

Lo que hizo Phil Howard fue conseguir que el Pico W hiciera un ping al sitio web de Placekitten y cargara una foto aleatoria de un gato en su pantalla de tinta electrónica.

Captura de pantalla de Placekitten, donde puedes obtener fotos de gatos enviando una URL.

Pimoroni fabrica el Pico Inky Pack que es una pantalla de tinta electrónica de 2,9″ que encaja perfectamente con un Pico W (con los cabezales soldados).

Una vez conectado al WiFi, Phil hizo un ping a una URL para obtener una imagen que se mostrara en la pantalla de tinta electrónica. El Pico Inky tiene una pantalla de 296x128px, lo que significa que si se utiliza la url http://placekitten.com/296/128obtendrá una imagen que encaja perfectamente en la pantalla.

Haz que tus plantas te envíen mensajes de texto

Cuando tus amigos tengan sed, te enviarán un mensaje para preguntarte si quieres ir a tomar algo.

¿Por qué no conseguir la misma experiencia con sus plantas de interior?

Sandeep Mistry ha hecho exactamente eso con la Raspberry Pi Pico W, el Pimoroni Grow Kit y la API Twilio SMS.

Fundamentalmente, la planta le dirá cuándo necesita agua. El sensor emite una señal de pulso digital con una frecuencia entre 1 Hz y 30 Hz. Si está seco, tendrá una frecuencia alta, y esto hace que el Pico W haga un ping a la API de Twilio SMS para enviar un mensaje.

Consulte la guía completa aquí.

Raspberry Pi Pico W vs Espressif ESP32

El Raspberry Pi Pico W es un cambio de juego.

Cuando comparamos el Raspberry Pi Pico con el ESP32, elegimos el PICO-KIT porque tenía el factor de forma más similar al Pico.

La gran ventaja del ESP32 sobre el Pico W es el WiFi y el Bluetooth.

Pero eso ya no es así. El Pico W tiene ahora WiFi y, aunque el chip WLAN puede hacer Bluetooth, a principios de julio, todavía no está habilitado.

Por lo tanto, si necesita la capacidad de Bluetooth ahora, entonces usted hará mejor con el ESP32.

Dicho esto, el ESP32 tiene otras ventajas como la variación de las frecuencias de la CPU, incluyendo dos velocidades más rápidas frente al Pico W.

El ESP32 lleva mucho más tiempo en el mercado, lo que hace que haya muchos más proyectos construidos con él. Su documentación, experimentación y complementos están muy por delante de la gama Raspberry Pi Pico.

Raspberry Pi Pico WEspressif ESP32-PICO-KIT
Frecuencia de la CPU133MHz80/160/240MHz
MicrocontroladorRP2040Xtensa LX6
Núcleos22
Memoria flash2MB4MB
RAM264KB520KB
GPIO26 (utilizable por el usuario)36
¿Tiene USB?microUSBmicroUSB
¿WiFi y/o BT?Sí, ambos, BT no está habilitado en el lanzamientoSí, ambos
Tensión1,8 - 5,5V o 5V USB3,3V (mediante pines) o 5V mediante USB o 5V-12V (mediante regulador de tensión)
Tamaño51x21mm52x20mm
IdiomasMicroPython / CMicroPython / C

Opiniones de la comunidad sobre Pico W vs ESP32

Iniciamos un hilo de conversación en el foro de Raspberry Pi sobre este mismo tema, y aquí hay algunas reflexiones estupendas de la comunidad:

Escrutinio del usuario del foro de Raspberry Pi dijo que el ESP32 tiene más poder de procesamiento con la variante de 160MHz, citando 1639 pistones/segundo contra 1243 en el Pico W. El de 240MHz es aún más rápido.

También enumeró las siguientes razones por las que el ESP32 triunfaría sobre el Pico W.

  • temporizadores de hardware
  • realmente bonito ADC, con sintonía de rango y lectura directa de voltaje
  • DAC de 2 canales
  • tacto capacitivo
  • Sensor magnético de efecto Hall (agita un imán hacia él, y puede decirte que estás agitando un imán hacia él)
  • Canales RMT para un PWM bastante inteligente

Por otro lado, el usuario scotty101 dice lo siguiente sobre las ventajas del Pico W:

  • Entorno de desarrollo
  • Apoyo a Raspberry Pi y sus objetivos educativos
  • Prevalencia y tamaño de la comunidad.
  • Facilidad para poner un nuevo binario en el Pico

"Me gusta el ESP32 pero odio tener que descargar la esptool cada vez que reinicio un proyecto abandonado. Tengo tan poco tiempo que MicroPython en el Pico me resulta rápido y fácil de poner en marcha", dijo scotty101.

Finalmente, cleverca22 dio una visión equilibrada de lo que vio en ambas juntas. Más allá de los argumentos expuestos, he aquí los puntos adicionales:

La Raspberry Pi Pico W tiene IO programable (PIO).

cleverca22 dice que cree que la plataforma ESP tiene una unidad especial de gestión de la memoria entre el XIP y la flash, por lo que se pueden almacenar varias aplicaciones a la vez y esto permite hacer rollbacks.

Además, la plataforma ESP controla el WiFi y el Bluetooth directamente desde la CPU, lo que permite realizar acciones de RF no estándar, mientras que la del Pico W probablemente se gestione mediante una mancha de código cerrado, por lo que sólo permite realizar acciones de RF aprobadas.

Pico W vs Zero 2 W

Puede que estés poniendo los ojos en blanco porque crees que estamos comparando manzanas con naranjas.

Pero, ¿lo somos realmente?

Hablemos de la diferencia fundamental. La Raspberry Pi Pico W es un microcontrolador mientras que la Raspberry Pi Zero 2 W es un microordenador.

En pocas palabras, la Raspberry Pi Pico W está diseñada para ejecutar una sola cosa. La Zero 2 W está pensada para ser más dinámica: puede ejecutar múltiples tareas, diferentes sistemas operativos y puedes programarla en varios idiomas.

Aquí hay una tabla que explica las diferencias:

¿Puede...Microcontrolador (por ejemplo, Raspberry Pi Pico W)Microordenador (por ejemplo, Raspberry Pi Zero 2 W)
¿Manejar un servidor?No
¿Parpadea un LED?Mucho más rápido de principio a finMucho más lento; muchos más procesos por los que pasar
¿Programa de reinicio automático en caso de fallo de alimentación?No por defecto
Jugar a los videojuegosNo sin mucho esfuerzo
¿Funciona con batería?Sí, es muy probable que dure más tiempo en promedioSí, no dura tanto en promedio
¿Gestión del calor?No es necesario normalmenteDisipadores, ventiladores, carcasas térmicas
¿Costes?BajaMayor
¿Tamaño?Más pequeñoMás grande

El WiFi ya no es la ventaja de la Pi Zero W

Ahora bien, una de las cosas que realmente atrajo a algunos usuarios a la serie Pi Zero es la conexión inalámbrica integrada.

En el pasado, había que comprar un accesorio para dotar a la Pico original de capacidad inalámbrica. Fue más o menos el punto que empujó a la gente a utilizar la Zero como sustituto para sus proyectos.

Dicho esto, ahora que la Pico W tiene conexión inalámbrica, la ventaja que tenía la Zero W ya no existe.

El Bluetooth sigue siendo una ventaja de la Pi Zero W... por ahora

En el momento del lanzamiento, el Pico W tiene un chip Bluetooth en él, pero no ha sido habilitado.

Raspberry Pi ha dicho que lo habilitará en el futuro. Cuando sea eso.

Así que, por ahora, si necesitas Bluetooth, la Pi Zero W es la mejor opción.

Escasez de Raspberry Pi Zero 2 W = ventaja de Pico W

Otro elemento que da a la Pico W tal ventaja sobre la Zero 2 W es su disponibilidad.

En las dos primeras semanas de su lanzamiento, las existencias aún estaban disponibles en muchas tiendas, incluida la nuestra. Esto ciertamente no refleja la situación de la Pi Zero 2, que está programado para un bajo suministro durante el resto de 2022.

Por supuesto, si tienes una cuenta PiCockpit, los usuarios de la UE/Suiza también puede utilizar nuestra Herramienta de Reserva para reservar su próxima Raspberry Pi.

¿Cómo decidir?

Esta es la lógica que utilizo para decidir cuál utilizar:

EscenarioQué conseguir
Soy mejor en un lenguaje que no sea C/PythonCero
Tengo energía "ilimitada" (es decir, caso de uso no solar o de batería)Cero
Necesito guardar datos (como registros de temperatura)Cero
Necesito usar una cámaraCero
Quiero una salida de GUI/vídeoCero
Necesito WiFiO bien
Necesito BluetoothCero (a partir de julio de 2022)
Necesito la configuración más compactaPico W
Necesito un reinicio rápido en caso de accidente o fallo de alimentaciónPico W
No quiero configurar un sistema operativoPico W
Quiero la opción más barataPico W

Bajo el microscopio

Peter Mount ha filmado este vídeo del Pico W...

¿Cómo se burló Raspberry Pi del lanzamiento del Pico W?

Según Raspberry Pi, nadie recibió el teaser que era una vaca con gráficos de Raspberry Pi por todas partes.

Teaser de Raspberry Pi para el Pico W

Dijeron: "Todavía no podemos creer que ninguno de ustedes haya captado el muy abstracto teaser que dejamos caer en Twitter la noche anterior al lanzamiento de Pico W. Es una vaca. ¿Lo pilláis?"

La vaca Raspberry Pi reorganizada es Raspberry Pico W.

Supongo que ahora que el gato está fuera de la bolsa, hablar de ello es bastante moot.

Más información

Tenemos una enciclopedia de información para la Raspberry Pi Pico normal que te ayudarán a empezar con la Raspberry Pi Pico W. Aquí es donde puedes empezar a aprender sobre la Raspberry Pi Pico.

PULSE AQUÍ: Todo lo que necesitas saber sobre la Raspberry Pi Pico

También hay documentación general y específica disponible directamente desde Raspberry Pi:

4 Comentarios

  1. Pico User el julio 15, 2022 a las 11:12 am

    Los conectores de depuración Pico H para el lado de los cables/alambres son en realidad
    SHR-03V-S (sin brida) o SHR-03V-S-B (con brida).

    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 el octubre 30, 2022 a las 2:14 pm

    Gran trabajo, sería aún más útil, si no hubieras pasado el código python por el traductor.

    • Xuyun Zeng el noviembre 4, 2022 a las 8:15 pm

      Gracias JJE por llamarnos la atención sobre esto. Definitivamente es algo en lo que hay que trabajar.

Deja un comentario