PQI Air PenのGPIOを触ってみる

ID/PASSWORDがわかってtelnetで中に入れるようになったので中を覗いているとgpioが見えてました．

パケットキャプチャしてPQI Air PenのID/PASSを調べる | matoken’s meme

# ls -lA /proc/gpio/
ls -lA /proc/gpio/
-r--r--r-- 1 root root 0 Jan 1 07:22 gpio12_in
-r--r--r-- 1 root root 0 Jan 1 07:22 gpio22_in
-rw-r--r-- 1 root root 0 Jan 1 07:22 gpio23_out
-rw-r--r-- 1 root root 0 Jan 1 07:22 gpio27_out
-r--r--r-- 1 root root 0 Jan 1 07:22 gpio6_in
-rw-r--r-- 1 root root 0 Jan 1 07:22 gpio7_out
-r--r--r-- 1 root root 0 Jan 1 07:22 gpio8_in

てことでちょっと叩いてみました．

赤LED : /proc/gpio/gpio7_out

0 : On

1 : Off

/proc/gpio # echo 1 > gpio7_out
echo 1 > gpio7_out
/proc/gpio # echo 0 > gpio7_out
echo 0 > gpio7_out

黄緑LED : /proc/gpio/gpio23_out

0 : Off

1 : On

/proc/gpio # echo 0 > gpio23_out
echo 0 > gpio23_out
/proc/gpio # echo 1 > gpio23_out
echo 1 > gpio23_out

横面同期ボタン : /proc/gpio/gpio22_in

0 : On

1 : Off

/proc/gpio # cat gpio22_in
cat gpio22_in
0
/proc/gpio # cat gpio22_in
cat gpio22_in
1

という感じで2つのLEDと1つのボタンは簡単に利用できました．他はちょっと叩いただけでは解らなかったです．
とりあえずこんな感じで横の同期ボタンを押すとLEDx2を光らせるということが出来ます．

~ # while :
> do
> if [ `cat /proc/gpio/gpio22_in` = '0' ]; then
> echo on
> echo 0 > /proc/gpio/gpio7_out
> echo 1 > /proc/gpio/gpio23_out
> break
> fi
> sleep 1
> done