前から気になっていた、MakeblockのHaloCode(ハロコード)というプログラミング学習用デバイス。サイトの説明には、このようにあります。

HaloCodeは誰もが簡単にAIやIoTアプリケーションを体験し、楽しく創造できる機会を提供できます。 
AIとかIoTとか言われてもビッグワードすぎて、具体的にどんなことができるのかどんな風に作れるのかわからなかったのですが、実際に使ってみてわかりました。これは、子ども達がIoTのIとTの両方を作れるデバイスなのです。

Makeblockのプログラミングツール「mBlock5」はScratchで使われているScratch Blocksを使って作られているので、あれこれ説明するよりプログラム見た方が早いです。こちらがHaloCode側のプログラムです。 ※SSIDとPasswordは空欄になってますが、お使いの環境のものを変数に入れてください。

こちらがmBlock5の中のスプライトのプログラムです。

処理の流れを説明すると

  1. HaloCodeの電源を入れると、LEDが全部赤色になりWi-Fiに接続します。
  2. Wi-Fiに接続されるとLEDが消えます。
  3. LEDが消えた状態で、HaloCodeの真ん中のボタンを押すとLEDが緑になり音声認識中になります。
  4. ボタンを押してから「英語」で話します。
  5. 認識処理が終わるとLEDが消えます。
  6. 話した英語が正しく認識されれば、スプライトが認識した言葉を話します。 正しく認識した場合の実行結果はこちらです。

これだけのプログラムで音声認識をさせて、認識結果をコンピュータ側で受け取ることができます。ここでは認識した言葉を表示させているだけですが、その言葉をさらに処理してデバイスにアクションを返すことができるので、まさにAIスピーカー的な仕組みが作れてしまいます。

ここでは、IoTのIはmBlock5のスプライトとして作っています。Scratchを使い慣れた人なら簡単に作れてしまいます。TはもちろんHaloCodeです。

本物のIoTのようになんでもできるというわけではありませんが、自分のデバイスと自分のクラウドサービスという安全な世界で作ることができるので、セキュリティの心配は要りません。

これ、すごいことですよ。他にもHaloCodeのすごいところはあるのですが、とりあえず今回はこの一点に絞って書いてみました。HaloCode、これはかなりくるね。これを子どもたちに渡したらすごいことになりそう。

※なお、IoT的なプログラムを作るにはMakeblockのアカウントを作ってmBlock5でサインインしておく必要があります。