【イベント】RaspberryPi + AWS IoT ShadowでIoT初体験してきました
はじめに
こんにちは植木和樹@上越妙高オフィスです。9月24日に地元 上越教育大学で、ギークラボ上越による「秋のイベント:プログラミング&ものづくり体験」が開催されました。JAWS-UG上越妙高もお手伝いという形で参加してきました。
先に結論: 「RaspberryPi + AWS IoTは楽しいぞ」
※ ↑ Google Docsで各人の名前と進捗度合いを確認しながら進めてます。参加者からきょうの意気込みも書いてもらいました。「がんばるぞい」
ギークラボ上越について
人口18万という地方都市において、技術好きが集まれる地域の中心となることと目指しつつ、情報教育の観点で子どもに技術の楽しさを伝えていこうという集まりです。
『コンピュータやTech好きなギーク,学校の教員,学生および地域の子供達が集い,勉強会をしたり,イベントを開催したり,もくもくとコードを書いたりと,ゆる~くつながりながら共鳴する新しい社会の創造拠点とすることで,教育とテクノロジーが融合した新しい情報教育を創造し学校教育や地域へ還元していくことです。』
ギークラボ上越は先に立ち上がっているギークラボ長野の妹分になります。
IoTハンズオンで童心に帰る
「AWS-IoT ShadowからLEDをオン・オフしよう」という内容で、ECCコンピュータ専門学校の吉田研一さんを講師に招いての開催となりました。
吉田さんはJAWS-UG関西 IoT専門支部でも活動されていて、今回の内容も大阪の専門支部のメンバーが試してまとめていただいたものを講義していただきました。
まずは工作のお時間。LEDと抵抗の足をネジネジしながら結線していきます。ハサミとカッターを使って紙コップに切れ目をいれたりと、小学校の図工の時間みたいで楽しい。
LEDをRaspberryPiのGPIOピンに繋いだら、RaspberryPi上でGPIOに命令を送りちゃんと光るか確認します。
光ることを確認したら、いよいよAWS Iot Shadowを使ってクラウドから手元のLEDを制御できるか試していきます。
IoT Shadowについてはこちらのブログがとても分かりやすいです。
Shadowの desired(あるべき状態) と reported(いまの状態) に差異があると、AWS IoTがShadowに対して状態が一致するように働きかけ、それがRaspberryPiに伝わってLEDを点灯・消灯させることができます。細かい仕組みはよく分からなくても、やってみるととても簡単。
インターネットの向こう側から、手元のLEDが点いたり消えたりすることに、会場から驚き半分・喜びの半分の声があがりました。
感想
良いと思った点
- 操作すると自分の手元にあるLEDが点灯・消灯するという反応は、初心者からみてもとても分かりやすい
- Google Docsで名前と進捗を把握するのはマネさせてもらおう
- ハンズオンは必ず複数名で。分かる人に「後ろ」から受講者の状況を確認しておいてもらう
- 抵抗などの部品は予備を十分に用意する
- 工作 1時間 + IoT 1時間の時間配分がちょうど良い
注意が必要な点
- ITに興味がある大人でも、バリバリのエンジニアでなければコードを書くという行為は不慣れ
- コード記述量はごくごく最小限に留めたい(コピペで済むレベル)
- vi に代わるsshで使える(修正・保存)操作がわかりやすいエディタがほしい(FreeBSDでいうeeみたいなの)
まとめ
とても楽しい講座でした! 私は後ろから会場をみて困っている人のお手伝いをする立場だったのですが、みなさんが楽しんでいる様子がみれて良かったです。
RaspberryPi、IoTというと言葉だけで「なんか難しい」という印象を持ってしまいますが、この題材で誰もが楽しめる教材を用意できるのはすごいなと思いました。さすが先生が本職な人は違うなーと。 また参加者からAWS IoTをコンソールから操作(desired/reportedのJSONを修正)してLEDを点灯・消灯させるのでなく、もっと簡単に操作するにはどうしたらいいですか?という質問があり、そこでプログラミングが必要になるですよ、という今後の工夫に繋がる講義だったのではないかと思います。
あと、懇親会の刺し身盛り合わせです。脂のノリ具合が素晴らしいです。ご査収ください。