Hi! First of all, sorry about my english and I’m a complete noob in linux!
Saw this project and I decided to give it a shot. Getting a new RPI Zero is really hard now, so I bought an OrangePi Zero 2. I was able to install and run hyperion without any (major) issue. However, I wasn’t able to identify a PWM pin on it, so I went over SPI.
I was able to turn on the leds and control the quantity of led turned on, but in my current configuration leds only stays in cold white and none of the effects works, so I’m missing something.
Some details of the project:
Led strip:
WS8212B
Hardware:
OrangePi Zero 2
Software:
Description: Ubuntu 18.04.6 LTS
Release: 18.04
Codename: bionic
OPi Zero 2 Pinout
Highlighted in red the one that I use for data wire
Hyperion configuration
Logs:
2022-03-09T23:14:53.301Z [ HYPERION] (INFO) Initial foreground effect 'Rainbow swirl fast' started
2022-03-09T23:14:53.363Z [ BOBLIGHT] (DEBUG) (BoblightServer.cpp:28:BoblightServer()) Instance created
2022-03-09T23:14:53.371Z [ LEDDEVICE] (INFO) Start LedDevice 'wled'.
2022-03-09T23:14:53.372Z [ SMOOTHING] (DEBUG) (LinearColorSmoothing.cpp:687:selectConfig()) cfg [0]: Type: linear - Time: 200 ms, outputRate 25.000000 Hz, interpolationRate: 25.000000 Hz, timer: 40 ms, Dithering: 0, Decay: 1.000000 -> HalfTime: 100.000000 ms
2022-03-09T23:14:53.371Z [ LEDDEVICE] (DEBUG) (LedDevice.cpp:148:init()) deviceConfig: [{"brightness":255,"colorOrder":"rgb","currentLedCount":68,"hardwareLedCount":68,"host":"192.168.4.172","hostList":"NONE","latchTime":0,"overwriteBrightness":true,"overwriteSync":true,"restoreOriginalState":true,"type":"wled"}]
2022-03-09T23:14:53.372Z [ LEDDEVICE] (DEBUG) (LedDevice.cpp:414:setLatchTime()) LatchTime updated to 0ms
2022-03-09T23:14:53.446Z [ HYPERION] (INFO) Hyperion instance 'OrangePI Zero 2' has been started
2022-03-09T23:14:53.372Z [ LEDDEVICE] (DEBUG) (LedDevice.cpp:445:setRewriteTime()) RewriteTime updated to 0ms
2022-03-09T23:14:53.372Z [ LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:80:init()) DeviceType : wled
2022-03-09T23:14:53.373Z [ COMPONENTREG] (DEBUG) (ComponentRegister.cpp:41:setNewComponentState()) LED device: enabled
2022-03-09T23:14:53.373Z [ LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:81:init()) LedCount : 68
2022-03-09T23:14:53.373Z [ LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:82:init()) ColorOrder : rgb
2022-03-09T23:14:53.373Z [ LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:83:init()) LatchTime : 0
2022-03-09T23:14:53.373Z [ LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:97:init()) RestoreOrigState : 1
2022-03-09T23:14:53.374Z [ LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:98:init()) Overwrite Sync. : 1
2022-03-09T23:14:53.374Z [ LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:99:init()) Overwrite Brightn.: 1
2022-03-09T23:14:53.374Z [ LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:100:init()) Set Brightness to : 255
2022-03-09T23:14:53.375Z [ SMOOTHING] (DEBUG) (LinearColorSmoothing.cpp:687:selectConfig()) Previous line repeats 1 times
2022-03-09T23:14:53.375Z [ EFFECTENGINE] (INFO) Run effect "Rainbow swirl fast" on channel 1
2022-03-09T23:14:53.375Z [ EFFECTENGINE] (DEBUG) (EffectEngine.cpp:181:runEffectScript()) Start the effect: name [Rainbow swirl fast], smoothCfg [2]
2022-03-09T23:14:53.376Z [ HYPERION] (DEBUG) (PriorityMuxer.cpp:165:registerInput()) Register new input 'System/EFFECT' with priority 1 as inactive
2022-03-09T23:14:53.376Z [ HYPERION] (INFO) Initial foreground effect 'Rainbow swirl fast' started
2022-03-09T23:14:53.380Z [ BOBLIGHT] (DEBUG) (BoblightServer.cpp:28:BoblightServer()) Instance created
2022-03-09T23:14:53.449Z [ HYPERION] (INFO) Hyperion instance 'WLED_Oficina' has been started
2022-03-09T23:14:53.431Z [ FLATBUFSERVER] (INFO) Started on port 19400
2022-03-09T23:14:53.441Z [ WEBSERVER] (DEBUG) (WebServer.cpp:33:initServer()) Initialize Webserver
2022-03-09T23:14:53.454Z [ PROTOSERVER] (INFO) Started on port 19445
2022-03-09T23:14:53.456Z [ WEBSERVER] (DEBUG) (WebServer.cpp:33:initServer()) Initialize Webserver
2022-03-09T23:14:53.498Z [ WEBSERVER] (DEBUG) (WebServer.cpp:92:handleSettingsUpdate()) Apply Webserver settings
2022-03-09T23:14:53.500Z [ WEBSERVER] (DEBUG) (WebServer.cpp:110:handleSettingsUpdate()) Set document root to: :/webconfig
2022-03-09T23:14:53.501Z [ WEBSERVER] (INFO) 'Hyperion Webserver' started on port 8090
2022-03-09T23:14:53.498Z [ WEBSERVER] (DEBUG) (WebServer.cpp:92:handleSettingsUpdate()) Apply Webserver settings
2022-03-09T23:14:53.502Z [ WEBSERVER] (DEBUG) (WebServer.cpp:110:handleSettingsUpdate()) Set document root to: :/webconfig
2022-03-09T23:14:53.555Z [ WEBSERVER] (DEBUG) (WebServer.cpp:176:handleSettingsUpdate()) Setup SSL certificate
2022-03-09T23:14:53.558Z [ WEBSERVER] (DEBUG) (WebServer.cpp:192:handleSettingsUpdate()) Setup private SSL key
2022-03-09T23:14:53.560Z [ WEBSERVER] (INFO) 'Hyperion Webserver' started on port 8092
2022-03-09T23:14:53.749Z [ LEDDEVICE] (DEBUG) (LedDevice.cpp:148:init()) deviceConfig: [{"brightness":255,"colorOrder":"rgb","currentLedCount":68,"hardwareLedCount":68,"host":"192.168.4.172","hostList":"NONE","latchTime":0,"overwriteBrightness":true,"overwriteSync":true,"port":19446,"restoreOriginalState":true,"type":"wled"}]
2022-03-09T23:14:53.749Z [ LEDDEVICE] (DEBUG) (LedDevice.cpp:414:setLatchTime()) LatchTime updated to 0ms
2022-03-09T23:14:53.749Z [ LEDDEVICE] (DEBUG) (LedDevice.cpp:445:setRewriteTime()) RewriteTime updated to 0ms
2022-03-09T23:14:53.750Z [ LEDDEVICE] (DEBUG) (ProviderUdp.cpp:43:init()) Successfully parsed 192.168.4.172 as an IP-address.
2022-03-09T23:14:53.750Z [ LEDDEVICE] (DEBUG) (ProviderUdp.cpp:73:init()) UDP socket will write to 192.168.4.172 port: 19446
2022-03-09T23:14:53.750Z [ LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:131:init()) Hostname/IP : 192.168.4.172
2022-03-09T23:14:53.751Z [ LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:132:init()) Port : 19446
2022-03-09T23:14:53.758Z [ LEDDEVICE] (DEBUG) (ProviderRestApi.cpp:155:get()) GET: [http://192.168.4.172/json/state]
2022-03-09T23:14:53.758Z [ LEDDEVICE] (DEBUG) (ProviderRestApi.cpp:314:getResponse()) Reply.httpStatusCode [0]
2022-03-09T23:14:53.759Z [ LEDDEVICE] (ERROR) Device disabled, device 'wled' signals error: 'Storing device state failed with error: 'Network unreachable''
2022-03-09T23:14:53.786Z [ HYPERION] (DEBUG) (PriorityMuxer.cpp:271:setInputImage()) Priority 1 is now active
2022-03-09T23:14:53.786Z [ HYPERION] (DEBUG) (PriorityMuxer.cpp:374:setCurrentTime()) Set visible priority to 1
2022-03-09T23:14:53.787Z [ SMOOTHING] (DEBUG) (LinearColorSmoothing.cpp:687:selectConfig()) cfg [2]: Type: linear - Time: 200 ms, outputRate 25.000000 Hz, interpolationRate: 25.000000 Hz, timer: 40 ms, Dithering: 0, Decay: 1.000000 -> HalfTime: 100.000000 ms
2022-03-09T23:14:53.788Z [ HYPERION] (DEBUG) (Hyperion.cpp:571:handleSourceAvailability()) priority[1], previousPriority[255]
2022-03-09T23:14:53.788Z [ HYPERION] (DEBUG) (Hyperion.cpp:582:handleSourceAvailability()) new source available -> Resume output processing and switch LED-Device on
2022-03-09T23:14:53.848Z [ HYPERION] (DEBUG) (PriorityMuxer.cpp:271:setInputImage()) Priority 1 is now active
2022-03-09T23:14:53.849Z [ HYPERION] (DEBUG) (PriorityMuxer.cpp:374:setCurrentTime()) Set visible priority to 1
2022-03-09T23:14:53.849Z [ HYPERION] (DEBUG) (Hyperion.cpp:571:handleSourceAvailability()) priority[1], previousPriority[255]
2022-03-09T23:14:53.850Z [ HYPERION] (DEBUG) (Hyperion.cpp:582:handleSourceAvailability()) new source available -> Resume output processing and switch LED-Device on
2022-03-09T23:14:56.425Z [ WEBSOCKET] (DEBUG) (WebSocketClient.cpp:30:WebSocketClient()) New connection from ::ffff:192.168.5.18
2022-03-09T23:14:56.657Z [ HYPERION] (DEBUG) (PriorityMuxer.cpp:337:setCurrentTime()) Timeout clear for priority 1
2022-03-09T23:14:56.658Z [ HYPERION] (DEBUG) (PriorityMuxer.cpp:374:setCurrentTime()) Set visible priority to 255
2022-03-09T23:14:56.658Z [ SMOOTHING] (DEBUG) (LinearColorSmoothing.cpp:687:selectConfig()) cfg [0]: Type: linear - Time: 200 ms, outputRate 25.000000 Hz, interpolationRate: 25.000000 Hz, timer: 40 ms, Dithering: 0, Decay: 1.000000 -> HalfTime: 100.000000 ms
2022-03-09T23:14:56.659Z [ HYPERION] (DEBUG) (Hyperion.cpp:571:handleSourceAvailability()) priority[255], previousPriority[1]
2022-03-09T23:14:56.659Z [ HYPERION] (DEBUG) (Hyperion.cpp:574:handleSourceAvailability()) No source left -> Pause output processing and switch LED-Device off
2022-03-09T23:14:56.770Z [ WEBSOCKET] (DEBUG) (JsonAPI.cpp:122:handleInstanceSwitch()) Client '::ffff:192.168.5.18' switch to Hyperion instance 0
2022-03-09T23:14:56.775Z [ EFFECTENGINE] (INFO) effect finished
2022-03-09T23:14:56.842Z [ EFFECTENGINE] (INFO) effect finished
2022-03-09T23:14:56.908Z [ HYPERION] (DEBUG) (PriorityMuxer.cpp:337:setCurrentTime()) Timeout clear for priority 1
2022-03-09T23:14:56.909Z [ HYPERION] (DEBUG) (PriorityMuxer.cpp:374:setCurrentTime()) Set visible priority to 255
2022-03-09T23:14:56.909Z [ HYPERION] (DEBUG) (Hyperion.cpp:571:handleSourceAvailability()) priority[255], previousPriority[1]
2022-03-09T23:14:56.909Z [ HYPERION] (DEBUG) (Hyperion.cpp:574:handleSourceAvailability()) No source left -> Pause output processing and switch LED-Device off
2022-03-09T23:14:57.318Z [ WEBSOCKET] (DEBUG) (JsonAPI.cpp:1436:handleLedDeviceCommand()) message: [{"command":"leddevice","ledDeviceType":"ws2812spi","subcommand":"discover","tan":671}]
2022-03-09T23:14:57.320Z [ WEBSOCKET] (DEBUG) (JsonAPI.cpp:1460:handleLedDeviceCommand()) response: [{"devices":[{"deviceName":"0.0","systemLocation":"/dev/spidev0.0"},{"deviceName":"1.1","systemLocation":"/dev/spidev1.1"}],"ledDeviceType":"ws2812spi"}]
2022-03-09T23:16:01.296Z [ WEBSOCKET] (DEBUG) (JsonAPI.cpp:1090:handleLoggingCommand()) log streaming activated for client ::ffff:192.168.5.18