・IBM Watson が提供するプログラム可能なボール紙ロボット TJBot を作ってみました。
■完成後の写真(左右逆となっている)
・下記URLに作り方が、出ています。
1.まず、厚紙の型を作る必要があったので、型のPDFデータをダウンロードします。
①原紙がB4の為、私の持っているA4プリンタで印刷できない事から、A4二枚に半分に
分け、PDF出力後、A4の紙に印刷しました。
分け、PDF出力後、A4の紙に印刷しました。
②それを写真の工作用紙に貼り付け、カッターでカットしていきました。
③カラー用紙の裏面に張り付けたため、完成時、逆の物となりました。
■100均Candoで購入
2.インストールガイドを参照しながらインストールしていきましたが、二年前のガイドだったので所々うまくインストール出来無かったので、ここに現時点でのやり方を書いておきます。
①まず、最新版のイメージをダウンロードし、SDカードに書き込みます。
②環境を日本語にし、WiFiに接続します。
③ガイド「3.4.4 OS と Node-RED の更新」 の手順通りOSをアップデートします。
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade
$ update-nodejs-and-nodered <---が、うまくいかない。
④node-red関係のアップデートが、ガイドのやり方でうまくいかず、
下記URLを参考に次のコマンドでアップデートしました。
下記URLを参考に次のコマンドでアップデートしました。
$ bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-
package/master/resources/update-nodejs-and-nodered)
■参考URL:Raspberry Pi のNode-REDをアップデートorインストールする方法
⑤ガイド「3.5 Node-RED に必要なモジュールを追加する」
をガイドにそって実行します。
*コピペ用に記載します。
$sudo npm --unsafe-perm -g install node-red-node-watson node-red-contrib-camerapi
$sudo reboot
⑥ガイド 「3.6 オーディオとカメラの設定」
をガイドにそって実行します。
*コピペ用に記載します。
$sudo nano /boot/config.txt
dtoverlay=pwm-2chan,pin=18,func=2,pin2=13,func2=4
$amixer -D hw:1 sset Mic 100%
$amixer -c0 sset PCM 100% unmute
*オーディオの再生確認用
$speaker-test -t sine -f 600
⑦ガイド「5. Watson とつないだフローを動かす」
ここから、ガイドには、「ユーザー名」と「パスワード」を入力するように
有りますが、IBM Cloud のダッシュボードの中に見つかりませんでした。
有りますが、IBM Cloud のダッシュボードの中に見つかりませんでした。
色々試したところ、この二つは、ブランクで、APIKeyの入力が必要でした。
これで、動くことが分かりました。
注)サンプルの中のvisual.json(画像認識)の顔認識でエラーが出て実行できません。
原因は、 昨年途中からWatson VRの顔認証機能が廃止されたようです。
3.TJBotを電源ON(起動)した時や、リブートした時、node-redに接続するタイミング
を把握するために、緑のLEDを点灯させ、IPアドレスをスピーカーから発生してくれ
るようにしてみました。
①まず下記URLを参照して日本語音声合成をインストールする。
②次に下記シェルスクリプトを作成する。(コピペする)
pi@raspberrypi:~ $ sudo nano jtalk.sh
#!/bin/sh
TMP=/tmp/jsay.wav
echo "$1" | open_jtalk \
-m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice \
-x /var/lib/mecab/dic/open-jtalk/naist-jdic \
-ow $TMP && \
aplay --quiet $TMP
rm -f $TMP
③実行権を設定する。
pi@raspberrypi:~ $ sudo chmod +x jtalk.sh
④次にIPアドレスを取得し、音声案内と緑のLEDを点灯させる下記、
自動実行シェルスクリプトを作成する。
自動実行シェルスクリプトを作成する。
pi@raspberrypi:~ $ sudo nano autorun.sh
#!/bin/sh
ipadd=""
while [ "$ipadd" = "" ]
do
ipadd=`ip a show wlan0 | grep "inet " | cut -f6 -d ' ' | cut -d '/' -f1`
wait 1
done
gpio -g mode 23 out
gpio -g write 23 1
rtn=`/home/pi/jtalk.sh IPアドレスは${ipadd}です`
⑤実行権を設定する。
pi@raspberrypi:~ $ sudo chmod +x autorun.sh
参考URL:ラズパイ起動時にIPアドレスを取得する
⑥最後に、起動時に自動実行するように「/etc/rc.local」の「exit 0」の前に追記する。
pi@raspberrypi:~ $ sudo nano /etc/rc.local
#!/bin/sh -e
.
.
sh /home/pi/autorun.sh & <---この行を追記する。
exit 0
以上で起動時にIPアドレスを教えてくれる。
4.これから、色々プログラムして行きたいと思います。
以上
コメント