JH1LHVの雑記帳

和文電信好きなアマチュア無線家の雑記帳

スポンサーリンク

トラ技3月号、AI スピーカを作る

土日を使ってトラ技の付録基板を組み立てて遊んでみましたが。。。

組立自体はハンダ付けするパーツも少ないのですぐ終わったのですが、ソフトの方がなかなか期待通りに動いてくれなくて・・・今もって苦戦しています。

 

 f:id:JH1LHV:20180303153604j:plain

 

まず、製作のためのパーツ集めから。
秋葉原で持ってないパーツだけ買ってこようかと記事のパーツリストを確認したら、この製作で一番肝なパーツの MEMS マイクモジュール(ICS-43432)を取り扱っているところが見つからなくて。。。
結局、秋月電子から共立電子産業のベーシック部品 KIT を買ってしまいました。

 

f:id:JH1LHV:20180304172456j:plain

もっと汎用的な MEMS マイクモジュールで設計してくれたら、付録基板を無駄する人が減ると思うんだけどなぁ。

今回の製作ではこのマイクモジュールの入手がカギになると思います。

 

LED の足の情報(+)はシルク印刷されてないので、トラ技 P.70 で確認しながら取付けていきます。

 

・・・で、
ハンダ付けするパーツも少なかったので、サクッと組み立てハードチェックもそこそこに「エイっ!」と、Rasberry Pi を完成したばかりの基板に差し込み電源を入れてやりました。

 

Rasberry Pi のイメージは、手っ取り早く試したかったので、CQ 出版の公式ウェブにアップされているファイルを使うことに。

AI電脳製作 付録基板サポート・コーナ

http://lib.cqpub.co.jp/download/TR201803IMG/TR201803IMG.zip

このイメージは著者が設定した最後の状態とのことなので・・・これ使えば、少し修正するだけで記事の全てが試せるんじゃないかと甘いこと考えました。

 

イメージを SD に書き込む

書き込みは、Win32 Disk Imager を使いました。

micro SD の容量は 16G 必要なので、注意です。

 

まず、WiFi を設定する

イメージを書き込んだ SD を Raspberry Pi に挿入して、最初だけディスプレイ、マウス、キーボードを接続して起動します。

OS を起動して最初にやること、それは WiFi の設定です。

タスクバーの WiFi アイコンから自宅の WiFi ルータの SSID を選択し、Password を入れて接続できれば OK です。

自宅の WiFi に接続できれば、後は SSH や VNC で Windows PC から Raspberry Pi に接続することができるので、マウスやキーボードは不要になりスッキリします。

後で Raspberry Pi の IP アドレスが必要になるので、ifconfig コマンドで IP を確認しておきます。

 

Raspberry Pi の画面解像度を変更する

Windows PC から VNC で接続した際に、Windows PC の画面内の Raspberry Piの画面が 640 × 480 と小さく表示されることがあるので、

sudo nano  /boot/config.txt

で、以下のように値を変更して、(私は)1680 x 1050 で立ち上がるように修正しました。

      hdmi_group=2
      hdmi_mode=82

(使用するディスプレイによって設定値は異なります。)

 

Windows PC から VNC で接続する

Raspberry Pi を電源だけにして起動します。

ちなみに、私はここの VNC Viewer を使ってます。

 

と、ここまでは Raspberry Pi を使う時のいつものルーティーンですね。

で、私はこの構成に、今 Fusion PCB に発注している「電源コントロール基板」を付加して、電源の入り切りをコントロールする予定です。

 

トラ技 AI スピーカ基板の動作を確認する

付録基板の動作確認は、P.107 「付録基板のLEDを点滅させる」の Node-Red を使ってし GPIO を制御して L チカさせました。
(ただし、このチェックでは LED の良否しか分かりません。)

 

f:id:JH1LHV:20180309234237j:plain

f:id:JH1LHV:20180303225038j:plain

Node-Red のコマンドを変更して全 LED の点灯だけ確認しておきました。


録音、再生ができるか確認する

録再確認は、P.84~の記事通りに確認しました。
デフォルトだと録音レベルが小さかったので、P.85 のように .asoundrc ファイルを修正して録音レベルを上げました。

記事中に誤記があります。
 p.85 右マイナス 8 行目:format=S16LE → S16_LE
 p.85 右マイナス 5 行目:format=S16LE → S16_LE

(記事中の誤記については、公式のサポート資料(PDF)の最後にまとめてあります。)

 

f:id:JH1LHV:20180309233832j:plain

記事のコマンドの表記に誤りがあるので、注意です。

 

f:id:JH1LHV:20180309233223j:plain

この位にレベルを上げときました。

 

MEMS マイクを Raspberry Pi のカーネルと紐づける

デフォルトイメージのままでは MEMS マイクとカーネルは通信できないので、改めて設定します。

カーネルのアップデートも兼ねて、P.81の ②「Raspbian OS のカーネルを最新版にアップデート」から再設定しました。 

途中、カーネルのバージョンが合わないためコンパイルエラーになったので、サポート資料(PDF)の「●カーネルのバージョンをダウングレードする方法」を参考にしながらカーネルをダウングレードします。

 

f:id:JH1LHV:20180309233445j:plain

build ディレクトリがあるカーネルバージョンが 4.9.59 だったので、ここまでダウングレードさせてコンパイルを通しました。

 

Amazon Alexa と会話する(記事:第14話)

私が最初に試したかったのが、P.92 の「Amzon Alexaとのおしゃべり」なんですが、記事通りに設定してみるも上手くいきませんでした。

「アレクサ」って話しかけると、ピコっと音が鳴って反応はするのですが・・・その後の反応がありません。。。

 

f:id:JH1LHV:20180309234616j:plain

f:id:JH1LHV:20180309233101j:plain

これ以上、進みません。

 

とりあえず「アレクサ」で反応するので、Amazon の AI クラウド・サービスの設定に誤りがあるんじゃないかと、対応策を模索しているところです。

これは、継続調査ですね。

 

Google Assistant と会話する(記事:第13話)

Alexa がダメなら Google Assistant はどうなんだと・・・確認していきました。

最初、こっちも上手くいかなくて・・・結構ハマりました。。。

 

まず、サポート資料(PDF)の通りにセットアップを進めてみましたが・・・。

 

手順⑦のコマンドに誤りがあります。

誤り:sudo apt-get install portaudo19-dev libffi-dev libssl-dev ・・・⑥

正解:sudo apt-get install portaudio19-dev libffi-dev libssl-dev ・・・⑥  

 → audio のスペルが間違っています。 

 

デバイスモデルの登録でパーミッションエラーが発生しました。

調査の結果、device 名を記事と同じ cq-aispeaker にしてたのが原因だったみたいです。

よくよく調べてみたら、device 名はグローバル(インターネット)な世界でユニークじゃないとダメみたいです。

この device 名を適当な名前に変えたらすんなり登録することができました。

(このことは記事に書いてて欲しかった。。。ここで止まっている人って結構いそうです。)

 

ここまで来るのに、Google Assistant の設定とか、モジュールのインストールとかで、ハマりにハマりました。。。

結局、最後にまたエラーが発生して・・・また、調査することに。

 

f:id:JH1LHV:20180309232631j:plain

 

・・・で、気を取り直して、今度は公式ウェブに載っている通りに最初からセットアップしてみることに。

 

最後のコマンド「サンプルコードの実行」を、

googlesamples-assistant-pushtotalk --project-id my-dev-project --device-model-id my-model

にして試したところ、「OK Goole」で反応があり、「What Time」と言ったら、現在時間がスピーカから聞こえてきたので、今日はホッとしてここで終了です。

 

f:id:JH1LHV:20180309232443j:plain

 

それにしても、記事中に誤記もあったりで・・・ネットや記事を行ったり来たり。

期待通りに動かすって・・・こんなに大変だとは。

もう、明日にはトラ技4月号が書店に並ぶというのに。。。ホント、やれやれです。