initial commit
commit
3e98e31466
|
|
@ -0,0 +1,55 @@
|
|||
#!/bin/bash
|
||||
|
||||
|
||||
# Initialize
|
||||
PASSWD_FILE="/usr/local/www/cgi-bin/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
|
||||
|
||||
#echo "Content-type: text/html"
|
||||
#echo
|
||||
|
||||
# Check password
|
||||
read passwd <"${PASSWD_FILE}"
|
||||
if [ "${param[passwd]}" != "${passwd}" ]; then
|
||||
echo "Password Incorrect: ${param[passwd]}"
|
||||
echo "$QUERY_STRING"
|
||||
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 "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 "<p>Unlocked</p>"
|
||||
|
||||
rm "$LOCKFILE"
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
#!/bin/bash
|
||||
|
||||
|
||||
# Initialize
|
||||
PASSWD_FILE="/usr/local/www/cgi-bin/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
|
||||
|
||||
#echo "Content-type: text/html"
|
||||
#echo
|
||||
#echo "<html>"
|
||||
|
||||
# Check password
|
||||
read passwd <"${PASSWD_FILE}"
|
||||
if [ "${param[passwd]}" != "${passwd}" ]; then
|
||||
echo "Password Incorrect: ${param[passwd]}"
|
||||
echo "$QUERY_STRING"
|
||||
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 "<p>Waiting ...</p>"
|
||||
#sleep ${param[delay]}
|
||||
|
||||
|
||||
#echo "out" > /sys/class/gpio/gpio${PIN[7]}/direction
|
||||
|
||||
#echo "0" > /sys/class/gpio/gpio${PIN[7]}/value
|
||||
|
||||
sleep 2
|
||||
#echo "1" > /sys/class/gpio/gpio${PIN[7]}/value
|
||||
|
||||
#echo "<p>Unlocked</p>"
|
||||
|
||||
#echo "</html>"
|
||||
rm "$LOCKFILE"
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
#! /bin/bash
|
||||
|
||||
echo "Content-type: text/html"
|
||||
echo
|
||||
|
||||
echo "LOCKED"
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
#! /bin/bash
|
||||
|
||||
echo "Content-type: html"
|
||||
echo
|
||||
|
||||
echo "<html>"
|
||||
echo "<pre>"
|
||||
echo "$(env)"
|
||||
echo "</pre>"
|
||||
echo "</html>"
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
#! /bin/bash
|
||||
|
||||
# This will parse the variable $QUERY_STRING.
|
||||
# The values will be stored in an associative array.
|
||||
# The value for a key will be stored in the array element `${param[<KEY>]}`
|
||||
|
||||
saveIFS=$IFS
|
||||
IFS='=&'
|
||||
XXQuery_string=($QUERY_STRING)
|
||||
IFS=$saveIFS
|
||||
|
||||
declare -A param
|
||||
for ((i=0; i<${#XXQuery_string[@]}; i+=2))
|
||||
do
|
||||
param[${XXQuery_string[i]}]=${XXQuery_string[i+1]}
|
||||
done
|
||||
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
#!/bin/bash
|
||||
|
||||
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))
|
||||
echo "${PIN[$i]}"
|
||||
echo "${PIN[$i]}" > /sys/class/gpio/export
|
||||
echo "out" > /sys/class/gpio/gpio${PIN[$i]}/direction
|
||||
echo "1" > /sys/class/gpio/gpio${PIN[$i]}/value
|
||||
|
||||
done
|
||||
|
||||
#if [ ! -e "/sys/class/gpio/gpio${PIN[7]}/value" ]; then
|
||||
# echo "${PIN[7]}" > /sys/class/gpio/unexport
|
||||
#fi
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
#! /bin/bash
|
||||
saveIFS=$IFS
|
||||
IFS='=&'
|
||||
XXQuery_string=($QUERY_STRING)
|
||||
IFS=$saveIFS
|
||||
|
||||
declare -A param
|
||||
for ((i=0; i<${#XXQuery_string[@]}; i+=2))
|
||||
do
|
||||
param[${XXQuery_string[i]}]=${XXQuery_string[i+1]}
|
||||
done
|
||||
|
||||
|
||||
|
||||
echo "Content-type: text/html"
|
||||
echo
|
||||
echo "<html>"
|
||||
#echo "$REQUEST_METHOD"
|
||||
#echo "$QUERY_STRING"
|
||||
echo "<body>"
|
||||
echo "<pre>"
|
||||
env
|
||||
echo "</pre>"
|
||||
echo "<pre>"
|
||||
echo "delay: ${param[delay]}"
|
||||
echo "password: ${param[passwd]}"
|
||||
echo "</pre>"
|
||||
echo "</body>"
|
||||
echo "</html>"
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
#! /bin/bash
|
||||
|
||||
echo "Content-type: text/html"
|
||||
echo
|
||||
|
||||
#echo "<title>Unlock</title>"
|
||||
|
||||
sudo /usr/local/www/cgi-bin/doorcontrol-main.cgi "$QUERY_STRING"
|
||||
Loading…
Reference in New Issue