Просмотр исходного кода

Add Docker support for Pi 5 NeoPixel (lgpio + PIO)

- requirements.txt: Add rpi-lgpio and Adafruit-Blinka-Raspberry-Pi5-Neopixel
- Dockerfile: Install python3-lgpio system package for rpi-lgpio dependency
- docker-compose.yml: Mount /dev/pio0 for Pi 5 PIO-based NeoPixel access

The Pi 5 uses a new RP1 chip that requires lgpio instead of RPi.GPIO,
and PIO instead of PWM for NeoPixel control.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
tuanchris 1 месяц назад
Родитель
Сommit
e8b962dac5
3 измененных файлов с 7 добавлено и 0 удалено
  1. 2 0
      Dockerfile
  2. 1 0
      docker-compose.yml
  3. 4 0
      requirements.txt

+ 2 - 0
Dockerfile

@@ -14,6 +14,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
         # GPIO/NeoPixel support for DW LEDs
         python3-dev python3-pip \
         libgpiod2 libgpiod-dev \
+        # lgpio for Pi 5 GPIO support (rpi-lgpio Python package depends on this)
+        python3-lgpio \
         scons \
         systemd \
         # Docker CLI for container self-restart/update

+ 1 - 0
docker-compose.yml

@@ -24,5 +24,6 @@ services:
       - "/dev/ttyAMA0:/dev/ttyAMA0"  # Alternative serial device
       - "/dev/gpiomem:/dev/gpiomem"  # GPIO memory access for DW LEDs
       - "/dev/mem:/dev/mem"          # Direct memory access for PWM
+      - "/dev/pio0:/dev/pio0"        # PIO device for Pi 5 NeoPixel support
     privileged: true  # Required for GPIO/PWM access
     container_name: dune-weaver

+ 4 - 0
requirements.txt

@@ -14,7 +14,11 @@ requests>=2.31.0
 Pillow
 aiohttp
 # GPIO/NeoPixel support for DW LEDs and Desert Compass
+# Pi 4 and earlier:
 RPi.GPIO>=0.7.1  # Required by Adafruit Blinka on Raspberry Pi and for reed switch
 rpi-ws281x>=5.0.0  # Low-level NeoPixel/WS281x driver
 adafruit-circuitpython-neopixel>=6.3.0
 Adafruit-Blinka>=8.0.0
+# Pi 5 support (uses PIO instead of PWM, rpi-lgpio replaces RPi.GPIO):
+rpi-lgpio>=0.4  # Drop-in replacement for RPi.GPIO on Pi 5
+Adafruit-Blinka-Raspberry-Pi5-Neopixel>=1.0.0  # Pi 5 PIO-based NeoPixel driver