「PIAST スクリプト」の版間の差分
提供: VoIP-Info.jp
(→リレー制御用) |
(→LED制御) |
||
128行目: | 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