Blinkenwall.com: Unterschied zwischen den Versionen

aus Metalab, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Wechseln zu: Navigation, Suche
K (hat Blinkenwall nach Blinkenwall.com verschoben)
(Upgrade to Raspi)
(18 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
[[Bild:Blinkenwall_webinterface.png|thumb|right|300px|Webinterface Screenshot]]
 
== Blinkenwall.. ==
 
== Blinkenwall.. ==
  
Zeile 6: Zeile 7:
 
* these 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]
 
* they are currently controlled from an arduino this may change soon for something with more computational power :)
 
* they are currently controlled from an arduino this may change soon for something with more computational power :)
* [http://fridge.metalab.at:1336/ Click here to draw something nice on the wall!!]
+
* [http://blinkenwall.com Click here to draw something nice on the wall!!]
  
  
== How ==
+
=== How ===
  
 
SVN with current software https://whatever.metalab.at/projects/blinkenwall
 
SVN with current software https://whatever.metalab.at/projects/blinkenwall
 
+
__TOC__
 
We just connected the Arduino to a fonera 2202 over serial.
 
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.
 
Now its possible to stream data for display to the blinkenwall using your favourite webbrowser.
 
  
 
Lessons learned:
 
Lessons learned:
 
 
* one can simply connect RX/TX from fonera to arduino
 
* one can simply connect RX/TX from fonera to arduino
 
* no stty in default openwrt busybox build
 
* no stty in default openwrt busybox build
Zeile 25: Zeile 24:
 
* replacing the busybox binary on a live system during operation is insane and possible! :)
 
* replacing the busybox binary on a live system during operation is insane and possible! :)
  
 
+
=== Reference ===
== Reference ==
+
  
 
* [http://www.allegromicro.com/en/Products/Part_Numbers/6281/6281.pdf Allegro A6281 documentation]   
 
* [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]
 
* [http://macetech.com/store/index.php?main_page=product_info&cPath=1&products_id=1 Shiftbrite]
  
 
+
=== Who ===
 
+
== Who ==
+
 
+
  
 
* [[Benutzer:Overflo|Overflo]] - electronics, soldering, webinterface, fonera setup
 
* [[Benutzer:Overflo|Overflo]] - electronics, soldering, webinterface, fonera setup
Zeile 43: Zeile 38:
 
* [[Benutzer:Natano|Natano]] .C program to decode webinterface streaming files
 
* [[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 ==
{| border=0 cellspacing="0" style="border-collapse:collapse;"
+
{| width="100%"
 
|-
 
|-
|style="vertical-align:top"|[[Bild:Blinkenwall_back_closeup2.JPG|thumb|300px|Another Backside close-up]]
+
|width="33%" valign="top"|[[Bild:Blinkenwall_back_closeup2.JPG|thumb|center|300px|Another Backside close-up]]
|style="vertical-align:top"|[[Bild:Blinkenwall_back_closeup.jpg|thumb|300px|Backside close-up]]  
+
|width="33%" valign="top"|[[Bild:Blinkenwall_back_closeup.jpg|thumb|center|300px|Backside close-up]]  
|style="vertical-align:top"|[[Bild:Blinkenwall_back_closeup_with_flash.JPG|thumb|300px|Backside close-up with flashlight]]
+
|width="33%" valign="top"|[[Bild:Blinkenwall_back_closeup_with_flash.JPG|thumb|center|300px|Backside close-up with flashlight]]  
|style="vertical-align:top"|[[Bild:Blinkenwall_webinterface.png|thumb|300px|Webinterface Screenshot]]  
+
 
|}
 
|}
  
Zeile 60: 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://fridge.metalab.at:1336/  (url will change soon)
+
* http://blinkenwall.com
 
+
  
 +
[[Kategorie:English]]
 
[[Kategorie:Hauptraum]]
 
[[Kategorie:Hauptraum]]
[[Kategorie:English]]
+
[[Kategorie:Projekte]]

Version vom 3. Februar 2014, 01: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