Skip to content

Korvova/waveshare

Repository files navigation

Waveshare RP2350-POE-ETH-8DI-8RO Web Server

Рабочий HTTP веб-сервер для управления 8 реле через Ethernet.

Что работает

  • Веб-интерфейс на http://192.168.1.100
  • 8 реле (GPIO 17-24) - включение/выключение через кнопки
  • DHT22 датчик (GPIO 42) - температура и влажность
  • Автообновление страницы каждые 10 секунд
  • Кнопки ALL ON / ALL OFF для управления всеми реле

Требования

  • Плата: Waveshare RP2350-POE-ETH-8DI-8RO (или совместимая с RP2350B)
  • Прошивка: WeAct RP2350B MicroPython v1.27.0 (файл micropython-rp2350b-v1.27.0.uf2)
  • Инструмент: mpremote (pip install mpremote)

Быстрая установка

1. Прошить MicroPython

# Зажать BOOTSEL, подключить USB
# Скопировать micropython-rp2350b-v1.27.0.uf2 на диск RPI-RP2

2. Загрузить файлы на плату

cd w5500_lib
mpremote cp w5500_simple.py :w5500_simple.py
mpremote cp webserver_simple.py :main.py
mpremote reset

3. Проверить работу

ping 192.168.1.100
# Открыть http://192.168.1.100 в браузере

Структура файлов

w5500_lib/
├── w5500_simple.py      # Драйвер W5500 (чистый Python)
├── webserver_simple.py  # HTTP веб-сервер (главный файл)
├── dht_quick.py         # Тест DHT22 датчика
└── gpio_scan.py         # Сканирование GPIO

Конфигурация

В файле webserver_simple.py:

# Сеть
IP = [192, 168, 1, 100]
GW = [192, 168, 1, 1]
SN = [255, 255, 255, 0]

# Реле (GPIO 17-24)
RELAY_PINS = [17, 18, 19, 20, 21, 22, 23, 24]

# DHT22 датчик
DHT_PIN = 42

GPIO распиновка

Компонент GPIO
W5500 SCK 34
W5500 MOSI 35
W5500 MISO 36
W5500 CS 33
W5500 RST 25
Реле 1-8 17-24
DHT22 42

Особенности реализации

  1. Чистый Python драйвер W5500 - не зависит от встроенного network модуля
  2. Chunked sending - большие ответы разбиваются на части (TX буфер 2KB)
  3. Content-Length header - браузер корректно показывает загрузку
  4. SoftSPI - работает на любых GPIO (34-36 для RP2350B)

Почему не стандартный network.WIZNET5K

Стандартный MicroPython для RP2350 не поддерживает GPIO 34-47 (только 0-29). WeAct прошивка для RP2350B поддерживает все 48 GPIO, но не имеет встроенного драйвера WIZNET5K. Поэтому используется чистый Python драйвер через SoftSPI.

Решение проблем

DHT22 показывает ETIMEDOUT

  • Проверить подключение датчика к GPIO 42
  • Переподключить питание датчика
  • Убедиться что есть pull-up резистор (обычно встроен в модуль)

Сайт не открывается

  • Проверить Ethernet кабель
  • ping 192.168.1.100
  • Убедиться что плата и ПК в одной подсети

Relay не переключается

  • Проверить что GPIO 17-24 не заняты другими устройствами

Лицензия

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published