技術とエンタメと、その他・・・

主に、技術ネタ、エンタメ系のネタを書いていく予定です。また、自分が参加したイベントに関する記事も投稿予定。

#CoderDojo に関わりはじめて【CoderDojo Advent Calendar 2018】

この記事は CoderDojo Advent Calendar 2018 の 17日目の記事です。

はじめに

今年の9月からメンターとしてCoderDojoに関わりはじめた you(@youtoy)です。メンターをやっているときは、よく「ようちゃん」と表示された、光るLEDの名札をつけて活動しています。

第9回CoderDojo御茶ノ水 で初めてメンターをやって以来、御茶ノ水池袋横浜秋葉原(※現在、名称を末広町に変更中のようです)の4箇所でメンターをしてきました(9月〜12月の間で、10回ほど参加しました)。

この記事では、CoderDojoを知ったきっかけや、メンター活動での出来事などについて書いていこうと思います。

CoderDojoを知ったきっかけ

初めてCoderDojoの名前を聞いたのは4年前の11月末、TEDxKids@Chiyoda 2014というイベントがきっかけでした。

自分はそのイベントには、中学生が主導して進めたプログラミングワークショップ(※iPadのPyonkeeを利用)の、大人側の主担当者として参加していました。

↓こちらは、そのワークショップのスタッフ・参加者の集合写真です(※公式のflickrで公開されているもの)。 f:id:youtoy:20181105213301j:plain

そのイベントではステージのでプレゼンテーションも並行して行われていて、2014年の登壇者 の一人がCoderDojo Kashiwa宮島衣瑛さんでした。

↓2014年の登壇時の公式動画

それをきっかけにCoderDojoを知り、とても興味を持ったのですが、この少し後から3年ほどは体調をかなり崩し、プライベートでのコミュニティ活動・ボランティア活動を休止していました。

幸い、今年の2月から活動を再開できる状態となり、その中で再びCoderDojoの情報に触れるきっかけがあったことから、CoderDojoの詳細について、あらためて調べたりしました。

そして、まずは自宅から移動しやすい場所で参加をしてみようと、第8回 CoderDojo池袋の参加申し込みをし、初メンターをする予定でした。
そんな中、とあるご縁でCoderDojo御茶ノ水を紹介いただき、初メンターは当初の予定の1週間前、第9回CoderDojo御茶ノ水 となりました。

子どもと関わるボランティア活動(IT系以外)

ちなみに、子どもと関わる活動については、仙台で学生生活を送っていた2003年ごろに始めました。

そのころから専門分野は通信・情報といったIT関連だったものの、活動ではITに関係しない、保育園での保育補助や小学校での授業補助のボランティアを、学外でやっていました。

そして、就職後もプライベートで子どもと関わる活動を続け、また、保育園・小学校以外に児童館や地域の大学のサークル活動(※近隣地域の社会人ボランティアとして参加)等へも活動先を拡げ、イベントでのパフォーマンスや遊び相手などの、それまでやっていなかった新しい内容も取り組んでみたりしました。

このように10年ほど活動を続けつつ、2013年ごろからは社会人向けのIT系イベントにもプライベートで参加するようになりました。
そこで会った方と話をする中で、子ども向けのプログラミングイベントのお誘いをいただき、プロラグラミングサポートなど、IT分野で子どもと関わる活動を行うようになった、その一方で、CoderDojoを知ったのはしばらく経った後でした。

IT関連の子どもと関わるボランティア活動

CoderDojoに参加する前に関わった子ども向けのプログラミングイベントにどのようなものがあったか、いくつか記載してみます。

NASAハッカソン(Space Apps Challenge Tokyo)でのArduino工作ワークショップ

参加者の方の参加レポート「NASAハッカソンの子供向けワークショップで体験したこと ‪#spaceappstokyo‬ ‪#SpaceApps‬」より http://blog.sideriver.com/flick/images/2014/04/20/nasa17.jpg

ArduinoでLEDを光らせる、いわゆるLチカと、アルミホイルやセロファン・箱などを使った工作を組み合わせた、オリジナルのプラネタリウム作成のワークショップです。参加者の子ども達のプログラミング・工作のサポート役で参加しました。

● Hour of Code プログラミングワークショップ(Scratchを利用)

主催団体のブログ記事「Hour of Code プログラミングワークショップ: MamaBA TOKYO」 より http://mamabatokyo-stablo.up.seesaa.net/mamabatokyo/2014-12-142011.47.07.jpg

⇒ サポーターでの参加です。ちなみに、3年間の活動休止の以前に初めてで唯一、Scratchに触れた機会でした。

● 女の子向けのプログラミングイベント(JavaScriptを利用)

Facebookでのイベント関連投稿より

⇒ 中学生・高校生の女の子コンビが主催したイベントで、メイン講師(全体の1/3くらいを分担)とサポーターをやりました。
※ 当時の関連記事を探そうとGoogleで検索したら、なんと、コーダー道場ジャパンのFacebookページでのイベント紹介の投稿がでてきました(ビックリ!)。
ちなみに、そこで紹介されていたイベントページは以下のものです。
 ●Salon-A 「女子のためのプログラミング教室 ♪ with html5j 」

Arduinoを使ったキャタピラ車の組み立て・プログラミングの体験イベント(JavaScriptを利用)

キャタピラ車の組み立て・プログラミング制御の1DAYプログラミング体験会に関するFacebook投稿、および、Twitterでのツイートより。

⇒ 参加者の子ども達の、電子工作・JavaScriptでのプログラミングをサポートする役割で参加しました。

CoderDojoのメンターをしていて考えていること・やっていること(の一部)

いろいろ前置きが長くなりましたが、ここからCoderDojoのメンターをやっている中での話を書いていきます。

まず、考えていること・やっていることについて、一部を書きたいと思います。
活動では、試行錯誤の部分は多々ありますが、例えば以下のようなことを意識していたりします。

一緒に楽しむ

メンターをする中で時間の余裕があるときは、子ども達にまじって、自分もScratch・micro:bit等を使った作品を作ってみたりしています。
そのときに考えているのは「子ども達を巻きこんで楽しめるものができないか」ということです。

いつもできているとは限らないですが、実現できたかもしれない一例として、カメラ機能を利用した音を奏でられる作品を作って、発表時間の中で子ども達を巻きこんだことがありました。

CoderDojo御茶ノ水の公式の投稿より f:id:youtoy:20181105215107j:plain

⇒ 子ども達が「自分でも作ってみたい!」と思ったときに、初心者でも内容を読み取りやすいようにしたいと考え、機能はできるだけ必要最小限の部分のみにして、シンプルなプログラムを作るようにしてみています(自分がScratchで複雑な仕組みを作ろうとすると、まだ慣れてないので時間がかかってしまう、という背景もあるのですが)。

また、自分が購入している、よく子ども向け教育でも活用されているガジェットを持ち込んでは、それを紹介したりもしてみています。

CoderDojo秋葉原の公式の投稿より f:id:youtoy:20181217030756j:plain ↓上記の際のツイート

第18回CoderDojo横浜に参加した際のツイートより 第11回CoderDojo池袋に参加した際のツイートより

⇒ 基本的に、Scratchと連携する・ブロックプログラミングで扱える(子ども達が制御等を試せる)ものがメインとなるよう、持参するものを決めています。さらに、可能であれば高価でないもの(気軽に買って試せそうなもの)にしたいところなのですが、それはなかなか難しい場合も・・・。
また、子ども達が作品作りには活用はできないものの、試して楽しめそうなもの・興味をひきそうなもの、といったものを少し混ぜて持ち込むこともあります(上記の事例では、スマートスピーカー)。

余談ですが、ガジェットはよく購入していて、その一部を自分が主催のイベントに持ち込んだときの様子が、例えばこんな感じです。

イベント「第6回 スマートスピーカーもくもく会@LODGE」に持ち込んだガジェット類 f:id:youtoy:20181105215746j:plain

子ども達から学ぶ

自分がScratchは初心者ということもあり、参加者の中でScratchをある程度使い慣れている子達が、便利そうな機能を使っているときや知らない機能を使っているときに、「今の便利そうだね。どうやって使うの?」、「今の何?教えて!」と聞いたりしています。
慣れてる子が活用していることは、他の初心者の子にとても役立つだろう、と思うところがあり、意識的・積極的に、そういったポイントを探すようしています。

また最近、micro:bit と Scratch 3.0 を組み合わせて作品を作ってみたりしていますが、そこで活用している Scratch Link は、御茶ノ水でのCoderDojoで以下の写真の子に教えてもらいました(その子が持参していたmicro:bitをPCにサクッとつなげていたので、「簡単に(無線で)つなげたりできるの?」と聞いて、教えてもらいました)。

CoderDojo御茶ノ水の公式の投稿より f:id:youtoy:20181217033447j:plain

そして、参加している各Dojoの発表のときは、子ども達の作品の工夫のポイント・独創的な部分(プログラムだけでなく、素材の選択・活用や、ストーリーものの作品の場合のストーリー構成など)を積極的に探しながら見ています。
また、発表しない子がいる場合があるので、発表までの時間のメンターをしている途中で、できるだけ参加している子達の全員のところをまわって「今日は何を作ろうとしてるの?」と聞く感じで声をかけつつ、作成中のところを見せてもらったり、話を聞いたりするように心がけてます。

初めてプログラミングを体験する参加者の子の話

初プログラミングの子への対応の試行錯誤

CoderDojo御茶ノ水のチャンピオンの方が行っていた、初めてプログラミングをする子向けの「ネコ逃げ」の作成を、自分も子ども達に混ぜてもらって体験したとき、その過程をメモしたり、意識的に覚えていたりしました。
作り方自体の流れをメモする・覚えるというのもあったのですが、それ以上に気にしていたのは、子ども達の反応が特に良かったポイントやその時の要因についてです。

そして、その内容を他のDojo(具体的には、池袋や秋葉原)の初プログラミングの子向けに自分でやってみたり、複数回やる中で自分なりの工夫を加えてみたりしている途中です。

CoderDojo池袋の公式の開催レポートより https://cdn-ak.f.st-hatena.com/images/fotolife/c/coderdojo-ikebukuro-uin/20181201/20181201201535.jpg

以前からの活動でやっていた、IT系以外の子どもと関わるボランティアでも、子ども達とのコミュニケーション・子ども向けのパフォーマンスをやる場合のやり方や子ども達へ話すストーリーなどを、上手い人のやり方からまなびつつ、自分に合う形にしてみたり、自分なりの工夫を考えてみたり、試した内容の振り返りをして、ということをやってきたのがあるのですが、それのプログラミングバージョン、という感じです。

嬉しかった瞬間

そのネコ逃げ(+α)をやっている途中や、作り終わった後に「思ってたよりも、ずっと楽しかった!また来たい!」と言われたときや、帰り際に「今日はすごく楽しかった!またね!」と言われたときは、喜びがこみ上げてきました。
その子にとって、一生に一度の「初めてプログラミングのプログラミング体験」が、素敵な笑顔にあふれるものになったと思うと、本当に嬉しいです。

終わりに

4箇所のCoderDojoに10回ほど参加して活動をしている中で、それぞれのDojoの色が感じられ、それぞれで異なる学びがあります。
参加者の子ども達からも学ぶことがあり、また、たくさん元気をもらうこともできます。

引き続き、来年もCoderDojoのメンターをやっていければと思います。

その他

普段から、様々なイベントに足を運んでいるのですが、CoderDojo関連の自分が参加したものを2つ書いてみます。

イベント「Jamesと話そう!」

下北沢で行われた、CoderDojoの共同創設者の James Whelton(ジェームズ・ウェルトン)さんと話をする会に参加しました。 この後も、食事をしながらの懇親会が行われ、楽しい時間を過ごせました。

イベント「JAWS FESTA 2018 OSAKA CoderDojo ニンジャ Meetup」

パナソニック スタジアム 吹田で行われたイベント「JAWS FESTA 2018 OSAKA CoderDojo ニンジャ Meetup」を見学させてもらいました。

この時は、「JAWS FESTA 2018 OSAKA」に参加するために会場にいたのですが、同じ会場内で行われていた「JAWS FESTA 2018 OSAKA CoderDojo ニンジャ Meetup」の見学もさせてもらう機会がありました。
余談ですが、この日の前日の夜は、東京でIT系イベントの運営スタッフ(プライベートでの活動)をやって、さらに、このイベント翌日の朝はCoderDojo横浜のメンターをする日だったため、往復とも夜行バスを使い滞在は土曜1日のみ、というハードスケジュールでした。

【スマートスピーカー2018】今年のスマートスピーカー・VUIイベントのふりかえり(後から追記予定)

この記事は スマートスピーカー Advent Calendar 2018 の 11日目 の記事です。

はじめに

2018年を忘年する前に、今年のスマートスピーカー・VUIイベントをふりかえってみようと思います。
ひとまず、自分が参加したイベントについて、書いてみようと思います。

2018年に参加してきたイベント

スマートスピーカー・VUIイベントに関わり始めた頃

Yahoo! JAPANさんのLODGEでのもくもく会

初めて、スマートスピーカーAIアシスタント)・VUIが関わる集まり・イベントに参加したのは、今年の3月3日。
fishさん(@canoefishingさん)の1つのツイートがきっかけで行われたこちらでした。

【きっかけのツイート】

【集まったメンバー】

ちなみに、この呼びかけをした fishさんとは、2013年の夏に参加した石巻でのハッカソン関連のイベントをきっかけに知りあったのですが、その他の参加者の皆さまとは初顔合わせでした。
このときは、もくもく手を動かすより、ワイワイ話をするような交流会といった感じになりました。ほぼ初対面の方ばかりだったにも関わらず、とても楽しい時間を過ごせました。

そして、この時お会いしたSmartHacksスマモトさんから、「スマートスピーカーオフ会#2@SmartHacksオフィス」のお誘いをいただき、それが2番目に参加したスマートスピーカー・VUIイベントとなりました。
また、このLODGEでのもくもく会の流れを、4月以降、自分が主催する形となり、色々なきっかけをもらった機会でした。

スマートスピーカーオフ会#2@SmartHacksオフィス

自分がスマモトさんとお会いする前に、このような募集が行われていたようでした。

。。。

Google Homeを遊びたおす会

。。。

2018年4月〜

。。。

まとめ

【ベストバイガジェット2018】個人的には費用対効果が抜群:VADIV LEDネームプレート

この記事は 今年のベストバイガジェット Advent Calendar 2018 の 4日目 の記事です。

はじめに

2018年に買った様々なガジェットの中で、ベストバイガジェット2018として選んだのは
「VADIV LEDネームプレート」
です。

このネームプレートは、PCアプリでの表示内容の変更・設定や、複数の表示内容の切り替え(10個まで設定可)が行えるLEDの名札です。

↓ こちらの動画の右上のほうにあるやつです。

↓ また、こちらが購入元のAmazonのリンクです
 (ぱっと見、記事内の広告に見える・・・)。

最初は2つだけ購入してましたが、その後、追加購入。
最終的に所有している名札は、以下の4種になりました。

- 表示ドット数
1 44 × 11 pixels
2 48 × 12 pixels
3 44 × 11 pixels
4 48 × 12 pixels

購入のきっかけ & 選んだ理由

購入のきっかけとなった記事

以下の記事を見たのをきっかけに、まずは、青・緑のサイズ違いのものを購入。
その後、赤・白のものも追加購入しました。 ascii.jp

ベストバイガジェッとして選んだ理由

こちらの「VADIV LEDネームプレート」を選んだ理由は以下の通りです。

  • 自分にとって、活用する場・回数が多かった(特に子どもと関わる活動にて)
  • 大活躍しているが、1個あたりの値段が高額ではない(他に購入した多くのガジェットと比べて)
  • FacebookTwitterに自分が投稿した写真・動画を見て、実際に購入までいたった方が多数。また、その後にイベント等で活用したという話もちらほら(自分以外にも価値を感じた&活用した大人の方が多数)
  • Windowsアプリを使った表示内容の設定・カスタマイズが手軽!Mac版アプリがあればさらに良いのですが・・・)
  • まだ機能を使いこなし切れてないけれど、今後も活用できそうなプランがいくつかありそう

ベストバイガジェット2018 の 次点

マイコンボード micro:bit(マイクロビット)

以下、LEDネームプレートと似た感じで、機能に対する価格・自分が活用できそうな場の数の多さ(今後も含め)から、候補に挙げていたものです。
こちら、イギリスのBBCが主体となって作った、教育向けのマイコンボードです。 switch-education.com

この「micro:bit」は、プログラムで制御可能なLED・ボタンスイッチや、加速度センサ、Bluetoothでの無線通信機能を搭載しています。
USB/Bluetoothで、PC/スマホとつなぎ、Webブラウザ/アプリで書いたプログラムを書き込めたり、開発環境の準備もお手軽です。

Scratchなどに代表されるブロックでのビジュアルプログラミングや、Pythonベースでのテキストプログラミングが可能です。
また、現在β版のScratch 3.0との連携も簡単に行えたりします。

個人的に気になる話として、LINEアプリと連携するビーコン(LINE Beacon)にできる、といった話も。

AndroidスマホEssential PhoneGoogle Pixel 3

Android P Developer Preview を試したくて購入した「Essential Phone」。
当初、日本の技適もOKだった対応端末がこれだけだったので購入。

その後、Google Pixel 3は、以下の内容を試したく購入しました。

Googleレンズのお試し

ポートレートモード(iPhoneとの比較)

obniz(オブナイズ)

ボードをインターネットにつなげてしまえば、開発はPC・スマホのブラウザから簡単に行えてしまう「obniz(オブナイズ)」。 obniz.io www.youtube.com

クラウド・インターネット経由での環境で、電子工作ができてしまいます。 dotstud.io

LINEさん主催のハッカソン・コンテストで活用させていただきました! www.line-community.me au.wantedly.com

2018年に購入したガジェットやデバイス

(※ 一部、4〜5年前の購入品もまぎれてます)

LEDネームプレートと比較対象となった、ガジェット・デバイスをいくつか紹介しようと思います。

最初は、それらを並べて写真を撮ろうと思ったのですが、手間がかかりすぎて断念・・・(購入した個数が多すぎ・・・)。
過去のツイートや写真で、その一部を紹介します。

イベントに持ち込んだときの写真

自宅にあるガジェットの一部を、大きなカバン3つくらいにつめて、イベントに持ち込んだときの写真です。
夏に石巻で行われたハッカソンの時で、結局、使ったのは Raspberry Pi のみだったのですが(笑)。

これは4〜5年前からあったやつ?、というものは、今年の購入品ではないです。

また、秋に「スマートスピーカーもくもく会」を主催したときにも、会場にガジェットを持ち込みました。
夏と比べてIoTボタンなどが増えてます。

一旦、机に展開して、その後しまおうとしたのですが、「展示用にしましょう」との話が。

ちなみに、M5Stack・SPRESENSEの2つのもくもく会と、合同開催した会で、自分が主催したイベントのconnpassのページはこちら。 connpass.com

その他1

(※ 後で掲載予定)

その他2(光り物系)

名札を購入後、LEDで光る物をいくつか買ってました。

これらは、本当はマイコンボード等とつなげて外部から制御したいな、と思って購入。 しかし、やり方が未だ分かってない状況です。

LEDネームプレートを活用したシーン

最後に、LEDネームプレートを活用したときのツイートの一部をピックアップして紹介します。

CoderDojoにて(子どものプログラミングサポートのとき)

その他のイベント主催・参加時

(※ 後で掲載予定)

最後に

今後も、いろいろなガジェットを入手して、面白そうなものを見つけていければと思います!
(毎月のクレジットカード請求におびえながら・・・)

スマートスピーカーを遊びたおす前に「Google Homeを遊びたおす会」をふりかえってみる

はじめに

f:id:youtoy:20180626062052p:plain

本日、6/26(火)はスマートスピーカーに関するイベント スマートスピーカーを遊びたおす会 が行われるのですが、
イベントの前に、2018/3/28(水)に開催されたGoogle Homeを遊びたおす会のふりかえりの記事を投稿してみました。

各セッションについて、話されたことなど記載をしていきたかったのですが、 セッション1の書き起こしとかをやってみて、かなり時間がかかってしまい、 詳細が記載されているのがここだけになってます・・・。

他の方の話された内容は、ひとまず他の方のブログ( kbn1053さん の ブログ記事「Google Homeを遊びたおす会へ行ってきた(雑記)」 )などをご参照ください。

また、書き起こしが途中から文字ばかりになっていて、見づらい感じなので後で画像を足したりしようかと。

今日の「スマートスピーカーを遊びたおす会」のイベントページ

前回と同様、 飯田橋のIIJさんのオフィス がイベント会場ですが、今回は大阪にサテライト会場も準備されています。

3月のイベントについて

イベント「Google Homeを遊びたおす会」の関連ページ

概要(イベントページより)

Google Homeを使ってスマートじゃない家電を音声操作したり、Google Assistantアプリを作ってみたりとGoogle Homeを遊びたおしてみようという会です! 開発寄りの内容となりますが、これから遊びたおしてみたい方や、既に遊びたおされている方も是非ご参加下さい!
引用元:[ https://kotodama.connpass.com/event/79768/ ]

イベントのタイムテーブル

19:00〜
  1. Google Homeでつくるスマートホーム by 田中みそさん
  2. Google Home 用のお遊びアプリをMicrosoft Azure使って作ってみた by ちょまど(千代田まどか)さん
  3. Actions on Googleでできること by 山口能迪さん
  4. Dialogflow tips by fishさん
21:00〜
21:10〜
  • 懇親会

セッション1「Google Homeでつくるスマートホーム」の書き起こし的なもの

自己紹介後の辺りから質疑応答までのところで話されていた内容を書き起こしてみました。 話したままでなく、部分的に省略などしているところもあり、書き起こし的なものとしてます。
書き起こしには、こちらの スマボスさん の動画を利用させていただきました。 以下から書き起こし的なもの、スタートです。

スマートホームに取り組みはじめたきっかけ

私は、Google Home の購入を機にITに目覚めました。

普段仕事ではプログラムとかは触らなくて、一からラズパイ( Raspberry Pi )、node.js 、電子工作とかを勉強してみて、これらとGoogle Home とを組み合わせて、いろいろやってみた記事をQiitaにあげています。

特にこの「Google Homeでやったことまとめ」という記事で、 これからお話しするスマートホーム化だったり、Googleアシスタントアプリの作り方だったりをまとめています。

これは、去年の Advent Calendar に投稿したもので、そのとき少しバズりました。 ちなみに、はてなブックマークも、もうちょっとで1000いくので、気になって読んでみて参考になりましたら、はてブボタンをポチっていただけたら幸いです。

もし、週末までに1000に達してなかったら、自分でアカウント作ってポチります。

■ 自宅のスマートホーム化について、デモ動画

我が家のスマートホーム構成はこんな感じになってます。 f:id:youtoy:20180626082221j:plain ごちゃごちゃしてるんですけど、それで、ここでデモをお見せようと思ったんですが、家にいる妻とLINE電話でつなげて、持ってきたGoogle Home mini でやろうと思ったんですけど、Google Home mini も接続ができなくて、 LINE もつながらないという状況になったので、急遽、動画に変更します。

【動画の概要:声での操作部分1】

  • Google Home mini に「電気を消して」と言って消灯。
  • 「電気Cパターン」と言って調光(色合いを変えられます)。
  • 「8チャン」と言ってTVをつける。
  • 「プレステ4でトルネ起動」と言ってプレステ4を操作(自宅でプレステ4は主にトルネ用で使っている)。
  • 「PC起動」と言ってPCを操作(Windows PC を Wake on LAN 機能を利用して電源ON)。

【動画の解説:Webアプリ利用】
自分でWebアプリを作って、ここからポチポチ押して操作できるようになってます。 今これを押しちゃうと、家のほうが切り替わっちゃうので、止めておきます。 notifierとか、Google Home をしゃべらせるヤツですけれども、ここに何か文字を打ってポチッと押すと、家のほうも Google Home がしゃべりだしたりします。

【動画の概要:声での操作部分2】

※ ↓ハンドスピナーのやつ

■ 仕組みの解説

仕組みについて、少し細かく見ていきます。

まずGoogle Home に話しかけた後は、クラウドにデータが送られ音声解析が行われます。 その解析結果を受け取って何かやるには、主に2通りの方法があります。

  1. IFTTT(イフト https://ifttt.com/ )を使う方法
  2. Googleアシスタントアプリを作る方法

IFTTTは、あるサービスと別のサービスとを連携させられるもので、 これを使うと例えば「Google Home に話かけた内容をTwitterに投稿したり、LINEでメッセージを送ったり」ということが簡単にコーディングなしでできます。

家電操作もIFTTTで作るのが楽です。特にWebhookを飛ばせるので大体のことができちゃいます。 私の場合、このWebhookを使って、Firebase( https://firebase.google.com/?hl=ja )の Realtime Database へ情報を書き込んでます。

ここで、Firebaseに書き込む理由は、音声解析情報はグローバルネットワーク上にあり、ローカルネットワーク上のラズパイに情報を渡すためにはトンネリングが必要で、トンネリングにはngrok( https://ngrok.com/ )などを使う方法があります。 しかし、なぜFirebaseを使うのかというと、Firebaseのホスティング機能を利用してWebアプリを置いて、そこからDBにアクセスできたり、APIを作ったりもできたりして、いろいろ便利だからです。 先ほどデモでお見せしたWebアプリにもFirebaseを利用しています。

Google Home からIFTTTで言葉を受け取る際に、言葉の一部にワイルドカードが使えて、その部分を変数として扱えます。 例えば「照明 $(変数)」という形で「照明"つけて"」・「照明"消して"」といったように、操作を表す文言の部分を変数としてFirebaseに書き込まれます。 これによって音声操作のパターンごとに、たくさん文章を登録する必要がなく、機器ごとに文章が登録されていれば良くなります。

Firebase上の書き込みは、ラズパイ上のnode.jsで監視してます。 ちなみに、ラズパイはちっちゃいサーバのことで、小さく消費電力が小さいのでホームサーバーに最適です。 電気代を実測したら1ヶ月つけっぱなしで25円ほどでした。 ラズパイはFirebaseから値を参照しに行っているだけなので、ポートを開ける必要がなく安全。

Firebase自体は、IFTTTやラズパイからHTTPで読み書きできるように、セキュリティルールはけっこうガバガバなんですけど、それでもポートを開けるよりは安心感があると思います。

■ TVが朝起きたら勝手についていた!?

セキュリティという点で、話はそれちゃうんですけど、最近スマートホームを使っていて怖いことがありました。

ある日、朝起きたらTVが勝手についていたんですね。 不正アクセスか!?、と思って、急いでnode.jsので書きだしていたログを確認したんですけど、夜中の2時39分とかに操作ログが残っていた、家族みんなが普通に寝てる時間です。 こんな時間に誰が何のために!?、と戦慄したんですけど、エアコンなど他の家電は操作などはされていなくて、 もしかして?、と思ってGoogleのマイアクティビティをチェックしてみたんですね。

Googleのマイアクティビティって、Google Home に話しかけた言葉の解析結果のテキストとか、発話内容の音声とかが録音されていて聞きかえせたりするやつです。

音声を再生してみたら、妻のちょっとかすれた声で「OK Google、2チャンネル」って、まあ、単純に寝言だったんですけど、 ホントかよ?、って話なんですけど、 これは本当にあった話で、Google Home が生活に染みついてきちゃうとこんなこともあるようなので、皆さんも寝言での音声操作にはご注意ください。

今回の例はTVだったから良かったんですけど、今後、あらゆる家電が操作できるようになってくると、コンロとかスマートロックとか寝言で反応されちゃうとシャレにならないものがあったりするので、危険ですね。

■ 仕組みの解説(続き)

スライドのほうに戻るんですけど、あらかじめ定義されたレコードが書き込まれたら、条件にマッチする動作を行います。 こういう文字列が書き込まれたら、こういう動作を走らせるよ、というのをプログラムで書いておくわけですね。

ラズパイまで来てしまえば、もう何でもできちゃいます。 具体的にどんなことができるかと言うと、例えばWi-Fi付の赤外線リモコンのAPIをたたいて家電を操作したりとか、自分は eRemote mini( http://linkjapan.co.jp/product/eremote-mini/ )というのを使ってます。 ホント小さくて、だいたい6000円くらいで売ってます。 これに赤外線リモコンでピッとやって、赤外線情報を読み取って文字列として保存するのですが、それをここから飛ばすことで、あらゆる赤外線リモコン対応家電を操作します。

あと、ps4-wakerというNodeモジュールでプレステ4を操作したりします。 プレステ4を操作といっても、○ボタンとか十字キーとかの key send ができるわけじゃなくて、何ができるのかと言うと、ホーム画面の操作だったり、ゲームの起動とかですね。 うちは主にトルネの起動で使ってます。

それとPCについて、自分はWindowsを使ってるんですけど、それをWake on LANで起動させたり、Windows上でコマンド実行させたり、ですね。 Wake on LANはラズパイから命令を投げるんですけど、Windows上でのコマンド実行については、PC上でもnode.jsを走らせてFirebaseを監視します。 それで、Windows向けの書き込みがされたら対応するコマンドを実行という感じですね。 先ほどのデモでお見せしたExcelの起動なんかも、単純にWindows上のnode.jsでEXEをたたいているだけです。

あとはGoogle Homeをしゃべらせたりとか、ちなみにGoogle Homeをしゃべらせたことがある方はいらっしゃいますか?(会場内で挙手でのアンケート)、 ぼちぼちいらっしゃいますね。

Google Home のハックとかで、まずやってみたくなることなんですけど、これは普通にスピーカーでTTS( Text to Speech 音声合成 )させれば良いじゃん、っていうのもありますけど、Google Homeの強みの一つって、常時起動のスピーカーだということがあると思うんですね。

私は昔、音楽にはまっていたことがあったので、家にそこそこ良いスピーカーがあります。 なんですけど、いちいちアンプをつけたりとか面倒で、今はGoogle Homeで音楽をかければいいや、となっちゃいました。 また、常時起動であるからこそ、普段あまりLINEとか見てくれない、あまりスマホを触らない妻とかでもGoogle Home をしゃべらせて連絡する、ということができたりします。

あと、ESP32( https://ja.wikipedia.org/wiki/ESP32 英語サイト https://www.espressif.com/en/products/hardware/esp32/overview )というWi-Fi付のマイコンを用いて、よりIoTな使い方もできます。 ESP32は、要はWi-Fi付のArduinoみたいなもので、Bluetoothなんかもついてます。

USBの口とかピン付の開発ボードタイプでも1500円くらいで買えちゃいます。 これ、ArduinoIDEで開発できちゃうんですね。

あとFirebaseのライブラリもあったりするので、ラズパイ上の値を監視して制御とかできちゃいます。 これとサーボモーターを組み合わせれば、家電に付いてる物理スイッチなんかもGoogle Homeに話しかけて、操作とかできちゃったりします。

サーボモーターはこういうやつですね。この上のほうにある白いのが動くので、それでスイッチを押し込みます。 ESP32ば小さいんですけど、それと電池を適当な箱につめて、サーボモーターをつなげちゃえば完成です。

でも、見た目がひどいんで、うちでは撤去されちゃいました。

さらに、Firebase HostingにWebアプリを置いておけば、スマホやPCからも操作可能です。 データベースとの連携も簡単にできるので、丸ごとFirebase内で完結して便利です。 これにより、外出さきから家電が操作できるので、エアコンとか消し忘れたときに、心配なときとかに念のためOFFにしたりとか、 帰る前に部屋を暖めたりとか、あとは私は会社から帰るときに「今から帰るよ」というのをGoogle Homeにしゃべらせたりします。

外出先からの操作という点では、スマホGoogleアシスタントアプリに話しかけちゃっても良いんですけど、 リモコン自体が統合されてどこからでも操作できるのは便利です。特にうちはよくリモコンがなくなっちゃう家なので、これで助かってます。 TVの細かい音量調節なんかも、音声操作よりリモコンを使っちゃったほうが楽ですね。

■ まとめ

独自音声コマンドを作るには、とりあえずIFTTTが楽です。

自宅サーバ、ライズパイとかで制御を行うには、インターネットからローカルネットワークへのトンネリングが必要になってきます。 これはFirebaseがオススメです。 ラズパイまでたどり着いちゃえば、大体何でもできます。

特にNode.js、すごい便利です。

詳しい作り方はQiitaで記事にまとめてます。「Google Home でやったことまとめ」、というやつです。

最後に、Qiitaの記事以外にも、簡単なツールを作ってGitHubにあげてます。

まず、「Google Home Auto Tester」というやつなんですけど、単純にcsvファイルに喋らせたい言葉とウェイトの時間を書いて、 それをツールに通すと goo gle-home-notifier で Google Home を喋らせるってやつですね。 Googleアシスタントアプリとか作るとき、単語のテストをするときとか自分で延々としゃべるのは大変なので、 これを使ってます。応答結果はログで確認ですね。読み上げる用とテスト用とで、Google Home が2台必要になるのですが、 今日いらっしゃっている皆さまであれば複数台持ちも当たり前かと思いますので、アプリの作成時に良ければご利用ください。

あと、Dialogflow2AlexaSkillJsonというのを作りました。 これはDialogfowからAgent情報をZIPで吐き出せるので、 それをツールに通すことで、AlexaスキルのJSONを吐き出します。 そのJSONファイルをAlexaスキルのコンソールにぽいっとやることで、簡単にインテントとエンティティが移行できます。 逆のパターンもできると思うのですが、まだ実装できてないので、時間ができればやってみようと思います。

余談:その後の田中みそさん

その後、ミニドローン( Tello )を Google Home で操ったりされていたようです。

さいごに

今日のイベントは、Google Home だけでなく、他のスマートスピーカーも含めたイベント。 どんな話が聞けるのか楽しみです!!

イベントレポート(バージョン1):「JBUG (東京#4) - Backlog World reCapミートアップ -」 #JBUG

はじめに

f:id:youtoy:20180320013409p:plain

2018/3/19(月)に開催された「JBUG (東京#4) - Backlog World reCapミートアップ -」に参加してきました(JBUGへの参加は初)。

後で追記・修正などする予定のものを、ひとまず公開。
今回、参加から数日以内で第1弾記事をアップする、ということを試してみました

※ 同イベントの情報詳細はこちら。
↓connpassのイベントページ

JBUGについて

JBUGは、「Japan Backlog User Group」の略で、プロジェクト管理ツール Backlog のユーザグループとのことです。 自分は、2018/2/18(日)に行われたイベント「Backlog World」への参加をきっかけに、JBUGのことを初めて知りました。

ブログレポート書く枠

今回のイベントでは、参加の枠が2つありました。 それが以下の2つ。

  • 一般参加枠
  • ブログレポート書く枠

そして「ブログレポート書く枠」で参加すると、ヌーラボTシャツ をゲットできるとのこと。

今回のイベントでは、当初「一般参加枠」で申し込んでおきながら、「ブログを書いていただければ、Tシャツをゲットできますよ」との呼びかけに応じて、イベント中に参加枠の切り替えをした方がいた模様(笑)

発表内容

現状の記載内容に、後ほど、追記・修正など行う予定です。
※ 発表資料の公開について、Meggyさんの資料は後ほど公開予定とのこと。

タイムスケジュール

  • セッション1. 広報LT大会を2年運営して気づいた会社を超えたコラボレーションの秘訣: 吉田ハルカさん山川空さん
  • セッション2. レガシーな新聞社が本気でテクノロジーメディアを目指す開発プロジェクト: 西馬一郎さん
  • セッション3. Backlog World 総まとめっ!:Meggyさん

セッション1. 広報LT大会を2年運営して気づいた会社を超えたコラボレーションの秘訣

f:id:youtoy:20180319194119j:plain

今回のスライド資料へのリンク

ベンチャー広報の悩み:ノウハウ・ナレッジや具体的事例の情報入手が困難 ⇒ 孤独で超属人化
・そこで、広報業界内での知見のシェアを ⇒ 「広報LT大会」

・2018年2月時点での実績:総参加者数570人、発表LT数90。平均満足度97.2%
・特長:あたたかい空気づくり ⇒ 工夫は様々

・続ける中での悩み:ドタキャンによる累積赤字 ⇒ 出稼ぎでカバーなど・・・。
・「No more ドタキャン」

・ついにBacklog導入、「夢」を管理

・次回、第13回目は、2018年4月24日(火)の19:30から@五反田
 なお、参加対象者は「現役広報担当者」だけでなく、「広報に興味がある方(※エンジニアの方も過去来てますよ)」
 ↓4/24のイベントページ@connpass

セッション2. レガシーな新聞社が本気でテクノロジーメディアを目指す開発プロジェクト

f:id:youtoy:20180320061442j:plain

今回のスライド資料へのリンク

・日経がテクノロジーメディアを目指す理由 ⇒ 外部環境の変化、テクノロジーを駆使するメディア

・サービス開発の変革 ⇒ 開発力・開発スピード向上が課題、内製化推進、体制変更など
・2010年当時のプロジェクト管理:外注がメイン、表計算ソフト利用 ⇒ 非効率だがそれしかない、多くの課題 ・上記の対策:体制見直し、内製化、環境づくりやツール見直し

・日経でのBacklog活用: 利用者数 830人、プロジェクト 210個、改善要望をヌーラボさんへ

・最近の成果: サイトの表示速度の高速化、グッドデザイン賞「ベスト100」、ほか

・Backlog活用事例:ガントチャート有効活用、Wiki活用、slackなどとのシステム連携(お客様の声自動登録)、障害管理
 社内旅行・宴会幹事もBacklog

セッション3. Backlog World 総まとめっ!

f:id:youtoy:20180319205826j:plain

資料公開は準備中

・Backlog World とは?

プロジェクト管理に関わる全ての方のための祭典です。
どのようにプロジェクト管理を行なっているのか様々な立場の方による知見のシェアが行われます。
引用元:https://backlog.com/ja/backlog-world/

⇒ 参加者200名、ハッシュタグ付ツイートが「東京1位・日本2位」を記録
・コンテンツ:ヌーラボコンシェルジュ(相談の場)、様々な内容のセッション、Good Project Award

・当日のレポート画像(※後ほど公開予定の資料を参照ください)

・イベント開催の裏側:プロジェクト管理はBacklogで ⇒ 一部の方とはメールでのやりとりだったが大変だった・・・

・思っていること:プロジェクト管理をもっと広めよう!、プロジェクト管理の知見はシェアされるべき

・東京 JBUG の運営メンバー募集!!

まとめ

JBUGは初参加のため、Backlog World でお会いした方が数名いらっしゃったものの、ほとんどの方と初顔合わせの状況でしたが、上記イベント内、また、その後の懇親会でも楽しく過ごせました!

関連記事

・今回のJBUGを知るきっかけとなったイベント「Backlog World」の参加レポート(昨月26日に「次からは、各セッションの内容についてなど、記載していこうと思います。」と宣言して、書きかけの第2弾記事の下書きを抱えたまま、別イベントのレポート第1弾を先にアップすることになるとは・・・) yo-to.hatenablog.com