Tiny Core Linux
Tiny Core Base => Raspberry Pi => Topic started by: linvincible on September 03, 2014, 05:57:38 PM
-
Hello,
am new here and DID search before posting ;o)
but answers were above my level of understanding...
I use tinycore on a Raspberry Pi and added an IR card capable of starting and cutting the power to the pi.
it's from http://www.msldigital.com/ and they provide sh scripts for other releases here http://www.msldigital.com/pages/more-information/ (http://www.msldigital.com/pages/more-information/), that I tried
I get the error: "can't open '/sys/class/gpio/gpio22/value"
I guess the GPIO query doesn't work the same way than on the proposals...
How can I make it work?
Thanks in advance!
Cheers,
Charles
-
I think my issue was with accessing the folders/files
new scripts sets ownership to all touched files to tc before each access and it works now
I'll post it after it's validated by the guys at msldigital.com
-
script looks ok to the msldigital.com guys and I received a tip to use a graceful shutdown script included in the picoreplayer release
If it's not in the default tinycore just use your shutdown script
I tried with less sudo and chown commands but I really had to do them all for all the commands to be accepted!
script can be placed in tc''s home directory and called from .profile
#! /bin/sh
# 22 is the GPIO pin receiving the shutdown signal
sudo chown tc /sys/class/gpio/export
echo "22" > /sys/class/gpio/export
sudo chown tc /sys/class/gpio/gpio22/direction
sudo chown tc /sys/class/gpio/gpio22/value
echo "in" > /sys/class/gpio/gpio22/direction
while true; do
sleep 1
power=$(cat /sys/class/gpio/gpio22/value)
if [ $power != 0 ]; then
echo "out" > /sys/class/gpio/gpio22/direction
echo "1" > /sys/class/gpio/gpio22/value
sleep 5
exitcheck.sh
fi
done
-
1. THX
2. further example (mainly 4 me to record)
(don't forget to make executable by
$ chmod +x led.sh )
#! /bin/sh
# The script sets an GPIO pin pnNr from cli to state for some secs (<10000) or unlimited
#
# Usage: $ ./led.sh pinNr [state [sec]]
# # Example: turn pin 24 ON
# $ ./led.sh 24 1
# or (STATE defaults to 1)
# $ ./led.sh 24
# Example2: turn pin 24 OFF 10sec
# $ ./led.sh 24 0 10
STATE="1" # default 1 vs 0
UNSTATE="0"
if [ "$2" != "" ] && [ $2 -eq 0 ]
then
STATE="0"
UNSTATE="1"
fi
if [ "$1" != "" ]
then
if [ ! -d /sys/class/gpio/gpio$1 ]
then
sudo chown tc /sys/class/gpio/export
echo "$1" > /sys/class/gpio/export
fi
if [ -d /sys/class/gpio/gpio$1 ]
then
sudo chown tc /sys/class/gpio/gpio$1/direction
sudo chown tc /sys/class/gpio/gpio$1/value
echo "out" > /sys/class/gpio/gpio$1/direction
echo "$STATE" > /sys/class/gpio/gpio$1/value
if [ "$3" != "" ] && [ $3 -gt 0 ] && [ $3 -lt 10000 ]
then
sleep $3
echo "$UNSTATE" > /sys/class/gpio/gpio$1/value
if [ -d /sys/class/gpio/gpio$1 ]
then
sudo chown tc /sys/class/gpio/unexport
echo "$1" > /sys/class/gpio/unexport
fi
fi
fi
else
echo $'Usage: \n$ ./led.sh pinNr [state [sec]]\nExample: turn pin 24 ON 10sec \n$ ./led.sh 24 1 10'
fi
((uups))