Installation-gpio
This revision is from 2014/09/01 12:16. You can Restore it.
open
vim /etc/init.d/gpio
and paste
#!/bin/sh
### BEGIN INIT INFO
# Provides: gpio
# Required-Start: $local_fs $syslog
# Required-Stop: $local_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Start gpio
### END INIT INFO
# RPI board revision
REV=$(cat /sys/module/bcm2708/parameters/boardrev)
echo "4" > /sys/class/gpio/export
echo "7" > /sys/class/gpio/export
echo "8" > /sys/class/gpio/export
echo "9" > /sys/class/gpio/export
echo "10" > /sys/class/gpio/export
echo "11" > /sys/class/gpio/export
echo "14" > /sys/class/gpio/export
echo "15" > /sys/class/gpio/export
echo "17" > /sys/class/gpio/export
echo "18" > /sys/class/gpio/export
echo "22" > /sys/class/gpio/export
echo "23" > /sys/class/gpio/export
echo "24" > /sys/class/gpio/export
echo "25" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio4/direction
echo "out" > /sys/class/gpio/gpio7/direction
echo "out" > /sys/class/gpio/gpio8/direction
echo "out" > /sys/class/gpio/gpio9/direction
echo "out" > /sys/class/gpio/gpio10/direction
echo "out" > /sys/class/gpio/gpio11/direction
echo "out" > /sys/class/gpio/gpio14/direction
echo "out" > /sys/class/gpio/gpio15/direction
echo "out" > /sys/class/gpio/gpio17/direction
echo "out" > /sys/class/gpio/gpio18/direction
echo "out" > /sys/class/gpio/gpio22/direction
echo "out" > /sys/class/gpio/gpio23/direction
echo "out" > /sys/class/gpio/gpio24/direction
echo "out" > /sys/class/gpio/gpio25/direction
chmod 666 /sys/class/gpio/gpio4/value
chmod 666 /sys/class/gpio/gpio7/value
chmod 666 /sys/class/gpio/gpio8/value
chmod 666 /sys/class/gpio/gpio9/value
chmod 666 /sys/class/gpio/gpio10/value
chmod 666 /sys/class/gpio/gpio11/value
chmod 666 /sys/class/gpio/gpio14/value
chmod 666 /sys/class/gpio/gpio15/value
chmod 666 /sys/class/gpio/gpio17/value
chmod 666 /sys/class/gpio/gpio18/value
chmod 666 /sys/class/gpio/gpio22/value
chmod 666 /sys/class/gpio/gpio23/value
chmod 666 /sys/class/gpio/gpio24/value
chmod 666 /sys/class/gpio/gpio25/value
chmod 666 /sys/class/gpio/gpio4/direction
chmod 666 /sys/class/gpio/gpio7/direction
chmod 666 /sys/class/gpio/gpio8/direction
chmod 666 /sys/class/gpio/gpio9/direction
chmod 666 /sys/class/gpio/gpio10/direction
chmod 666 /sys/class/gpio/gpio11/direction
chmod 666 /sys/class/gpio/gpio14/direction
chmod 666 /sys/class/gpio/gpio15/direction
chmod 666 /sys/class/gpio/gpio17/direction
chmod 666 /sys/class/gpio/gpio18/direction
chmod 666 /sys/class/gpio/gpio22/direction
chmod 666 /sys/class/gpio/gpio23/direction
chmod 666 /sys/class/gpio/gpio24/direction
chmod 666 /sys/class/gpio/gpio25/direction
if [ $REV -lt 4 ]; then #rev 1-3 GPIO 21
echo "21" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio21/direction
chmod 666 /sys/class/gpio/gpio21/value
chmod 666 /sys/class/gpio/gpio21/direction
else #rev 4- GPIO 27
echo "27" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio27/direction
chmod 666 /sys/class/gpio/gpio27/value
chmod 666 /sys/class/gpio/gpio27/direction
fi
if [ $REV -gt 15 ]; then #rev 16- (model B+)
echo "5" > /sys/class/gpio/export
echo "6" > /sys/class/gpio/export
echo "12" > /sys/class/gpio/export
echo "13" > /sys/class/gpio/export
echo "16" > /sys/class/gpio/export
echo "19" > /sys/class/gpio/export
echo "20" > /sys/class/gpio/export
echo "21" > /sys/class/gpio/export
echo "26" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio5/direction
echo "out" > /sys/class/gpio/gpio6/direction
echo "out" > /sys/class/gpio/gpio12/direction
echo "out" > /sys/class/gpio/gpio13/direction
echo "out" > /sys/class/gpio/gpio16/direction
echo "out" > /sys/class/gpio/gpio19/direction
echo "out" > /sys/class/gpio/gpio20/direction
echo "out" > /sys/class/gpio/gpio21/direction
echo "out" > /sys/class/gpio/gpio26/direction
chmod 666 /sys/class/gpio/gpio5/value
chmod 666 /sys/class/gpio/gpio6/value
chmod 666 /sys/class/gpio/gpio12/value
chmod 666 /sys/class/gpio/gpio13/value
chmod 666 /sys/class/gpio/gpio16/value
chmod 666 /sys/class/gpio/gpio19/value
chmod 666 /sys/class/gpio/gpio20/value
chmod 666 /sys/class/gpio/gpio21/value
chmod 666 /sys/class/gpio/gpio26/value
chmod 666 /sys/class/gpio/gpio5/direction
chmod 666 /sys/class/gpio/gpio6/direction
chmod 666 /sys/class/gpio/gpio12/direction
chmod 666 /sys/class/gpio/gpio13/direction
chmod 666 /sys/class/gpio/gpio16/direction
chmod 666 /sys/class/gpio/gpio19/direction
chmod 666 /sys/class/gpio/gpio20/direction
chmod 666 /sys/class/gpio/gpio21/direction
chmod 666 /sys/class/gpio/gpio26/direction
fi
DIR=$(cat /etc/remoteqth-path)
# Restore the current gpio settings
SAVE=$(cat $DIR/cfg/s-relay-save)
if [ $SAVE -eq 1 ]; then
# echo SAVE
if [ $REV -lt 16 ]; then
NRGPIO='15'
else # model B+
NRGPIO='24'
fi
for NR in `seq 1 $NRGPIO`; do
if [ -r $DIR/cfg/s-relay-$NR-save ]; then
SET=$(cat $DIR/cfg/s-relay-$NR-save)
if [ -w $DIR/cfg/gpio$NR ]; then
echo $SET > $DIR/cfg/gpio$NR
fi
fi
done
fi
exit 0
enabled with
chmod 774 /etc/init.d/gpio update-rc.d gpio defaults