#! /bin/bash echo '{"message": "test message"}' exit # Initialize PASSWD_FILE="/usr/local/www/cgi-bin/doorcontrol-cgi/passwd" QUERY_STRING=$1 LOCKFILE="./doorcontrol-main.lock" . parse_query_string.sh # # Exit if instance already running if [ -e "$LOCKFILE" ]; then exit 1 else touch "$LOCKFILE" fi # Check password read apiKey <"${PASSWD_FILE}" if [ "${param[apiKey]}" != "${apiKey}" ]; then echo '{"message": "Invalidcredentials"}' rm "$LOCKFILE" exit 1 fi LABEL_FILE=$(grep -l pcf8574a /sys/class/gpio/*/*label) BASE_FILE="$(dirname $LABEL_FILE)/base" BASE=$(cat $BASE_FILE) for (( i=0; i<=7; i=i+1 )); do PIN[$i]=$(($BASE+$i)) done if [ ! -e "/sys/class/gpio/gpio${PIN[7]}/value" ]; then echo "${PIN[7]}" > /sys/class/gpio/export fi #echo "Waiting ..." sleep ${param[delay]} echo '{"message": "Unlocked"}' #echo "out" > /sys/class/gpio/gpio${PIN[7]}/direction #echo "0" > /sys/class/gpio/gpio${PIN[7]}/value #echo "UNLOCKED" #sleep 2 #echo "1" > /sys/class/gpio/gpio${PIN[7]}/value #echo "
Unlocked
" rm "$LOCKFILE"