Главная страница » Raspberry Pi » Raspberry Pi Pico W: первый проект с WiFi и MicroPython
Raspberry Pi Pico W: первый проект с WiFi и MicroPython
Raspberry Pi

Raspberry Pi Pico W: первый проект с WiFi и MicroPython

31.03.2026 169
Raspberry Pi Pico W: первый проект с WiFi и MicroPython

Пошаговое руководство по настройке Raspberry Pi Pico W с WiFi. Узнайте, как установить MicroPython, подключиться к сети и отправить HTTP-запрос для вашего умного дома. Практический DIY проект с нуля.

Привет всем любителям DIY и умного дома! Сегодня мы отойдём от привычных одноплатников вроде Raspberry Pi 4 и погрузимся в мир микроконтроллеров. Наш герой — Raspberry Pi Pico W, младший, но невероятно способный родственник. Зачем он нам? Это идеальный мозг для небольших автономных проектов: датчиков, переключателей, простых автоматизаций, которые должны работать годами на минимальной энергии. А главное — у него теперь есть WiFi! В этой статье я покажу, как с нуля подготовить Pico W, подключить его к сети и написать первую программу на MicroPython, которая отправит данные в ваш умный дом.

Что такое Raspberry Pi Pico W и зачем он нужен в умном доме

Raspberry Pi Pico W — это не полноценный компьютер, а микроконтроллер. У него нет операционной системы в привычном смысле, зато есть GPIO-пины для подключения датчиков, кнопок, реле и других компонентов. С появлением модуля WiFi (буква W в названии) он стал идеальным кандидатом для создания беспроводных сенсорных узлов.

Почему я выбрал его для своих проектов: * Цена: Несоизмеримо дешевле полноценного Raspberry Pi. * Энергопотребление: Может работать от батареек месяцами в спящем режиме. * Простота: Не нужно возиться с ОС — прошил firmware и пиши код. * Надёжность: Меньше точек отказа, чем в системе на Linux.

Наш первый проект будет простым, но фундаментальным: мы заставим Pico W подключиться к вашей WiFi сети и отправить HTTP-запрос. Это основа для будущих метеостанций, датчиков протечки или умных кнопок.

Что понадобится для работы

  1. Плата Raspberry Pi Pico W.
  2. Кабель USB-C (для подключения к компьютеру).
  3. Компьютер с Windows, macOS или Linux.
  4. Доступ к роутеру (знание SSID и пароля WiFi).

Шаг 1: Установка MicroPython на Pico W

Pico W по умолчанию пуст. Первым делом нужно загрузить на него интерпретатор MicroPython.

1.1 Скачивание прошивки

Идём на официальный сайт Raspberry Pi и скачиваем последнюю стабильную версию MicroPython для Pico W. Файл будет иметь расширение .uf2.

Важно: Не берите версию для обычного Pico (без W) — в ней нет драйверов WiFi!

1.2 Первая загрузка

  1. Отключите Pico W от USB.
  2. Зажмите белую кнопку BOOTSEL на плате.
  3. Не отпуская кнопку, подключите плату к компьютеру через USB-C.
  4. Отпустите кнопку. В системе должен появиться новый съёмный диск с названием RPI-RP2.

  5. Перетащите скачанный файл rp2-pico-w-...uf2 на этот диск. Плата автоматически перезагрузится, и диск исчезнет. MicroPython установлен!

Шаг 2: Первое подключение и настройка окружения

Для работы с платой нам понадобится терминал. Я использую screen на macOS/Linux, но для Windows отлично подходит PuTTY или Thonny IDE.

2.1 Поиск последовательного порта

На macOS/Linux:

ls /dev/tty.*
# Ищем порт, похожий на /dev/tty.usbmodem1101 или /dev/ttyACM0

На Windows: Зайдите в Диспетчер устройств и найдите порт (COM) в разделе "Порты (COM & LPT)".

2.2 Подключение через терминал

Используем скорость 115200 бод.

# Для macOS/Linux
screen /dev/tty.usbmodem1101 115200

# Для Windows в PuTTY:
# Выберите Connection type "Serial", укажите COM-порт (например, COM3) и Speed 115200.

Если всё сделано правильно, вы увидите приглашение MicroPython >>>. Нажмите Ctrl+D для мягкой перезагрузки — вы должны увидеть приветственное сообщение.

Типичная ошибка: "Permission denied" на Linux/macOS. Решение — добавить себя в группу dialout (Linux) или использовать sudo.

Шаг 3: Основы MicroPython и сохранение скрипта

Пока мы в интерактивном режиме (REPL), давайте попробуем мигнуть светодиодом. На Pico W есть встроенный светодиод, привязанный к GPIO 25.

# Вводим в REPL построчно
from machine import Pin
import time

led = Pin("LED", Pin.OUT) # "LED" - это встроенный светодиод на Pico W

led.on()  # Светодиод загорелся
time.sleep(2)
led.off() # Погас

Но REPL непостоянен. Чтобы код выполнялся при каждом включении, его нужно сохранить в файл main.py. Сделаем это с помощью Thonny IDE — это проще для новичков.

  1. Установите Thonny.
  2. Запустите, в меню выберите "Инструменты" -> "Плата" -> "Raspberry Pi Pico".
  3. Подключитесь к порту.
  4. Создайте новый файл, введите код ниже и сохраните его на Pico W под именем main.py.

Шаг 4: Подключаемся к WiFi — пишем скрипт

Создадим наш главный скрипт. Он будет подключаться к WiFi и выводить IP-адрес.

# main.py
import network
import time
from machine import Pin

# Конфигурация WiFi
WIFI_SSID = "ВАШ_SSID"
WIFI_PASSWORD = "ВАШ_ПАРОЛЬ"

# Инициализация встроенного светодиода
led = Pin("LED", Pin.OUT)

def connect_to_wifi():
    # Создаём объект интерфейса станции (клиента WiFi)
    wlan = network.WLAN(network.STA_IF)
    wlan.active(True)  # Активируем интерфейс

    # Если не подключены — пробуем подключиться
    if not wlan.isconnected():
        print(f'Подключаемся к сети {WIFI_SSID}...')
        wlan.connect(WIFI_SSID, WIFI_PASSWORD)

        # Ожидаем подключения (макс 10 секунд)
        timeout = 10
        while not wlan.isconnected() and timeout > 0:
            # Мигаем светодиодом в процессе ожидания
            led.toggle()
            time.sleep(0.5)
            timeout -= 1
            print('.', end='')

    # Результат подключения
    if wlan.isconnected():
        led.on()  # Постоянный свет = успех
        print('nПодключение успешно!')
        print('Сетевые настройки:', wlan.ifconfig())
        return wlan.ifconfig()[0]  # Возвращаем полученный IP-адрес
    else:
        led.off()  # Светодиод выключен = неудача
        print('nНе удалось подключиться!')
        return None

# Запускаем подключение
ip_address = connect_to_wifi()

# Если подключились, можно запустить основной цикл
if ip_address:
    print(f'Устройство доступно по адресу: {ip_address}')
    # Здесь позже добавим основной код

Важные моменты: * Безопасность: Не коммитьте этот файл с паролем в Git! В будущем пароль лучше хранить в отдельном конфиге. * Таймаут: Если ваша сеть долго подключается, увеличьте значение timeout.

Шаг 5: Проверка результата и тестирование

  1. Сохраните файл main.py на Pico W через Thonny (Файл -> Сохранить как -> Raspberry Pi Pico).
  2. Нажмите кнопку RST (перезагрузка) на плате или отключите/подключите USB.
  3. В Thonny откройте "Вид" -> "Shell" (нижняя панель). Вы увидите вывод скрипта при загрузке.

Ожидаемый результат:

Подключаемся к сети MyHomeWiFi...
..........
Подключение успешно!
Сетевые настройки: ('192.168.1.150', '255.255.255.0', '192.168.1.1', '8.8.8.8')
Устройство доступно по адресу: 192.168.1.150

При этом встроенный светодиод на плате должен гореть постоянно.

Если не работает: * "Connection failed": Перепроверьте SSID и пароль. Убедитесь, что сеть на 2.4 ГГц (Pico W не поддерживает 5 ГГц). * Светодиод мигает и гаснет: Превышен таймаут. Возможно, слабый сигнал. Попробуйте приблизить плату к роутеру. * Нет вывода в Shell: Убедитесь, что в настройках Thonny выбрана правильная плата и порт.

Шаг 6: Первое действие — отправка HTTP-запроса

Теперь, когда мы в сети, научим Pico W "разговаривать" с внешним миром. Отправим простой GET-запрос на тестовый веб-сервис.

Добавим в main.py после успешного подключения новую функцию и вызов:

import urequests

def send_http_request(ip):
    try:
        # Отправляем запрос на тестовый JSON-сервис
        print("Отправляем тестовый запрос...")
        response = urequests.get("http://httpbin.org/get")

        # Печатаем статус и часть ответа
        print(f"Статус ответа: {response.status_code}")
        print(f"Ответ (первые 200 символов): {response.text[:200]}")

        # Важно! Закрываем соединение, чтобы не исчерпать память
        response.close()

    except Exception as e:
        print(f"Ошибка при отправке запроса: {e}")

# Изменяем часть кода после connect_to_wifi:
if ip_address:
    print(f'Устройство доступно по адресу: {ip_address}')
    # Даём сети немного "устояться"
    time.sleep(2)
    send_http_request(ip_address)

Сохраните и перезагрузите плату. В Shell вы должны увидеть успешный HTTP-ответ с вашим IP-адресом. Это доказательство, что ваша плата может взаимодействовать с интернетом!

Куда двигаться дальше: идеи проектов

С этого момента возможности ограничены только вашей фантазией. Вот что можно сделать:

  1. Датчик температуры/влажности: Подключите DHT22 или BME280, отправляйте данные раз в минуту на ваш сервер по MQTT. Это отличная основа для домашней метеостанции.
  2. Умная кнопка: По нажатию на кнопку, подключённую к GPIO, отправлять запрос в Home Assistant или на MQTT-брокер, чтобы включить свет. Говоря о MQTT, для таких задач вам точно пригодится понимание основ MQTT брокера Mosquitto.
  3. Сторожевой датчик: Используйте датчик движения (PIR) для отправки уведомления в Telegram при обнаружении активности.

Для сложных проектов с сбором данных и красивыми дашбордами вам может понадобиться более мощный одноплатник. В таком случае, решить вопрос выбора поможет статья Raspberry Pi OS vs Ubuntu vs DietPi: Выбор ОС для домашнего сервера.

Заключение

Мы прошли весь путь от распаковки Raspberry Pi Pico W до создания автономного WiFi-устройства, способного общаться с интернетом. Вы научились прошивать MicroPython, подключаться к WiFi и отправлять HTTP-запросы. Это фундамент для сотен практических проектов в умном доме.

Главная прелесть Pico W — в его простоте и надёжности. Не нужно обновлять пакеты или переживать за падение ОС. Записал скрипт — и он будет работать годами.

Пробуйте, экспериментируйте с датчиками, и скоро ваш дом наполнится умными и полезными устройствами собственного производства. Удачи в творчестве!

Понравилась статья?

Поставьте лайк и сохраните полезный материал в закладки.

Комментарии (0)
Добавить комментарий
Прокомментировать
Кликните на изображение чтобы обновить код, если он неразборчив
Headless Raspberry Pi: Настройка без монитора через SSH — Полное руководство
Raspberry Pi
31.03.2026
Headless Raspberry Pi: Настройка без монитора через SSH — Полное руководство
Пошаговое руководство по настройке Raspberry Pi без монитора и клавиатуры. Узнайте, как включить SSH, подключиться к сети и управлять Pi удалённо для DIY-проектов и
Pi-hole на Raspberry Pi: Как я избавил всю домашнюю сеть от рекламы раз и навсегда
Raspberry Pi
31.03.2026
Pi-hole на Raspberry Pi: Как я избавил всю домашнюю сеть от рекламы раз и навсегда
Пошаговая инструкция по установке Pi-hole на Raspberry Pi. Настройте сетевой фильтр рекламы и трекеров для всего умного дома. Проверка, типичные ошибки, личный опыт.
Raspberry Pi как домашний сервер: что на нём можно запустить в 2024
Raspberry Pi
31.03.2026
Raspberry Pi как домашний сервер: что на нём можно запустить в 2024
Подробное руководство по настройке Raspberry Pi как домашнего сервера в 2024. Установите Pi-hole, Home Assistant, Nextcloud, VPN и другие сервисы через Docker.
Ретро-игровая консоль на Raspberry Pi: Полное руководство по установке и настройке RetroPie
Raspberry Pi
31.03.2026
Ретро-игровая консоль на Raspberry Pi: Полное руководство по установке и настройке RetroPie
Подробное руководство по сборке ретро-игровой консоли на Raspberry Pi с RetroPie. Установка, настройка эмуляторов, добавление игр, решение проблем. Создайте свою
GPIO на Raspberry Pi: Управляем светодиодами и реле из Python
Raspberry Pi
31.03.2026
GPIO на Raspberry Pi: Управляем светодиодами и реле из Python
Подробное руководство по работе с GPIO на Raspberry Pi. Узнайте, как подключить и управлять светодиодом и реле из Python. Примеры кода, схемы, типичные ошибки. Создайте
Raspberry Pi NAS: Собираем домашнее сетевое хранилище на OpenMediaVault
Raspberry Pi
31.03.2026
Raspberry Pi NAS: Собираем домашнее сетевое хранилище на OpenMediaVault
Пошаговое руководство по сборке тихого и энергоэффективного NAS на Raspberry Pi с OpenMediaVault. Настройка дисков, общих папок SMB и проверка скорости за 1 час.

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