AIY:Google Cloud Platform APIにアクセス(2)

どうやら認証が旨く行っていないので調べてみたところ、ラズパイで設定しているIDと認証ファイルを落としたIDとが違っていました。AIY用にIDを取得したのでそちらで取るべきだったのですがどこかで間違ったようでく行っていないので調べてみたところ、ラズパイで設定しているIDと認証ファイルを落としたIDとが違っていました。AIY用にIDを取得したのでそちらで取るべきだったのですがどこかで間違ったようで。
またブログに書かれていたのは、鍵のファイルをassistant.jsonに名前変更するとありましたが、本家本元のマニュアルを読むと、それはしてはならないと書いてあります。

原因がわかったところで再度挑戦。

OK Googleと呼びかけると、今度はエラーメッセージが帰ってきません。

What time is it?
と問いかけたら、
It's 7:05.
と正しい答えを返してきます。
その他に色々と質問してみました。
Where do you live?
How old are you?
Do you know my name?
How did you know my name?
いずれもきちんと回答を返してきます。
ただし、
What is the biggest news today?
に対しては、ニュースには対応していませんという答えが返ってきました。おそらく配信契約ができていないのでしょう。

さて気になるのは課金の方法です。
クレジットカード番号を登録させられたのですが、他のサイトでは登録しなくても出来るという案内もあり、当面は無料枠を使うので削除したほうがよいでしょうね。

参考サイト
Google Assistant
Voice
暮植譚


AIY:Google Cloud Platform APIにアクセス

先週、無残にもSDカードを壊して終わってしまったAIYプロジェクトですが、新しくカードを買ってインストールまでを一気に進めました。一度やっているので、復旧は簡単です。さらに、バックアップも取ってあります。ラズパイはLinux/Debianベースなのでしばしば更新されるたびにバックアップを取らねばならず、これが割と面倒ですが・・・。

今日は、音声認識をさせるまでをやります。
端末側の設定は既にできたので、Googleのアカウントを設定します。
すでにメールアドレスはあるのですが、このプロジェクト用にもう一つアドレスを取得しました。

ラズパイマガジンの記事を参考に進めたのですが、変化の激しい世界ですから、Google側の画面や設定の進め方が、書いてあるとおりではありません。いまひとつ大事なところがよくわからず、コチラのサイトを参考にして進めました。ありがとうございます。

Google AIY Voice KitのOS・ソフトウェアインストールと設定方法

AIYキットの操作は、PCからVNCアクセスで行います。設定はVNC経由のラズパイのデスクトップで、参照はPCのデスクトップで、切り替えながら進めていくのですが、自分が今どこにいるのかわからなくなる変な気分を味わいます。

一通り設定を終えて、ラズパイデスクトップの、StartDevTerminalをダブルクリックすれば晴れてOK Googleということだったのですが、なぜか起動しません。中身を開いて一つ一つコマンドを叩いて進めたら、AIYキットのボタンが「ぼわ〜ん」と点滅を始めます\(-o-)/

OK Google

と話しかけると反応して、ボタンの点滅が点灯状態に変化します。(^o^)

wake voiceというそうです。その他の音「あのぅ」とか「やぁ」では反応しません。流石によくできています。

しかし、OK Googleの後に、What is the weather?と聞いてみると、AIYキットから聞こえた最初の声は、Something went wrong.とか、There is a glitch.という些か気の強そうな女性のお返事です。

しばらく英語使っていないし、発音悪くなったかな (´・ω・`)

エラーメッセージを見ると、まだAPI側に繋がっていないようです。PC側のメールを見ると、Googleからメールが来ていて、アンケートに回答してからようやく使えるようです。


AIY: 初期設定やり直し

昨日は、SDカードが壊れてしまい認識すらしてくれなくなったので、今日はお店からカードを2枚購入してきました。
ついでに、HDMIケーブルの長いやつも。

早速、「復習」をカネて作業を開始。

1. SDカードの焼付(すでにダウロードしてあるので焼くだけ)
2. sshとWiFI設定の書き込み
3. ラズパイに入れてブート
4. sshでログインする(IPアドレスも昨日と同じものを指定したら一発命中)
5. 初期パスワードの変更
6. /etc/hostsと/etc/hostnameの書き換え(デフォルトのraspberrypiでは2台のラズパイの区別ができないので)
7. /etc/apt/sources.listの設定をデフォルトのラズパイ財団から日本のJAISTサーバへ
8. ラズパイのアップデート
(おっと、ここでエラーメッセージ。localeなどの初期設定をしていないことがわかる。アップデート前にすべきだったかも。)
9. raspi-configで設定(地域設定がメイン。VNCは使うけど、あとで変えるのでNo)後、保存しするとリブートが求められる
(再起動が順調に行われたことを確かめる)
10. tightvcnserverのインストール(初期導入のRealVNCは自動削除される)
11. VNCアクセスを試すためラズパイ側で
vncserverと入力するとパスワードの設定が求められる。view-only passwordにはNoとしておく
12. PC側からRemminaを起動してアクセスしてみる
12. SDカードのバックアップ(デスクトップメニュにあるSD Card Copierを使うと簡単)
(ここまでは順調)


AIY: SDカードにディスクイメージを焼く

昨日、EtcherのBugで中断しているSDカードの焼付ですが、「焼く」という表現はどこから来ているのでしょうか。

なんとなくNautilusを開いてイメージファイルを右クリックすると「ディスクイメージライターで開く」というコンテキストメニュが目に入りました。これは使えるかもしれないということで、開いて焼付してみると、できました。Etcherいらんかった。

次は、ヘッドレスアクセスするための準備です。
初代ラズパイでさんざん研究したのですが、なにせ一度しかやっていないので完全に覚えていません。記憶を頼りに・・・。

  1. 初回ブート時にsshアクセスできるように設定する
  2. WiFiアクセスのパラメータファイルの設定
  3. ラズパイに差し込んで電源を入れて無事を祈る
  4. 起動した(雰囲気を感じた)ら別のPCでIPアドレスを見つける
  5. そのIPアドレスを相手にPCからsshで入る
  6. VNC Serverを起動させる
  7. PCからVNCでアクセスする

という流れです。当時はJessieをDLしてSDを用意し、WindowsPCからアクセスしていましたが、OSもStretchになり、PC側もUbuntuになっているので、やややり方が替わるはず。初心に帰ってコチラを参照。

Raspberry Pi 3 コンソールのみ(ヘッドレス)でRaspbianセットアップからLチカまで

RaspberryPi Raspbian ヘッドレスインストール

最初のブートで随分と手こずってしまいました。
まず、sshというファイルを/bootに書き込むにあたってはファイル生成するだけなので簡単ですが、一度失敗するとSDカード自体を最初から焼き直さなければならないようです。これを知らずに、ネットワークの設定ばかりをいじっていました。

要は、SDカードを焼いたら、直ぐに(冷めないうちに?)
* ssh
* wpa_supplicant.conf
/bootにコピーすればいいので、最初にまずこの2つを用意しておきます。

今回はTVに繋いでいたので、ブートするかしないかを画面で確認できたので助かりました。前回は本当に手探り状態でした。

無事に起動ができたので、あとはいつものように、
* sudo apt update
* sudo apt upgrade
ですが、途中でサーバ側が書き換えられたのか、何度か「漏れ」が発生したので、upgradeを繰り返しました。

VNC Serverのインストール

デフォルトではRealVNCが入っているのですが、どうも旨く行かないので、RPi一号機で実績のあるTightVNCをインストールしました。

/etc/apt/sources.listの書き換え
デフォルトで設定してあるラズパイのミラーサイトは遅いので、日本のJAISTのサイトに変更しました。

次はようやくパーツの組み立てに入ります。

ところがラズパイが起動しなくなりました。
何が原因かわかりませんが、SDカード自体を認識していないようです。
PCからも読めません。
ということは今日一日の作業がおじゃん! (´・ω・`)


AIY: RaspberryPi Model B3のセットアップ

ゆっくりやろうと思っていたら、初期不良対応は購入日から2週間以内だけらしいので、取り急ぎラズパイが動くことだけは確かめねばならない。電源ケーブルやその他もろもろの追加部品を買いに行って早速開始。

RaspbianベースのAIYディストリをダウンロード

ラズパイマガジン2月号にしたがって、Googleのサイトからダウンロードする。

~$ wget https://dl.google.com/dl/aiyprojects/voice/aiyprojects-latest.img.xz
--2018-01-07 15:31:01-- https://dl.google.com/dl/aiyprojects/voice/aiyprojects-latest.img.xz
dl.google.com (dl.google.com) をDNSに問いあわせています... 172.217.25.238
dl.google.com (dl.google.com)|172.217.25.238|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: https://dl.google.com/aiyprojects/voice/aiyprojects-2017-09-11.img.xz [続く]
--2018-01-07 15:31:01-- https://dl.google.com/aiyprojects/voice/aiyprojects-2017-09-11.img.xz
dl.google.com:443 への接続を再利用します。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 911986164 (870M) [application/octet-stream]
`aiyprojects-latest.img.xz.1' に保存中

途中でテキストをCOPYするためにCTRL+Cを叩いてしまった。ターミナルソフトでは、CTRL+ALT+Cが正しく、ALTを抜くと「中断」になる。正月の双六ではないが、振り出しに戻る。。。(´・ω・`)

捨てる神あれば拾う神あり。-cオプションで途中からでも再開してくれるらしいので試したら。\(-o-)/

dl.google.com:443 への接続を再利用します。
HTTP による接続要求を送信しました、応答を待っています... 206 Partial Content
長さ: 911986164 (870M), 377572568 (360M) 残っています [application/octet-stream]
`aiyprojects-latest.img.xz' に保存中

コチラのサイトhttps://yuki-no-yabo.com/software-install-for-aiy-voice-kit/によると、Etcherというパッケージをダウンロードして、SDカードを焼き付けるようです。このサイトhttps://github.com/resin-io/etcher#debian-and-ubuntu-based-package-repository-gnulinux-x86x64のDebian用のEtcherをダウンロードして見ます。

$ echo "deb https://dl.bintray.com/resin-io/debian stable etcher" | sudo tee /etc/apt/sources.list.d/etcher.list
$ sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 379CE192D401AB61
$ sudo apt update
$ sudo apt-get install etcher-electron
$ sudo apt install etcher-electron
$ etcher-electron
で焼付の画面が立ち上がります。

画面に従って、ダウンロードしたファイル、SDカードの順に選んで、Flashボタンを押すだけ。
ところが、途中でBufferがいっぱいというメッセージが出てきてエラーになります。何度繰り返しても同じ。

もしかして、.xzのファイルは圧縮されている? とはいえ、.xzであってもイメージファイルとして対応しているというのがEtcherの仕様のはず・・・。

コチラを見て解凍してから再度挑戦。
https://qiita.com/ymaru/items/87fbc4e68f5995d3964c

やはり同じ症状が出ます。
調べてみたら、どうやらこの一両日中に新たに発生したバグのようです・・・(´・ω・`)

Error: stdout maxBuffer exceeded #1955

これは待つしかありません。