おもちゃやプラモデルをスマホラジコン化できる汎用ロボットコアユニット「bCore」の使い方

「bCore」は<b>スマホからBLEでモーターとサーボをリモコン操作する</b>ユニットです。

![bcore_.jpg](https://qiita-image-store.s3.amazonaws.com/0/3180/a216d9a0-0b8e-56c3-1a96-2555e9050b68.jpeg)

bCoreを使うと、<b>好きなプラモデルやおもちゃがスマホから操作</b>できるようになります。

たとえば[ミニ四駆を<b>1分でラジコンに改造</b>](https://www.youtube.com/embed/ErrIKusdZYs)したり、もうちょっとメカに凝ると[こんなロボットもつくれたり](https://www.youtube.com/embed/otf36b-r1fo)するようです。

バガボンド・ワークスさんが制作・販売されています。現在スイッチサイエンスにて購入可能です。

- https://www.switch-science.com/catalog/list/624/


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

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


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


##キットの構成

とある縁で、<b>bCore と、サーボやモーター等の互換パーツ一式</b>をいただく機会に恵まれました。

![kit_.jpg](https://qiita-image-store.s3.amazonaws.com/0/3180/8113d755-e0a9-04e8-fa71-0100715596df.jpeg)

上記の各パーツもbCore同様に[販売ページ](https://www.switch-science.com/catalog/list/624/)にて購入できます。<b>キットとしての販売も予定</b>されているそうです。

（追記）キットとしての販売も開始されたそうです！

- https://www.switch-science.com/catalog/3143/


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

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


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

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


####電源を繋げる

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


<img src="https://s3.amazonaws.com/f.cl.ly/items/1d2T0F2F0C3Z2r1A3B0J/bat.jpg?v=f3e32e28" width="400">


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

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

<img src="https://qiita-image-store.s3.amazonaws.com/0/3180/bdb4909b-9955-0518-1282-43af488d2a1e.jpeg" width="500">


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


（電源についての詳細 from 公式ページ）

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


####bDriver からスキャン・接続

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

- https://itunes.apple.com/us/app/bdriver/id1017376059?mt=8


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

![app1.jpg](https://qiita-image-store.s3.amazonaws.com/0/3180/2c686724-7794-4952-e699-17ca99e121cd.jpeg)


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


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

<img src="https://qiita-image-store.s3.amazonaws.com/0/3180/c873bda5-dc2d-4a27-aa95-db750e022324.jpeg" width="426">


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

<img src="https://qiita-image-store.s3.amazonaws.com/0/3180/5bfb994e-258e-4262-79e1-930cd3c318e8.jpeg" width="426">


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


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

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


####bCore にサーボを接続する

bCore 裏面に Srv1&#12316;4 と書いてあるので、

<img src="https://qiita-image-store.s3.amazonaws.com/0/3180/f21e1202-afff-f669-dbaf-3b529d85911b.jpeg" width="400">


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

<img src="https://qiita-image-store.s3.amazonaws.com/0/3180/cd567cfe-8028-24b0-8a18-62e72aae6df1.jpeg" width="500">


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

![](http://cdn-ak.f.st-hatena.com/images/fotolife/s/shu223/20160601/20160601115117.gif)


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


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

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

<img src="https://qiita-image-store.s3.amazonaws.com/0/3180/a216d9a0-0b8e-56c3-1a96-2555e9050b68.jpeg" width="500">

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

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


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

- http://vagabondworks.jp/blog-entry-134.html

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

> **本当に１分で** できます。

とあります。


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


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


##自作アプリに組み込む

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

- http://vagabondworks.jp/blog-entry-125.html


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

- http://d.hatena.ne.jp/shu223/20140115/1389738427


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

- http://vagabondworks.jp/blog-entry-152.html


また同ページでは参考書籍として拙著がオススメされています。 [^2]

- http://qiita.com/shu223/items/e1c91f176a48475cd2ad

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

[^2]: 結果的にステマっぽいですが、僕がバガボンドワークスさんと連絡を取り合い始めるずっと前にこれは[書かれてた](https://twitter.com/shu223/status/717130221137313792)んですよ。。ほんとに。。

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

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

- http://vagabondworks.jp/blog-entry-126.html


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

- http://qiita.com/shu223/items/ee409e71d6a4a2bca3b4