第2期enPiTトライアルスプリングスクール にて「IoTプログラミング入門」ということで、3/4に登壇および技術サポートをしてまいりました。
ワークショップ構成
九州大学の細合先生が一つ前でZumoというコンパクトな無限軌道式ロボットのプログラミング入門を参加する生徒に対して行ったあとに、私がMilkcocoaと連携しWiFiに接続されているZumoをjsdoitでできたHTML5リモコンで遠隔操作ことを生徒に教えるという構成になっています。
ZumoにはGR-PEACHとWiFiモジュールがつながっており、かわいい作りです。GR-PEACHはmbedで書き込むことが出来るのでMilkcocoaのmbedライブラリが動きます。このあたりを参加する生徒がインストールして操作体験します。
実際に動くものをみると分かりやすいので、動画をご覧ください。
このように、動かすことが可能です。
登壇の雰囲気
登壇の雰囲気はこのような形で2時間かけてお伝えしました。
生徒のみなさんも大変つかみがよく進行はスムーズに行えました。
しかし、WiFiのつながりにくさは、この手のIoT体験の場合はつきもの。いろいろと苦労しましたが、このあたりは組み込みや電子回路に生徒が多く、ぞれぞれ自走していただいてトライアンドエラーを繰り返し解決していました。
事前にこのようにステータスが分かりやすく把握できるようにしていたのも、功を奏しました。ちょっとしたことですが、LED UI設計とでもいいましょうか。目で見て把握しやすい状況を作る、こういった地味な実装もお伝えできて良かったです。
細合先生もおっしゃられていましたが、こういった機器を扱うときはシリアル接続で丁寧にメッセージが来ない場合もあるので、結構役に立つ手法です。
jsdo.it でのHTML5 リモコンで操作しましたが、今回行ってみて改めて実感したのは、WEBアプリで表示できるとインストールの必要がなく即座に試せるのはワークショップにおいてメリットでした。
インストールするタイプのものは、それだけでダウンロードやインストールに時間が割かれたり、インストールされてもうまく動作しなかったりの問題が起きやすいのですが、WEBアプリですとブラウザさえなんとか動けば心配が少なく進行ができます。
また、jsdo.itはプログラミングのコミュニティでもあるため、生徒の方が他の人のソースを試したり、実装のソースを読んでみたりと学びやすい良さがあります。ここで興味を持ったならば、後日、自分で進められる余地があります。このあたりは伝える側、教える側にとっても伝えがいがあるツールです。
おわりに
ということで、「IoTプログラミング入門」として登壇および技術サポートしてまいりました。MilkcocoaでIoTロボット制御という技術サポートでしたが生徒にお伝えすることが出来ました。
登壇のラストでは、まとめとして、Wi-Fiでのトライアンドエラーも踏まえながら、IoT制作においてはインターネット・ハードウェア・それをつなげる技術と様々な技術が絡み合うので、各パートの接続チェックを大事にすることや、複数人で協力しながらIoTを実現していくケースが多いのでコミュニケーションも大事、IoTが手軽に行えるMilkcocoaのようなツールを自分の道具として馴染ましておくと良いよ、という点もお伝えしました。