from rpi_ws281x import *
strip = Adafruit_NeoPixel(LED_COUNT, LED_PIN, LED_FREQ_HZ, LED_DMA, LED_INVERT, LED_BRIGHTNESS, LED_CHANNEL)
strip.begin()
Это вызывает ошибку на 64-битных версиях Pi
Traceback (most recent call last):
File "/home/pi/Documents/Test.py", line 28, in
strip.begin()
File "/usr/local/lib/python3.9/dist-packages/rpi_ws281x/rpi_ws281x.py", line 143, in begin
raise RuntimeError('ws2811_init failed with code {0} ({1})'.format(resp, str_resp))
RuntimeError: ws2811_init failed with code -3 (Hardware revision is not supported)
Если я запускаю тот же код на том же Raspberry Pi с 32-битной операционной системой, это работает
Я пробовал различные ОС RPi:
- Raspbian GNU/Linux 10 (buster) – 32-битная версия
- Debian GNU/Linux 11 (яблочко) – 32-битная версия это работает
- Книжный червь, 64-битный полный образ (Debian 12) – 64-битная версия выдает код ошибки -3
sudo pip3 install rpi_ws281x
sudo pip3 install adafruit-circuitpython-neopixel
sudo python3 -m pip install --force-reinstall adafruit-blinka
Отредактируйте файл /boot/config.txt и измените dtparam=audio=on на dtparam=audio=off.
Из окна терминала: Sudo Thonny
Создайте новый py-файл
from rpi_ws281x import *
LED_COUNT = 50
LED_PIN = 18
#LED_PIN = 10
LED_FREQ_HZ = 800000
LED_DMA = 10
LED_BRIGHTNESS = 65
LED_INVERT = False
LED_CHANNEL = 0
strip = Adafruit_NeoPixel(LED_COUNT, LED_PIN, LED_FREQ_HZ, LED_DMA, LED_INVERT, LED_BRIGHTNESS, LED_CHANNEL)
strip.begin() #This throws an error on 64 bit Pi's
color = Color(50, 50, 50)
for i in range(strip.numPixels()):
strip.setPixelColor(i, color)
strip.show()
Подробнее здесь: https://stackoverflow.com/questions/798 ... spberry-pi
Мобильная версия