その後のその後

iOSエンジニア 堤 修一のブログ github.com/shu223

BLEを利用した汎用ロボットコアユニット「bCore」を触ってみる

バガボンド・ワークスさんが制作・販売されている「bCore」というハックしがいのある楽しいデバイスを紹介させていただきます。



サイトには「汎用多目的超小型リモコンロボットコアユニット」とあります。少し噛み砕くと、スマホからBLEでモーターとサーボをリモコン操作するユニットです。好きなプラモデルやおもちゃがスマホから操作できるようになります。


たとえばミニ四駆を1分でラジコンに改造したり、



もうちょっとメカに凝るとこんなロボットもつくれたりするようです。



現在スイッチサイエンスにて購入可能です。


以下は公式サイトの解説です。

技適対応のBLEモジュール(BLE113 )と周辺回路を組み込んだ超小型基板にファームウェアを焼きこんだ bCore と、iOS上で動くアプリケーションソフト bDriver を用いることで、誰もが簡単にiPhoneなどからコントロールできる超小型ロボットを製作できることを目的としています。


ファームは既に焼かれているので、ユーザーはラジコンサーボとモーターと電池をbCoreに繋ぎ、スチロール素材や木材、3Dプリンタなど、好みの方法でロボットのガワを制作するだけで自由に自分のロボットを開発できます。
技適、FCC、CE対応のBLEモジュールをしようしているため、日本、アメリカ、EU各国での使用が可能です。

キットの構成

某青い本を書いた縁で、バガボンドワークスさんよりbCore と、サーボやモーター等の互換パーツ一式をいただきました。



上記の各パーツもbCore同様に販売ページにて購入できます。キットとしての販売も予定されているそうです。

bCore をとりあえず試してみる

以下、まずはミニ四駆等の外部パーツを必要としない最小構成でbCoreを体験する手順を紹介します。すべてハンダ付け不要です。

ステップ1: iOSアプリからbCoreに接続してみる

まずは最初の一歩として、「bCoreにバッテリーボックスを繋げてアプリと接続する」ところまでをやってみます。

電源を繋げる

bCore の裏面を見ると、"Bat" と書いてあるところがあります。



該当するコネクタにバッテリーボックスを繋げます。一方向でしか挿せないので、極性を間違える心配もありません*1



これだけでもうBLEのペリフェラルデバイスとしての動作は開始しています。


(電源についての詳細 from 公式ページ)

bCoreの電源接続コネクタは、1.25mmピッチの2ピンコネクタ(Molex Pico Blade)で、入力可能な最大電圧は5.5Vとなっています。
アルカリ乾電池3本直列(4.5V)、LiPo電池1セル直列(3.6V)、LiFe電池1セル直列(3.3V)、カメラ用リチウム電池1本直列(3.0V)などが利用できます。ラジコンサーボやモーター駆動をするため、ある程度電流放出能力のある電池が必要になります。そのためボタン電池は使うことはできません。
なお、ラジコンサーボやモーターを繋がない場合は2.3V程度の電源での使用が可能です。

bDriver からスキャン・接続

bDriver というiOSアプリが公開されているので、ダウンロードします。


起動するとこんな感じの画面なので、



"Start Scan" ボタンをタップしてスキャン開始します。


上述した通り bCore は電源が供給された時点でアドバタイズを開始するので、すぐに発見されリストに表示されます。



発見した bCore を選択すると接続が確立され、次のようなコントロール画面に遷移します。



たったこれだけです。要は、バッテリーボックスをコネクタに挿し、アプリをダウンロードして繋げるだけです。

ステップ2: サーボを動かしてみる

とりあえず動かしてみることに成功したところで、「ロボットコアユニット」らしく、キットに同梱されていたサーボをアプリから動かしてみます。

bCore にサーボを接続する

bCore 裏面に Srv1〜4 と書いてあるので、



該当するコネクタにサーボを接続します。



で、再び bDriver で接続して Srv1〜4 とあるスライダーを操作すると・・・



サーボをスマホからリモコン操作できました!

ステップ3: モーターを動かす&LEDを光らせる

サーボと同じ(裏面で確認して該当するコネクタに挿すだけ)なので、全部繋げた写真だけ載せときます!


ミニ四駆をbCoreでラジコン化する

ここからが bCore の楽しいところです。サーボやモーターを動力として、色んなおもちゃやプラモデルをスマホから操作するように改造できるわけです。


バガボンドワークスさんのサイトにはいろんな作例が掲載されてまして、たとえばこのミニ四駆をラジコン化するレシピを見ると、

改造するのにプログラミンや電子回路の知識は不要です。

本当に1分でできます。

とあります。


必要なもののリストも「ハンダゴテ」「テープ」といったレベルで載っていて、手順も写真付きで非常に丁寧に書かれていて、本当に電気回路や電子工作の知識がなくてもこの手順通りにやればできそうです。


僕はいま諸事情で出先(海外)でこの記事を書いているのですぐに試せないのですが、ミニ四駆・ハンダゴテ・半田を既にAmazonで注文して家の方に送ってあるので、帰宅次第試してみたい所存です。

自作アプリに組み込む

GATTが公開されているので、Core Bluetooth を利用してアプリを自由に作成することも可能です。


このあたり、ソフトウェアエンジニアにとってはIRKitと同様のロマンがありますね。


下記ページからiOS向けのサンプルコードがダウンロードできます。


また同ページでは参考書籍として下記がオススメされています。


iOS×BLE Core Bluetoothプログラミング
堤 修一 松村 礼央
ソシム
売り上げランキング: 21,212

なお、iOSのBLEアプリ開発を真面目に学びたい人は、
iOS×BLE Core Bluetoothプログラミング 堤 修一 (著), 松村 礼央 (著)
断然おすすめです。bCoreの開発にもこの本を利用させていただきました。


・・・いや、結果的にステマっぽいですが、僕がバガボンドワークスさんと連絡を取り合い始めるずっと前にこれは書かれてたんですよ。。ほんとに。。

(エゴサーチしててたまたま発見しました)

ファームウェアを書き換える

ファームウェア書き込み用の端子も用意されているので、GATTを自分流に変えたいとか、何かしら特殊な処理をbCore側でしたい場合に、自分で書き換えることもできます。


BLE113なのでBGScriptやファーム書き込み等の開発環境をMacに構築したい場合には下記記事も参考になるかもしれません。

おわりに

大変ワクワクする、大人も子供も楽しめそうなプロダクトではないでしょうか。早く家に帰って僕のアバンテJr.をラジコン化したいです。


*1:間違えられませんが、仮に間違えても保護回路が入っているので壊れないそうです