From 6e8fff305273eb943f7f4d905524dee40625941e Mon Sep 17 00:00:00 2001 From: Bernhard Tittelbach Date: Wed, 17 Apr 2013 04:39:41 +0000 Subject: [PATCH] raspberry kiosk --- documents/statuten/main.pdf | Bin 70459 -> 68809 bytes documents/statuten/main.tex | 2 +- raspberry-kiosk/kiosk.css | 173 ++++++++++++++++++++++++++++++++++++++++ raspberry-kiosk/kiosk.html | 48 +++++++++++ raspberry-kiosk/kiosk.js | 163 +++++++++++++++++++++++++++++++++++++ raspberry-kiosk/restart-kiosk | 4 + raspberry-kiosk/start-kiosk.sh | 23 ++++++ 7 files changed, 412 insertions(+), 1 deletion(-) create mode 100644 raspberry-kiosk/kiosk.css create mode 100644 raspberry-kiosk/kiosk.html create mode 100644 raspberry-kiosk/kiosk.js create mode 100644 raspberry-kiosk/restart-kiosk create mode 100644 raspberry-kiosk/start-kiosk.sh diff --git a/documents/statuten/main.pdf b/documents/statuten/main.pdf index 0315f6db0ea8dd2eaedb2e40f43e3bdb7bb3da50..025c614208bdacff97119d886a9ce53ee3822218 100644 GIT binary patch delta 16125 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 Z*u~Au#oPkG!NtPN1Ry6DSCjw+{2y>>y*>Z{ delta 17713 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 diff --git a/documents/statuten/main.tex b/documents/statuten/main.tex index c976ad4..36825a8 100644 --- a/documents/statuten/main.tex +++ b/documents/statuten/main.tex @@ -25,7 +25,7 @@ %-------------------------PACKAGES------------------------------- % Load Babel language support -\usepackage[austrian, german]{babel} +\usepackage[austrian, ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage{textcomp} \usepackage{amsmath} diff --git a/raspberry-kiosk/kiosk.css b/raspberry-kiosk/kiosk.css new file mode 100644 index 0000000..91e34b7 --- /dev/null +++ b/raspberry-kiosk/kiosk.css @@ -0,0 +1,173 @@ + +body { + font-family: "Droid Sans", Helvetica, Arial, Sans; + color:black; + font-size:22px; + padding:0; + margin:0; + background-color: white; +} + +div { + width: 100%; + padding: 0; +} + +div#siteheader { + text-align: center; + font-size: 1.2em; + font-weight: bold; + color: white; + //background-color: #36373B; + background-color: rgb(118, 20, 7); + font-size:40px; + margin-top:10px; +} + +img.headerphoto { + width:100%; + margin: -60px 0 0 0px; +} + +div.headerphoto { + display:block; + width: 100%; + height: 350px; + overflow: hidden; + padding: 0.1em 0; + text-align: center; + margin-top:10px; +} + +div.status { + display:block; + width: 98%; + margin-top:10px; + margin-left:auto; + margin-right:auto; +} + +table.status { + width:571px; + display:inline; + margin-left: 0; + margin:right: 0; + margin-top:0; + margin-bottom:1ex; +} + +p.anwesenheit_status { +} + +td.anwesenheitsstatus { + height:100px; + text-align:center; + margin-left:105px; + margin-right:auto; + vertical-align:middle; + display:table-cell; + font-weight:bold; + font-size:30px; +} + +p.topic { + width: 100%; + margin-bottom:1ex; + margin-top:0px; + margin-left:0px; + margin-right:0px; + font-weight: bold; + font-variant:small-caps; + font-size: 110%; + color: white; + text-align:center; + background-color: #36373B; +} + +div.calendars { + display:block; + width: 100%; + height: 15em; + margin-top:10px; + margin-left:0px; + margin-right:0px; +} + +div.calendar { + //width: 48%; + width: 99%; + height: 15em; + overflow: hidden; + border:1px solid #333; + margin-bottom:0ex; + margin-top:0ex; + margin-left:5px; + margin-right:5px; +} + +div.sensorgraphs { + display:block; + text-align:center; + border:1px solid #333; + width:99%; + //height:35em; + padding-bottom:2px; + background-color:#fff; + margin-top:10px; + margin-bottom:10px; + margin-left:auto; + margin-right:auto; +} + +div.sensorelem { + display:block; + width:571px; + margin-top:2px; + margin-bottom:0; + margin-left:auto; + margin-right:auto; +} + +img.sensorimg { + margin:0; + padding:0; + border:0px none black; + width:571px; +} + +div.even { + background-color: white; +} + +div.odd { + background-color: #E0E0E0; +} + +div#dateclock { + text-align: center; + font-size: 1.2em; + font-weight: bold; + color: white; + background-color: #36373B; + font-size:48px; +} + +span.start,span.end,span.showname { + font-weight: bold; + margin: 0.1em 0.22em; +} + +span.start,span.end { + font-size: 0.75em; + margin-left: 1em; + margin-right: 1em; +} + +span.start { + float: left; +} + +span.end { + float: right; +} + diff --git a/raspberry-kiosk/kiosk.html b/raspberry-kiosk/kiosk.html new file mode 100644 index 0000000..8a5b0e2 --- /dev/null +++ b/raspberry-kiosk/kiosk.html @@ -0,0 +1,48 @@ + + + + Realraum Kiosk Seite + + + + + + +
+ +
+ +
+
+
+

Upcoming Events

+
Loading calendar ...
+
+ +
+ +
+ +
+

Sensor Data

+
+ + + +
Loading ...
Loading ...
+
+ +
+ +
+
+ +
+
+ + diff --git a/raspberry-kiosk/kiosk.js b/raspberry-kiosk/kiosk.js new file mode 100644 index 0000000..15fe505 --- /dev/null +++ b/raspberry-kiosk/kiosk.js @@ -0,0 +1,163 @@ + +function writeCalendar(data, elem) +{ + var calhtml = ""; + for (var s=0; s dt) + { + when = "JETZT"; + } + else + { + var stime = data[s].starttime; + while (stime.substring(stime.length-3,stime.length) == ":00") + { + stime=stime.substring(0,stime.length-3); + } + when = data[s].start +", "+stime+" Uhr"; + } + calhtml += '
  • '+"\n"; + } + elem.innerHTML='
      '+calhtml+'
    '; +} +function loadCalendar() +{ + //old URI: //grical.realraum.at/s/?query=!realraum&limit=9&view=json + var calcontainer=document.getElementById("grical_upcoming"); + calcontainer.innerHTML="Calendar loading ...
    please wait a second or two"; + $.getJSON('/shmcache/grical_realraum.json', function(data){ + writeCalendar(data, calcontainer); + }); +} + +function writeAnwesenheitStatus(data) +{ + var html=""; + var sensorshtml=""; + var sensorstd=""; + if (data.open) + { + iconuri=data.icon.open; + statuscolor="lime"; + } + else + { + iconuri=data.icon.closed; + statuscolor="red"; + } + html='
    '+data.status+'
    '; + document.getElementById('anwesenheit_status').innerHTML=html; + + if (data.sensors) + { + for (var s=0; s
    '+swhere+': '+svalue+''; + }); + }); + } + } + if (sensorstd != "") + { + sensorshtml=''+sensorstd+'
    '; + document.getElementById('sensor_status').innerHTML=sensorshtml; + } +} + +function updateAnwesenheitStatus() +{ + //var req = new XMLHttpRequest(); + url = "/status.json"; + //req.open("GET", url ,false); + //google chrome workaround + //req.setRequestHeader("googlechromefix",""); + //req.send(null); + var jqxhr = $.getJSON(url, writeAnwesenheitStatus); +} +var anwesenheit_timer = window.setInterval("updateAnwesenheitStatus()", 10000); + +function updateSensors() +{ + //reloadImg(document.getElementById("tempsensor")); + reloadImg(document.getElementById("movementsensor")); + reloadImg(document.getElementById("lightsensor")); +} + +var timer; +var seconds = 0; +var schedule = Array() + +$(document).ready(function() +{ + updateDateClock(new Date()); + setInterval("clock()", 500); + updateAnwesenheitStatus(); + loadCalendar(); + setInterval("updateAnwesenheitStatus()", 10000); + setInterval("loadCalendar()", 100000); + setInterval("updateSensors()", 50000); +}); + +function updateDateClock(now) +{ + var daynames = new Array('So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'); + var datetimestr = daynames[now.getDay()]; + datetimestr += ' ' + now.getDate(); + datetimestr += '.' + (now.getMonth() + 1); + datetimestr += '.' + now.getFullYear(); + datetimestr += (now.getHours() > 9 ? ' ' : ' 0') + now.getHours(); + datetimestr += (now.getMinutes() > 9 ? ':' : ':0') + now.getMinutes(); + datetimestr += (now.getSeconds() > 9 ? ':' : ':0') + now.getSeconds(); + $('#dateclock').html(datetimestr); +} + +function highlightEntry(idx, color, value) +{ + if(value == 0) { + if(idx%2 == 0) + $('#upnext' + idx).css('background-color', 'white'); + else + $('#upnext' + idx).css('background-color', '#E0E0E0'); + } else { + $('#upnext' + idx).css('background-color', color); + } +} + + +function clock(now) +{ + var now = new Date(new Date().valueOf() + 300); + updateDateClock(now); + seconds++; + if(seconds >= 20) { + seconds = 0; + } +} + +//function updateSchedule() +//{ +// $.ajax({type: "GET", url: "/export/schedules.php", data: "days=3&start=-1", dataType: "xml", error: showError, success: parseXml}); +//} + +function showError(XMLHttpRequest, textStatus, errorThrown) +{ + alert("Error: " + textStatus); +} + +function reloadImg(element) +{ + //var image = document.getElementById("theText"); + if(element.complete) { + var new_image = new Image(); + //set up the new image + new_image.id = element.id; + new_image.src = element.src; + element.parentNode.insertBefore(new_image,element); + element.parentNode.removeChild(element); + } +} diff --git a/raspberry-kiosk/restart-kiosk b/raspberry-kiosk/restart-kiosk new file mode 100644 index 0000000..cb6f3fb --- /dev/null +++ b/raspberry-kiosk/restart-kiosk @@ -0,0 +1,4 @@ +# cron.d/restart-kiosk - restart midori and unclutter (memory gets filled up...) +# +42 4 * * 1 pi /usr/local/bin/start-kiosk.sh +10 19 * * 5 pi /usr/local/bin/start-kiosk.sh diff --git a/raspberry-kiosk/start-kiosk.sh b/raspberry-kiosk/start-kiosk.sh new file mode 100644 index 0000000..475ceff --- /dev/null +++ b/raspberry-kiosk/start-kiosk.sh @@ -0,0 +1,23 @@ +#!/bin/sh +KIOSKURI="http://www.realraum.at/kiosk.html" +#KIOSKURI="http://grical.realraum.at" +#KIOSKURI="http://radi-o-matic.helsinki.at/nextshows/index.php?len=11" +sleep 1 + +killall midori 2> /dev/null +killall unclutter 2> /dev/null +killall chromium 2> /dev/null + +sleep 5 +export DISPLAY=:0.0 + +xset dpms 0 0 0 +xset dpms force on +xset s off +xset s noblank + +unclutter & +#midori -e Fullscreen -a "$KIOSKURI" +chromium --kiosk --incognito "$KIOSKURI" + +exit 0 -- 1.7.10.4