re:Growth Sapporoでre:Inventで勉強したことを(進学塾風に)しゃべってきた #reinvent #cmdevio

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、せーのです。 昨日、2015/10/27に札幌はわくわくホリデーホールにて「re:Growth Sapporo 2015」というクラメソ主催の勉強会が行われました。 今回は札幌メンバー全員登壇、2部屋を貸しきっての2トラック進行ということで、思ったよりも規模が大きいなあ、と思いながらもいつも通りしゃべってきました。今回はまるまる30分「AWS IoT」どっぷりでいきました。

進学塾コントで進行

普段の私のセッションの組み立て方は大体大オチのデモがあって、それをやりたいがために前半多少真面目な話をしつつ、デモまで持っていく、という形が多いのですが、今回は「AWS IoT」というAWSから出たての新サービスの紹介がメイン + 技適の関係でライブデモができるものが結構少ない、という状況で、まじめにやらないと時間内に収まらないだろう、ということが見えていました。 この勉強会の前に「re:Growth Tokyo」という同じクラメソのイベントが東京でありまして、同じネタで話したのですが少し雑談が伸びると頂いた15分の時間を軽くオーバーしてしまう、という経験もしていました。そこで今回はまず時間をre:Growth Tokyoの倍、30分戴き、かつスライドの中では(なるべく)ボケない、と心に誓って構成を考えました。

ただそれだけではちょっと面白みにかける、ということで設定でボケることにしました。 テーマを「進学塾の冬期講習」と定め、スライドと話の組み立てを塾や学校の講習風にしてみました。

もう学校生活から離れて十数年経っているので、基本的な授業での板書の書き方やチョークの色の使い分けなんかを現役の先生に聞いて勉強しました。プリントも作成し「講習で前もって配られたプリントの問題を解説していく」という体にしました(そんな暇があったらその間にデモ作ればいいじゃん、という声は無視しました)。

print

※このプリントもフォントやイラストの挿し方なんかを現役の先生と打ち合わせしました。そんな暇があったら、という声は無視しました。

結果的には思ったよりも構造的に説明をすることができました。やっぱり授業ってよく考えられてるんだな、と改めて関心しました。 ちなみにスライドが多少尻切れトンボのように思えるのは何枚かのスライドを自主規制で落としているためです。より楽しみたい方は是非クラメソ主催の勉強会へお越しください。

講義補足

ということで今回の講義を受けた生徒さんは恐らくAWS IoTの基本的な使い方はマスター出来たかと思います。 講義でも解説したようにAWS IoT自体は難しい部分はありません。基本的な仕組みと役割さえ覚えてしまえばすぐに使えるようになるかと思います。

IoTをやる上でむしろ難しいのはAWS IoTにいくまで、AWS IoTから出た後、になります。 つまりどうやってセンサーのデータをAWS IoTまで持っていくかAWS IoTからデバイスを動かすにはどのように組めばよいかという部分ですね。
前者の場合は現在SDKが3種類(JavaScript, Arduino Yun, Embedded C)用意されているので、デバイスに合うSDKを使用するのが良いかと思います。 これはつまり「JavaScriptやArduinoが載せられるOSがある」「デバイスに汎用的なOSが載っている」必要があり、そうでない場合はCを使うことになります。Cで現状のセンサーの仕組みを拡張するのはハードルが結構高い作業になるので、既存の絶対に動かせないセンサーに取り付ける必要がある場合以外はあまりおすすめしません。新規の場合はnodeやArduinoが載るOSが積んであるセンサーか、もしくはセンサーのデータを一次請けするIoTゲートウェイを設置し、センサーとゲートウェイはBluetoothやEnoceanでやり取りをして、SDKはゲートウェイの方に載っける、という考え方を基本にした方が良いかと思います。

またセキュリティを考えると今回のイベントでも登壇頂きましたがSORACOMの「SORACOM BEAM」はかなり使えるかと思います。 SIMの各基地局からSORACOMまでは閉域網を通りますし、SORACOM自体がAWS上にあるのでSORACOMからAWSへの通信はAWS内での通信になるため、一度も外を通らずにデバイスデータをAWSまで運ぶことが可能になります。

またAWSのエンドポイントは全てHTTPSになりますが、IoTゲートウェイから直接AWSを叩くとハンドシェイクが大きいので、SSLの暗号化等の電池を食いそうな処理をSORACOM BEAMに任せ、IoTゲートウェイからはHTTP、MQTT等のシンプルなリクエストを送るのが良いかと思います。上で説明したとおり閉域網を通るのでセキュリティ的にもHTTPで安心かと思います。

まとめ

ということでAWS IoTは使い出すと面白いサービスなので是非使ってみてください。 今度はAWS IoTにデバイスからデータを上げるだけではなく、AWS IoTからデバイスに対してなにかリクエストを送る、という方向もご紹介できたら、と思います。