Hat wer schon mal sowas getestet?
https://github.com/ellisium/adaZones
Scheint Multizone nun zu geben. Sehr neu. Videos sehen sehr interessant aus. Mit Arduino
Hat wer schon mal sowas getestet?
https://github.com/ellisium/adaZones
Scheint Multizone nun zu geben. Sehr neu. Videos sehen sehr interessant aus. Mit Arduino
Ich gehe mal von aus, dass der Code in Ordnung ist.
1. habe ich den aus einem Tut im Internet (und anscheinend haben den schon viele genutzt)
2. funktioniert der Code ja bei 181 LEDs.
Hallo,
Letzte Woche lief mein Testaufbau noch super.
Heute wieder aufgebaut und nun ist beim Grabben eine CPU Auslastung um die 87%. Hab Sigis Image neu draufgespielt und nur die Grundeinstellungen geändert (Hostname, Internationalisierung, ect) und hab das Hyperion Config File neu drauf kopiert. Leider immer noch die hohe Auslastung.
Ich nutze WS2812B LEDs mit einem Arduino und einem Raspi B.Als Grabber nutze ich ein Fushicai.
Hier meine Config. Ich weiß nicht, was das System so lahmlegt. Kann mal ein Pro da drauf schauen?
Achja. Grabben macht er und die LEDs verändern auch die Farben. Nur sehr larmarschig und ruckelig.
// Automatically generated configuration file for 'Hyperion daemon'
// Generated by: HyperCon (The Hyperion deamon configuration file builder
{
/// Device configuration contains the following fields:
/// * 'name' : The user friendly name of the device (only used for display purposes)
/// * 'type' : The type of the device or leds (known types for now are 'ws2801', 'ldp8806',
/// 'lpd6803', 'sedu', 'adalight', 'lightpack', 'test' and 'none')
/// * 'output' : The output specification depends on selected device. This can for example be the
/// device specifier, device serial number, or the output file name
/// * 'rate' : The baudrate of the output to the device
/// * 'colorOrder' : The order of the color bytes ('rgb', 'rbg', 'bgr', etc.).
"device" :
{
"name" : "MyPi",
"type" : "adalight",
"output" : "/dev/ttyACM0",
"rate" : 500000,
"colorOrder" : "rgb"
},
/// Color manipulation configuration used to tune the output colors to specific surroundings.
/// The configuration contains a list of color-transforms. Each transform contains the
/// following fields:
/// * 'id' : The unique identifier of the color transformation (eg 'device_1') /// * 'leds' : The indices (or index ranges) of the leds to which this color transform applies
/// (eg '0-5, 9, 11, 12-17'). The indices are zero based. /// * 'hsv' : The manipulation in the Hue-Saturation-Value color domain with the following
/// tuning parameters:
/// - 'saturationGain' The gain adjustement of the saturation
/// - 'valueGain' The gain adjustement of the value
/// * 'red'/'green'/'blue' : The manipulation in the Red-Green-Blue color domain with the
/// following tuning parameters for each channel:
/// - 'threshold' The minimum required input value for the channel to be on
/// (else zero)
/// - 'gamma' The gamma-curve correction factor
/// - 'blacklevel' The lowest possible value (when the channel is black)
/// - 'whitelevel' The highest possible value (when the channel is white)
///
/// Next to the list with color transforms there is also a smoothing option.
/// * 'smoothing' : Smoothing of the colors in the time-domain with the following tuning
/// parameters:
/// - 'type' The type of smoothing algorithm ('linear' or 'none')
/// - 'time_ms' The time constant for smoothing algorithm in milliseconds
/// - 'updateFrequency' The update frequency of the leds in Hz
"color" :
{
"transform" :
[
{
"id" : "default",
"leds" : "*",
"hsv" :
{
"saturationGain" : 1.0000,
"valueGain" : 1.0000
},
"red" :
{
"threshold" : 0.0100,
"gamma" : 1.7000,
"blacklevel" : 0.0000,
"whitelevel" : 1.0000
},
"green" :
{
"threshold" : 0.0100,
"gamma" : 1.7000,
"blacklevel" : 0.0000,
"whitelevel" : 0.7500
},
"blue" :
{
"threshold" : 0.0100,
"gamma" : 1.7000,
"blacklevel" : 0.0000,
"whitelevel" : 0.7500
}
},
{
"id" : "Test 1",
"leds" : "*",
"hsv" :
{
"saturationGain" : 1.0000,
"valueGain" : 1.0000
},
"red" :
{
"threshold" : 0.0100,
"gamma" : 1.7000,
"blacklevel" : 0.0000,
"whitelevel" : 1.0000
},
"green" :
{
"threshold" : 0.0100,
"gamma" : 1.7000,
"blacklevel" : 0.0000,
"whitelevel" : 0.7500
},
"blue" :
{
"threshold" : 0.0100,
"gamma" : 1.7000,
"blacklevel" : 0.0000,
"whitelevel" : 0.5500
}
}
],
"smoothing" :
{
"type" : "none",
"time_ms" : 200,
"updateFrequency" : 20.0000
}
},
/// The black border configuration, contains the following items:
/// * enable : true if the detector should be activated
/// * threshold : Value below which a pixel is regarded as black (value between 0.0 and 1.0)
"blackborderdetector" :
{
"enable" : false,
"threshold" : 0.01
},
/// The configuration of the effect engine, contains the following items:
/// * paths : An array with absolute location(s) of directories with effects
/// * bootsequence : The effect selected as 'boot sequence'
"effects" :
{
"paths" :
[
"/opt/hyperion/effects"
]
},
"bootsequence" :
{
"effect" : "Rainbow swirl fast",
"duration_ms" : 3000
},
/// The configuration for the frame-grabber, contains the following items:
/// * width : The width of the grabbed frames [pixels]
/// * height : The height of the grabbed frames [pixels]
/// * frequency_Hz : The frequency of the frame grab [Hz]
// "framegrabber" :
// {
// "width" : 64,
// "height" : 64,
// "frequency_Hz" : 10.0
// },
/// The configuration of the XBMC connection used to enable and disable the frame-grabber. Contains the following fields:
/// * xbmcAddress : The IP address of the XBMC-host
/// * xbmcTcpPort : The TCP-port of the XBMC-server
/// * grabVideo : Flag indicating that the frame-grabber is on(true) during video playback
/// * grabPictures : Flag indicating that the frame-grabber is on(true) during picture show
/// * grabAudio : Flag indicating that the frame-grabber is on(true) during audio playback
/// * grabMenu : Flag indicating that the frame-grabber is on(true) in the XBMC menu
/// * grabScreensaver : Flag indicating that the frame-grabber is on(true) when XBMC is on screensaver
/// * enable3DDetection : Flag indicating that the frame-grabber should switch to a 3D compatible modus if a 3D video is playing
// "xbmcVideoChecker" :
// {
// "xbmcAddress" : "127.0.0.1",
// "xbmcTcpPort" : 9090,
// "grabVideo" : true,
// "grabPictures" : true,
// "grabAudio" : true,
// "grabMenu" : false,
// "grabScreensaver" : true,
// "enable3DDetection" : true
// },
/// The configuration of the Json server which enables the json remote interface
/// * port : Port at which the json server is started
"jsonServer" :
{
"port" : 19444
},
/// The configuration of the Proto server which enables the protobuffer remote interface
/// * port : Port at which the protobuffer server is started
"protoServer" :
{
"port" : 19445
},
/// The configuration of the boblight server which enables the boblight remote interface
/// * port : Port at which the boblight server is started
// "boblightServer" :
// {
// "port" : 19333
// },
/// Configuration for the embedded V4L2 grabber
/// * device : V4L2 Device to use [default="/dev/video0"]
/// * input : V4L2 input to use [default=0]
/// * standard : Video standard (no-change/PAL/NTSC) [default="no-change"]
/// * width : V4L2 width to set [default=-1]
/// * height : V4L2 height to set [default=-1]
/// * frameDecimation : Frame decimation factor [default=2]
/// * sizeDecimation : Size decimation factor [default=8]
/// * priority : Hyperion priority channel [default=800]
/// * mode : 3D mode to use 2D/3DSBS/3DTAB (note: no autodetection) [default="2D"]
/// * cropLeft : Cropping from the left [default=0]
/// * cropRight : Cropping from the right [default=0]
/// * cropTop : Cropping from the top [default=0]
/// * cropBottom : Cropping from the bottom [default=0]
/// * redSignalThreshold : Signal threshold for the red channel between 0.0 and 1.0 [default=0.0]
/// * greenSignalThreshold : Signal threshold for the green channel between 0.0 and 1.0 [default=0.0]
/// * blueSignalThreshold : Signal threshold for the blue channel between 0.0 and 1.0 [default=0.0]
"grabber-v4l2" :
{
"device" : "/dev/video0",
"input" : 0,
"standard" : "no-change",
"width" : -1,
"height" : -1,
"frameDecimation" : 2,
"sizeDecimation" : 0,
"priority" : 800,
"mode" : "2D",
"cropLeft" : 0,
"cropRight" : 0,
"cropTop" : 0,
"cropBottom" : 0,
"redSignalThreshold" : 0.1,
"greenSignalThreshold" : 0.1,
"blueSignalThreshold" : 0.1
},
/// The configuration for each individual led. This contains the specification of the area
/// averaged of an input image for each led to determine its color. Each item in the list
/// contains the following fields:
/// * index: The index of the led. This determines its location in the string of leds; zero
/// being the first led.
/// * hscan: The fractional part of the image along the horizontal used for the averaging
/// (minimum and maximum inclusive)
/// * vscan: The fractional part of the image along the vertical used for the averaging
/// (minimum and maximum inclusive)
"leds" :
[
{
"index" : 0,
"hscan" : { "minimum" : 0.3968, "maximum" : 0.4127 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 1,
"hscan" : { "minimum" : 0.3810, "maximum" : 0.3968 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 2,
"hscan" : { "minimum" : 0.3651, "maximum" : 0.3810 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 3,
"hscan" : { "minimum" : 0.3492, "maximum" : 0.3651 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 4,
"hscan" : { "minimum" : 0.3333, "maximum" : 0.3492 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 5,
"hscan" : { "minimum" : 0.3175, "maximum" : 0.3333 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 6,
"hscan" : { "minimum" : 0.3016, "maximum" : 0.3175 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 7,
"hscan" : { "minimum" : 0.2857, "maximum" : 0.3016 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 8,
"hscan" : { "minimum" : 0.2698, "maximum" : 0.2857 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 9,
"hscan" : { "minimum" : 0.2540, "maximum" : 0.2698 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 10,
"hscan" : { "minimum" : 0.2381, "maximum" : 0.2540 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 11,
"hscan" : { "minimum" : 0.2222, "maximum" : 0.2381 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 12,
"hscan" : { "minimum" : 0.2063, "maximum" : 0.2222 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 13,
"hscan" : { "minimum" : 0.1905, "maximum" : 0.2063 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 14,
"hscan" : { "minimum" : 0.1746, "maximum" : 0.1905 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 15,
"hscan" : { "minimum" : 0.1587, "maximum" : 0.1746 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 16,
"hscan" : { "minimum" : 0.1429, "maximum" : 0.1587 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 17,
"hscan" : { "minimum" : 0.1270, "maximum" : 0.1429 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 18,
"hscan" : { "minimum" : 0.1111, "maximum" : 0.1270 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 19,
"hscan" : { "minimum" : 0.0952, "maximum" : 0.1111 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 20,
"hscan" : { "minimum" : 0.0794, "maximum" : 0.0952 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 21,
"hscan" : { "minimum" : 0.0635, "maximum" : 0.0794 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 22,
"hscan" : { "minimum" : 0.0476, "maximum" : 0.0635 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 23,
"hscan" : { "minimum" : 0.0317, "maximum" : 0.0476 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 24,
"hscan" : { "minimum" : 0.0159, "maximum" : 0.0317 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 25,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0159 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 26,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.9697, "maximum" : 1.0000 }
},
{
"index" : 27,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.9394, "maximum" : 0.9697 }
},
{
"index" : 28,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.9091, "maximum" : 0.9394 }
},
{
"index" : 29,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.8788, "maximum" : 0.9091 }
},
{
"index" : 30,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.8485, "maximum" : 0.8788 }
},
{
"index" : 31,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.8182, "maximum" : 0.8485 }
},
{
"index" : 32,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.7879, "maximum" : 0.8182 }
},
{
"index" : 33,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.7576, "maximum" : 0.7879 }
},
{
"index" : 34,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.7273, "maximum" : 0.7576 }
},
{
"index" : 35,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.6970, "maximum" : 0.7273 }
},
{
"index" : 36,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.6667, "maximum" : 0.6970 }
},
{
"index" : 37,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.6364, "maximum" : 0.6667 }
},
{
"index" : 38,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.6061, "maximum" : 0.6364 }
},
{
"index" : 39,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.5758, "maximum" : 0.6061 }
},
{
"index" : 40,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.5455, "maximum" : 0.5758 }
},
{
"index" : 41,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.5152, "maximum" : 0.5455 }
},
{
"index" : 42,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.4848, "maximum" : 0.5152 }
},
{
"index" : 43,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.4545, "maximum" : 0.4848 }
},
{
"index" : 44,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.4242, "maximum" : 0.4545 }
},
{
"index" : 45,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.3939, "maximum" : 0.4242 }
},
{
"index" : 46,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.3636, "maximum" : 0.3939 }
},
{
"index" : 47,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.3333, "maximum" : 0.3636 }
},
{
"index" : 48,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.3030, "maximum" : 0.3333 }
},
{
"index" : 49,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.2727, "maximum" : 0.3030 }
},
{
"index" : 50,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.2424, "maximum" : 0.2727 }
},
{
"index" : 51,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.2121, "maximum" : 0.2424 }
},
{
"index" : 52,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.1818, "maximum" : 0.2121 }
},
{
"index" : 53,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.1515, "maximum" : 0.1818 }
},
{
"index" : 54,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.1212, "maximum" : 0.1515 }
},
{
"index" : 55,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.0909, "maximum" : 0.1212 }
},
{
"index" : 56,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.0606, "maximum" : 0.0909 }
},
{
"index" : 57,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.0303, "maximum" : 0.0606 }
},
{
"index" : 58,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0303 }
},
{
"index" : 59,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0159 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 60,
"hscan" : { "minimum" : 0.0159, "maximum" : 0.0317 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 61,
"hscan" : { "minimum" : 0.0317, "maximum" : 0.0476 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 62,
"hscan" : { "minimum" : 0.0476, "maximum" : 0.0635 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 63,
"hscan" : { "minimum" : 0.0635, "maximum" : 0.0794 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 64,
"hscan" : { "minimum" : 0.0794, "maximum" : 0.0952 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 65,
"hscan" : { "minimum" : 0.0952, "maximum" : 0.1111 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 66,
"hscan" : { "minimum" : 0.1111, "maximum" : 0.1270 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 67,
"hscan" : { "minimum" : 0.1270, "maximum" : 0.1429 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 68,
"hscan" : { "minimum" : 0.1429, "maximum" : 0.1587 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 69,
"hscan" : { "minimum" : 0.1587, "maximum" : 0.1746 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 70,
"hscan" : { "minimum" : 0.1746, "maximum" : 0.1905 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 71,
"hscan" : { "minimum" : 0.1905, "maximum" : 0.2063 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 72,
"hscan" : { "minimum" : 0.2063, "maximum" : 0.2222 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 73,
"hscan" : { "minimum" : 0.2222, "maximum" : 0.2381 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 74,
"hscan" : { "minimum" : 0.2381, "maximum" : 0.2540 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 75,
"hscan" : { "minimum" : 0.2540, "maximum" : 0.2698 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 76,
"hscan" : { "minimum" : 0.2698, "maximum" : 0.2857 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 77,
"hscan" : { "minimum" : 0.2857, "maximum" : 0.3016 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 78,
"hscan" : { "minimum" : 0.3016, "maximum" : 0.3175 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 79,
"hscan" : { "minimum" : 0.3175, "maximum" : 0.3333 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 80,
"hscan" : { "minimum" : 0.3333, "maximum" : 0.3492 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 81,
"hscan" : { "minimum" : 0.3492, "maximum" : 0.3651 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 82,
"hscan" : { "minimum" : 0.3651, "maximum" : 0.3810 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 83,
"hscan" : { "minimum" : 0.3810, "maximum" : 0.3968 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 84,
"hscan" : { "minimum" : 0.3968, "maximum" : 0.4127 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 85,
"hscan" : { "minimum" : 0.4127, "maximum" : 0.4286 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 86,
"hscan" : { "minimum" : 0.4286, "maximum" : 0.4444 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 87,
"hscan" : { "minimum" : 0.4444, "maximum" : 0.4603 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 88,
"hscan" : { "minimum" : 0.4603, "maximum" : 0.4762 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 89,
"hscan" : { "minimum" : 0.4762, "maximum" : 0.4921 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 90,
"hscan" : { "minimum" : 0.4921, "maximum" : 0.5079 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 91,
"hscan" : { "minimum" : 0.5079, "maximum" : 0.5238 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 92,
"hscan" : { "minimum" : 0.5238, "maximum" : 0.5397 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 93,
"hscan" : { "minimum" : 0.5397, "maximum" : 0.5556 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 94,
"hscan" : { "minimum" : 0.5556, "maximum" : 0.5714 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 95,
"hscan" : { "minimum" : 0.5714, "maximum" : 0.5873 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 96,
"hscan" : { "minimum" : 0.5873, "maximum" : 0.6032 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 97,
"hscan" : { "minimum" : 0.6032, "maximum" : 0.6190 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 98,
"hscan" : { "minimum" : 0.6190, "maximum" : 0.6349 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 99,
"hscan" : { "minimum" : 0.6349, "maximum" : 0.6508 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 100,
"hscan" : { "minimum" : 0.6508, "maximum" : 0.6667 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 101,
"hscan" : { "minimum" : 0.6667, "maximum" : 0.6825 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 102,
"hscan" : { "minimum" : 0.6825, "maximum" : 0.6984 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 103,
"hscan" : { "minimum" : 0.6984, "maximum" : 0.7143 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 104,
"hscan" : { "minimum" : 0.7143, "maximum" : 0.7302 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 105,
"hscan" : { "minimum" : 0.7302, "maximum" : 0.7460 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 106,
"hscan" : { "minimum" : 0.7460, "maximum" : 0.7619 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 107,
"hscan" : { "minimum" : 0.7619, "maximum" : 0.7778 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 108,
"hscan" : { "minimum" : 0.7778, "maximum" : 0.7937 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 109,
"hscan" : { "minimum" : 0.7937, "maximum" : 0.8095 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 110,
"hscan" : { "minimum" : 0.8095, "maximum" : 0.8254 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 111,
"hscan" : { "minimum" : 0.8254, "maximum" : 0.8413 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 112,
"hscan" : { "minimum" : 0.8413, "maximum" : 0.8571 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 113,
"hscan" : { "minimum" : 0.8571, "maximum" : 0.8730 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 114,
"hscan" : { "minimum" : 0.8730, "maximum" : 0.8889 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 115,
"hscan" : { "minimum" : 0.8889, "maximum" : 0.9048 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 116,
"hscan" : { "minimum" : 0.9048, "maximum" : 0.9206 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 117,
"hscan" : { "minimum" : 0.9206, "maximum" : 0.9365 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 118,
"hscan" : { "minimum" : 0.9365, "maximum" : 0.9524 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 119,
"hscan" : { "minimum" : 0.9524, "maximum" : 0.9683 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 120,
"hscan" : { "minimum" : 0.9683, "maximum" : 0.9841 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 121,
"hscan" : { "minimum" : 0.9841, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
},
{
"index" : 122,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0303 }
},
{
"index" : 123,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.0303, "maximum" : 0.0606 }
},
{
"index" : 124,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.0606, "maximum" : 0.0909 }
},
{
"index" : 125,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.0909, "maximum" : 0.1212 }
},
{
"index" : 126,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.1212, "maximum" : 0.1515 }
},
{
"index" : 127,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.1515, "maximum" : 0.1818 }
},
{
"index" : 128,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.1818, "maximum" : 0.2121 }
},
{
"index" : 129,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.2121, "maximum" : 0.2424 }
},
{
"index" : 130,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.2424, "maximum" : 0.2727 }
},
{
"index" : 131,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.2727, "maximum" : 0.3030 }
},
{
"index" : 132,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.3030, "maximum" : 0.3333 }
},
{
"index" : 133,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.3333, "maximum" : 0.3636 }
},
{
"index" : 134,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.3636, "maximum" : 0.3939 }
},
{
"index" : 135,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.3939, "maximum" : 0.4242 }
},
{
"index" : 136,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.4242, "maximum" : 0.4545 }
},
{
"index" : 137,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.4545, "maximum" : 0.4848 }
},
{
"index" : 138,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.4848, "maximum" : 0.5152 }
},
{
"index" : 139,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.5152, "maximum" : 0.5455 }
},
{
"index" : 140,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.5455, "maximum" : 0.5758 }
},
{
"index" : 141,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.5758, "maximum" : 0.6061 }
},
{
"index" : 142,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.6061, "maximum" : 0.6364 }
},
{
"index" : 143,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.6364, "maximum" : 0.6667 }
},
{
"index" : 144,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.6667, "maximum" : 0.6970 }
},
{
"index" : 145,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.6970, "maximum" : 0.7273 }
},
{
"index" : 146,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.7273, "maximum" : 0.7576 }
},
{
"index" : 147,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.7576, "maximum" : 0.7879 }
},
{
"index" : 148,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.7879, "maximum" : 0.8182 }
},
{
"index" : 149,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.8182, "maximum" : 0.8485 }
},
{
"index" : 150,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.8485, "maximum" : 0.8788 }
},
{
"index" : 151,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.8788, "maximum" : 0.9091 }
},
{
"index" : 152,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.9091, "maximum" : 0.9394 }
},
{
"index" : 153,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.9394, "maximum" : 0.9697 }
},
{
"index" : 154,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.9697, "maximum" : 1.0000 }
},
{
"index" : 155,
"hscan" : { "minimum" : 0.9841, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 156,
"hscan" : { "minimum" : 0.9683, "maximum" : 0.9841 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 157,
"hscan" : { "minimum" : 0.9524, "maximum" : 0.9683 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 158,
"hscan" : { "minimum" : 0.9365, "maximum" : 0.9524 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 159,
"hscan" : { "minimum" : 0.9206, "maximum" : 0.9365 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 160,
"hscan" : { "minimum" : 0.9048, "maximum" : 0.9206 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 161,
"hscan" : { "minimum" : 0.8889, "maximum" : 0.9048 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 162,
"hscan" : { "minimum" : 0.8730, "maximum" : 0.8889 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 163,
"hscan" : { "minimum" : 0.8571, "maximum" : 0.8730 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 164,
"hscan" : { "minimum" : 0.8413, "maximum" : 0.8571 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 165,
"hscan" : { "minimum" : 0.8254, "maximum" : 0.8413 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 166,
"hscan" : { "minimum" : 0.8095, "maximum" : 0.8254 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 167,
"hscan" : { "minimum" : 0.7937, "maximum" : 0.8095 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 168,
"hscan" : { "minimum" : 0.7778, "maximum" : 0.7937 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 169,
"hscan" : { "minimum" : 0.7619, "maximum" : 0.7778 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 170,
"hscan" : { "minimum" : 0.7460, "maximum" : 0.7619 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 171,
"hscan" : { "minimum" : 0.7302, "maximum" : 0.7460 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 172,
"hscan" : { "minimum" : 0.7143, "maximum" : 0.7302 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 173,
"hscan" : { "minimum" : 0.6984, "maximum" : 0.7143 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 174,
"hscan" : { "minimum" : 0.6825, "maximum" : 0.6984 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 175,
"hscan" : { "minimum" : 0.6667, "maximum" : 0.6825 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 176,
"hscan" : { "minimum" : 0.6508, "maximum" : 0.6667 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 177,
"hscan" : { "minimum" : 0.6349, "maximum" : 0.6508 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 178,
"hscan" : { "minimum" : 0.6190, "maximum" : 0.6349 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 179,
"hscan" : { "minimum" : 0.6032, "maximum" : 0.6190 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
},
{
"index" : 180,
"hscan" : { "minimum" : 0.5873, "maximum" : 0.6032 },
"vscan" : { "minimum" : 0.9400, "maximum" : 1.0000 }
}
],
"endOfJson" : "endOfJson"
}
Alles anzeigen
Danke
Output:
Hallo BooStar,
ich habs mal getestet. Da scheint ein Fehler im Script bei dir zu sein. Jedesmal gibt es die gleiche Checksum.
Habs mal mit 0xbf und als Checksum 0xaa getestet. Leider reagiert dann Hyperion nicht (auch wenn ich 192 LEDs in der Hyperion Config angebe).
Also wenn ich nur den Wert der Variable von der Anzahl der LED ( #define LEDCOUNT 181 // Number of LEDs used for boblight) änder funktioniert nix mehr.
Also wenn ich das ganze Script verstanden habe, dann muss auch der Prefix und die Chechsumme geändert werden.
Automatisch zusammengefügt:
Wie gesagt man muss, so weit ich weiß folgende Zeile bearbeiten:
const char prefix[] = {0x41, 0x64, 0x61, 0x00, 0xB4, 0xE1}; // Start prefix ADA
Ich weiß nicht, ob man das Script bearbeiten könnte um die Konstante automatisch berechnen zu lassen.
Dann wär das für jeden einfacher. Allerdings wär das überflüssig, da man das eigendlich nur einmal braucht, und würde den Code nur aufblähen.
Schon mal im Source nachgeschaut?
Ja hab ich. Leider nicht wirklich was gefunden.
Zitat von BooStar
Da es sich hier wahrscheinlich um Bitverschiebungen handelt, ist das nicht ganz so leicht zu berechnen,
ich habe den Code daher so minimal umgebaut, das http://codepad.org mir die eintsprechenden Ergebnisse ausgibt.
Vllt hilts ja... achja.. noch ein Tipp: 192 Leds sind in dezimal angegeben, im Sketch wird aber hexadezimal benötigt.
Wie hast du den code geändert? Das mit Dezimal und Hexadezimal hab ich mir schon gedacht ::) deswegen bin ich ja auch BF gekommen
Nur aus dem Code werd ich nicht schlau
Hallo,
erst mal vielen Dank für dieses tolle Forum und geniale Tutorials.
Ich habe mein Ambilight Projekt so weit fertig. Es fehlt nur noch das Feintuning, der Rahmen und das LED Prefix vom Hyperion.
Und wegen letzerem stelle ich meine Anfrage
Hier erstmal eine Übersicht meines Projektes:
- 192 LED Streifen WS2812B SMD 5050
- Raspberry Pi B mit dem Raspian Image von Sigi28
- Hyperion
- Arduino UNO R3
- Fushicai grabber
- HDMI Splitter und HDMI -> AV Konverter
- USB Hub (aktiv) 7 Port
- 100W Schaltnetzteil
Für die Ansteuerung über das Arduino benötige ich den Prefix den Hyperion bei einer bestimmten Anzahl des LEDs schickt.
Kann man das irgendwo auslesen? Oder evtl. berechnen? Bei 181 LEDs sendet wohl Hyperion 0xB4 und eine Checksumme von 0xE1
Dieser wert funktioniert auch. Nur werden dann bei mir nur 181 LEDs angesteuert. Wenn ich 192 LEDs auf Hexadezimalumrechne komme ich auf C0. Da aber die Zählung bei 0 anfängt wer der Wert 0xBF. So vermute ich es wenigstens. Allerdings wie ich evtl. auf die Checksumme komme, weiß ich nicht.
Hoffe da kann mich wer aufklären
Bis dann
Gb4u
Leider hab ich noch nirgends rausgefunden
Automatisch zusammengefügt:
Hier noch mein Arduino Sketch:
/* 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 5 // Datapin
#define LEDCOUNT 181 // 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 BRIGHTNESS 70 // 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
// 192 LEDs 0xBF ???
// 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
So Hyperion scheint halbwegs zu laufen. Er kann mit dem Arduino Farben steuern. HDMI Signal wird mit dem Screenshot Befehlt gegrabbed und ein Bild erzeugt.
Nur wenn ich dann Hyperion wieder restarte, macht der leider nix bzw. leuchtet ganze Zeit die Standardfarbe.
Hat wer ein Tipp was ich noch schönes Testen kann?
Edit: Hat sich wohl erledigt. Scheint zu klappen. Nur schlechtes Video genutzt zum testen
Ja. Habs mit Strom versucht. Nun senden die mir einen neuen Splitter zu.
Der Fehler liegt wohl im Splitter.
den Befehl mit dem killall hab ich schon gefunden. Ohne Splitter und mit dem Befehl klappt es
Hab meine Bauteile alle extra gekauft. z.b. den Grabber bei Amazon.
So hab vermutlich den Fehler gefunden.
So wie es aussieht liegt es am Splitter. Schließe ich eine HDMI Quelle direkt an den Converter, wird ein Screenshot gemacht (auch wenn da zwei oder 3 grüne Streifen drinnen sind).
Hallo,
sorry dass ich jetzt erst schreibe, aber hatte mein Raspi nicht bei der Hand.
Hier erst mal die Logs:
Eingabe:
Ausgabe:
Bus 001 Device 038: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 044: ID 046d:c077 Logitech, Inc.
Bus 001 Device 045: ID 1b71:3002
Bus 001 Device 046: ID 2341:0001 Arduino SA Uno (CDC ACM)
Bus 001 Device 039: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 040: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wi reless Adapter [Realtek RTL8188CUS]
Bus 001 Device 041: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 042: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 043: ID 413c:2105 Dell Computer Corp. Model L100 Keyboard
Eingabe:
Ausgabe:
autofs cuse hwrng loop4 memory_bandwidth ppp ram13 ram7 snd tty0 tty16 tty23 tty30 tty38 tty45 tty52 tty6 ttyACM0 vcio vcs6 vcsa6
block disk input loop5 mmcblk0 ptmx ram14 ram8 sndstat tty1 tty17 tty24 tty31 tty39 tty46 tty53 tty60 ttyAMA0 vc-mem vcs7 vcsa7
btrfs-control fb0 kmsg loop6 mmcblk0p1 pts ram15 ram9 spidev0.0 tty10 tty18 tty25 tty32 tty4 tty47 tty54 tty61 ttyprintk vcs vcsa vcsm
bus fd log loop7 mmcblk0p2 ram0 ram2 random spidev0.1 tty11 tty19 tty26 tty33 tty40 tty48 tty55 tty62 uinput vcs1 vcsa1 vhci
cachefiles full loop0 loop-control net ram1 ram3 raw stderr tty12 tty2 tty27 tty34 tty41 tty49 tty56 tty63 urandom vcs2 vcsa2 video0
char fuse loop1 MAKEDEV network_latency ram10 ram4 root stdin tty13 tty20 tty28 tty35 tty42 tty5 tty57 tty7 v4l vcs3 vcsa3 xconsole
console hidraw0 loop2 mapper network_throughput ram11 ram5 serial stdout tty14 tty21 tty29 tty36 tty43 tty50 tty58 tty8 vc-cma vcs4 vcsa4 zero
cpu_dma_latency hidraw1 loop3 mem null ram12 ram6 shm tty tty15 tty22 tty3 tty37 tty44 tty51 tty59 tty9 vchiq vcs5 vcsa5
Eingabe:
Ausgabe:
[ 0.963101] vc-cma: Videocore CMA driver
[ 1.997226] vc-sm: Videocore shared memory driver
[ 9.591486] Linux video capture interface: v2.00
[ 10.013398] usbtv 1-1.3.1.3:1.0: Fushicai USBTV007 Audio-Video Grabber
[ 29.517662] usbtv 1-1.3.1.3:1.0: Fushicai USBTV007 Audio-Video Grabber
[ 36.236565] usbtv 1-1.3.1.3:1.0: Fushicai USBTV007 Audio-Video Grabber
[ 43.217772] usbtv 1-1.3.1.3:1.0: Fushicai USBTV007 Audio-Video Grabber
[ 49.448345] usbtv 1-1.3.1.3:1.0: Fushicai USBTV007 Audio-Video Grabber
Eingabe:
Ausgabe:
crw-rw-rw- 1 root root 5, 0 Jan 1 1970 /dev/tty
crw------- 1 root root 4, 0 Jan 1 1970 /dev/tty0
crw------- 1 root root 4, 1 Aug 11 07:22 /dev/tty1
crw------- 1 root root 4, 10 Jan 1 1970 /dev/tty10
crw------- 1 root root 4, 11 Jan 1 1970 /dev/tty11
crw------- 1 root root 4, 12 Jan 1 1970 /dev/tty12
crw------- 1 root root 4, 13 Jan 1 1970 /dev/tty13
crw------- 1 root root 4, 14 Jan 1 1970 /dev/tty14
crw------- 1 root root 4, 15 Jan 1 1970 /dev/tty15
crw------- 1 root root 4, 16 Jan 1 1970 /dev/tty16
crw------- 1 root root 4, 17 Jan 1 1970 /dev/tty17
crw------- 1 root root 4, 18 Jan 1 1970 /dev/tty18
crw------- 1 root root 4, 19 Jan 1 1970 /dev/tty19
crw------- 1 root root 4, 2 Aug 11 07:22 /dev/tty2
crw------- 1 root root 4, 20 Jan 1 1970 /dev/tty20
crw------- 1 root root 4, 21 Jan 1 1970 /dev/tty21
crw------- 1 root root 4, 22 Jan 1 1970 /dev/tty22
crw------- 1 root root 4, 23 Jan 1 1970 /dev/tty23
crw------- 1 root root 4, 24 Jan 1 1970 /dev/tty24
crw------- 1 root root 4, 25 Jan 1 1970 /dev/tty25
crw------- 1 root root 4, 26 Jan 1 1970 /dev/tty26
crw------- 1 root root 4, 27 Jan 1 1970 /dev/tty27
crw------- 1 root root 4, 28 Jan 1 1970 /dev/tty28
crw------- 1 root root 4, 29 Jan 1 1970 /dev/tty29
crw------- 1 root root 4, 3 Aug 11 07:22 /dev/tty3
crw------- 1 root root 4, 30 Jan 1 1970 /dev/tty30
crw------- 1 root root 4, 31 Jan 1 1970 /dev/tty31
crw------- 1 root root 4, 32 Jan 1 1970 /dev/tty32
crw------- 1 root root 4, 33 Jan 1 1970 /dev/tty33
crw------- 1 root root 4, 34 Jan 1 1970 /dev/tty34
crw------- 1 root root 4, 35 Jan 1 1970 /dev/tty35
crw------- 1 root root 4, 36 Jan 1 1970 /dev/tty36
crw------- 1 root root 4, 37 Jan 1 1970 /dev/tty37
crw------- 1 root root 4, 38 Jan 1 1970 /dev/tty38
crw------- 1 root root 4, 39 Jan 1 1970 /dev/tty39
crw------- 1 root root 4, 4 Aug 11 07:22 /dev/tty4
crw------- 1 root root 4, 40 Jan 1 1970 /dev/tty40
crw------- 1 root root 4, 41 Jan 1 1970 /dev/tty41
crw------- 1 root root 4, 42 Jan 1 1970 /dev/tty42
crw------- 1 root root 4, 43 Jan 1 1970 /dev/tty43
crw------- 1 root root 4, 44 Jan 1 1970 /dev/tty44
crw------- 1 root root 4, 45 Jan 1 1970 /dev/tty45
crw------- 1 root root 4, 46 Jan 1 1970 /dev/tty46
crw------- 1 root root 4, 47 Jan 1 1970 /dev/tty47
crw------- 1 root root 4, 48 Jan 1 1970 /dev/tty48
crw------- 1 root root 4, 49 Jan 1 1970 /dev/tty49
crw------- 1 root root 4, 5 Aug 11 07:22 /dev/tty5
crw------- 1 root root 4, 50 Jan 1 1970 /dev/tty50
crw------- 1 root root 4, 51 Jan 1 1970 /dev/tty51
crw------- 1 root root 4, 52 Jan 1 1970 /dev/tty52
crw------- 1 root root 4, 53 Jan 1 1970 /dev/tty53
crw------- 1 root root 4, 54 Jan 1 1970 /dev/tty54
crw------- 1 root root 4, 55 Jan 1 1970 /dev/tty55
crw------- 1 root root 4, 56 Jan 1 1970 /dev/tty56
crw------- 1 root root 4, 57 Jan 1 1970 /dev/tty57
crw------- 1 root root 4, 58 Jan 1 1970 /dev/tty58
crw------- 1 root root 4, 59 Jan 1 1970 /dev/tty59
crw------- 1 root root 4, 6 Aug 11 07:22 /dev/tty6
crw------- 1 root root 4, 60 Jan 1 1970 /dev/tty60
crw------- 1 root root 4, 61 Jan 1 1970 /dev/tty61
crw------- 1 root root 4, 62 Jan 1 1970 /dev/tty62
crw------- 1 root root 4, 63 Jan 1 1970 /dev/tty63
crw------- 1 root root 4, 7 Jan 1 1970 /dev/tty7
crw------- 1 root root 4, 8 Jan 1 1970 /dev/tty8
crw------- 1 root root 4, 9 Jan 1 1970 /dev/tty9
crw-rw---T 1 root dialout 166, 0 Aug 11 07:22 /dev/ttyACM0
crw-rw---T 1 root dialout 204, 64 Jan 1 1970 /dev/ttyAMA0
crw-rw---T 1 root dialout 5, 3 Jan 1 1970 /dev/ttyprintk
Alles anzeigen
So nun die Ergebnisse bei Screenshot befehlen:
Eingabe:
Ausgabe:
V4L2 width=720 height=576
V4L2 pixel format=YUYV
VIDIOC_REQBUFS error 16, Device or resource busy
Diesen Fehler gab es bis jetzt noch nie. Was bedeutet das?
Hier noch die Config:
"grabber-v4l2" :
{
"device" : "/dev/video0",
"input" : 0,
"standard" : "PAL",
"width" : -1,
"height" : -1,
"frameDecimation" : 2,
"sizeDecimation" : 8,
"priority" : 1100,
"mode" : "2D",
"cropLeft" : 5,
"cropRight" : 5,
"cropTop" : 5,
"cropBottom" : 5,
"redSignalThreshold" : 0.1,
"greenSignalThreshold" : 0.1,
"blueSignalThreshold" : 0.1
},
Alles anzeigen
Edit:
So nun bekomme ich die Fehlermeldung nicht mehr
bei dem Befehl sudo hyperion-v4l2 -d /dev/video0 -f 2 -s 1 --screenshot bekomme ich nun den angehängten Screenshot.
bei dem Befehlt sudo hyperion-v4l2 -d /dev/video0 --screenshot bekomme ich den schon bekannten Screenshot.
ich habe auch an der Config gespielt:
"grabber-v4l2" :
{
"device" : "/dev/video0",
"input" : 0,
"standard" : "no-change",
"width" : 720,
"height" : 576,
"frameDecimation" : 2,
"sizeDecimation" : 8,
"priority" : 1100,
"mode" : "2D",
"cropLeft" : 3,
"cropRight" : 3,
"cropTop" : 3,
"cropBottom" : 3,
"redSignalThreshold" : 0.1,
"greenSignalThreshold" : 0.1,
"blueSignalThreshold" : 0.1
},
Alles anzeigen
So hab mal den Grabber direkt angeschlossen. Screenshot sieht nun ähnlich aus. nur paar grüne Streifen mehr.
Ich nutze ein Arduino, da ich WS2812B LEDs nutze.
Sprichst du von der Hyperion Config? Das ist die Standard Config aus dem Image. Die ist noch nicht geändert, da ich die LEDs noch nicht dran habe.
An Scrrenshots müsste er aber trotzdem aufnehmen. Nur halt das ausgeben wär nicht richtig konfiguriert.
Der nimmt immer grüne Bilder (bei PAL) bzw. schwarze Bilder (bei NTSC) auf. Ich habe glaube ich 10 Bilder bei PAL gemacht und alle warn grün.
Also Raspberry und auch der Grabber werden über einen aktiven USB Hub versorgt.
Die LEDs hab ich noch net angeschlossen, weil mir noch die Jumperkabel zum Arduino fehlen.
Deswegen teste ich erstmal den Rest
Ich habe leider nichts was sonst ein AV Ausgang hat wüsste nicht womit ich es testen sollte
Ein Logilink mit Fushicai Chipsatz.
Aber wie ich hier im Forum gelesen habe, vermute ich, dass es am HDMI2AV Konverter liegt. Hab da wohl den billigen erwischt.
Hallo,
sorry, dass ich dies Thema nochmal aufkoche.
Ich habe das Image von tkmodding runtergeladen (Hyperion_stk1160_fushicai.rar) und installiert. Ich habe keine Änderung an der Config gemacht.
Hab dann versucht was zu grabben. Leider bekomme ich nur ein Greenscreen gegrabbt.
Hab den Konverter auch schon mal auf NTSC umgestellt. Dort gibt es ein Blackscreen.
Hat wer vielleicht noch eine Idee was ich machen kann?
Gb4u