『techBASICというiOS上で動くBASICで、iPad3と『うおーるぼっと』をBluetooth Low Energyで接続して動かしました。
その手順を紹介したいと思います。
以下のものを使わせていただきました、ありがとうございます。
・Ken Todotaniさんが公開してくださっている”BTstackLE”
・miconoさんが公開してくださっているGamepad like UI
miconoさんがtechBASIC不要の無料アプリ「RCBController1.0」を公開してくださいました。(2013.9.28 追記)
【必要なもの】
・うおーるぼっと + mbed NXP LPC1768
うおーるぼっとの詳細については、ここを参照してください。
・Bluetooth LEに対応したUSB Bluetoothドングル
私は、”iBUFFALO BSBT4D09BK”を使いました。
・Bleutooth LEに対応した、iPad/iPhone
私は、iPad3を使いました。(iOS6で動作確認、iOS7だとmbed側を修正しないと動かない可能性あり)
・techBASIC iPad/iPhoneで動くBASIC <- 「RCBController」を使うなら不要
miconoさんがtechBASIC不要の無料アプリ「RCBController1.0」を公開してくださいました。(2013.9.28 追記)
RCBControllerの詳細はこちら。(2014.05.06 追記)
・RCBController関連ファーム ROBOMIC(ブログ)
◆mbed側の準備
(1)”BTstackLE”と、”TB6612FNG用のモータコントロールライブラリ”をインポートします。
(2)”profile.h”を次のように修正します。
iOS7にも対応するために、下記 0x02 -> 0x0a になっているところを、0x02 -> 0x04 にしてください。(2013.09.30追記)
(3)”BLE_demo.cpp”を次のように修正し、コンパイル&ダウンロードします。
RCBController 1.1.1対応の実行ファイルBIN(1.1.1対応修正済み”BLE_demo.cpp”同梱)は、ここからダウンロードできます。(2014.05.06 追記)
-------------- 途中省略 ----------------
-------------- 途中省略 ----------------
-------------- 以下省略 ----------------
参考:Gamepad UIのキーコード割り当てはこのようになっています。
UP 0x0001
DOWN 0x0002
RIGHT 0x0004
LEFT 0x0008
TRIANGLE 0x0010
CROSS 0x0020
CIRCLE 0x0040
RECTANGLE 0x0100
L1 0x0200
L2 0x0400
R1 0x0800
R2 0x1000
START 0x0003
SELECT 0x000C
◆iPad側の準備
「RCBController」を使うのなら、以下の手順は不要です。(2013.9.28 追記)
ここから、”SBDBT_BLE_for_RCB_with_techBASIC”をダウンロードし解凍します。
解凍したら、まず下記ディレクトリ内にあるpngファイルをすべてiTunesでtechBASICアプリに入れます。
”SBDBT_BLE_for_RCB_with_techBASIC\techBASIC\Resource”
次に下記ディレクトリにあるプログラムソースをiPadのtechBASICに送ります。
”SBDBT_BLE_for_RCB_with_techBASIC\techBASIC\Source\SBDBT BLE for RCB v1.3.txt”
techBASICのマニュアルには、iPadにプログラムを送る方法が2つ書いてあります。
・iTunesを使う方法
ソースプログラムの拡張子を”bas”に変更し、iTunesでtechBASICアプリに入れます。
(私の環境ではなぜかうまく行きませんでした。)
・メールを使う方法
PCなどからメールの本文にプログラムソースを張り付け、自分あてに送信します。
iPadでそのメールを開き、techBASICで作成した空のファイルにコピペします。
ただし、メールソフトによっては長い行に勝手に改行が入ってしまうので後で手直しが必要です。
マニュアルには載っていませんでしたが、Dropboxを使う方法が簡単でした。
プログラムソースをPCのDropboxに入れます。
iPadのDropboxでそのプログラムソースを開き、すべて選択しコピーします。
techBASICを起動し、新規ファイルを作成、ペーストします。
◆動かしてみる
(1)うおーるぼっとにUSB Bluetoothドングルを挿し、電源を入れます。
(2)iPadのtechBASICでGamepad UIプログラムをRUNします。
(3)iPadとうおーるぼっとの接続が完了すると、Gamepad UI画面真ん中のインジケータが緑に変わります。
(4)うおーるぼっとの操縦は、Gamepad UI左側の十字キーで行います。
たまに、一番最初にキーを押したときにエラーが出ることがあります。
接続に失敗していますので、mbedをリセットして最初からやり直してください。
動画はこちら。
「うおーるぼっと」をiPad + techBASIC + Bluetooh LEで操縦(1)
【応用例】
小型無線LANカメラAi-Ballを搭載してみました。
「うおーるぼっと」をiPad + techBASIC + Bluetooh LEで操縦(2)
―以上―
関連する記事
・iPad3 + techBASIC + mbed + Bleutooth Low Energyの実験
・『BASIC!』でAndroid端末とmbedをBluetooth SPPで接続する実験(その1)
・iPad/Android + mbed + Bluetooth + モータドライバ でタミヤギヤボックスを動かしてみた。
関連するリンク
・RCBController関連ファーム ROBOMIC(ブログ)
・techBASICとSBDBTを使って、iPhoneやiPadでロボゼロやRCB-4HV (KMR-M6)を無線コントロールしてみました (Source編)