info-beamer hosted package for Windmill Tournament 2017
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.
ads_used
gvb
leaguevine
weather
.gitignore
32c3big.png
32c3big2.png
COPYRIGHT
Podium.xcf
README.creole
README.md
WM17.mp4
ads_Karaoke.png
ads_PullComp.png
ads_capsones.png
ads_fanseat.png
ads_green.png
ads_partners.png
ads_sponsors.png
anims.lua
bottle.png
brackets.png
brackets_scaled.png
clockboarder.png
clockboarder2.png
clockboarder3.png
clockborder.xcf
clockborder2.xcf
clockborder3.xcf
config.json
config.json.example
create-logo-video.py
current_brackets_mixed.initial.json
current_brackets_open.initial.json
current_brackets_women.initial.json
current_games_mixed.initial.json
current_games_open.initial.json
current_games_women.initial.json
empty.png
field_1.png
field_10.png
field_11.png
field_12.png
field_13.png
field_14.png
field_15.png
field_16.png
field_17.png
field_18.png
field_19.png
field_2.png
field_20.png
field_3.png
field_4.png
field_5.png
field_6.png
field_7.png
field_8.png
field_9.png
flag_ae.png
flag_at.png
flag_au.png
flag_be.png
flag_br.png
flag_by.png
flag_ca.png
flag_cc.png
flag_ch.png
flag_co.png
flag_cz.png
flag_de.png
flag_dk.png
flag_ee.png
flag_eg.png
flag_es.png
flag_fi.png
flag_fr.png
flag_gb.png
flag_hu.png
flag_ie.png
flag_il.png
flag_io.png
flag_ir.png
flag_is.png
flag_it.png
flag_lt.png
flag_lv.png
flag_mx.png
flag_nl.png
flag_no.png
flag_nr.png
flag_nz.png
flag_ph.png
flag_pl.png
flag_pt.png
flag_ro.png
flag_ru.png
flag_se.png
flag_sg.png
flag_si.png
flag_sk.png
flag_tr.png
flag_ua.png
flag_um.png
flag_us.png
flag_uy.png
flag_ve.png
flag_vu.png
font.ttf
gvb-bus.png
gvb-icon.png
gvb-walk.png
gvb.initial.json
hosted.lua
hosted.py
house1.png
house2.png
img_Herbie_GH.jpg
img_nighto.jpg
loop-big.mp4
loop.mp4
module_ads.lua
module_gvb.lua
module_images.lua
module_playoff.lua
module_swissgames.lua
module_teams.lua
module_text.lua
module_videos.lua
module_weather.lua
mov_WM17caravan.mp4
mov_day2_top1.mp4
mov_day2_top2.mp4
mov_day2_top3.mp4
mov_day2_top4.mp4
mov_day2_top5.mp4
mov_top1.mp4
mov_top2.mp4
mov_top3.mp4
mov_top4.mp4
mov_top5.mp4
mov_windmill_welcome1.mp4
mov_windmill_welcome2.mp4
mov_windmill_welcome3.mp4
nav-level0.pkm
nav-level1.pkm
nav-level2.pkm
nav-level3.pkm
nav-level4.pkm
node.json
node.lua
package.json
package.png
playlist.backup
playlist.full
playlist.initial.json
playlist.original
playlist_all.json
playlist_backup.json
playlist_fun.json
playlist_images.json
playlist_standings.json
playlist_test.json
podium.png
rotating_elephant.mp4
rotating_elephant_smallish.mp4
scroll.txt
service
shader.frag
testing.lua
tower.png
tweets.json
utils.lua
weather_a.png
weather_b.png
weather_buienradar.png
weather_c.png
weather_d.png
weather_data.initial.json
weather_f.png
weather_g.png
weather_h.png
weather_i.png
weather_j.png
weather_k.png
weather_l.png
weather_m.png
weather_n.png
weather_o.png
weather_p.png
weather_q.png
weather_r.png
weather_radar_background.png
weather_rain.initial.json
weather_s.png
weather_t.png
weather_u.png
weather_v.png
weather_w.png
weather_wind_N.png
weather_wind_NNO.png
weather_wind_NNW.png
weather_wind_NO.png
weather_wind_NW.png
weather_wind_O.png
weather_wind_ONO.png
weather_wind_OZO.png
weather_wind_W.png
weather_wind_WNW.png
weather_wind_WZW.png
weather_wind_Z.png
weather_wind_ZO.png
weather_wind_ZW.png
weather_wind_ZZO.png
weather_wind_ZZW.png

README.creole

Windmill package (running on all the screens)

Content

Info screens at Windmill Tournament, the yearly Ultimate frisbee festival held in Amsterdam.

Old README

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.