「PIAST スクリプト」の版間の差分
ナビゲーションに移動
検索に移動
| (同じ利用者による、間の3版が非表示) | |||
| 1行目: | 1行目: | ||
[[カテゴリ:PIAST]] | |||
PIASTの各種周辺機器を使用するためのスクリプト類<br> | PIASTの各種周辺機器を使用するためのスクリプト類<br> | ||
注意:GPIOの番号は"物理"です。wiringpiを使う場合の番号ではありません。<br> | 注意:GPIOの番号は"物理"です。wiringpiを使う場合の番号ではありません。<br> | ||
| 17行目: | 19行目: | ||
echo "out" > $GPIOPATH/$GPORT/direction | echo "out" > $GPIOPATH/$GPORT/direction | ||
fi | fi | ||
done | |||
*pinctrlバージョン | |||
#!/bin/sh | |||
PINNS="4 6 13 19 26" | |||
for i in $PINNS | |||
do | |||
pinctrl set $i op dl | |||
done | done | ||
*GPIO解放(gpiounconfig.sh) | *GPIO解放(gpiounconfig.sh) | ||
| 33行目: | 44行目: | ||
fi | fi | ||
done | done | ||
===リレー制御用=== | ===リレー制御用=== | ||
*リレーオン(relayon.sh) | *リレーオン(relayon.sh) | ||
| 62行目: | 74行目: | ||
echo "0" > $GPIOPATH/$RELAYPORT/valu | echo "0" > $GPIOPATH/$RELAYPORT/valu | ||
*リレーON/OFF pinctrlバージョン | |||
pinctrlを使う場合、リレーON/OFFは簡単です<br> | |||
ONにするなら | |||
pinctrl set 4 dh | |||
OFFにするなら | |||
pinctrl set 4 dl | |||
===LED制御=== | ===LED制御=== | ||
*LED点灯(ledon.sh) | *LED点灯(ledon.sh) | ||
| 109行目: | 128行目: | ||
echo "0" > $GPIOPATH/$LEDPORT/value | echo "0" > $GPIOPATH/$LEDPORT/value | ||
*LEDのON/OFFもpinctrlバージョン | |||
LEDのON/OFFもpinctrlでは簡単です | |||
pinctrl set 6 dh | |||
pinctrl set 6 dl | |||
2024年11月13日 (水) 14:55時点における最新版
PIASTの各種周辺機器を使用するためのスクリプト類
注意:GPIOの番号は"物理"です。wiringpiを使う場合の番号ではありません。
GPIO初期化
- GPIO設定(gpioinit.sh)
#!/bin/sh
PINNS="4 6 13 19 26"
GPIOPATH="/sys/class/gpio"
for i in $PINNS
do
GPORT=gpio$i
if [ ! -d $GPIOPATH/$GPORT ]
then
echo $i > $GPIOPATH/export
echo "out" > $GPIOPATH/$GPORT/direction
fi
done
- pinctrlバージョン
#!/bin/sh
PINNS="4 6 13 19 26"
for i in $PINNS
do
pinctrl set $i op dl
done
- GPIO解放(gpiounconfig.sh)
#!/bin/sh
PINNS="4 6 13 19 26"
GPIOPATH="/sys/class/gpio"
for i in $PINNS
do
GPORT=gpio$i
if [ -d $GPIOPATH/$GPORT ]
then
echo $i > $GPIOPATH/unexport
fi
done
リレー制御用
- リレーオン(relayon.sh)
#!/bin/sh
PINNO=4
RELAYPORT=gpio$PINNO
GPIOPATH="/sys/class/gpio"
if [ ! -d $GPIOPATH/$RELAYPORT ]
then
echo $PINNO > $GPIOPATH/export
echo "out" > $GPIOPATH/$RELAYPORT/direction
fi
echo "1" > $GPIOPATH/$RELAYPORT/value
- リレーオフ(relayoff.sh)
#!/bin/sh
PINNO=4
RELAYPORT=gpio$PINNO
GPIOPATH="/sys/class/gpio"
if [ ! -d $GPIOPATH/$RELAYPORT ]
then
echo $PINNO > $GPIOPATH/export
echo "out" > $GPIOPATH/$RELAYPORT/direction
fi
echo "0" > $GPIOPATH/$RELAYPORT/valu
- リレーON/OFF pinctrlバージョン
pinctrlを使う場合、リレーON/OFFは簡単です
ONにするなら
pinctrl set 4 dh
OFFにするなら
pinctrl set 4 dl
LED制御
- LED点灯(ledon.sh)
#!/bin/sh
PINNOS="6 13 19 26"
GPIOPATH="/sys/class/gpio"
PINNO=`echo $PINNOS | cut -f$1 -d' '`
if [ "$PINNO" = "" ]
then
echo "Usage: ledon.sh [LED](1-4)"
exit
fi
LEDPORT=gpio$PINNO
if [ ! -d $GPIOPATH/$LEDPORT ]
then
echo $PINNO > $GPIOPATH/export
echo "out" > $GPIOPATH/$LEDPORT/direction
fi
echo "1" > $GPIOPATH/$LEDPORT/value
- LED消灯(ledoff.sh)
#!/bin/sh
PINNOS="6 13 19 26"
GPIOPATH="/sys/class/gpio"
PINNO=`echo $PINNOS | cut -f$1 -d' '`
if [ "$PINNO" = "" ]
then
echo "Usage: ledoff.sh [LED](1-4)"
exit
fi
LEDPORT=gpio$PINNO
if [ ! -d $GPIOPATH/$LEDPORT ]
then
echo $PINNO > $GPIOPATH/export
echo "out" > $GPIOPATH/$LEDPORT/direction
fi
echo "0" > $GPIOPATH/$LEDPORT/value
- LEDのON/OFFもpinctrlバージョン
LEDのON/OFFもpinctrlでは簡単です
pinctrl set 6 dh pinctrl set 6 dl