Все о 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 в октябре. Я получил обновление от Аласдэра Аллена, который сказал,
"Он очень близок к выходу [...] и должен выйти "в любой момент". Мы хотели убедиться, что у нас есть приличный объем, прежде чем выпустить его в продажу, чтобы люди могли легко его купить".
Она еще не вышла, но уже очень близка к выходу. Есть производственное оборудование (и оно производится в хорошем количестве), и оно должно выйти "в любой момент". Мы хотели убедиться, что у нас есть приличный объем, прежде чем выпустить его в продажу, чтобы люди могли легко его купить.
- Аласдэр Аллан (@aallan) 24 октября 2022 года
В этой статье мы расскажем о сходствах и различиях между Pico W и Pico. Конечно, мы также представим несколько классных проектов Pico W.
Является ли Pico H просто традиционным Pico с предварительно распаянными разъемами?
По сути, да.
Но есть небольшая разница на отладочных разъемах 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 в портал для пленников!
Следуйте приведенному ниже руководству.
Оборудование для обработки
За исключением беспроводного интерфейса, аппаратное обеспечение практически идентично оригинальному 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.
Единственное различие заключается в светодиодных и 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
Прошивка MicroPython UF2
Основная задача по настройке, которую вам нужно будет выполнить, - это прошить MicroPython UF2 в Pico W.
Первый, скачать файл UF2, специально созданный для Raspberry Pi Pico W, здесь. Альтернативно, вы можете найти ночные сборки здесь.
Обратите внимание, что вы не можете использовать UF2 от оригинального Raspberry Pi Pico.
Чтобы загрузить файл 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
Вот как можно загрузить файлы 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 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
Для абсолютных новичков, имеющих набор компонентов, этот учебник расскажет вам о взаимодействии с вашими компонентами по беспроводной связи.
Этот учебник ориентирован на Pico W, что означает, что он пытается использовать модуль WiFi как можно больше. Так, вместо кнопок мы будем использовать веб-браузер с виртуальными кнопками для управления светодиодами, зуммерами. Мы будем использовать браузер для просмотра данных о температуре и расстоянии вместо ЖК-дисплея.
КЛИКНИТЕ ЗДЕСЬ: Самоучитель по компонентам Raspberry Pi Pico W для начинающих
Управление встроенным светодиодом Pico W с помощью веб-сервера
Это самое базовое руководство, которое поможет вам понять, как подключить Raspberry Pi Pico W к WiFi, запустить веб-сервер и управлять встроенным светодиодом с помощью веб-сервера.
Веб-страница будет обслуживаться с кнопкой "вкл/выкл", которую можно использовать для управления встроенным светодиодом.
Этот учебник является основой для многих других проектов, требующих дистанционного управления через WiFi.
КЛИКНИТЕ ЗДЕСЬ: Управление встроенным светодиодом Pico W с помощью веб-сервисаr
Передача данных датчиков через веб-сервер на 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 для отправки HTTP-запроса.
Мы будем использовать кнопку для имитации дверного звонка. При нажатии на кнопку Pico W будет срабатывать конечная точка IFTTT, которая затем вызовет уведомление по электронной почте или уведомление приложения.
КЛИКНИТЕ ЗДЕСЬ: Учебник Raspberry Pi Pico W Wi-Fi Doorbell (HTTP-запросы и IFTTT)
Удаленная метеостанция 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.
При переключении ползунка "Управление" вы заметите, как меняется яркость светодиода.
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-сообщений, потому что это упрощает процесс.
рандомизатор изображений электронного котенка
Соберитесь в тихом благоговении перед силой беспроводной связи! @Raspberry_Pi Pico W Плейскиттен рандомизатор! pic.twitter.com/U5jxbeWUwx
- Фил Ховард (@Gadgetoid) 30 июня 2022 года
Placekitten - это сайт, на котором размещаются милые кошачьи картинки для использования в качестве подставки для веб-дизайнеров.
Фил Ховард сделал следующее: заставил Pico W пропинговать сайт Placekitten и загрузить случайную фотографию кошки на его e-ink дисплей.
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 идеально подходит для устройств умного дома, включая умные растения! 🪴
- Arm (@Arm) 30 июня 2022 года
Да, вы правильно прочитали.@sandeepmistry подробно описано, как заставить растения писать вам смс, используя Pico W вместе с техникой от @pimoroni, @micropython и @twilio на сайте @Hacksterio: https://t.co/5oyu9W81S8 pic.twitter.com/7xbxGvmYey
Когда ваши друзья захотят выпить, они напишут вам сообщение, чтобы спросить, не хотите ли вы пойти выпить.
Почему бы не получить такой же опыт с вашими комнатными растениями?
Сандип Мистри сделал именно это с помощью 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 W | Espressif ESP32-PICO-KIT | |
Частота процессора | 133 МГц | 80/160/240 МГц |
Микроконтроллер | RP2040 | Xtensa LX6 |
Ядра | 2 | 2 |
Флеш-память | 2MB | 4MB |
ОПЕРАТИВНАЯ ПАМЯТЬ | 264 КБ | 520 КБ |
GPIO | 26 (пригодный для использования) | 36 |
Есть ли USB? | microUSB | microUSB |
WiFi и/или BT? | Да, оба, BT не включен при запуске | Да, оба |
Напряжение | 1,8 - 5,5 В или 5 В USB | 3,3 В (через контакты) или 5 В через USB или 5В-12В (через регулятор напряжения) |
Размер | 51x21 мм | 52x20 мм |
Языки | MicroPython / C | MicroPython / 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 года) |
Мне нужна самая компактная установка | Пико В |
Мне нужен быстрый перезапуск при аварии/отключении питания | Пико В |
Я не хочу устанавливать ОС | Пико В |
Я хочу более дешевый вариант | Пико В |
Под микроскопом
Питер Маунт снял это видео о Пико В...
Как обычно @pimoroni доставили быстро... так что я поставил новый @Raspberry_Pi PicoW под микроскопом... #ebenana #RaspberryPi #RaspberryPicoW pic.twitter.com/MvJHfENvKF
- Питер Маунт (@peter_mount) 1 июля 2022 года
Как компания Raspberry Pi анонсировала выход Pico W?
По словам представителей Raspberry Pi, никто не получил тизер, который представлял собой корову с графикой Raspberry Pi по всему периметру.
Они сказали: "Мы до сих пор не можем поверить, что никто из вас не получил тот самый абстрактный тизер, который мы выложили в 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:
Отладочные разъемы 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
Хм, я что-то упустил или это просто совместимый разъем? Вот что я получил из официальной документации:
"Мы указываем, что разъем должен быть 3-контактным JST 'SH' разъемом с шагом 1,0 мм, либо BM03B-SRSS-TB (верхняя часть).
типа SM03B-SRSS-TB (с боковым входом) или SM03B-SRSS-TB (с боковым входом), или совместимые альтернативы".
https://datasheets.raspberrypi.com/debug/debug-connector-specification.pdf
Отличная работа, была бы еще более полезной, если бы вы не проталкивали код python через транслятор.
Спасибо JJE за то, что обратили на это наше внимание. Это определенно то, над чем стоит поработать.
Спасибо!
Endlich funktioniert es!
Спасибо, что предоставили эту информацию сообществу, я нашел ее очень полезной.
[...] уже есть статья, в которой рассказывается обо всем, что нужно знать о Pico W. Кроме того, если вы только начинаете работать с Pico W, вы можете ознакомиться с этой [...].
[...] В то время как мир веб-разработчиков перешел к использованию фронтенд-фреймворков типа React, Angular или Vue, обслуживание веб-сайтов на Raspberry Pi Pico обычно требует умения писать ванильный JavaScript. Если вы посмотрите наши учебные пособия в статье Pico W mega, то увидите. [...]
[...] На момент написания статьи Pico WH (H - headers) еще не был выпущен. Наша мега-статья о Pico W следит за его выходом. [...]
[...] Перейдите по этой ссылке, чтобы узнать, как его обновить. По этой ссылке вы также узнаете о методе быстрого запуска вещания собственной сети WiFi. [...]
[...] Во многих отношениях измеритель влажности растений является идеальным дополнением к программе отправки текстовых сообщений для растений, о которой мы уже рассказывали в этом блоге. [...]