Hi there
Been messing around with hyperion and boblight, I've had boblight working on a windows machine + kodi but my HTPC has Kodibuntu running on it so thats what ill change to in the future..
But anyways right now I got a Raspberry Pi 3 with OSMC and I'm trying to get Hyperion running on it but I can't seem to get it to work fully I have tried tons of different hyperion configs and also a lot of sketches for my Arduino nano. The LED is 5 meter WS2812B so that's 300 LEDS.
So far it seems the service is up and running on the RPI3 because when I use the following command "sudo service hyperion status" over ssh I get this message back:
* hyperion.service - Hyperion Systemd service
Loaded: loaded (/etc/systemd/system/hyperion.service; enabled)
Active: active (running) since Mon 2016-12-12 20:58:08 CET; 31min ago
Main PID: 689 (hyperiond)
CGroup: /system.slice/hyperion.service
`-689 /usr/bin/hyperiond /etc/hyperion/hyperion.config.json
Dec 12 21:29:12 osmc hyperiond[689]: Unable to open RS232 device (IO Except....)
Dec 12 21:29:12 osmc hyperiond[689]: Device blocked for 3000 ms
Dec 12 21:29:15 osmc hyperiond[689]: Device unblocked
Dec 12 21:29:15 osmc hyperiond[689]: Opening UART: /dev/ttyS0
Dec 12 21:29:15 osmc hyperiond[689]: Unable to open RS232 device (IO Except....)
Dec 12 21:29:15 osmc hyperiond[689]: Device blocked for 3000 ms
Dec 12 21:29:18 osmc hyperiond[689]: Device unblocked
Dec 12 21:29:18 osmc hyperiond[689]: Opening UART: /dev/ttyS0
Dec 12 21:29:18 osmc hyperiond[689]: Unable to open RS232 device (IO Except....)
Dec 12 21:29:18 osmc hyperiond[689]: Device blocked for 3000 ms
Hint: Some lines were ellipsized, use -l to show in full.
Alles anzeigen
My current hyperion.config.json (I have tried a lot of different settings)
My Hyperion log, haven't figured out what the "/home/sascha/hyperion/dependencies/build/serial/src/impl/unix.cc, line 100.)" means:
SSH Traffic:
ssh connected
ssh out: sudo journalctl -u hyperion.service 2>/dev/null
ssh in: -- Logs begin at Mon 2016-12-12 18:26:55 CET, end at Mon 2016-12-12 21:53:10 CET. --
ssh in: Dec 12 18:26:56 osmc systemd[1]: Starting Hyperion Systemd service...
ssh in: Dec 12 18:26:56 osmc systemd[1]: Started Hyperion Systemd service.
ssh in: Dec 12 18:26:58 osmc hyperiond[294]: Hyperion Ambilight Deamon (294)
ssh in: Dec 12 18:26:58 osmc hyperiond[294]: Version : V1.03.2 (brindosch-99d9396/d3713a8-1469452981
ssh in: Dec 12 18:26:58 osmc hyperiond[294]: Build Time: Jul 25 2016 06:54:40
ssh in: Dec 12 18:26:58 osmc hyperiond[294]: INFO: Selected configuration file: /etc/hyperion/hyperion.config.json
ssh in: Dec 12 18:26:58 osmc hyperiond[294]: HYPERION INFO: ColorTransform 'default' => [0; 299]
ssh in: Dec 12 18:26:58 osmc hyperiond[294]: HYPERION INFO: ColorCorrection 'default' => [0; 299]
ssh in: Dec 12 18:26:58 osmc hyperiond[294]: HYPERION INFO: ColorAdjustment 'default' => [0; 299]
ssh in: Dec 12 18:26:58 osmc hyperiond[294]: LEDDEVICE INFO: configuration:
ssh in: Dec 12 18:26:58 osmc hyperiond[294]: {
ssh in: Dec 12 18:26:58 osmc hyperiond[294]: "colorOrder" : "rgb",
ssh in: Dec 12 18:26:58 osmc hyperiond[294]: "delayAfterConnect" : 0,
ssh in: Dec 12 18:26:58 osmc hyperiond[294]: "name" : "MyHyperionConfig",
ssh in: Dec 12 18:26:58 osmc hyperiond[294]: "output" : "/dev/ttyS0",
ssh in: Dec 12 18:26:58 osmc hyperiond[294]: "rate" : 115200,
ssh in: Dec 12 18:26:58 osmc hyperiond[294]: "type" : "adalight"
ssh in: Dec 12 18:26:58 osmc hyperiond[294]: }
ssh in: Dec 12 18:26:58 osmc hyperiond[294]: Opening UART: /dev/ttyS0
ssh in: Dec 12 18:26:58 osmc hyperiond[294]: Unable to open RS232 device (IO Exception (2): No such file or directory, file /home/sascha/hyperion/dependencies/build/serial/src/impl/unix.cc, line 100.)
ssh in: Dec 12 18:26:58 osmc hyperiond[294]: INFO: Creating linear smoothing
ssh in: Dec 12 18:26:58 osmc hyperiond[294]: HYPERION (CS) INFO: Created linear-smoothing(interval_ms=50;settlingTime_ms=200;updateDelay=0
ssh in: Dec 12 18:26:59 osmc hyperiond[294]: EFFECTENGINE INFO: 27 effects loaded from directory /usr/share/hyperion/effects
ssh in: Dec 12 18:26:59 osmc hyperiond[294]: EFFECTENGINE INFO: Initializing Python interpreter
ssh in: Dec 12 18:26:59 osmc hyperiond[294]: INFO: Hyperion started and initialised
ssh in: Dec 12 18:26:59 osmc hyperiond[294]: INFO: Boot sequence 'Rainbow swirl fast' EFFECTENGINE INFO: run effect Rainbow swirl fast on channel 0
ssh in: Dec 12 18:26:59 osmc hyperiond[294]: BLACKBORDER INFO: threshold set to 0 (0)
ssh in: Dec 12 18:26:59 osmc hyperiond[294]: BLACKBORDER INFO: mode:default
ssh in: Dec 12 18:26:59 osmc hyperiond[294]: started
ssh in: Dec 12 18:26:59 osmc hyperiond[294]: INFO: Json server created and started on port 19444
ssh in: Dec 12 18:26:59 osmc hyperiond[294]: INFO: Proto server created and started on port 19445
ssh in: Dec 12 18:26:59 osmc hyperiond[294]: DISPMANXGRABBER INFO: Display opened with resolution: 1920x1080
ssh in: Dec 12 18:26:59 osmc hyperiond[294]: BLACKBORDER INFO: threshold set to 0 (0)
ssh in: Dec 12 18:26:59 osmc hyperiond[294]: BLACKBORDER INFO: mode:default
ssh in: Dec 12 18:26:59 osmc hyperiond[294]: INFO: Frame grabber created and started
ssh in: Dec 12 18:26:59 osmc hyperiond[294]: Opening UART: /dev/ttyS0
ssh in: Dec 12 18:26:59 osmc hyperiond[294]: Unable to open RS232 device (IO Exception (2): No such file or directory, file /home/sascha/hyperion/dependencies/build/serial/src/impl/unix.cc, line 100.)
ssh in: Dec 12 18:26:59 osmc hyperiond[294]: Device blocked for 3000 ms
ssh in: Dec 12 18:26:59 osmc hyperiond[294]: BORDER SWITCH REQUIRED!!
ssh in: Dec 12 18:26:59 osmc hyperiond[294]: CURRENT BORDER TYPE: unknown=0 hor.size=0 vert.size=0
ssh in: Dec 12 18:27:02 osmc hyperiond[294]: Device unblocked
ssh in: Dec 12 18:27:02 osmc hyperiond[294]: Opening UART: /dev/ttyS0
ssh in: Dec 12 18:27:02 osmc hyperiond[294]: Unable to open RS232 device (IO Exception (2): No such file or directory, file /home/sascha/hyperion/dependencies/build/serial/src/impl/unix.cc, line 100.)
ssh in: Dec 12 18:27:02 osmc hyperiond[294]: Device blocked for 3000 ms
ssh in: Dec 12 18:27:02 osmc hyperiond[294]: EFFECTENGINE INFO: effect finished
ssh in: Dec 12 18:27:05 osmc hyperiond[294]: Device unblocked
ssh in: Dec 12 18:27:05 osmc hyperiond[294]: Opening UART: /dev/ttyS0
ssh in: Dec 12 18:27:05 osmc hyperiond[294]: Unable to open RS232 device (IO Exception (2): No such file or directory, file /home/sascha/hyperion/dependencies/build/serial/src/impl/unix.cc, line 100.)
ssh in: Dec 12 18:27:05 osmc hyperiond[294]: Device blocked for 3000 ms
ssh in: Dec 12 20:48:17 osmc hyperiond[294]: Device unblocked
ssh in: Dec 12 20:48:17 osmc hyperiond[294]: Opening UART: /dev/ttyS0
ssh in: Dec 12 20:48:17 osmc hyperiond[294]: Unable to open RS232 device (IO Exception (2): No such file or directory, file /home/sascha/hyperion/dependencies/build/serial/src/impl/unix.cc, line 100.)
ssh in: Dec 12 20:48:17 osmc hyperiond[294]: Device blocked for 3000 ms
ssh in: Dec 12 20:48:20 osmc hyperiond[294]: Device unblocked
ssh in: Dec 12 20:48:20 osmc hyperiond[294]: Opening UART: /dev/ttyS0
ssh in: Dec 12 20:48:20 osmc hyperiond[294]: Unable to open RS232 device (IO Exception (2): No such file or directory, file /home/sascha/hyperion/dependencies/build/serial/src/impl/unix.cc, line 100.)
ssh in: Dec 12 20:48:20 osmc hyperiond[294]: Device blocked for 3000 ms
ssh in: Dec 12 20:48:23 osmc hyperiond[294]: Device unblocked
ssh in: Dec 12 20:48:24 osmc hyperiond[294]: Opening UART: /dev/ttyS0
ssh in: Dec 12 20:48:24 osmc hyperiond[294]: Unable to open RS232 device (IO Exception (2): No such file or directory, file /home/sascha/hyperion/dependencies/build/serial/src/impl/unix.cc, line 100.)
Alles anzeigen
It keeps spamming this till I turn off the Raspberry.
And I might as well post my Arduino sketch while I'm at it (got it from HERE
/* Modified and commented by ai.rs
* t4a_boblight
* (C) 2014 Hans Luijten, www.tweaking4all.com
*
* t4a_boblight is free software and can be distributed and/or modified
* freely as long as the copyright notice remains in place.
* Nobody is allowed to charge you for this code.
* Use of this code is entirely at your own risk.
*/
#include "Adafruit_NeoPixel.h"
// DEFINITIONS
#define STARTCOLOR 0x333333 // LED colors at start
#define BLACK 0x000000 // LED color BLACK
#define DATAPIN 13 // Datapin
#define LEDCOUNT 300 // Number of LEDs used for boblight
// LEDCOUNT value is local value in Arduino sketch, for hyperion it doesn't matter it sends prefx characters according to hyperion config
#define SHOWDELAY 200 // Delay in micro seconds before showing default 200
//#define BAUDRATE 500000// Serial port speed, 460800 tested with Arduino Uno R3 23400 za MEGA, 115200 nano
#define BAUDRATE 115200
#define BRIGHTNESS 40 // Max. brightness in %
//Hyperion sends prefix characters based on number of LEDs in config file
// e.g. for 181 LEDs it will send 0xB4 and cheksum 0xE1
// keep in mind if you are using boblight config to calculate prefix that Boblight counts diodes from 1 and Hyperion from 0
// if you have problems try +1 or -1 diodes when generating prefix characters
// values to save some time: 178 B1 E4, 180 B3E6, 181 B4E1, 182 B5E0
//hyperion code
//_ledBuffer[3] = ((ledValues.size() - 1) >> 8) & 0xFF; // LED count high byte
// _ledBuffer[4] = (ledValues.size() - 1) & 0xFF; // LED count low byte
// _ledBuffer[5] = _ledBuffer[3] ^ _ledBuffer[4] ^ 0x55; // Checksum
const char prefix[] = {0x41, 0x64, 0x61, 0x00, 0xB4, 0xE1}; // Start prefix ADA
char buffer[sizeof(prefix)]; // Temp buffer for receiving prefix data
// Init LED strand, WS2811/WS2912 specific
// These might work for other configurations:
// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
// NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)
// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(LEDCOUNT, DATAPIN, NEO_GRB + NEO_KHZ800);
int state; // Define current state
#define STATE_WAITING 1 // - Waiting for prefix
#define STATE_DO_PREFIX 2 // - Processing prefix
#define STATE_DO_DATA 3 // - Handling incoming LED colors
int readSerial; // Read Serial data (1)
int currentLED; // Needed for assigning the color to the right LED
void setup()
{
strip.begin(); // Init LED strand, set all black, then all to startcolor
strip.setBrightness( (255 / 100) * BRIGHTNESS );
setAllLEDs(BLACK, 0);
setAllLEDs(STARTCOLOR, 5);
Serial.begin(BAUDRATE); // Init serial speed
state = STATE_WAITING; // Initial state: Waiting for prefix
}
void loop()
{
switch(state)
{
case STATE_WAITING: // *** Waiting for prefix ***
if( Serial.available()>0 )
{
readSerial = Serial.read(); // Read one character
if ( readSerial == prefix[0] ) // if this character is 1st prefix char
{ state = STATE_DO_PREFIX; } // then set state to handle prefix
}
break;
case STATE_DO_PREFIX: // *** Processing Prefix ***
if( Serial.available() > sizeof(prefix) - 2 )
{
Serial.readBytes(buffer, sizeof(prefix) - 1);
for( int Counter = 0; Counter < sizeof(prefix) - 1; Counter++)
{
if( buffer[Counter] == prefix[Counter+1] )
{
state = STATE_DO_DATA; // Received character is in prefix, continue
currentLED = 0; // Set current LED to the first one
}
else
{
state = STATE_WAITING; // Crap, one of the received chars is NOT in the prefix
break; // Exit, to go back to waiting for the prefix
} // end if buffer
} // end for Counter
} // end if Serial
break;
case STATE_DO_DATA: // *** Process incoming color data ***
if( Serial.available() > 2 ) // if we receive more than 2 chars
{
Serial.readBytes( buffer, 3 ); // Abuse buffer to temp store 3 charaters
strip.setPixelColor( currentLED++, buffer[0], buffer[1], buffer[2]); // and assing to LEDs
}
if( currentLED > LEDCOUNT ) // Reached the last LED? Display it!
{
strip.show(); // Make colors visible
delayMicroseconds(SHOWDELAY); // Wait a few micro seconds
state = STATE_WAITING; // Reset to waiting ...
currentLED = 0; // and go to LED one
break; // and exit ... and do it all over again
}
break;
} // switch(state)
} // loop
// Sets the color of all LEDs in the strand to 'color'
// If 'wait'>0 then it will show a swipe from start to end
void setAllLEDs(uint32_t color, int wait)
{
for ( int Counter=0; Counter < LEDCOUNT; Counter++ ) // For each LED
{
strip.setPixelColor( Counter, color ); // .. set the color
if( wait > 0 ) // if a wait time was set then
{
strip.show(); // Show the LED color
delay(wait); // and wait before we do the next LED
} // if wait
} // for Counter
strip.show(); // Show all LEDs
} // setAllLEDs
Alles anzeigen
Thanks in advance