OrangePi-2G IOTを使ってみる

コマンドラインからのGPIO操作

ようやく、OrangePi-2G IOTのピンアウトがこ ちらで公開されました。
ドイツ語のページですが何となく意味は分かります。
上記のページに、コマンドラインからのGPIO操作手順が公開されています。
以下のスクリプトでPin#7(GPIO56)のON/OFFを行うことができます。
#!/bin/bash
trap ctrl_c INT

function ctrl_c() {
   echo "** Trapped CTRL-C"
   eflag=0
}


sudo sh -c "echo 56 > /sys/class/gpio/export"
sudo sh -c "echo out > /sys/class/gpio/gpio56/direction"

eflag=1
#while true
while [ $eflag -eq 1 ]
do
    sudo sh -c "echo 1 > /sys/class/gpio/gpio56/value"
    sleep 1
    sudo sh -c "echo 0 > /sys/class/gpio/gpio56/value"
    sleep 1
done
sudo sh -c "echo 56 > /sys/class/gpio/unexport"

以下のコマンドでGPIOの状態を確認することができます。
gpio-56の状態がhi/loに切り替わります。
$ sudo cat /sys/kernel/debug/gpio
GPIOs 0-31:
 gpio-17  (vbus-switch         ) out lo

GPIOs 32-63:
 gpio-33  (rda_bt_host_wake    ) in  lo
 gpio-34  (rda_wlan_irq        ) in  hi
 gpio-36  (mmc_detect          ) in  lo
 gpio-37  (plugin_ctrl         ) out hi
 gpio-56  (sysfs               ) out lo

GPIOs 64-95:
 gpio-69  (volume_down         ) in  lo
 gpio-70  (volume_up           ) in  hi
 gpio-71  (otg_detect          ) in  hi

GPIOs 96-127:

GPIOs 128-132:
 gpio-129 (usbid_ctrl          ) out hi

コマンドラインで操作できるのは#56 #101 #121など一部のピンだけです。
Pin#12(GPIO37)は「plugin_ctrl(これ...なに??)」で使われているので操作できません。

以下のスクリプトで好きなピンのON/OFFを行うことができます。
実行時の引数に56や101を指定してください。
#!/bin/bash
#set -x

# trap ctrl-c and call ctrl_c()
trap ctrl_c INT

function ctrl_c() {
   echo "** Trapped CTRL-C"
   eflag=0
}


if [ $# -ne 1 ]; then
    echo "$0 gpio"
    echo "example $0 56"
    exit
fi

gpio=$1
echo "gpio="$gpio

sudo sh -c "echo "${gpio}" > /sys/class/gpio/export"
sudo sh -c "echo out > /sys/class/gpio/gpio"${gpio}"/direction"

eflag=1
#while true
while [ $eflag -eq 1 ]
do
    sudo sh -c "echo 1 > /sys/class/gpio/gpio"${gpio}"/value"
    sleep 1
    sudo sh -c "echo 0 > /sys/class/gpio/gpio"${gpio}"/value"
    sleep 1
#    echo $eflag
done

sudo sh -c "echo "${gpio}" > /sys/class/gpio/unexport"

こ ちらのページではOrangePi-2G IOTのオンボードLEDのON/OFFが紹介されています。
しばらく、この方のブログから目が離せません。