Stefan Schuermans commited on 2011-11-19 17:19:15
Showing 1 changed files, with 132 additions and 0 deletions.
... | ... |
@@ -0,0 +1,132 @@ |
1 |
+<html> |
|
2 |
+ <head> |
|
3 |
+ <title>Blinker</title> |
|
4 |
+ </head> |
|
5 |
+ <body> |
|
6 |
+ <h1>Blinker</h1> |
|
7 |
+ <p> |
|
8 |
+ Blinker is a server for LED projects and Blinken-houses that are driven |
|
9 |
+ by Blinkenlights network streams. |
|
10 |
+ </p> |
|
11 |
+ <h2>Overview</h2> |
|
12 |
+ <p> |
|
13 |
+ Blinker is based on different modules, which can be connected via |
|
14 |
+ streams. |
|
15 |
+ Several types of modules are available, for example a movie player, |
|
16 |
+ a network stream sender, modules to mix and separate streams. |
|
17 |
+ </p> |
|
18 |
+ <h2>Getting Started</h2> |
|
19 |
+ <p> |
|
20 |
+ As Blinker uses BlinkenLib to perform the low-level operations |
|
21 |
+ on Blinken movies and Blinken streams, BlinkenLib has to be |
|
22 |
+ installed first. |
|
23 |
+ </p> |
|
24 |
+ <p> |
|
25 |
+ Go to the <code>src</code> directory and type <code>make</code>. |
|
26 |
+ This should compile Blinker and produce a binary <code>Blinker</code> |
|
27 |
+ in this directory. |
|
28 |
+ </p> |
|
29 |
+ <p> |
|
30 |
+ Start Blinker using the example configuration directory using |
|
31 |
+ <code>./Blinker ../example_cfg</code>. |
|
32 |
+ You should see a small test movie appearing on standard output |
|
33 |
+ (printed there by a printer module). |
|
34 |
+ Other movies are sent as MCUF streams over UDPv4, one stream |
|
35 |
+ is sent to <code>127.0.0.1:2323</code>. |
|
36 |
+ </p> |
|
37 |
+ <h2>Streams</h2> |
|
38 |
+ <p> |
|
39 |
+ Every stream is identified by a name and works like a TV program. |
|
40 |
+ A source creates the content and uses the stream to distribute |
|
41 |
+ it to its receivers. |
|
42 |
+ A single stream can have any number of receivers, they all receive the |
|
43 |
+ same content. |
|
44 |
+ Usually, there should be only one provider of content for a single |
|
45 |
+ stream. |
|
46 |
+ If multiple parties send video frames to the stream, the frames |
|
47 |
+ are mixed, which is most likely not what you want. |
|
48 |
+ </p> |
|
49 |
+ <h2>Configuration Directory</h2> |
|
50 |
+ <p> |
|
51 |
+ The configuration of blinker is not stored in a single file, but in a |
|
52 |
+ directory structure, reflecting the inner structure of Blinker's |
|
53 |
+ modules. |
|
54 |
+ This way, every module has got its own configuration directory |
|
55 |
+ containing single files each containing one simple setting. |
|
56 |
+ It the module has some internel structure, those config setting |
|
57 |
+ files are organized in a directory structure underneath the module's |
|
58 |
+ configuration directory. |
|
59 |
+ </p> |
|
60 |
+ <p> |
|
61 |
+ The main config directory contains a directory for each module |
|
62 |
+ class, e.g. <code>players</code> for movie player modules. |
|
63 |
+ Inside, there is an arbitrary number of subdirectories, one |
|
64 |
+ for each instantance of the player module. |
|
65 |
+ E.g. the <code>players/stereoscope</code> directory in the example |
|
66 |
+ configuration (<code>example_cfg</code> directory in the top level) |
|
67 |
+ contains the configuration of the movie player for Blinkenlights |
|
68 |
+ stereoscope movies. |
|
69 |
+ </p> |
|
70 |
+ <p> |
|
71 |
+ Reconfiguration can happen at runtime by just changing the configuration |
|
72 |
+ directory. |
|
73 |
+ Blinker will detect those changes and adapt its operation to the new |
|
74 |
+ configuration without restart. |
|
75 |
+ <br> |
|
76 |
+ Sometimes, especially after an invalid configuration has been seen by |
|
77 |
+ Blinker, changes are not automatically detected by Blinker. |
|
78 |
+ In this case, it is neccessary to <code>touch</code> the parent |
|
79 |
+ directory containing the setting file to make Blinker aware of |
|
80 |
+ the reconfiguration. |
|
81 |
+ (Solving this issue is planned.) |
|
82 |
+ </p> |
|
83 |
+ <h2>Modules</h2> |
|
84 |
+ <p> |
|
85 |
+ The following module types are available for instantiation: |
|
86 |
+ <ul> |
|
87 |
+ <li>TODO</li> |
|
88 |
+ </ul> |
|
89 |
+ </p> |
|
90 |
+ <h2>Copyright / Copyleft</h2> |
|
91 |
+ <p> |
|
92 |
+ Blinker<br> |
|
93 |
+ Copyright 2011 Stefan Schuermans <stefan@blinkenarea.org><br> |
|
94 |
+ Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html<br> |
|
95 |
+ a blinkenarea.org project |
|
96 |
+ </p> |
|
97 |
+ <h2>Links</h2> |
|
98 |
+ <ul> |
|
99 |
+ <li> |
|
100 |
+ <a href=https://git.blinkenarea.org/?p=Blinker"> |
|
101 |
+ Blinker GIT repository |
|
102 |
+ </a> |
|
103 |
+ </li> |
|
104 |
+ <li> |
|
105 |
+ <a href=https://git.blinkenarea.org/?p=BlinkenLib"> |
|
106 |
+ BlinkenLib GIT repository |
|
107 |
+ </a> |
|
108 |
+ </li> |
|
109 |
+ <li> |
|
110 |
+ <a href=https://wiki.blinkenarea.org/index.php/Protocols"> |
|
111 |
+ Information about Blinken protocols |
|
112 |
+ </a> |
|
113 |
+ </li> |
|
114 |
+ <li> |
|
115 |
+ <a href=https://wiki.blinkenarea.org/index.php/DateiformateEnglish"> |
|
116 |
+ Information about Blinken movie file formats |
|
117 |
+ </a> |
|
118 |
+ </li> |
|
119 |
+ <li> |
|
120 |
+ <a href=https://www.blinkenarea.org/"> |
|
121 |
+ BlinkenArea is a group of people building and operating Blinken stuff |
|
122 |
+ </a> |
|
123 |
+ </li> |
|
124 |
+ <li> |
|
125 |
+ <a href=http://www.blinkenlights.de/"> |
|
126 |
+ Project BlinkenLights kicked off the whole Blinken story |
|
127 |
+ </a> |
|
128 |
+ </li> |
|
129 |
+ </ul> |
|
130 |
+ </body> |
|
131 |
+</html> |
|
132 |
+ |
|
0 | 133 |