へもろぐ

へもへも備忘録

Alexa Dayに行って、kokexaの話を聞いてきました。

Alexa Voice ServiceをRaspberryPiにインストールしただけに飽き足らず、AlexaDayにも参加してきました。

Alexa Day 2018 - 2018.2.11(sun)神戸市・スペースアルファ三宮で開催!『AIアシスタントAlexaと、Alexaを支える最新技術を学ぶ1日』 | JAWS - UG

https://alexaday2018.jaws-ug.jp/wp-content/themes/alexaday2018/assets/images/badges/badges-personal-attending-250%C3%97250.jpg

 

お目当ては、kokexaですね。


kokeshi + Alexa = kokexa *Debut version

さかもとともこさんが作ったもの。

ラズパイで作ったのをこけしにくっつけたらしいw面白いw

自分の作りたいものを作る!それがDIY

さかもとさんとも直接お話できてよかった♡こけし愛に溢れてた♡

ラズパイいっぱい持ってるので、集まってkokexaやりたいです!機材貸します!とお伝えできて満足です。

次は、Google Assistantも試して欲しいな(Google AssistantだとラズパイZEROにも入れられるし)って言えばよかったかも…

 

他にも、AVSなものを中心にセッション聞いてきました。

興味あったことはほとんどTweetしてしまったので、ここに何も書くことがない…

 

VUIについては、思った通り、ユーザーシナリオが大事ということがよく分かりました。このへん、もっと専門的な勉強が必要だと思っているので、3月にワークショップ行ってみようかなと思ったりしました。

2018.uxdaystokyo.com

とりあえず以上。

Alexa Voice Service (AVS) のAVS Device SDKをRaspberry Piにインストールしてみた

alexa-avs-sample-appはメンテナンスモードに入ったので、AVS Device SDKをインストールしてみた話です。

 

Amazon Echoの中身であるAlexa Voice ServiceをRaspberryPiにインストールするネタは以前よりたくさんの記事がありますが、日本語の記事では「alexa-avs-sample-app」のほうを使ったものが多いようです。

事情として、

  • 日本語で公開されているAlexa Voice Serviceの一次情報からリンクされているのがalexa-avs-sample-appだから
  • alexa-avs-sample-app以外の公開情報は、SDKにバグがあってインストール完了できる人がすくなかったから

の2点だと思います。

 

ですが、2015/1/25の段階で、alexa-avs-sample-appはメンテナンスモードに入ってしまって、AVS Device SDKを使ってね♡と、展開が変わりました。ちゃんとコンパイル通るようになったようです。

(↓これはメンテナンスモード)

github.com

で、さっそくAVS Device SDKのほうを試してみました

 

これからインストールする人は、これを使ってね↓

GitHub - alexa/avs-device-sdk: An SDK for commercial device makers to integrate Alexa directly into connected products.

 

書いてある手順通りで問題なく動きます。(一部、個人的な事情でハマりましたがw

日本語化も可能でした。

 

ちなみに。利用した機材へのマイクとスピーカーは、↓これです。

ヤザワ アンプリファイドプラグインスピーカー VRS203W

ヤザワ アンプリファイドプラグインスピーカー VRS203W

 

 

私のハマったところは、

  1. VNCクライアントを利用していたせいで、3.5mmピンのスピーカーから音が出なかった
  2. 最初は、スピーカーにアンプ機能がないものを使ってしまって、音が小さかった
  3. 日本語にする方法に気付くのに時間がかかった

でした。

 

まず、1つめの「VNCクライアントを利用していたせいでスピーカーから音がでなかった」問題は、私のところでは以下のような構成だったことが原因でした。

  • WindowsのPCにVNCクライアントを入れて、RaspberryPiをつなぐ(HDMIモニターやキーボード&マウスをラズパイのために用意するのが面倒)
  • その都合上、RaspberryPiのconfig.txtの中の「#hdmi_force_hotplug=1」をコメント外してONな状態にしていた(ここのコメントを外すと、その下にある「#hdmi_group=1と#hdmi_mode=16も変更できるので、VNCクライアントの画面サイズを任意に変更できる)

でした。

この件については、issue479が解決のヒントになりました。

No audio feedback (sound) from Alexa Sample App · Issue #479 · alexa/avs-device-sdk · GitHub

すべての設定が終わって、もう画面サイズはどうでもいいや!というときに、「hdmi_force_hotplug=1」を再びコメントにしてOFFにすることで、スピーカーから音が出るようになりました。

 

2つめは、単純なことで、最初に使ったスピーカーがパッシブ型だったということです。ラズパイから出る音が小さいので…。アクティブ型のものを選んでください。(上にリンク貼ったものは、音がザラザラしてますが、いちおう聞こえる大きさで鳴ります。)

 

3つめの日本語化ですが、これは、今のAVS Device SDKはDEBUG9でログがガンガンでているので、日本語化するためのオプション設定説明画面が流れちゃうのが問題(っていうか、自分が見落としてるのが悪いw)でした。

やり方としては、startsample.sh実行後に、c(enter)してから6(enter)すれば、日本語になります。

この件についてはissue359が解決策の参考になります。

Will the sdk support the en-CA locale at some point? · Issue #359 · alexa/avs-device-sdk · GitHub

 

たぶん、普通はもっとすんなり完了するんだと思いますが…

簡単なので、みなさんも試すといいと思います(トラブルが無ければ、作業時間は1時間未満)。

 

追加

もう1つハマったところありました。refreshTokenの発行です。

4番めの手順に「startauth.sh」の実行があると思うんですが、ここでURLが表示されるんですよ。確かhttp://172.0.0.1:3000/だったと思います。このURLをラズパイのブラウザで開いて、Amazon DeveloperのID/passwordを入力しないと、refreshTokenが発行されないので、あとで困ります。ここを忘れないで欲しいです。(これがあるから、PCからラズパイにつなぐときにSSHではなくてVNCを使ったのでした。)

 

AIY Kitの組み立てで、ちょっと困って工夫したところ

5月に出ていたAIY Kit、MagPIを購読してないので、ずっと単品販売を待っていて、日本発売よりも少し早くpimoroniから購入できたので、組み立ててみました。

Google AIY Voice Kitshop.pimoroni.com(2017/11/18時点で在庫あるみたいだから、急いでるヒトはpimoroniから購入お勧め)

 

このKitは、RPiにVoice HATをガッツリ取り付けるようになっているので、あとからHATが外れなくなることもあるかと想定(前にskywriterのHATが外れなくて、無理やり引っ張って壊したことがトラウマ。)して、RPi3は新規購入でAIY Kit専用にしました。

 

Voice HATの取り付けが嫌なら、AIY Kitを購入しないで、USBマイク&スピーカーでAIY Kitと同じ環境の構築もできるみたいです。(後日チャレンジ予定。)

自作はこちらを参考に。

 

Kitに同梱されているテキストブックにも組み立て方法が掲載されていますが、Webに掲載されているもののほうが読みやすかったです。

aiyprojects.withgoogle.com英語苦手なら、Google翻訳すれば大丈夫です。

 

2か所、ちょっと困ったところがありました。

 

1つめは、スペーサーを刺すところ。

組み立て手順の②Assemble the hardwareで「Insert the standoffs into the two yellow holes」と書いてあるんだけど、RPiのほうの穴にプラスティックのスペーサー(スタンドオフ)を刺すのがすっごく固くて。特にEthernetポート横の黄色い穴に刺すのが難しくて、ポートの角で指を切ってしまった!危険!!矢印のところ!!

f:id:sh1k1ya:20171118102737p:plain

Accessory board(HATのこと)のほうに刺してから、それをRPiにのっけて刺す…のほうが安全だと思う。(2台目の組み立ては、先にHATに刺した。こっちのが楽だった。)

 

2つめは、マイクボードを箱に貼るところ。

⑧Put it all togetherの8番目に「attaching the microphone board to the cardboard.」って書いてあるけれど、microphone boardの裏面(箱に接するほう)にハンダ付けしたピンが少し出てるので、ギューギュー押し付けないと両面テープで貼るのが難しい…。

f:id:sh1k1ya:20171118103556p:plain

ちゃんと貼り付けておかないと、あとでマイクがズレるので、どうしよう…と。

それで、コマンドタブを切って使いました。コマンドタブなら厚みがあるから。ひっつき虫でもいいかも。ひっつき虫のほうが貼り直しも簡単かな…。

3M 両面テープ コマンド タブ(はがせる両面粘着) お買い得 Mサイズ 60枚 CM3PM-60コクヨ 粘着剤 ひっつき虫 タ-380N

 

以上で、組み立ての工夫点おわり。

器用なヒトは、こんなところで苦労しないんだろうな…。

DojoCon Japan 2017でRaspberry Piのハンズオンをしました

Coder DojoRaspberry Pi財団の提携が2017/05末にあり、そのご縁で、Coder Dojo Japanが開催する本年のDojo Con Japanで、Japanese Raspberry Pi User Groupのメンバーとして、ハンズオンを実施してきました。

Raspberry Pi and CoderDojo join forces - Raspberry Pi

raspberry Pi - CoderDojo

 

Dojo Conは、Coder Dojoのメンバーが集まって交流するイベントで、初参加だったのですが大変盛況でした!

dojocon2017.coderdojo.jp

午後から、Japanese Raspberry Pi User Groupのトラックを用意していただいて、関係者でそれぞれの企画を1枠づつ。

 

私の担当は、ScratchとPythonの両方で、同じプログラムを作ってみる電子工作的なものです。

DojoConのテーマが「つながる」だったので、プログラムの世界とモノの世界がつながるように。また、ScratchからPythonという「違うプログラム言語」へつながるように。そして、教えてもらったことから、自分なりのアレンジへつながるように。

そのようなテーマで、Dojoでも使ってもらえそうな簡単なものをいくつか用意しました。

 

当日配布したハンドアウトは、以下URLにあります。

201711_DojoConJapan_HandsOnLabo

 ボタンを押したことを検出するプログラムと、3つのLEDを信号に見立てて点灯させるプログラムを作りました。参加者のみなさんは初めてチャレンジされるかたばかりのようでしたが、信号を2つ作って「押しボタン式交差点信号」を作っていらっしゃる猛者もいました!

 

今回、CoderDojoのみなさんと協力する機会があって、とても楽しく、また勉強になりました。これからも、両財団のみなさんのように、日本のグループ同士も協力しあったイベント開催などができればよいなぁ…と思っています。

 

参加者のみなさん、CoderDojo関係者のみなさん、そしてDojoCon実行委員のみなさん

どうもありがとうございました♡

文京区総合体育館のトレーニングルームに置いてあるトレーニングマシン

文京区総合体育館のトレーニングルームに、どんなトレーニングマシンがあるか調べてきた。

www.shisetsu.jpマシンになにがあるかくらいサイトに掲載されてると思ったら、載ってなかったので現地調査。

マシンよく知らないので、マシン名違ってたらご指摘くださいー。

  • チェストプレス
  • シーテッドロウ
  • グルート
  • レッグプレス
  • アダクション/アブダクション
  • トーソローテーション
  • バックエクステンション
  • アブアイソレーター
  • 腹筋台
  • 背筋台

それぞれ1台づつ。

マシンメーカーは、↓ここに載ってるのと同じだと思います。(うろ覚え)

http://www.senoh.jp/material/pdf/material02.pdf

 

カーディオ系は、

…だったはず(うろ覚え)。背もたれ付きバイクのシートが、破れてて、ガムテ修理してあるところが好感度高い!修理大事!

 

ベンチプレスとかのところは、置いてあるものを見ても、何がなんだか分からないので割愛です。なんか面白そうですよね、バーベルとかダンベルとか。持ち上がる気がしないですけど。

 

今、大塚のセンター(文京スポーツセンター)が工事中らしく、その兼ね合いで、文京総合体育館のトレーニングルームは、朝7:30から使えるらしい。

文京住民以外にも、在学在勤者も使えるので有効に使いたいと思った。

 

あと、卓球室が思ったより広かったので、卓球しに行きたいと思いました。

chibi:bitが発売されたので、試してみた

今日はchibi:bitの発売日でした。(chibi:bitは、micro:bitの互換機です。)

www.switch-science.com夏にテスト版の販売をしてたのですが買いそびれ…それがやっと正式出荷ということで…さっそく試してみました。通販だと手に入るのが明日か明後日になっちゃうので、昼休みに千石電商で買いました〜。(値段はスイッチサイエンスさんから買うのと同じでした。)

実は…micro:bitも持ってるのですが、技適の問題があるので通電したことなかったのです。いちおう比較のために両者の写真を。

ボードの大きさ厚さなどは、まったく同じです。BLEのところがちょっと違うかな〜くらいで。あと、micro:bitは、パッケージが袋…けっこうかわいい袋です。chibi:bitは良い箱でした。箱捨てちゃうのもったいない感じ。

f:id:sh1k1ya:20161219182750j:plain f:id:sh1k1ya:20161219182431j:plain

つなぎ方

「Windows10 + ブラウザ」そして、本体とUSBケーブル(データ通信できるやつ)で準備はOKです。RaspberryPiで何かするときに、HDMIでモニターにつなぐの面倒…って思うタイプなので…本体とPCをUSBケーブルでつなげばいいだけなのは、良いです♡

つなぐとプレインストールのプログラムが動きはじめます。

f:id:sh1k1ya:20161219181131j:plain

ボタン押したりするのが楽しくてプレインストールアプリで遊んでしまったw

電源はUSBから取ってます。で、基本動きっぱなしなので、動くとウザいときにはUSBを抜いておけばOKです。抜き差しは特に注意する点ナシ。ずっと手で持ってるのは面倒…

プログラムの作り方

プログラムは、Web上のIDEで作ります。

chibi:bit用のIDE

micro:bit用のIDE

どちらも使えるそうです。とりあえずchibi:bit用で試してみました。

IDEのサイトを見ればわかるとおもいますが、いわゆるブロックエディタです。Scratch使える子供ちゃんなら、すぐにプログラミングできると思います。IDE使ってる途中で気づいたんですが、Win / Macとかブラウザの違いとかで、なんかちょっとづつ画面が違う…各環境に合わせて調整中って感じなのかな?…MacFirefoxだとロゴ位置とか変だし…

f:id:sh1k1ya:20161219184109p:plain

作ったプログラムは、ダウンロードしてファイルを作って、そのファイルをchibi:bitにインストール(送って)する…という手順でした。途中でガイダンスが出てくるから迷わないと思います。ただ作ったファイルが名称未設定になってしまうので、そこはフィアル作ってから変えなくても、設定で最初に変えておくほうが便利だと思います。

作ったプログラムの中身はJavaScriptの形式でも見られるので、ブロックエディタからプログラム言語への橋渡しもできていい感じです。

プログラムの保存

作ったプログラムはダウンロードしたものを保管しておく方法でしか保存できないようなので、ダウンロードしたプログラムはちゃんと自分のPCで保存してとかないと駄目みたいですね。

プログラムの実行

前のところにも書きましたが「プログラム作る」→「ダウンロード」→「ダウンロードしたファイルをchibi:bitにコピペ」→「chibi:bitのリセットボタンを押す」で実行されます。リセットボタン重要!

ほかのIDE

micro:bitのIDEのほうには、これ以外にも、いくつか違う(Pythonで書くやつとか)あるので、試してみたいです。

あると便利なもの

実は、秘密兵器を買っておいたのです!!

f:id:sh1k1ya:20161219185610j:plain

プロトタイピングプレート(&電子工作系のチュートリアルと部品類)。

これがないと、ずっと手で持ってることになるのでウザいし、ワニ口クリップの導線必要になるし…と。高いけど、意味ある出費!

www.kitronik.co.uk

↑は日本出荷してくれるか分からないので、買うなら↓のほうがいい。Pimoroniは日本に出荷してくれる。

Inventor's Kit for the BBC micro:bitshop.pimoroni.com

これ、らくちんです♪

感想

中1くらいの子たちの教育用マイコンボードなので、RaspberryPiと被る感じ?と最初(micro:bitが出たとき)思ったのですが、想像以上に「教育用」でした。

サンプルもいろいろあるので、冬休みに遊ぶにはちょうどいいかもしれません。

大人は...どうなんでしょうね。スマホ連携のあたりかな…。大したことできない気はするけど…。まぁ、冬休みに試してみます。

Android ThingsのサンプルプログラムをRaspberry Piで動かした

1つ前のエントリに、環境セットアップまでをざっくり書きました。

sh1k1ya.hatenablog.com

サンプルの実行

Android Thingsのサンプルプログラムを動かすには、Android ThingsをセットアップしたRaspberry Pi のほかに、Android Studioを実行するマシンが必要です。

普通にAndroid Studioをインストールしたら、Android StudioのTerminalでadb devicesのコマンドを打ってみてください。↓にあるように、メッセージが出ていれば大丈夫です。

Getting Started with the SDK Preview | Android Things

サンプルはGitHubから手に入れます。とりあえずLチカとボタンをぽちぽち押すのができればいいだろう...ということで、simplepioを試しました。

GitHub - androidthings/sample-simplepio

コードは、特に直すところはありませんでした。(自分の環境に合わせる調整は必要なかったです。)回路図もあるので、見たままに回路組めば大丈夫です。

実行時は、Android StudioのRunボタンの横にあるプルダウンのメニューで実行したいサンプルを「Blink」「Button」「PWM」から選んで、Runボタンを押せばいいです。Raspberry Piがちゃんとつながっていれば、Connected Devicesに「Unknown lot_rpi3」があるので、それを選びます。

f:id:sh1k1ya:20161214150601p:plain

実行時にUnknown lot_rpi3が出ない場合には、Android StudioのTerminalでadb connect <ip address>のコマンドを打ってください。
RaspPi側の電源off/onやAndroid Studioの再起動したときにadb connectが必要なようです...

で、起動。10秒かからないくらいです。(初回はビルドするので10秒以上かかります。)Raspberry Pi側は、いちおう画面立ち上ります。

f:id:sh1k1ya:20161214182500j:plain

(これはtemplate-masterの画面ですが、BlinkもButtonも、タイトルが違うだけで同じ白い画面でした。)

実行中は、Android StudioAndroid Moniterを見ればいいです。このへんはAndroidプログラマならいつも見てると思うので大丈夫かと。

アプリ起動・停止でちょっと戸惑ったこと

いったんプログラムを実行してしまうと、PaspPi側の再起動をしたときに、最後に動かしていたプログラムが自動起動されてしまって、元の「androidthings」ロゴの画面が出てこないときがあります。その時は、USBのキーボードをつないでEscキーを何度か(連打しないで、様子をみながら)押すと、ロゴ画面が出ます。

あと、アプリを2つ以上入れているときにEscキーを押すと、下のような画面が出ることがあります。

f:id:sh1k1ya:20161214183909j:plain

こうなったら、アプリの選択はUSBマウスつないで選択できます。

なので、キーボードとマウスつないでおいたほうがいいかも...(1つ前のエントリでは必要無いと書いた記憶が...でも、あったほうがいいです。)

感想

Androidに慣れていれば、いつも通りな感じでサンプル動かせます。Windows10 IoT Coreのときのゴニョゴニョ...を思い出すと、すごく楽々で動いた感じがします。

Android側にUIのあるものは、別のサンプルにあるようなので、まずはsimplepioのソースを動かして環境作成の確認をして、そのあとでsimpleuiのサンプルを見ながら自分でUIのコードを書いてみればいいかな?と思います。

GitHub - androidthings/sample-simpleui

 

今日は時間切れなので、ここまで...と。