Web Bluetooth API とRN4020のワークショップを開催しました。
この記事について
この記事では2017/10/20に開催したWeb Bluetooth APIとRN4020のワークショップの模様を記録しています。このワークショップでは以下過去記事の内容をベースに実際に皆さんにWeb Bluetooth APIを使ったアプリケーションとRN4020を使ったBLEデバイスの開発を体験していただきました。
募集時のconpassページは以下です。
開催の経緯と目的
このハンズオンはBLE周りのライブラリ情報を集める中で、Web Bluetooth APIと言うウェブブラウザからBLEを制御できるAPIを知ったことがきっかけです。Web Bluetooth APIで簡単にアプリが作れるなら、それに対向してデバイス側も 簡単に作れるものがないかなと探し当てたのがRN4020でした。 この2つで何かやってみたいなと思ったのと、前々からイベントを企画してみたいと考えていたので今回のワークショップを企画しました。 このワークショップを通して、BLE開発の敷居がぐっと下がってきたことを参加者の方に体験いただければよかったと思います。また、自分自身の知識の整理もやっていく予定でした。
開催模様
ワークショップ会場について
今回は友人の@atottoさんに場所を手配いただき、GROOVE X様のセミナールームをお借りすることができました。GROOVE X様はあのPepperの生みの親である林要さんが創業された会社でロボット界隈注目のスタートアップ企業です。社屋や会議室もとてもお洒落な場所でした。写真は入り口でこの裏手にセミナー会場が隠れています。お洒落。
ワークショップ内容につてい
今回のワークショップではBLEの基本やWeb Bluetooth API, RN4020の基礎知識を知ってもらう知識説明を30分実施した後、RN4020を利用したデバイス開発とWeb Bluetooth APIを利用したサンプルアプリケーションの開発を行いました。資料はGitHubのWikiページで作成し、以下の通りとなっています。
ハンズオン資料へのリンク
Home · masato-ka/bel-key-security-app Wiki · GitHub
全体でハンズオン実施者は6名でしたがそのうち最後まで完了した方が3名、2章のデバイス開発まで完了した方が3名でした。完了しなかった方の大半はWindows PCを利用されていたため、Web Bluetooth APIの機能を確認する手間がかかっていたのが原因のようです。演習時間はおおよそ90分程度でした。
実際に回路を組み立てている様子です。資料の実体配線図に沿ってブレットボード上で組み立てを行います。
みなさん、デバイスが動くところまで到達したため、BLE開発の敷居が下がったことを理解してもらう点では概ね目的を達成できたかと思います。
反省点
実際に開催してみてよかった点や悪かった面です。
良かった点
主だってよかった点は以下のところです。
今回は資料をGitHubのWiki ページで作成しました。間違いが発覚してもその場でコミットして共有するということができました。演習中誰かが見つけた間違いを共有できますし、ハンズオン後も共有できるので非常に便利です。またハンズオンの部品は自腹購入していたのですが、みなさん気に入っていただけた様子で引き取っていただくことができました。この辺は参加者の方に興味を持ってもらうことに成功した証ではないかなと思っています。 今回演習時間は90分でしたが達成率は50%でした。また未達成の方の離脱理由を考えると演習時間としてはちょうど良いか少し短めだと思います。平日夜開催という制約を考えるとちょうどいい時間ではないかと思いました。
悪かった点
逆に悪かった点
演習中に資料の記載漏れに気づく点が幾つかありました。良い点であげた通りその場で修正できたのでしが、そこで少し時間を取られていたのでその点はチェックの甘を反省しています。また、回路の組み立てなど部品の詳細な説明がなかった点が気になります。今回の参加者はたまたま回路について知識のある方が多かったため問題ありませんでしたが、そうでない方には少し難しい内容だったかと思います。Web Bluetooth APIの方ではそもそもコピペで動くようにしていたので問題ないと思いますが、Angular.jsやJavaScriptの説明は必要だったかもしれません。また手持ちの環境でWeb Bluetooth APIの環境をお持ちでない方が数名いらっしゃいました。まだまだ対応環境が限られるためこの辺りも課題があると思います。
今後に向けて
今回は参加者のバックグラウンドに助けられた面もありますが、もう少し内容を整理しないと継続は難しいかなという印象です。Web Bluetooth APIの対応環境を持ってな方でも試せるような事前の環境作りをしたり、参加者のスキル要件をもっと明確化するなど対応が必要かもしれません。 次回開催は未定ですが、別の内容をするにせよまた何かしら実施したいと思っています。その際は今回の反省を踏まえて開催したいです。