HaloCodeとは

 Halocode(ハロコード)とは、中国のSTEAM教育ソリューションベンチャーのMakeblock社が開発した教育用の小型のWiFi内蔵シングルボードコンピューターです。
 教育用の小型コンピューターボードというと、micro:bit(マイクロビット)を思い出しますが、それをさらにパワーアップ(Halocodeは単体でWiFi対応)したものと考えると良いでしょう。

HaloCodeトップ画面画像

mBlock5と組み合わせれば、電子工作&ビジュアルプログラミングを駆使して、こんなこともできます。うん、これは、いいですね。

 

 上の動画のように、コンピューターと実際のモノを繋げて何かを達成することをフィジカルコンピューティングといいます。Halocodeでは、PCのmBlock5のスプライトと連動させたプログラムを簡単に作成することが可能でです。

参考記事:Halocodeのモーションセンサーを活用したフィジカルコンピューティング

HaloCodeの日本最速レビュー 

 HaloCodeは、すでに中国などで発売が開始されています。日本発売を直前に控えた今回、Makeblockの日本支社から、日本の技適が取得されたものを1台お借りし、早速レビュー記事書くことにしました。ちなみに、いつから日本で販売開始されるかなどは、私は聞いていません、何も知りません(笑)

2019年5月10日に発売されました。詳しくはこちら

HaloCode Microbit比較

HaloCode Microbit 500円玉の比較の図

 500円玉より2回り位大きい丸い基板の前面には、12個のRGB LEDが円形に配列され、タクトスイッチ、音声認識が可能なマイク、モーションセンサー、が配置され、4つのタッチセンサーが4隅に配置され、マイクロUSB端子を有しています。

 チップセットは、WiFiとBluetooth両対応のESP32。ちょっとマニアックな余談話になりますが、お仕事でIoTハードウェアの開発をしている人には、かなりお馴染みのチップセットです。実際にIoTデバイスに組み込まれることもあるような本格的なチップです。

 この強力なチップに加え、拡張ポート1個、拡張端子が標準で搭載されているので、Halocodeはかなり多彩な電子モジュールを使った本格的プログラムをすることが可能になります。そうです、教育用途だけではなく、普通にIoT開発シーンで使ってもおかしくないスペックです。(実際には、CPUに繋がる拡張端子のピン配置の情報が出てこないと使えませんが)

 もちろん、製品コンセプトは、小学生・中学生の教育用に非常に簡単に使えるように設計されています。

HaloCode表面画像

HaloCode表面

HaloCode裏面画像

HaloCode裏面

 

Halocodeの主なスペック
CPU ESP32 
接続方法 WiFi  Bluetooth マイクロUSB 
オンボードメモリ フラッシュROM 440K、RAM 520K
拡張メモリ ストレージ(SPIフラッシュ)4MB、メモリ(PSRAM)4MB
オンボードコンポーネント カラーLED×12、モーションセンサー(6軸加速度センサー、ジャイロスコープ)×1、マイク(音声と音量の検出)×1、プログラム可能ボタン×1、タッチセンサー(I / O拡張ピン×4)
動作電圧 3.3V
サイズ 直径45mm
重さ 10g
プログラミング言語 mBlock5によるビジュアルプログラミング/
マイクロPython

 

Halocodeは電子工作・プログラミングを楽しみながらIoTが学べる

 HaloCodeを活用すると、IoTをより身近に感じながら、電子工作やプログラミングを楽しく学ぶ事が可能です。
 
 例えば、下の動画は、HaloCodeのタッチセンサー部分に細長く丸めたアルミホイルを結んでタッチすると反応する(電子工作の要素)。
 
 そのほかのタッチセンサーにタッチすると、それぞれ異なったLEDの発光する(プログラミングの要素)。

 さらにさらに、HaloCodeは、WiFi接続していて、スイッチを押すと、インターネットを経由して、スイッチ信号がCodeyRockyに伝わり、その信号を受け取ったら、CodeyRockyが回転します(IoTの要素)。

同じように、Makeblock社のmBotをHaloCodeのモーションセンサー等を使って動かすことが可能です。
参考記事:HalocodeとmBotを連携動作させる
参考記事:HaloCodeメッセージ機能徹底解説
 

mBlock5でビジュアルプログラミング

 HaloCodeのプログラミングは、mBlock5というScratch3.0ベースのソフトウェアを使います。mBlock5のダウンロードは、こちらのページから可能です。

※mBlock5は、PC版とWEBブラウザ版があります。PCにダウンロードする場合は、mBlock5 for PCを使い、ウェブブラウザで使いたい場合は、上記ダウンロードページのmLinkというデバイスドライバーをインストールすれば、こちらのページでプログラミング可能です。https://ide.mblock.cc/

 mBlock5は、mBotやCodey Rockyのようにブロックを組み立てながら行うビジュアルプログラミングと、Pythonでのテキストプログラミングに両方対応しています。 

  

 例えば、↑の動画のように、HaloCodeに搭載しているモーションセンサーを利用して、揺れるとLEDが虹色に点灯するという事をプログラミングする場合、mBlock5では、こんな感じでプログラミングします。

 

 とても簡単ですね。Makeblock社が提供するmBlock5は、Makeblock製品以外でも、ArduinoやMicrobitの開発環境にも使えます。頻繁にアップグレードしていくので、どんどん良くなっています。この辺は中国メーカーらしいスピード感ですな。

 特筆すべきは、Microbitの開発環境でよく使われるMakeCodeよりも、基板へのプログラムの書き込みが簡単で早いこと。わざわざ書いたプログラムをPCにダウンロードしてそのファイルを移動させるみたいな典型的なWindows操作をしなくても、mBlock5だと、ボタン一発で書き込みが完了します(笑)

mBlock5のデバイスライブラリ画像

Makeblock製品以外も対応するmBlock5

 スクラッチ3.0ベースのビジュアルプログラミングが可能、かつ、PyhtonやArduinoテキスト言語のプログラムもかけるので、塾や学校教育現場での、開発環境はこれを選択しておくと、ロボットプログラムのツール毎に、PCのソフトウェアを変えるという面倒なことはなくなります。
 これは、常に新しいカリキュラムを考えていく必要がある先生・講師の皆様にとっては、かなり重要な事だと思います。プログラミングソフトが変わると、色々変わりますからねえ。

 あ、こんだけMakeblock寄りに記事書くと、なんかMakeblockの手の者じゃないの?という疑惑を持たれそうなので、mBlock5のイケてないところを言うと、今はまだまだ、日本語ローカライズが洗練しきれてはないところ。もちろん、教室などのプログラミング学習に支障をきたすようなレベルでは無いので、問題ないといえば問題ないですがね。

 Makeblockの、mblock5に関しては、このサイトのCodeyRockyの特徴のページでその凄さを紹介しております。

参考記事:HalocodeとmBlock5で始める簡単プログラミング

HaloCodeが単体でWiFiに繋がる

 冒頭でいったように、単体でWiFiに簡単に繋がります。コードはこんな感じ

HaloCode WiFi接続プログラム

HaloCodeを起動させて時(電源入れたとき)に、その場のWiFiに接続させるというプログラムで、SSIDとパスワードを入力して(↑の動画では塗りつぶしています)、接続されたらLEDを緑に点灯させる感じです。その地味な動画が↓。

 

 さらに、Halocodeは、インターネットを介さず、ローカルエリア内で、複数のHaloCodeを連携させたプログラムを作成することも可能です。

 

HalocodeのLAN接続に関する参考時事:HalocodeのWiFiはネット接続だけじゃない優れもの

 さらに、HaloCodeのマイクがあるので、PCを介さずに、単体でWiFi接続させ、簡単な音声認識アプリケーションを作ることができます。

HaloCode WiFi接続の図

 HaloCodeのマイクで認識された音声データは、上図のようにインターネット経由でmBlock5サーバーに行き、そのサーバーとMicrosoftの音声認識サービスが、接続されていて、音声データを認識することが出来ると思われます。

 下のプログラムは、HaloCodeを起動させると、WiFiに接続(SSID・パスワードはそれぞれのWiFi環境のものを入力)、その後、HaloCodeのボタンを押すと、LEDが白く光り、3秒間音声認識をする状態になり、その間、HaloCodeに「red」と話しかけると、LEDが赤く1秒点灯するというプログラムです。

音声認識サンプルソースコード

 簡単にAIを感じることが出来るという点で、子供たちにとっても、電子工作やプログラミングをする良いモチベーションになる事は間違いないでしょう。

 ただ、ちょっとだけ残念なのが、2019年5月10日現在、英語と中国語のみで、日本語には対応していない点と、マイクの精度なのか、サーバーとマイクロソフトの音声認識サービスの接続がうまくいって無いのか、音声認識が成功するのが、私が試した場合に、50%くらいだった点です。あ、もしかしたら、私の英語の発音が悪いというのもあるかも知れません(笑)。

参考記事:HaloCodeの音声認識をワークショップで使う場合の対策

 この辺は、今後の改良に期待をしたいと思いますが、それでも、Microbitの対抗馬に名乗り出る製品であることは間違いないと思います。

 Makeblockはこれまで、教育用プログラマブルロボットのmBotシリーズやCodeyRocky、電子ブロックのNeuron、プログラミングドローン「AirBlock」を出してきました。どれも、筐体(ブロック)がセットになったロボットキットでのプログラミング用途だったのですが、このHalocodeは、電子基板だけでプログラミング学習が可能になります。

 ロボットキットの場合は、どれも本体セット1万円オーバーのものだったので、公教育の場での活用は少々壁があったのかもしれません。ですが、このHalocodeは、それらに比べ、大幅に安くなると思います。日本での販売価格がいくらになるか?ですが、まあ、Microbitが2000円なので、それと同等か、安くしてくるでしょうな(笑)。
2019年5月10日、価格も判明いたしました。詳しくはこちら

 今後、間違いなく、mBotシリーズのようなHalocode専用の拡張モジュールが、何十種類も発売されると思われます。そうなると、PCによるプログラミングと電子工作を組み合わせたフィジカルコンピューティングを活用したSTEAM教育が、今以上に安価に手に入り、取り組みやすくなるものと思われます。楽しみだなあ。

参考サイト:Makeblock japanのHaloCode紹介サイト
https://www.makeblock.com/jp/steam-kits/halocode

※今回、Makeblock Japan様のご厚意で、日本発売前のHalocodeをお借りし、レビューする機会を頂いております。日本の電波法による技適などは、取得済のモノです。日本発売の時期、価格などは、近く発表されるとのことです。(2019年3月18日追記)

7月9日HaloCodeもくもく会案内