From cdd9cf8f41352f1f707c53f464cd19be334c5578 Mon Sep 17 00:00:00 2001 From: Bernhard Tittelbach Date: Wed, 29 Oct 2014 18:59:43 +0000 Subject: [PATCH] kiosk current files --- raspberrypi_gpio_relay_licht/index.html | 215 ++++++++++++++++++++- raspberrypi_gpio_relay_licht/indexz.html | 218 ++++++++++++++++++++++ raspberrypi_gpio_relay_licht/mswitch.cgi | 14 ++ raspberrypi_gpio_relay_licht/rc.local | 71 +++---- raspberrypi_gpio_relay_licht/realraumsimpel.png | Bin 0 -> 10572 bytes raspberrypi_gpio_relay_licht/realraumsimpelz.png | Bin 0 -> 17426 bytes raspberrypi_gpio_relay_licht/style.css | 70 +++++++ raspberrypi_gpio_relay_licht/stylez.css | 70 +++++++ raspberrypi_gpio_relay_licht/switch.cgi | 12 +- raspberrypi_gpio_relay_licht/switch.html | 5 + 10 files changed, 633 insertions(+), 42 deletions(-) create mode 100755 raspberrypi_gpio_relay_licht/indexz.html create mode 100755 raspberrypi_gpio_relay_licht/realraumsimpel.png create mode 100755 raspberrypi_gpio_relay_licht/realraumsimpelz.png create mode 100755 raspberrypi_gpio_relay_licht/style.css create mode 100755 raspberrypi_gpio_relay_licht/stylez.css create mode 100644 raspberrypi_gpio_relay_licht/switch.html diff --git a/raspberrypi_gpio_relay_licht/index.html b/raspberrypi_gpio_relay_licht/index.html index 5bf1fba..e99dc1f 100644 --- a/raspberrypi_gpio_relay_licht/index.html +++ b/raspberrypi_gpio_relay_licht/index.html @@ -1,5 +1,218 @@ - + + + + + + + +
Link to old switches
+
+
+
+
+
+
+ diff --git a/raspberrypi_gpio_relay_licht/indexz.html b/raspberrypi_gpio_relay_licht/indexz.html new file mode 100755 index 0000000..fa03ef3 --- /dev/null +++ b/raspberrypi_gpio_relay_licht/indexz.html @@ -0,0 +1,218 @@ + + + + + + + + + + +
+
+
+
+
+
+ + + diff --git a/raspberrypi_gpio_relay_licht/mswitch.cgi b/raspberrypi_gpio_relay_licht/mswitch.cgi index 08d1bcd..d62bce9 100755 --- a/raspberrypi_gpio_relay_licht/mswitch.cgi +++ b/raspberrypi_gpio_relay_licht/mswitch.cgi @@ -11,6 +11,7 @@ IDGPIOMAP[ceiling4]=17 IDGPIOMAP[ceiling5]=22 IDGPIOMAP[ceiling6]=21 GPIOPATH=/sys/class/gpio/gpio +SAVESTATE=/var/log/licht/mswitch.state for k v in ${(kv)IDGPIOMAP}; do GPIOIDMAP[$v]=$k @@ -44,6 +45,16 @@ print_gpio_state() { fi } +print_gpio_state_10() { + GPIO=${IDGPIOMAP[$1]} + GPIOVALUE=$(cat "${GPIOPATH}${GPIO}/value") + if [[ $GPIOVALUE == "0" ]]; then + echo -n "1" + else + echo -n "0" + fi +} + gpio_is_on() { GPIO=${IDGPIOMAP[$1]} GPIOVALUE=$(cat "${GPIOPATH}${GPIO}/value") @@ -61,9 +72,12 @@ for CHECKID in $VALID_ONOFF_IDS; do echo "$VAL" > "${GPIOPATH}${IDGPIOMAP[$CHECKID]}/value" fi GPIOSTATES+=(\"${CHECKID}\":"$(print_gpio_state $CHECKID)") + URISTATES+=("${CHECKID}=$(print_gpio_state_10 $CHECKID)") done JSON_STATE="{${(j:,:)GPIOSTATES}}" print ${(q)JSON_STATE} if ((#GPIOS > 0)); then print "[$(date +%s),\"$REMOTE_ADDR\",${(q)JSON_STATE}]," >> /var/log/licht/mswitch.log + echo -n "${(j:&:)URISTATES}">$SAVESTATE fi + diff --git a/raspberrypi_gpio_relay_licht/rc.local b/raspberrypi_gpio_relay_licht/rc.local index 254a556..33672c7 100644 --- a/raspberrypi_gpio_relay_licht/rc.local +++ b/raspberrypi_gpio_relay_licht/rc.local @@ -1,40 +1,41 @@ -#!/bin/sh -e -# -# rc.local -# -# This script is executed at the end of each multiuser runlevel. -# Make sure that the script will "exit 0" on success or any other -# value on error. -# -# In order to enable or disable this script just change the execution -# bits. -# -# By default this script does nothing. +#! /bin/sh +### BEGIN INIT INFO +# Provides: rc.local +# Required-Start: $all +# Required-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: +# Short-Description: Run /etc/rc.local if it exist +### END INIT INFO -for gpio in 4 17 18 21 22 23; do - echo $gpio > /sys/class/gpio/export - echo out > /sys/class/gpio/gpio$gpio/direction - chown www-data /sys/class/gpio/gpio$gpio/value -done +PATH=/sbin:/usr/sbin:/bin:/usr/bin -# Print the IP address -_IP=$(hostname -I) || true -if [ "$_IP" ]; then - printf "My IP address is %s\n" "$_IP" -fi +. /lib/init/vars.sh +. /lib/lsb/init-functions -MAX_TRIES=20 -if ! ifconfig eth0 && ifconfig wlan0 ; then - sleep 6 - while ((MAX_TRIES-- > 0)) && ! /sbin/wpa_cli status | grep -q wpa_state=COMPLETED; do - /sbin/wpa_cli status - ifdown wlan0 - ifup wlan0 - done -fi +do_start() { + if [ -x /etc/rc.local ]; then + [ "$VERBOSE" != no ] && log_begin_msg "Running local boot scripts (/etc/rc.local)" + /etc/rc.local + ES=$? + [ "$VERBOSE" != no ] && log_end_msg $ES + return $ES + fi +} -su realraum -s /bin/sh -c "sleep 10 && /home/realraum/play-sound-status.py /home/realraum/play-sound-status.cfg &>/dev/null &" & -su realraum -s /bin/sh -c "sleep 10 && /home/realraum/stuff.py &>/dev/null &" & - -exit 0 +case "$1" in + start) + do_start + ;; + restart|reload|force-reload) + echo "Error: argument '$1' not supported" >&2 + exit 3 + ;; + stop) + ;; + *) + echo "Usage: $0 start|stop" >&2 + exit 3 + ;; +esac diff --git a/raspberrypi_gpio_relay_licht/realraumsimpel.png b/raspberrypi_gpio_relay_licht/realraumsimpel.png new file mode 100755 index 0000000000000000000000000000000000000000..0b9cbb1507d619a1a7806177fb2994ac3bfa5135 GIT binary patch literal 10572 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 V3MXsqK@39_WmRwI{`T;X{{lCj?Z^NC literal 0 HcmV?d00001 diff --git a/raspberrypi_gpio_relay_licht/realraumsimpelz.png b/raspberrypi_gpio_relay_licht/realraumsimpelz.png new file mode 100755 index 0000000000000000000000000000000000000000..38e29040c48ede1d3f3e0f5ce579f332d0d21561 GIT binary patch literal 17426 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" -echo -n " " -echo -n " " -echo -n " " -echo -n " " -echo -n " " -echo -n " " +echo -n " " +echo -n " " +echo -n " " +echo -n " " +echo -n " " +echo -n " " echo "" if [ "$NOFLOAT" = "1" ]; then diff --git a/raspberrypi_gpio_relay_licht/switch.html b/raspberrypi_gpio_relay_licht/switch.html new file mode 100644 index 0000000..5bf1fba --- /dev/null +++ b/raspberrypi_gpio_relay_licht/switch.html @@ -0,0 +1,5 @@ + + + + + -- 1.7.10.4