Visualization for the 32c3 conference (running on the tv screens)
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
hvv
roomfull
schedule
twitter
workshops
32c3big.png
32c3big2.png
3d-druck.mp4
COPYRIGHT
README.md
ads_crowdfrisur.jpg
ads_disapora.jpg
ads_gnuradio.jpg
ads_meetling.jpg
anims.lua
bottle.png
config.json.example
create-logo-video.py
empty.png
font.ttf
hosted.lua
hosted.py
house1.png
house2.png
hvv-icon-603.png
hvv-icon-604.png
hvv-icon-605.png
hvv-icon-7500.png
hvv-icon-a1.png
hvv-icon-s-bahns11.png
hvv-icon-s-bahns21.png
hvv-icon-s-bahns31.png
hvv-icon-stadtbus109.png
hvv-icon-stadtbus112.png
hvv-icon-stadtbus34.png
hvv-icon-stadtbus36.png
hvv-icon-stadtbus4.png
hvv-icon-stadtbus5.png
hvv-icon-stadtbus603.png
hvv-icon-stadtbus604.png
hvv-icon-stadtbus605.png
hvv-icon-u-bahnu1.png
hvv-icon-zug.png
hvv-logo.png
img_gateway.jpg
img_gravity.jpg
img_installation1.jpg
img_installation2.jpg
img_lightfoo.jpg
img_lounge2.jpg
img_lounge3.jpg
img_ping.jpg
img_sticken.jpg
img_sticker.jpg
img_tetris.jpg
img_tunnel2.jpg
img_wand.jpg
img_wormhole.jpg
loop-big.mp4
loop.mp4
module_ads.lua
module_hvv.lua
module_images.lua
module_logo.lua
module_nav.lua
module_talks.lua
module_text.lua
module_twitter.lua
module_videos.lua
nav-level0.pkm
nav-level1.pkm
nav-level2.pkm
nav-level3.pkm
nav-level4.pkm
node.json
node.lua
package.json
package.png
playlist.json
scroll.txt
service
tower.png
utils.lua

README.md

Import

32c3 package (running on all the screens)

This is the code that ran on a single RPI2 during the 32c3 conference. I updated code and added images/videos while the visualization was running numerous times during the conference without restarting anything. I wrote code on my own machine and committed it to a local git repository which I then pushed to the info-beamer hosted server. That way info-beamer takes care of the rest and pushes all new content automatically to all configured devices and restarts all services if required.

Installation/Running

So there are three ways to use this repository:

  • You can fork it and create a new hosted service package that points to your new repository. Everytime you commit you then have to click the "Check for updates" button in the package page. If you want to do that, check the "Show advanced/expert options" in your account page. Then on the packages page click on "Add Package", then "Create from Url" and enter the clone url of your repository.

  • You can clone this repository locally and push it directly to the info-beamer hosted service. This is the recommended way to run this code because you can directly push your changes and see the result. This is the way the setup was running during 32c3. To do this, again, check the "Show advanced/expert options" in your account page. Then click "Add Package" on the packages page and select "Create git repository". Follow the instructions on the package page. When done, you should be able to just use git push info-beamer master after committing changes.

  • You can run the complete visualization without using the hosted service by just cloning it to your PI and then running the info-beamer pi program. Since the package uses the configuration feature of info-beamer hosted you have to create some config.json files manually that are otherwise automatically created. Consult the config.json.example files for that. You also have to manually start all associated python services. Look out for the service files in the various subdirectories.

To add new images, just create new JPEG files prefixed with either img_ or ads_. Adding videos requires you to edit the playlist.json file. New content for the ticker can be added by editing scroll.txt.

Notes

  • During the conference I edited some of the module_* lua code and pushed updates to the PI. Code in node.lua monitors all lua files prefixed with module_ and reloads them every time they change.

  • During the conference I had a development PI connected to the PI 7" screen to test my changes before pushing them to "production". You can just setup multiple repositories on info-beamer hosted so you can just do git push info-beamer-test master.

  • This code doesn't use any child nodes for performance reasons. It's only using a single top level node. To make it more modular I wrote a small module that makes it easier to split code into logical parts. Have a look at node.lua for that.