著者:麻生 二郎
パソコン、IoT(モノのインターネット)など、さまざまな用途に活用できるシングルボートのコンピュータが「Raspberry Pi」(ラズベリーパイ)です。このRaspberry Piは、Linuxコマンドを組み合わせた「シェルスクリプト」を知っていればいろいろと楽しめます。発光ダイオード(LED)、押しボタンスイッチ、型液晶パネル(LCD)の電子パーツと、簡単なシェルスクリプトを利用してRaspberry Piの電子工作を始めましょう。
記事本文掲載のシェルスクリプトマガジンvol.51は以下リンク先でご購入できます。
1 2 3 4 5 6 7 8 9 10 11 12 |
#!/bin/bash #GPIO6を出力に設定 if [ ! -e /sys/class/gpio/gpio6 ]; then echo 6 > /sys/class/gpio/export echo out > /sys/class/gpio/gpio6/direction fi #10秒間点灯 echo 0 > /sys/class/gpio/gpio6/value sleep 10 echo 1 > /sys/class/gpio/gpio6/value |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#!/bin/bash ##GPIO23を入力に設定 if [ ! -e /sys/class/gpio/gpio23 ]; then echo 23 > /sys/class/gpio/export echo in > /sys/class/gpio/gpio23/direction fi SWICTH=1 ##ボタンが押されたらWebブラウザーを起動 while [ $SWICTH = "1" ] do SWICTH=$(cat /sys/class/gpio/gpio23/value) done chromium-browser -no-sandbox > /dev/null & |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
#!/bin/bash ##初期設定 ADDRESS=(0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47) COUNT=0 ##LCDの初期化 i2cset -y 1 0x3e 0x00 0x38 0x39 0x14 0x70 0x56 0x6c i i2cset -y 1 0x3e 0x00 0x38 0x0c 0x01 i ##キーワード入力 echo "1行目に表示したい文字を8字以内で入力してください" echo "(アルファベットと記号のみ)" read KEYWORD1 echo "2行目に表示したい文字を8字以内で入力してください" echo "(アルファベットと記号のみ)" read KEYWORD2 ##1行目にテキストを表示する処理 TEXT1=$(echo ${KEYWORD1} | fold -s1) for i in ${TEXT1} do WORD=$(printf "0x%x" \"${i}) i2cset -y 1 0x3e ${ADDRESS[${COUNT}]} ${WORD} COUNT=$((COUNT+1)) done ##2行目にテキストを表示する処理 COUNT=0 i2cset -y 1 0x3e 0x00 0xC0 TEXT2=$(echo ${KEYWORD2} | fold -s1) for i in ${TEXT2} do WORD=$(printf "0x%x" \"${i}) i2cset -y 1 0x3e ${ADDRESS[${COUNT}]} ${WORD} COUNT=$((COUNT+1)) done |