#!/bin/sh VALID_ONOFF_IDS="7 18 20" GPIOPATH=/sys/class/gpio/gpio for QUERY in `echo $QUERY_STRING | tr '&' ' '`; do for VALIDID in $VALID_ONOFF_IDS; do if [ "$QUERY" == "$VALIDID=1" ]; then eval "GPIO_$VALIDID"=1 elif [ "$QUERY" == "$VALIDID=0" ]; then eval "GPIO_$VALIDID=0" elif [ "$QUERY" == "$VALIDID=q" ]; then eval "GPIO_$VALIDID=q" fi done if [ "$QUERY" == "mobile=1" ]; then MOBILE='1' NOFLOAT='1' elif [ "$QUERY" == "nofloat=1" ]; then NOFLOAT='1' fi done print_gpio_state() { GPIOVALUE=$(cat "${GPIOPATH}${1}/value") if [ "$GPIOVALUE" = "1" ]; then echo -n "true" else echo -n "false" fi } gpio_is_on() { GPIOVALUE=$(cat "${GPIOPATH}${1}/value") [ "$GPIOVALUE" = "1" ] } echo "Content-type: text/html" echo "" echo "{" for CHECKID in $VALID_ONOFF_IDS; do VAL="" VAL="$(eval echo \$GPIO_$CHECKID)" if [ $VAL == 1 -o $VAL == 0 ]; then echo "$VAL" > "${GPIOPATH}${CHECKID}/value" fi echo -n "\"$CHECKID\":" print_gpio_state $CHECKID echo "," done echo "\"-1\":false}" # echo "" # echo "
" # echo "