Blinkenwall.com: Unterschied zwischen den Versionen

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Zur Navigation springenZur Suche springen
(5 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 41: Zeile 41:
 
== Blinkenwall v1.5 ==
 
== Blinkenwall v1.5 ==
  
Now with ~30 fps and network mode! Go to http://blinkenwall.in.metalab.at/ to activate network mode and send your [https://secure.wikimedia.org/wikipedia/en/wiki/Netpbm_format P6 PPM] frames to port 1337/tcp. Be sure that all your frames are exactly 146 bytes in size.
+
Now with ~30 fps and network mode! Go to http://blinkenwall.in.metalab.at/ to activate network mode and send your [https://secure.wikimedia.org/wikipedia/en/wiki/Netpbm_format P6 PPM] frames to port 1337/tcp. Make sure that all your frames are exactly 146 bytes in size or you'll risk graphics glitches at higher frame rates.
  
 
=== Who ===
 
=== Who ===
Zeile 57: Zeile 57:
 
* [https://whatever.metalab.at/projects/blinkenwall/blinkenfft/ blinkenfft] -- real-time audio FFT
 
* [https://whatever.metalab.at/projects/blinkenwall/blinkenfft/ blinkenfft] -- real-time audio FFT
 
* [https://whatever.metalab.at/projects/blinkenwall/mplayer_vo/ mplayer -vo blinkenwall] -- watch movies in a stunning resolution of 9x5
 
* [https://whatever.metalab.at/projects/blinkenwall/mplayer_vo/ mplayer -vo blinkenwall] -- watch movies in a stunning resolution of 9x5
 +
 +
== Upgrade to Raspi ==
 +
[[Benutzer:Georg|Georg]] and [[Benutzer:WSys|WSys]] replaced the Fonera/Arduino with a Raspi. Networking capability was restored later by [[Benutzer:Sqrt2|sqrt2]].
 +
 +
To stream to the Blinkenwall from your computer, open http://10.20.30.26/cgi-bin/togglesocket.cgi and wait for the test frame to appear, then send RGB data for the 45 pixels as before, but without the PPM header (9*5*3 = 135 bytes per frame). Open the URL again to switch back to animations.
  
 
== Videos ==
 
== Videos ==
{| width="100%"
+
First Blinkenwall
|align="center"| {{#ev:vimeo|2931136}}
+
* http://vimeo.com/2931136
|align="center"| {{#ev:vimeo|5714761}}
+
* http://vimeo.com/5714761
|}
+
 
 +
Blinkenwall after resurrection at [[Hackathon_8]]
 +
* https://vimeo.com/45418812
  
 
== Photos ==
 
== Photos ==
Zeile 76: Zeile 83:
 
* Sample effect - https://whatever.metalab.at/user/meta/blinkenwall/WallSample
 
* Sample effect - https://whatever.metalab.at/user/meta/blinkenwall/WallSample
 
* SVN with current software https://whatever.metalab.at/projects/blinkenwall
 
* SVN with current software https://whatever.metalab.at/projects/blinkenwall
* http://blinkenwall.com
+
* http://blinkenwall.com
  
 +
[[Kategorie:English]]
 
[[Kategorie:Hauptraum]]
 
[[Kategorie:Hauptraum]]
[[Kategorie:English]]
+
[[Kategorie:Projekte]]

Version vom 2. Februar 2014, 23:14 Uhr

Webinterface Screenshot

Blinkenwall..

  • is the wall between our mainroom and the library
  • in this wall are 9x5=45 glassbricks installed
  • next to every glassbrick there is one RGB-led with a pretty neat chip attached
  • these presoldered boards are called Shiftbrite
  • they are currently controlled from an arduino this may change soon for something with more computational power :)
  • Click here to draw something nice on the wall!!


How

SVN with current software https://whatever.metalab.at/projects/blinkenwall

We just connected the Arduino to a fonera 2202 over serial.

Now its possible to stream data for display to the blinkenwall using your favourite webbrowser.

Lessons learned:

  • one can simply connect RX/TX from fonera to arduino
  • no stty in default openwrt busybox build
  • openwrt building is an fairly easy task
  • replacing the busybox binary on a live system during operation is insane and possible! :)

Reference

Who

  • Overflo - electronics, soldering, webinterface, fonera setup
  • Wizard23 - help with electronics, basic software setup
  • Metaz - arduino library software for shiftbrites
  • Nex arduino software for webinterface streaming
  • Mactux CSS + iphone webinterface
  • Natano .C program to decode webinterface streaming files


Blinkenwall v1.5

Now with ~30 fps and network mode! Go to http://blinkenwall.in.metalab.at/ to activate network mode and send your P6 PPM frames to port 1337/tcp. Make sure that all your frames are exactly 146 bytes in size or you'll risk graphics glitches at higher frame rates.

Who

  • sqrt2 - Making it work
  • Amir - Netpbm library for Arduino

Lessons learned

  • netcat has fixed-length 8K RX/TX buffers.
  • The Arduino Duemilanove resets on DTS low (the IDE uses that to reset before programming).
  • The Arduino Serial class implements an RX ringbuffer of 128 bytes. Patch the Arduino SDK to adjust this to your needs; RX_BUFFER_SIZE in hardware/arduino/cores/arduino/HardwareSerial.cpp.
  • mkfifo(1) is neat when opening ttyUSB* devices leads to an Arduino reset.

Applications

Upgrade to Raspi

Georg and WSys replaced the Fonera/Arduino with a Raspi. Networking capability was restored later by sqrt2.

To stream to the Blinkenwall from your computer, open http://10.20.30.26/cgi-bin/togglesocket.cgi and wait for the test frame to appear, then send RGB data for the 45 pixels as before, but without the PPM header (9*5*3 = 135 bytes per frame). Open the URL again to switch back to animations.

Videos

First Blinkenwall

Blinkenwall after resurrection at Hackathon_8

Photos

Another Backside close-up
Backside close-up
Backside close-up with flashlight


Various Links