Для электронщиков и радиолюбителей

Как на Raspberry Pi Pico W сделать простой Web-сервер

Как на Raspberry Pi Pico W сделать простой Web-сервер

Для создания простого веб-сервера на Raspberry Pi Pico W можно использовать язык программирования MicroPython и встроенный модуль socket. Вот пошаговая инструкция:

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

  1. Подготовьте Raspberry Pi Pico W:
    • Подключите Raspberry Pi Pico W к компьютеру с помощью USB-кабеля.
    • Войдите в режим загрузчика, удерживая кнопку BOOTSEL и подключая USB-кабель, затем отпустите кнопку.
    • Должен появиться USB-диск с именем RPI-RP2.
  2. Загрузите MicroPython:
    • Скачайте прошивку MicroPython для Raspberry Pi Pico W с официального сайта.
    • Перетащите скачанный файл .uf2 на диск RPI-RP2. После этого Pico перезагрузится и начнет работать под управлением MicroPython.

Шаг 2: Настройка среды разработки

  1. Установите Thonny IDE (если у вас еще нет):
    • Скачайте и установите Thonny с официального сайта.
    • Запустите Thonny и выберите в меню Интерпретатор -> MicroPython (Raspberry Pi Pico).

Шаг 3: Подключение к Wi-Fi

Создайте новый файл в Thonny и вставьте следующий код для подключения к Wi-Fi:

import network
import time

ssid = 'YOUR_SSID'
password = 'YOUR_PASSWORD'

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(ssid, password)

# Ожидание подключения
max_wait = 10
while max_wait > 0:
    if wlan.status() < 0 or wlan.status() >= 3:
        break
    max_wait -= 1
    print('waiting for connection...')
    time.sleep(1)

# Проверка статуса подключения
if wlan.status() != 3:
    raise RuntimeError('network connection failed')
else:
    print('connected')
    ip = wlan.ifconfig()[0]
    print('IP:', ip)

Замените 'YOUR_SSID' и 'YOUR_PASSWORD' на свои данные от Wi-Fi. Сохраните и запустите этот скрипт, чтобы подключиться к сети.

Шаг 4: Создание простого веб-сервера

Создайте новый файл с кодом для веб-сервера:

import socket

# Функция для обработки запросов
def web_page():
    html = """<!DOCTYPE html>
<html>
<head>
    <title>Raspberry Pi Pico W</title>
</head>
<body>
    <h1>Hello, World!</h1>
    <p>This is a simple web server on Raspberry Pi Pico W.</p>
</body>
</html>
"""
    return html

# Настройка сокета
addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1]
s = socket.socket()
s.bind(addr)
s.listen(1)

print('Listening on', addr)

while True:
    cl, addr = s.accept()
    print('Client connected from', addr)
    request = cl.recv(1024)
    print('Request:', request)

    response = web_page()
    cl.send('HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n')
    cl.send(response)
    cl.close()

Этот скрипт создаёт простой веб-сервер, который возвращает HTML-страницу с приветственным сообщением.

Шаг 5: Запуск веб-сервера

Сохраните и запустите этот скрипт. Теперь ваш веб-сервер должен работать. В браузере на компьютере, подключённом к той же сети Wi-Fi, введите IP-адрес, который был напечатан в консоли на шаге 3, чтобы увидеть веб-страницу, сгенерированную сервером.

Теперь у вас есть работающий веб-сервер на Raspberry Pi Pico W.