前回までに制御基板がほぼ出来上がったので、これからはラズパイの開発をしていきます。

R2D2にはラズパイを縦向きにつけるためモニターを回転させます。
“/boot/config.txt”を修正することでモニターを回転することができます。
以下の行を追加します。

display_rotate=3

上記の例は右回転、左回転の場合は”display_rotate=1″を設定します。
モニターは回転しますが、タッチパネルの認識位置は回転しないので、以下コマンドで回転設定できます。

xinput --set-prop 'ADS7846 Touchscreen' 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1

左回転の場合は

xinput --set-prop 'ADS7846 Touchscreen' 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1

毎回コマンド叩くのは面倒なので、シェルにします。

pi@raspberrypi:~ $ echo "!/bin/bash" > rotate_touch_screen.sh
pi@raspberrypi:~ $ echo "xinput --set-prop 'ADS7846 Touchscreen' 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1" >> rotate_touch_screen.sh
pi@raspberrypi:~ $ chmod +x ~/rotate_touch_screen.sh

“~/.config/lxsession/LXDE-pi/autostart”に以下を追加

@/home/pi/rotate_touch_screen.sh

タッチパネルをタップするとマウスの位置が合うようになりました。

続いて音声認識を使った制御機能を作りたいので、音声入力できるようにします。
WEBカメラのマイクを利用して音声認識させたかったので、以下のもの使用。

まずはマイクの設定から。
以下のコマンドでWEBカメラが認識されているか確認。

pi@raspberrypi:~ $ lsusb
Bus 001 Device 005: ID 0c40:8000  
Bus 001 Device 004: ID 0411:0260 BUFFALO INC. (formerly MelCo., Inc.) 
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

“Device 004:”で認識されているようです。

続いて以下のコマンドでUSBオーディオの優先順位を確認

pi@raspberrypi:~ $ sudo cat /proc/asound/modules
 0 snd_bcm2835
 1 snd_usb_audio

以下のコマンドでデバイス番号などを確認

pi@raspberrypi:~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Camera [BUFFALO BSWHD06M USB Camera], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

USBオーディオが使用されるように以下のコマンドを発行。
“plughw:1,0″の1は上記コマンドの”card 1″、0は”device 0″のこと。

pi@raspberrypi:~ $ export ALSADEV="plughw:1,0"

次に音量設定をします。

pi@raspberrypi:~ $ alsamixer

上記のコマンドを実行すると以下のようなGUI?が表示されます。

F6でWEBカメラを選択

F4でマイク音量に変更

上下キーで音量を調整します。
今回は最大に設定。
設定が終わったらESCキーでGUIを終了します。

録音テストをしてみます。
以下のコマンドで録音開始、適当にしゃべったらCtrl+Cで終了。

pi@raspberrypi:~ $ arecord -D plughw:1,0 -d 10 -f cd test.wav

以下のコマンドで録音したファイルを再生。

pi@raspberrypi:~ $ aplay -D hw:0,0 test.wav

録音できていればOK。

次回はJuliusの辞書の作成をします。