Все о 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ДаДа8/22

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

  • Микроконтроллер 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)

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

импортная машина
время импорта

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
  • При успешном подключении загорается встроенный светодиод
импортировать сеть
время импорта

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();

таймаут = 10
while timeout > 0:
    if wlan.status() >= 3:
        light_onboard_led()
        break
    таймаут -= 1
    print('Ожидание соединения...')
    time.sleep(1)
   
wlan_status = wlan.status()

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

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

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

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

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

# Ошибка соединения с рукояткой
# Значения ошибок
# 0 Связь прервана
# 1 Link Join
# 2 Link NoIp
# 3 Link Up

main.py

импортировать rp2
импортировать сеть
импортировать ubinascii
импортировать машину
import urequests as requests
импортировать время
from secrets import secrets
импортировать сокет

# Установите страну, чтобы избежать возможных ошибок
rp2.country('DE')

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
# Если вам нужно отключить режим энергосбережения
# wlan.config(pm = 0xa11140)

# Узнайте MAC-адрес в OTP беспроводного чипа
mac = ubinascii.hexlify(network.WLAN().config('mac'),':').decode()
print('mac = ' + mac)

# Другие запросы
# print(wlan.config('channel'))
# print(wlan.config('essid'))
# print(wlan.config('txpower'))

# Загрузите данные для входа в систему из другого файла в целях безопасности
ssid = secrets['ssid']
pw = secrets['pw']

wlan.connect(ssid, pw)

# Ожидание соединения с 10-секундным тайм-аутом
таймаут = 10
while timeout > 0:
    if wlan.status() = 3:
        break
    таймаут -= 1
    print('Ожидание соединения...')
    time.sleep(1)

# Определите функцию мигания бортового светодиода для индикации кодов ошибок
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)
    
# Ошибка подключения
# Значения ошибок
# 0 Связь прервана
# 1 Link Join
# 2 Link NoIp
# 3 Link Up
# -1 Отказ соединения
# -2 Link NoNet
# -3 Ссылка BadAuth

wlan_status = wlan.status()
blink_onboard_led(wlan_status)

if wlan_status != 3:
    raise RuntimeError('Wi-Fi соединение не удалось')
else:
    print('Connected')
    status = wlan.ifconfig()
    print('ip = ' + status[0])

secrets.py

секреты = {
    '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

импортировать rp2
импортировать сеть
импортировать ubinascii
импортировать машину
import urequests as requests
импортировать время
from secrets import secrets
импортировать сокет

# Установите страну, чтобы избежать возможных ошибок
rp2.country('DE')

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

# Узнайте MAC-адрес в OTP беспроводного чипа
mac = ubinascii.hexlify(network.WLAN().config('mac'),':').decode()
print('mac = ' + mac)

# Загрузите данные для входа в систему из другого файла в целях безопасности
ssid = secrets['ssid']
pw = secrets['pw']

wlan.connect(ssid, pw)

# Ожидание соединения с 10-секундным тайм-аутом
таймаут = 10
пока таймаут > 0:
    if wlan.status() = 3:
        break
    таймаут -= 1
    print('Ожидание соединения...')
    time.sleep(1)

# Определите функцию мигания бортового светодиода для индикации кодов ошибок
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 соединение не удалось')
else:
    print('Connected')
    status = wlan.ifconfig()
    print('ip = ' + status[0])
    
# Функция для загрузки html-страницы
def get_html(html_name):
    with open(html_name, 'r') as file:
        html = file.read()
        
    return html

HTTP-сервер # с сокетом
addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1]

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

print('Прослушивание', addr)

# Прослушивание соединений
while True:
    try:
        cl, addr = s.accept()
        print('Клиент подключен с', 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('Соединение закрыто')

index.html

<!DOCTYPE html>
<html>
    <head>
        <title>Пико В</title>
    </head>
    <body>
        <h1>Пико В</h1>
    
    </body>
</html>

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

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

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

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

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

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

сеть импорта
импортная машина

ssid = ''
пароль = ''

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

while ap.active() == False:
  pass

print('Подключение успешно')
print(ap.ifconfig())
Точка доступа, транслируемая Raspberry Pico W. Если вы не видите свою точку доступа, как вы ее назвали, попробуйте вытащить USB-разъем и заново включить Pico W.

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

Когда вы подключитесь к нему, он отправит веб-страницу с надписью "Hello from Pico W".

импортировать сокет
импортировать сеть
импортировать машину

ssid = 'MicroPython-AP'
пароль = '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('Подключение успешно')
print(ap.ifconfig())

html = """<!DOCTYPE html>
<html>
    <head> <title>Пико В</title> </head>
    <body> <h1>Пико В</h1>
        <p>Привет из Пико В.</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()

# Прослушивание соединений
while True:
    try:
        cl, addr = s.accept()
        print('клиент подключился с', 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('соединение закрыто')

Учебники для начинающих по Raspberry Pi Pico W

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

С 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:

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

  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

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