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
(29 dazwischenliegende Versionen von 9 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
[[Bild:Blinkenwall_webinterface.png|thumb|right|300px|Webinterface Screenshot]]
 
== Blinkenwall.. ==
 
== Blinkenwall.. ==
  
 
* is the wall between our [[Hauptraum|mainroom]] and the [[Bibliothek|library]]
 
* is the wall between our [[Hauptraum|mainroom]] and the [[Bibliothek|library]]
* in this wall are 9x5 45 glassbricks installed
+
* in this wall are 9x5=45 glassbricks installed
 
* next to every glassbrick there is one RGB-led with a pretty neat [http://www.allegromicro.com/en/Products/Part_Numbers/6281/6281.pdf chip] attached  
 
* next to every glassbrick there is one RGB-led with a pretty neat [http://www.allegromicro.com/en/Products/Part_Numbers/6281/6281.pdf chip] attached  
* this presoldered boards are called [http://macetech.com/store/index.php?main_page=product_info&cPath=1&products_id=1 Shiftbrite]
+
* these presoldered boards are called [http://macetech.com/store/index.php?main_page=product_info&cPath=1&products_id=1 Shiftbrite]
* these leds are currently controlled from an arduino
+
* they are currently controlled from an arduino this may change soon for something with more computational power :)
 +
* [http://blinkenwall.com Click here to draw something nice on the wall!!]
  
  
== Who ==
+
=== How ===
  
 +
SVN with current software https://whatever.metalab.at/projects/blinkenwall
 +
__TOC__
 +
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 ===
 +
 +
* [http://www.allegromicro.com/en/Products/Part_Numbers/6281/6281.pdf Allegro A6281 documentation] 
 +
* [http://macetech.com/store/index.php?main_page=product_info&cPath=1&products_id=1 Shiftbrite]
 +
 +
=== Who ===
 +
 +
* [[Benutzer:Overflo|Overflo]] - electronics, soldering, webinterface, fonera setup
 +
* [[Benutzer:Wizard23|Wizard23]] - help with electronics, basic software setup
 
* [[Benutzer:Metaz|Metaz]]  - arduino library software for shiftbrites  
 
* [[Benutzer:Metaz|Metaz]]  - arduino library software for shiftbrites  
* [[Benutzer:Wizard23|Wizard23]] - help with electronics, basic software setup
+
* [[Benutzer:Nex|Nex]] arduino software for webinterface streaming
* [[Benutzer:Overflo|Overflo]] - electronics, soldering
+
* [[Benutzer:Mactux|Mactux]] CSS + iphone webinterface
* .. lots of guys playing around
+
* [[Benutzer:Natano|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 [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 ===
 +
* [[Benutzer:Sqrt2|sqrt2]] - Making it work
 +
* [[Benutzer:Amir|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 ===
 +
* [https://whatever.metalab.at/projects/blinkenwall/v1.5/fonera/ blinkblink] -- old-school animations
 +
* [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
 +
 
 +
== 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 ==
{{#ev:vimeo|2931136}}
+
First Blinkenwall
 +
* http://vimeo.com/2931136
 +
* http://vimeo.com/5714761
 +
 
 +
Blinkenwall after resurrection at [[Hackathon_8]]
 +
* https://vimeo.com/45418812
  
 
== Photos ==
 
== Photos ==
TBD
+
{| width="100%"
 +
|-
 +
|width="33%" valign="top"|[[Bild:Blinkenwall_back_closeup2.JPG|thumb|center|300px|Another Backside close-up]]
 +
|width="33%" valign="top"|[[Bild:Blinkenwall_back_closeup.jpg|thumb|center|300px|Backside close-up]]
 +
|width="33%" valign="top"|[[Bild:Blinkenwall_back_closeup_with_flash.JPG|thumb|center|300px|Backside close-up with flashlight]]
 +
|}
  
  
== Code ==
+
== Various Links ==
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
 +
* http://blinkenwall.com
  
== Reference ==
+
[[Kategorie:English]]
* [http://www.allegromicro.com/en/Products/Part_Numbers/6281/6281.pdf Allegro A6281 documentation]  
+
[[Kategorie:Hauptraum]]
* [http://macetech.com/store/index.php?main_page=product_info&cPath=1&products_id=1 Shiftbrite]
+
[[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