ハードウェアの知識と経験がなくても入門しやすいMakeblock社のHaloCodeの続きです(前回の開発ツールの導入からLチカまではこちら)。
今回は、HaloCodeのWi-Fi機能とユーザークラウドメッセージ機能を使ってみます。
デバイスがインターネットに繋がったら・・・、そう、IoT(インターネットオブシングス)ってやつです。いまどきですね。
でもなんかややこしそう?!
いえいえ、今回も簡単にできちゃいます。
ちなみに、私はもともとプログラマーを職にしていました。過去に作った自作のAndroidアプリで50,000DL以上になったことがあります。ついでにそのアプリがフジテレビの「とくダネ!」で紹介されたこともあります。現在、CoderDojo紙屋町(広島)で子どもたちと一緒にプログラミングをやるボランティア活動もやっています。現在の本業はWebディレクター。
今回もハードウェアに疎い私目線の解説です。
では行きます。
HaloCode関連記事
HaloCodeでWi-Fi接続プログラミング
まずは前提条件として、ユーザ登録が必要です。ユーザ登録をしておかないと、 Wi-Fi機能とユーザークラウドメッセージ機能を使ったIoT連携はできませせん。また、ユーザ登録をしておけば、クラウド上に自分が作ったプログラムを保存しておけるので便利です。ユーザ登録は開発ツールの右上のアイコンをクリックすると登録できます(メールアドレスとパスワードを設定するだけ)。あまり深く考えずにとりあえずユーザ登録はしておきましょう。
HaloCode単体でインターネットに接続するプログラム
まずはHaloCode単体でインターネットに接続するためにWi-Fi接続プログラムを組みます。といっても簡単で、スマホをWi-Fiに繋ぐときと同じことをプログラミングするだけです。そうです「SSID」と「パスワード」を入力するだけ。
プログラムはこんな感じです。Wi-Fi接続ブロックに「SSID」と「パスワード」を設定します。
ほんとはもっといろいろな手順を踏まないと行けないはずですが、HaloCodeが用意してくれたブロックのおかげでこんなに簡単に実現できます。
Wi-Fi接続には若干時間がかかるので「Wi-Fiが接続された」という判定ブロックが用意されています。この判定ブロックと「○○まで待つ」というブロックを組みあわせて Wi-Fi 接続処理の完了を待ちます。
今回はわかりやすいように、物理ボタンを押したらWi-Fiに接続、接続トライ中はLEDが「赤」に光り、うまく接続されたら「青」になるようにしています。ついでに、ずっと光りっぱなしだと眩しいので、1秒たったら消灯するようにしました。
これでついにインターネットへ接続できました。この時点でIoTの実現は完了です。簡単ですね。
ユーザークラウドメッセージを使えるようにする
ユーザークラウドメッセージとは、HaloCodeと開発ツール(mBlock5)上で動くアプリ間でのやりとりを実現する仕組みです。「ユーザー」、「クラウド」、「メッセージ」、聞き慣れないとわかりにくいですが、使ってみると理解しやすいです。百聞は一見にしかず。
まず、ユーザークラウドメッセージを使えるようにするために、拡張センターを開きます。拡張センターはデフォルトで用意されているブロックコード選択エリアの下にある「+」マークをクリックして呼び出します。
拡張センターが表示されたら、右上にある「ユーザークラウドメッセージ」のカードの「+追加」をクリックします。そうするとブロックコード選択エリアに「ユーザークラウドメッセージ」というものが追加されます(下の方)。
これで準備はOKです。
HaloCodeでアプリ上で動くパンダとコミュニケーションしてみる
Wi-Fi機能でHaloCodeをインターネットに接続し、ユーザークラウドメッセージを使う準備もできました。それでは、具体的にパンダとコミュニケーションするプログラムを組んでいきましょう。
まずは、HaloCode側から。パンダに手を振っている感じのイメージが湧いてきたので「HaloCodeが揺れているとき」をトリガーにしてみました。
一応、Wi-Fi接続済かどうかを判定してユーザークラウドメッセージを送信する処理にしました。ユーザークラウドメッセージを送ったことを見た目でわかるように、ユーザークラウドメッセージを送ったあとはLEDが「緑」に光るようにもしました。
次に、パンダ側のプログラムを組んでいきます。
パンダ側のプログラムはいたってシンプル。ユーザークラウドメッセージを受信するイベントトリガーがあるので、ユーザークラウドメッセージを受信したら「こんにちは!」と言うようにするだけ。ついでに音もなるようにしました。さらに、ついでにプログラム実行していることを見た目にもわかるように、緑の旗で実行したらパンダがてくてく歩くようにもしました。
これで、HaloCodeで作ったIoTデバイスを手に持って振ると、めでたくパソコンの中のパンダとコミュニケーションがとれるようになりました。
まとめ
いかがだったでしょうか?
前回のHaloCode導入からLチカのときと同じ感じで、簡単にIoT(インターネットオブシングス)デバイスができてしまいました。デバイス単体でインターネットに繋がるIoTはいろいろと妄想が膨らみます。
スマートフォンに代表される世の中の便利なシステムは、必ず何かと何かが繋がって出来ています。繋がっているから便利なんです(まちがいない)。そんな繋がるIoTをHaloCodeでは簡単に体験できます。
今回で、HaloCodeデバイスとパソコンのアプリケーションが繋がって便利に使えるようになりました。繋がったあとはどうするか?次回は「フィジカルコンピューティングゲームで楽しむ!」というのをやってみたいと思います。
[2019年6月6日現在]
AmazonにはMakeblock社製品の取扱われているようですが、HaloCodeはまだ販売されてないようですね。 HaloCodeがAmazonで買えるようになるとみんなハッピーになれそうです。
コメント