Все о Raspberry Pi Pico W

Сегодня, 30 июня 2022 года, в 8.00 утра по британскому времени компания Raspberry Pi выпустила программу Пико В.

Вот все (что мы знаем) о новейшем Raspberry Pi.

Содержание скрыть

Этот новый вариант любимого Pico обладает беспроводными возможностями благодаря беспроводному чипу CYW43439.
Как и в случае с Pico, в основе каждого Пико В это RP2040, который является первым кремниевым чипом Raspberry Pi.

В довершение ко всему, Raspberry Pi также выпустила варианты Pico H и Pico WH.

Примечание: Если вы хотите зарезервировать Raspberry Pi 4 / 4 GB или Pi 4 / 8 GB или USB-ускоритель Coral и находитесь на территории ЕС + Швейцария, обратите внимание на нашу новую функцию PiCockpit, а именно Инструмент для резервирования Raspberry Pi - по одному на клиента, и вы будете стоять в справедливой очереди, а не торопиться, когда Pis станет доступен. Если достаточное количество людей попросит нас, мы также можем сделать Pico W доступным для резервирования.

Варианты Raspberry Pi Pico

ВариантЦена Наконечники?Беспроводной?Выпуск (М/ГГ)
Pico$4НетНет1/21
Пико Н$5ДаНет6/22
Пико В$6НетДа6/22
Pico WH$7ДаДаГде-то в 2022 году

Pico H - $5 - Raspberry Pi Pico с предварительно припаянными заголовками

Pico W - $6 - Raspberry Pi Pico с беспроводной связью

Pico WH - $7 - Raspberry Pi Pico с беспроводными и предварительно припаянными разъемами.

Модели Pico H и Pico W были выпущены 30 июня 2022 года, в то время как Pico WH будет выпущен в августе 2022 года.

Pico WH имеет обновленные сроки выпуска - "позднее в этом году" в 2022 году, согласно Аласдэр Аллен из Raspberry Piкоторый сказал: "В конце этого года, вероятно, появится Pico WH, и я думаю, что вы сами сможете понять, что это такое".

Вот обновленная информация о Pico WH в октябре. Я получил обновление от Аласдэра Аллена, который сказал,

"Он очень близок к выходу [...] и должен выйти "в любой момент". Мы хотели убедиться, что у нас есть приличный объем, прежде чем выпустить его в продажу, чтобы люди могли легко его купить".

В этой статье мы расскажем о сходствах и различиях между Pico W и Pico. Конечно, мы также представим несколько классных проектов Pico W.

Является ли Pico H просто традиционным Pico с предварительно распаянными разъемами?

Raspberry Pi Pico против Pico H. Главное отличие - отладочные заголовки SWD.

По сути, да.

Но есть небольшая разница на отладочных разъемах SWD и нет кастеллирования (полукруглых отверстий по краю) на штырьках.

Для использования отладочной головки SWD на Pico H необходимо использовать эти разъемы: 3-контактный разъем JST 'SH' с шагом 1,0 мм типа BM03B-SRSS-TB (верхний ввод) или SM03B-SRSS-TB (боковой ввод) или совместимые альтернативы.

Штырьки заземления на Pico H также имеют квадратную форму, а не обычное круглое отверстие.

Где можно приобрести Pico W?

Поднимите свой Пико В в нашем магазине.

Содержание скрыть

Для краткого обзора смотрите это видео.

Оборудование

Беспроводной интерфейс Pico W (CYW43439)

Infineon CYW43439 поддерживает беспроводную локальную сеть IEEE 802.11 b/g/n и Bluetooth 5.2. На старте продаж будет поддерживаться только беспроводная локальная сеть.

В отличие от Raspberry Pi 4, Pico W имеет только однодиапазонный Wi-Fi 2,4 ГГц 4. Pi 4 имеет двухдиапазонный Wi-Fi 2,4/5 ГГц, но что касается Bluetooth, Pico W превосходит флагман Raspberry Pi, который имеет только Bluetooth 5.0. CYW43439 поддерживает BLE и одну антенну, разделяемую между Wi-Fi и Bluetooth.

Примечание Bluetooth пока недоступен. Вероятно, он будет добавлен в одном из будущих обновлений прошивки.

Если вы внимательно посмотрите на Pico W, вы заметите антенну на печатной плате в форме треугольника, похожую на антенну Raspberry Pi 4. В Raspberry Pi используется встроенная антенна, лицензированная компанией ABRACON.

Антенна на печатной плате
Антенна на печатной плате

Это означает, что дополнительная антенна не требуется. Беспроводной интерфейс подключается через SPI к RP2040.

Согласно официальному техническому описанию, Infineon CYW43439 также имеет следующие характеристики:

- WiFi 4 (802.11n), однодиапазонный (2,4 ГГц)
- WPA3
- SoftAP (до 4 клиентов)

В официальном техническом описании также говорится, что для достижения наилучшей производительности беспроводной связи антенну следует размещать в свободном пространстве.

Размещение металла под антенной или рядом с ней может снизить ее характеристики по коэффициенту усиления и полосе пропускания.

Однако добавление заземленного металла по бокам антенны может улучшить полосу пропускания антенны.

Можно ли превратить Pico W в точку доступа WiFi?

Да, поскольку его Infineon CYW43439 поддерживает SoftAP (до 4 клиентов).

Фактически, вы также можете превратить Pico W в портал для пленников!

Следуйте приведенному ниже руководству.

настройка портала захвата raspberry pi pico w

Оборудование для обработки

За исключением беспроводного интерфейса, аппаратное обеспечение практически идентично оригинальному Pico.

  • Микроконтроллер RP2040 с 2 МБ флэш-памяти
  • Встроенные однодиапазонные беспроводные интерфейсы 2,4 ГГц (802.11n)
  • Порт Micro USB B для питания и передачи данных (а также для перепрограммирования флэш-памяти)
  • 40 выводов 21ммx51мм в стиле 'DIP' с толщиной печатной платы 1мм со сквозными отверстиями 0.1″, также с кастеллированием по краям
  • Открывает 26 многофункциональных 3,3 В входов/выходов общего назначения (GPIO)
  • 23 GPIO - только цифровые, причем три из них также поддерживают АЦП
  • Может монтироваться на поверхность в виде модуля
  • 3-контактный порт отладки последовательного провода ARM (SWD)
  • Простая, но очень гибкая архитектура источника питания
  • Различные варианты для удобного питания устройства от микро USB, внешних источников или батарей
  • Двухъядерный кортекс M0+ с частотой до 133 МГц
  • Встроенный PLL позволяет изменять частоту ядра
  • Многобанковая высокопроизводительная SRAM емкостью 264 кБайт
  • Внешняя флэш-память Quad-SPI с функцией eXecute In Place (XIP) и 16 кбайт кэша на кристалле
  • Высокопроизводительная шинная ткань с полным поперечным сечением
  • Встроенный USB1.1 (устройство или хост)
  • 30 многофункциональных входов/выходов общего назначения (четыре могут использоваться для АЦП)
  • 1,8-3,3 В Напряжение ввода/вывода
  • 12-битный аналого-цифровой преобразователь (АЦП) со скоростью 500 к/с
  • Различные цифровые периферийные устройства
  • 2 × UART, 2 × I2C, 2 × SPI, 16 × ШИМ каналов
  • 1 × таймер с 4 будильниками, 1 × часы реального времени
  • 2 × программируемые блоки ввода/вывода (PIO), всего 8 машин состояний

Внешняя распиновка почти идентична распиновке Raspberry Pi Pico.

Разводка выводов Pico W
Разводка выводов Pico W

Единственное различие заключается в светодиодных и SWD отладочных выводах.

Управление встроенным светодиодом осуществляется через вывод WL_GPIO0 микросхемы Infineon 43439. На Pico светодиод был подключен к выводу 25 GPIO.

Кроме того, отладочные контакты SWD были перемещены к центру платы, чтобы освободить место для антенны печатной платы. Вы можете найти их между RP2040 и CYW43439, и порядок слева направо по-прежнему SWCLK, GND, SWDIO.

Программное обеспечение

Поскольку Pico W основан на чипе RP2040, вы можете программировать его так же, как и Pico. Это означает, что вы можете программировать его на C/C++ и MicroPython, и код, написанный для Pico (который не использует встроенный светодиод), будет работать на Pico W.

Raspberry Pi предоставляет 'Подключение к Интернету с помощью Raspberry Pi Pico W' руководство для C/C++ и MicroPython. Чтобы облегчить вам начало работы с Pico W, мы также подготовили несколько примеров проектов.

C/C++ и Pico-SDK

Существует обновление Pico-SDK чтобы включить беспроводные возможности вашего Pico W. Настройка и использование точно такие же, как и для Pico. Смотрите наше видео для начала работы с Pico W и C/C++.

Сайт обновленный Pico-SDK также содержит несколько примеров для беспроводного использования.

MicroPython и Thonny

Самый удобный способ использования MicroPython с Pico W - использовать IDE Thonny. Компания Raspberry Pi выпустила новый порт MicroPython для Pico W.

Примечание MicroPython зависит от конкретной платы. Поэтому существуют разные (и несовместимые) версии MicroPython для Pico и Pico W. Убедитесь, что всегда используете правильную версию для вашей платы.

Тем не менее, способ программирования Pico W точно такой же, так что если вы уже использовали Pico с MicroPython, это не составит труда.

Pico H и Pico WH

Как уже упоминалось, Raspberry Pi также выпустила Pico H и Pico WH. Добавление "H" к названию означает, что они поставляются с предварительно распаянными заголовками. Pico H похож на наш Pico Comfort, но для отладочных контактов SWD Raspberry Pi использует горизонтальный отладочный заголовок JTAG. Pico WH, вероятно, будет использовать те же два ряда 1×20 заголовков и некоторые вертикальные заголовки для отладочных контактов.

Начало работы с Raspberry Pi Pico W

В этом разделе будут описаны простые приемы и схемы, которые помогут вам начать работу с Raspberry Pi Pico W.

Распиновка Raspberry Pi Pico W

Распиновка Raspberry Pi Pico W (изображение из официального технического описания)

Прошивка MicroPython UF2

Основная задача по настройке, которую вам нужно будет выполнить, - это прошить MicroPython UF2 в Pico W.

Первый, скачать файл UF2, специально созданный для Raspberry Pi Pico W, здесь. Альтернативно, вы можете найти ночные сборки здесь.

Обратите внимание, что вы не можете использовать UF2 от оригинального Raspberry Pi Pico.

Нажмите и удерживайте кнопку BOOTSEL, затем подключите USB к Raspberry Pi Pico W.
Нажмите и удерживайте кнопку BOOTSEL, затем подключите USB к Raspberry Pi Pico W.

Чтобы загрузить файл UF2, необходимо нажать и удерживать кнопку BOOTSEL, а затем подключить USB.

В проводнике файлов вы увидите новый том под названием RPI-RP2.

Скопируйте файл UF2 на этот диск.

Он автоматически отключится после загрузки.

Вот и все! Теперь ваш Raspberry Pi Pico W готов к приему кода MicroPython.

Переходим к следующему шагу...

Установка Thonny IDE

Тонни ведет наш проект для начинающих (см. ниже)

Самый простой способ запуска кода MicroPython и доступа к оболочке на Raspberry Pi Pico W - это использование среды разработки Thonny IDE.

Thonny по умолчанию поставляется с ОС Raspberry Pi. Однако для удобства вы можете установить его на свой основной компьютер.

Вот как: зайдите на https://thonny.org/ и вы сможете найти последние версии на первой странице.

Скорее всего, вас встретит всплывающее окно с предложением обновиться. Приступайте к обновлению.

Обновление прошло нормально, когда я запустил Thonny на своей Raspberry Pi OS, однако на Windows появилась ошибка "SSL: CERTIFICATE_VERIFY_FAILED".

Вы можете исправить это, загрузив данный сертификат (https://letsencrypt.org/certs/lets-encrypt-r3.der), затем щелкните правой кнопкой мыши на загруженном файле и "Установить сертификат", и вы больше не столкнетесь с этой ошибкой.

Убедитесь, что вы выбрали "MicroPython (Raspberry Pi Pico)" в правом нижнем углу.

Загрузка файлов на ваш Raspberry Pi Pico W

Загрузите файлы на ваш Raspberry Pi Pico W, нажав на кнопку Загрузить на /

Вот как можно загрузить файлы MicroPython на Raspberry Pi Pico W с помощью Thonny.

Подключите свой Raspberry Pi Pico W.

В Тонни перейдите в раздел Вид > Файлы.

Вы увидите два раздела. Файлы на вашем компьютере сверху и файлы на Raspberry Pi Pico W.

Щелкните правой кнопкой мыши на файлах, которые вы хотите загрузить, и выберите Загрузить на /

Мигание светодиода бортовой сети

Принципиальное различие между оригинальным Raspberry Pi Pico и Pico W заключается в том, как вы будете мигать встроенным светодиодом.

В прошлом вы управляли светодиодом с помощью этого кода:

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

Однако на Raspberry Pi Pico W вы будете использовать "LED" а не 25.

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

Следовательно, для того чтобы замигал светодиод на борту, вы напишете такой код:

import machine
import time

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

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

Сохраните это как main.py и он будет автоматически запускаться при подаче питания на Pico W.

Подключение к WiFi

Ниже приведен упрощенный код, который позволит вам

  • Подключение к WiFi
  • 10-секундный тайм-аут
  • Выведите "Ожидание подключения" при подключении к сети, определенной в переменных ssid и pw
  • При успешном подключении загорается встроенный светодиод
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()

В реальном проекте было бы предпочтительнее создать отдельный файл (например, secrets.py) и хранить ssid и pw там, затем импортируйте его в основной файл.

В этом коде нет ни обратной связи, ни обработки ошибок. В случае успеха вы получаете светящийся светодиод. В противном случае вы не получаете никакой обратной связи.

Следовательно, вот более элегантный способ подключения к сети.

Следующий код корректирует региональные различия в rp2.country("DE"). Измените это на свою страну, например, "GB", "US" и т.д.

При успешном подключении к сети WiFi вы увидите три мигания встроенного светодиода при успешном подключении. Любое другое количество миганий будет означать что-то другое, исходя из следующего количества миганий:

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

Подача веб-страницы на локальный IP

Чтобы обслуживать веб-страницу с помощью Raspberry Pi Pico W, вам понадобятся три файла.

  • main.py - основная часть кода (который автоматически запускается на Pico W)
  • secrets.py - содержащий ssid и pw
  • index.html - содержащий веб-страницу, которая будет обслуживаться

main.py подключится к вашей сети WiFi, определенной в secrets.py. Затем он откроет сокет, который будет прослушивать любые подключения к Raspberry Pi Pico W.

Если кто-то подключится, он доставит веб-страницу с именем index.html.

Вот код для main.py и index.html. secrets.py можно взять из предыдущего примера.

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>

Трансляция сети WiFi (точка доступа SoftAP)

Я пишу это в середине июля 2022 года, так что ситуация быстро меняется.

Если вы еще не прошили свой Raspberry Pi Pico W последней версией MicroPython UF2, то сделайте это сейчас, поскольку инженеры Raspberry Pi обновляют его в данный момент. Получите последнюю сборку здесь.

Последняя ночная сборка, выпущенная 15 июля, содержит несколько обновлений. Во-первых, она позволяет защитить сеть WiFi паролем (ранее это было невозможно).

Есть некоторые ошибки. Например, я не смог изменить имя SSID, остановив и запустив сценарий в Thonny. Мне пришлось сделать более жесткий сброс, вытащив USB из Pico W.

Решающим моментом в настройке точки доступа является вот этот сегмент:

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())
Точка доступа, транслируемая Raspberry Pico W. Если вы не видите свою точку доступа, как вы ее назвали, попробуйте вытащить USB-разъем и заново включить Pico W.

Вот полная информация от руководителя отдела документации Raspberry Pi Аласдэра Алленачто превращает ваш Pico W в точку доступа с SSID MicroPython-AP, пароль 123456789.

Когда вы подключитесь к нему, он отправит веб-страницу с надписью "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

Мы собрали несколько руководств для начинающих, которые помогут вам освоить Raspberry Pi Pico W.

Мега-учебник по Raspberry Pi Pico W

учебник по компонентам raspberry pi pico w

Для абсолютных новичков, имеющих набор компонентов, этот учебник расскажет вам о взаимодействии с вашими компонентами по беспроводной связи.

Этот учебник ориентирован на Pico W, что означает, что он пытается использовать модуль WiFi как можно больше. Так, вместо кнопок мы будем использовать веб-браузер с виртуальными кнопками для управления светодиодами, зуммерами. Мы будем использовать браузер для просмотра данных о температуре и расстоянии вместо ЖК-дисплея.

КЛИКНИТЕ ЗДЕСЬ: Самоучитель по компонентам Raspberry Pi Pico W для начинающих

Управление встроенным светодиодом Pico W с помощью веб-сервера

Raspberry Pi Pico W управление встроенным светодиодом с помощью веб-сервера

Это самое базовое руководство, которое поможет вам понять, как подключить Raspberry Pi Pico W к WiFi, запустить веб-сервер и управлять встроенным светодиодом с помощью веб-сервера.

Веб-страница будет обслуживаться с кнопкой "вкл/выкл", которую можно использовать для управления встроенным светодиодом.

Этот учебник является основой для многих других проектов, требующих дистанционного управления через WiFi.

КЛИКНИТЕ ЗДЕСЬ: Управление встроенным светодиодом Pico W с помощью веб-сервисаr

Передача данных датчиков через веб-сервер на Raspberry Pi Pico W

Учебник по Raspberry Pi Pico W потоковая передача данных датчиков

Используя акселерометр ADXL343, в этом руководстве вы узнаете, как динамически обновлять показания на веб-странице, обслуживаемой вашим Raspberry Pi Pico W.

Веб-страница обновляется каждую секунду, когда клиент посещает IP-адрес Pico W. Также имеется функция цифрового веб-кубика, которая активируется при касании ADXL343.

Вы узнаете, как использовать библиотеки, настраивать WiFi, обслуживать веб-страницу и как отображать значения датчика на веб-странице.

КЛИКНИТЕ ЗДЕСЬ: Передача данных датчиков по WiFi с помощью Raspberry Pi Pico W

Учебник Raspberry Pi Pico W Wi-Fi Doorbell (HTTP-запросы и IFTTT)

Raspberry Pi Pico W проектирует WiFi дверной звонок и уведомления

Этот учебник научит вас использовать Raspberry Pi Pico W для отправки HTTP-запроса.

Мы будем использовать кнопку для имитации дверного звонка. При нажатии на кнопку Pico W будет срабатывать конечная точка IFTTT, которая затем вызовет уведомление по электронной почте или уведомление приложения.

КЛИКНИТЕ ЗДЕСЬ: Учебник Raspberry Pi Pico W Wi-Fi Doorbell (HTTP-запросы и IFTTT)

Удаленная метеостанция Raspberry Pi Pico W (на солнечных батареях и SoftAP)

Погодная станция Raspberry Pi Pico W softap

В этом руководстве мы научимся транслировать точку доступа SoftAP, передающую данные метеостанции по беспроводной сети, и питать ее солнечной энергией!

КЛИКНИТЕ ЗДЕСЬ: Удаленная метеостанция Raspberry Pi Pico W (на солнечных батареях и SoftAP)

Управляйте Pico W по беспроводной связи с помощью PiCockpit!

Вы можете управлять и получать данные с Pico W по беспроводной связи с помощью PiCockpit.

PiCockpit позволяет получать значения, управлять и использовать ШИМ через графический интерфейс с помощью апплета GPIO.

Вы также можете посмотреть статистику вашего Pico W с помощью апплета PiStats.

Интеграция PiCockpit в ваш Pico W очень проста.

Следуйте этому руководству.

Пишите еще меньше кода с помощью PiCockpit и Pico W

PiCockpit позволяет легко управлять пинами GPIO без необходимости написания кода.

Если вы посмотрите на учебник № 2Обратите внимание, как много кода необходимо для переключения светодиода.

С нашей новой интеграцией Pico W, PiCockpit делает это намного проще, поскольку вам не нужно ничего программировать. Даже конфигурация WiFi не требуется - это делается с помощью нашего мастера настройки.

10. Простое управление светодиодами с помощью PiCockpit и Pico W

Если вы настроили свой светодиод точно так, как я сделал это в руководстве № 2, то все, что осталось, это настроить его на PiCockpit.

Если вы кодируете его, вы объявите, на каком выводе находится ваш светодиод, используя led = machine.Pin(2, machine.Pin.OUT)

В PiCockpit перейдите к апплету GPIO и выберите пункт "GPIO Output (On/Off)".

Выберите BCM02 из выпадающего меню, так как ваш светодиод находится на GPIO 2.

Затем в колонке "Управление" переключите переключатель, чтобы включить светодиод.

Вы также можете легко использовать раздел Software PWM ниже для управления яркостью вашего светодиода.

Обратите внимание, что вам нужно удалить предыдущую настройку, потому что вы не можете иметь два выхода на одном GPIO.

При переключении ползунка "Управление" вы заметите, как меняется яркость светодиода.

пульт дистанционного управления picockpit gpio pwm

11. Pico W, вентилятор на 5 В и транзистор, управляемый PiCockpit

Давайте попробуем сделать что-то более комплексное, но с использованием того же переключателя GPIO Output.

Чтобы проиллюстрировать некоторые реальные случаи использования, я запитаю вентилятор от 5 В с помощью PiCockpit.

Это маломощный вентилятор на 5 В, взятый из моего Raspberry Pi 4, поэтому он вполне соответствует выходным возможностям Raspberry Pi Pico W.

При этом, поскольку это вентилятор на 5 В, я не могу использовать вывод GPIO. В менее энергоемких компонентах, таких как светодиод, GPIO может выполнять двойную функцию: подавать питание на компонент и быть "переключателем", который включает и выключает его.

Но для вентилятора на 5 В потребуется слишком высокое напряжение. Поэтому следующий лучший способ - поставить транзистор посередине.

Это позволяет мне подавать 5 В на вентилятор, обеспечивая при этом возможность его включения и выключения.

И снова, благодаря PiCockpit, я не занимался программированием. Я сделал только аппаратную часть, которая подключена следующим образом:

Вентилятор представляет собой вентилятор 5В/0,12А, подключенный к 5В на положительном конце (красный провод), а отрицательный провод идет к эмиттерной ножке транзистора.

Транзистор представляет собой транзистор PN2222 (NPN), что означает, что он включается, когда получает высокий сигнал.

Слева направо, с полукруглой частью, направленной от вас, ноги - это излучатель, основание и коллектор.

Базовая ножка подключается к резистору 1K, затем подключается к GPIO 15.

Ножка коллектора подключена к земле.

Настройка PiCockpit для работы с транзистором

И снова все очень просто.

Перейдите в выпадающее меню в разделе GPIO Output и добавьте BCM15.

После того, как он установлен, вы можете нажать стрелку вниз и изменить имена состояний на "вентилятор выключен" и "вентилятор включен".

Переключите переключатель управления, и вы увидите, что вентилятор включился.

Вы также можете использовать PiStats, чтобы увидеть снижение температуры на вашей плате.

Проекты Pico W

С Raspberry Pi Pico W вы можете делать все то же самое, что и с Pico. Но вы можете сделать его лучше, добавив беспроводное управление или выход.

Большинство проектов требуют дополнительного оборудования, поэтому мы позаботились о том, чтобы вы могли воспользоваться нашими услугами. Комплекты Pico.

Burgerbot: обновлен с обычного Pico

Кевин МакАлир построил Burgerbot с обычным Pico, а когда появился Pico W, он воспользовался шансом обновить его.

В своем видеоролике на YouTube он рассказывает, как он использует Pico W, Node-Red и обновил свой код, чтобы подключить Pico W к Burgerbot через MQTT.

Кевин выбрал Node-Red для создания приборной панели и программирования MQTT-сообщений, потому что это упрощает процесс.

пико w робот кевин мкалер бургербот
Бургербот Кевина МакАлира (скриншот с YouTube).

рандомизатор изображений электронного котенка

Placekitten - это сайт, на котором размещаются милые кошачьи картинки для использования в качестве подставки для веб-дизайнеров.

Фил Ховард сделал следующее: заставил Pico W пропинговать сайт Placekitten и загрузить случайную фотографию кошки на его e-ink дисплей.

Скриншот сайта Placekitten, где вы можете получить фотографии кошек, указав URL-адрес.

Pimoroni производит Pico Inky Pack, который представляет собой 2,9″ e-ink дисплей, идеально подходящий к Pico W (с припаянными заголовками).

Подключившись к WiFi, Фил отправил URL-адрес, чтобы получить изображение для отображения на e-ink дисплее. Дисплей Pico Inky имеет размер 296x128px, что означает, что если бы вы использовали URL-адрес http://placekitten.com/296/128вы получите изображение, которое идеально впишется в дисплей.

Заставьте свои растения написать вам сообщение

Когда ваши друзья захотят выпить, они напишут вам сообщение, чтобы спросить, не хотите ли вы пойти выпить.

Почему бы не получить такой же опыт с вашими комнатными растениями?

Сандип Мистри сделал именно это с помощью Raspberry Pi Pico W, Pimoroni Grow Kit и Twilio SMS API.

Самое главное, растение сообщит вам, когда ему нужна вода. Датчик выдает цифровой импульсный сигнал с частотой от 1 до 30 Гц. Если растение сухое, его частота будет высокой, и это заставит Pico W пинговать Twilio SMS API для отправки сообщения.

Полное руководство смотрите здесь.

Raspberry Pi Pico W против Espressif ESP32

Raspberry Pi Pico W - вот что изменило игру.

Когда мы сравнивали Raspberry Pi Pico и ESP32, мы выбрали PICO-KIT, потому что он имел наиболее схожий с Pico форм-фактор.

Большим преимуществом ESP32 перед Pico W является наличие WiFi и Bluetooth.

Но это уже не так. В Pico W теперь есть WiFi, и хотя чип WLAN может работать с Bluetooth, по состоянию на начало июля он еще не включен.

Поэтому, если вам сейчас нужна возможность Bluetooth, то вам лучше подойдет ESP32.

Тем не менее, у ESP32 есть и другие преимущества, включая различную частоту процессора, в том числе две более высокие скорости по сравнению с Pico W.

ESP32 существует на рынке гораздо дольше, поэтому на его основе создано гораздо больше проектов. Его документация, эксперименты и дополнения намного превосходят линейку Raspberry Pi Pico.

Raspberry Pi Pico WEspressif ESP32-PICO-KIT
Частота процессора133 МГц80/160/240 МГц
МикроконтроллерRP2040Xtensa LX6
Ядра22
Флеш-память2MB4MB
ОПЕРАТИВНАЯ ПАМЯТЬ264 КБ520 КБ
GPIO26 (пригодный для использования)36
Есть ли USB?microUSBmicroUSB
WiFi и/или BT?Да, оба, BT не включен при запускеДа, оба
Напряжение1,8 - 5,5 В или 5 В USB3,3 В (через контакты) или 5 В через USB или 5В-12В (через регулятор напряжения)
Размер51x21 мм52x20 мм
ЯзыкиMicroPython / CMicroPython / C

Мысли сообщества о Pico W против ESP32

Мы начали тему на форуме Raspberry Pi, посвященную именно этому вопросу, и вот несколько замечательных мыслей от сообщества:

Пользователь форума Raspberry Pi scruss заявили, что ESP32 обладает большей вычислительной мощностью в варианте с частотой 160 МГц, указав 1639 пистонов в секунду против 1243 у Pico W. 240 МГц еще быстрее.

Он также перечислил следующие причины, по которым ESP32 победит Pico W.

  • аппаратные таймеры
  • действительно хороший АЦП, с настройкой диапазона и прямым считыванием напряжения
  • 2-канальный ЦАП
  • ёмкостный сенсор
  • Магнитный датчик на эффекте Холла (поднесите к нему магнит, и он сможет сказать вам, что вы подносите к нему магнит)
  • Каналы RMT для довольно умной ШИМ

С другой стороны, пользователь скотти101 говорит о преимуществах Pico W:

  • Среда разработки
  • Поддержка Raspberry Pi и его образовательных целей
  • Распространенность и размер сообщества.
  • Простота установки нового двоичного файла на Pico

"Мне нравится ESP32, но я ненавижу необходимость загружать esptool каждый раз, когда я возобновляю заброшенный проект. У меня так мало времени, что MicroPython на Pico - это быстро и просто для меня", - сказал scotty101.

Наконец-то, cleverca22 дал сбалансированное представление о том, что он увидел в обеих комиссиях. Помимо аргументов, приведенных выше, вот дополнительные моменты:

Raspberry Pi Pico W имеет программируемый ввод-вывод (PIO).

cleverca22 говорит, что, по его мнению, платформа ESP имеет специальный блок управления памятью между XIP и флэш-памятью, поэтому вы можете хранить несколько приложений одновременно, и это позволяет делать откат.

Кроме того, платформа ESP управляет WiFi и Bluetooth непосредственно с процессора, что позволяет нестандартные радиочастотные действия, в то время как Pico W's, скорее всего, управляется с помощью закрытого блока, что позволяет только одобренные радиочастотные действия.

Pico W против Zero 2 W

Возможно, вы закатываете глаза, потому что думаете, что мы сравниваем яблоки с апельсинами.

Но так ли это на самом деле?

Давайте поговорим о фундаментальной разнице. Raspberry Pi Pico W - это микроконтроллер, а Raspberry Pi Zero 2 W - микрокомпьютер.

Проще говоря, Raspberry Pi Pico W предназначен для выполнения одной задачи. Zero 2 W предназначен для более динамичной работы - он может выполнять несколько задач, разные ОС, и вы можете программировать его на нескольких языках.

Вот таблица, объясняющая различия:

Может ли это...Микроконтроллер (например, Raspberry Pi Pico W)Микрокомпьютер (например, Raspberry Pi Zero 2 W)
Запустить сервер?НетДа
Мигать светодиодом?Намного быстрее от начала до концаГораздо медленнее; необходимо пройти большее количество процессов
Автоматический перезапуск программы при отключении питания?ДаНе по умолчанию
Играть в видеоигрыНе без особых усилийДа
Работает от аккумулятора?Да, вероятность того, что в среднем прослужит дольшеДа, в среднем недолговечен
Управление теплом?Обычно не требуетсяРадиаторы, вентиляторы, теплопроводящие корпуса
Затраты?НижнийВыше
Размер?МеньшеКрупнее

WiFi теперь не является преимуществом Pi Zero W

Одна из вещей, которая действительно привлекла некоторых пользователей к серии Pi Zero, - это встроенная беспроводная связь.

В прошлом, чтобы придать оригинальному Pico беспроводные возможности, необходимо было приобрести дополнительный аксессуар. Именно это подтолкнуло людей к использованию Zero в качестве замены для своих проектов.

Тем не менее, учитывая, что Pico W теперь оснащен беспроводной связью, преимущество, которое было у Zero W, больше не существует.

Bluetooth остается преимуществом Pi Zero W... пока что

На момент выпуска в Pico W есть чип Bluetooth, но он не был включен.

Компания Raspberry Pi заявила, что включит эту функцию в будущем. Когда бы это ни было.

Поэтому, если вам нужен Bluetooth, Pi Zero W - лучший вариант.

Нехватка мощности Raspberry Pi Zero 2 Вт = преимущество Pico W

Еще один элемент, который дает Pico W такое преимущество перед Zero 2 W - это его доступность.

В первые две недели после выхода, акции все еще были доступны во многих магазинах, включая наш. Это, конечно, не отражает ситуацию с Pi Zero 2, в котором до конца 2022 года ожидается низкий уровень предложения.

Конечно, если у вас есть учетная запись PiCockpit, пользователи ЕС/Швейцарии также можете воспользоваться нашим инструментом резервирования, чтобы зарезервировать свой следующий Raspberry Pi.

Как принять решение?

Вот логика, которую я использую, чтобы решить, что использовать:

СценарийЧто подарить
Я лучше владею языком, отличным от C/PythonНоль
У меня есть "неограниченная" энергия (т.е. не солнечная энергия или аккумулятор)Ноль
Мне нужно сохранить данные (например, журнал температуры)Ноль
Мне нужно использовать камеруНоль
Мне нужен графический интерфейс/видеовыходНоль
Мне нужен WiFiЛибо
Мне нужен BluetoothНоль (по состоянию на июль 2022 года)
Мне нужна самая компактная установкаПико В
Мне нужен быстрый перезапуск при аварии/отключении питанияПико В
Я не хочу устанавливать ОСПико В
Я хочу более дешевый вариантПико В

Под микроскопом

Питер Маунт снял это видео о Пико В...

Как компания Raspberry Pi анонсировала выход Pico W?

По словам представителей Raspberry Pi, никто не получил тизер, который представлял собой корову с графикой Raspberry Pi по всему периметру.

Тизер Raspberry Pi для Pico W

Они сказали: "Мы до сих пор не можем поверить, что никто из вас не получил тот самый абстрактный тизер, который мы выложили в Twitter накануне запуска Pico W. Это корова. Понятно?"

Raspberry Pi Cow в перестроенном виде - это Raspberry Pico W.

Думаю, теперь, когда кот вылез из мешка, говорить об этом довольно муt.

Дополнительная информация

У нас есть энциклопедия информации для обычного Raspberry Pi Pico которые помогут вам начать работу с Raspberry Pi Pico W. Вот с чего вы можете начать знакомство с Raspberry Pi Pico.

КЛИКНИТЕ ЗДЕСЬ: Все, что вам нужно знать о Raspberry Pi Pico

Также имеется общая и специальная документация, доступная прямо из Raspberry Pi:

4 комментариев

  1. Pico User Июль 15, 2022 в 11:12 дп

    Отладочные разъемы Pico H со стороны кабелей/проводов на самом деле являются
    SHR-03V-S (без фланца) или SHR-03V-S-B (с фланцем).

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

    • Xuyun Zeng Июль 16, 2022 в 10:00 дп

      Хм, я что-то упустил или это просто совместимый разъем? Вот что я получил из официальной документации:

      "Мы указываем, что разъем должен быть 3-контактным JST 'SH' разъемом с шагом 1,0 мм, либо BM03B-SRSS-TB (верхняя часть).
      типа SM03B-SRSS-TB (с боковым входом) или SM03B-SRSS-TB (с боковым входом), или совместимые альтернативы".

      https://datasheets.raspberrypi.com/debug/debug-connector-specification.pdf

  2. JJE Октябрь 30, 2022 в 2:14 пп

    Отличная работа, была бы еще более полезной, если бы вы не проталкивали код python через транслятор.

    • Xuyun Zeng Ноябрь 4, 2022 в 8:15 пп

      Спасибо JJE за то, что обратили на это наше внимание. Это определенно то, над чем стоит поработать.

Комментировать