無線(RFduino)

SBBLEController 1.1.0 公開

Itunesscreensnapz002

SBBLEController 1.1.0 公開 を公開しましたhappy01paper
SBBLEController自体、ブログでは紹介してなかったですが、ver1.0.0を公開して半年過ぎて、さらに1.1.0も5月21日なので、約一ヶ月前ですcoldsweats01

SBBLEControllerは、SBBLEなど、BLE対応のモジュールに接続して、ゲームコントローラー風のインターフェースを持った、コントローラーアプリです。

ver 1.0.0では

に対応していましたが、今回、ver 1.1.0で、

に対応しました。

実際に使って何かやれる人は少ないと思いますが、是非、ご利用下さいねhappy01paper

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ

| | コメント (0) | トラックバック (0)

RFduino 実験 (6) techBASICで温度計

Temp
前回に引き続きRFduinoのサンプルをtechBASICで動かしてみましたhappy01paper
今回は「Temperature」のプログラムです。

●サンプルプログラムと説明書
最新版のサンプルプログラムと説明書のダウンロード先

●RFduinoのスケッチ
スケッチはRFduinoBLEのサンプルの中にある「Temperature」をそのまま改変無しで動くものを作りましたので、そのままRFduinoに転送して下さい。

●Temperatureのプログラム
上のサンプルプログラム集の中に入っている「Temperature.bas」がそれです。起動すると上のiPhoneのスクショのようになり、摂氏と華氏で温度をRFduinoのチップ上の温度センサーの温度を表示します。

このtechBASICのサンプルプログラムではiPhone Appsの中にあるrfduinoTemperatureのthermometer.pngの温度計の画像を使っているので、この画像をiPhoneまたはiPadに入れた後に起動する必要がありますのでご注意下さい。

温度計画像
Tbeditorscreensnapz002

取得した温度の表示
Tbeditorscreensnapz001

●techBASICについて
techBASICは iOSのアプリで、iPad, iPhoneでBASICでプログラムを作って動かすことが可能なアプリです。techBASICはBLEのアプリも比較的簡単に作れるので、 iPad/iPhoneは持ってるけどマックを持ってないのでプログラムを作れないと言う方にはいいかもしれませんね。
techBASIC App
カテゴリ: ユーティリティ
価格: ¥1,500  (かな?)

●tBeditor
tBeditorは、iPadやiPhone上でtechBASICのプログラムを作るのが大変だったので、パソでできるようにエディタを作りました。マック用、ウインドウズ用を作ってますので使ってみて下さい。

RFduino資料館

---------------

にほんブログ村 科学ブログ ロボットへ
にほんブログ

| | コメント (0) | トラックバック (0)

RFduino 実験 (5) techBASICで動かしてみる

Ledbtn

今回はRFduinotechBASICで動かしてみましたhappy01paper
今回作ったのは前回やった「LED Button」を動かせるプログラムです。

●RFduinoのスケッチ
スケッチはRFduinoBLEのサンプルの中にある「LED Button」をそのまま改変無しで動くものを作りましたので、そのままRFduinoに転送して下さい。

●techBASICについて
techBASICはiOSのアプリで、iPad, iPhoneでBASICでプログラムを作って動かすことが可能なアプリです。techBASICはBLEのアプリも比較的簡単に作れるので、iPad/iPhoneは持ってるけどマックを持ってないのでプログラムを作れないと言う方にはいいかもしれませんね。あと、別売りでAppBuilderもあり、techBASICのプログラムをXcodeでビルドしてアプリを作れるので、App Storeで公開することも可能です。v3.0で日本語にも対応してます。
techBASIC App
カテゴリ: ユーティリティ
価格: ¥1,500  (かな?)

実際、iPhoneでプログラムを書くのは大変だと思います。私は大まかにtBeditorで作った後、iPadで動作テストしながら修正して完成させる感じで作ってます。もしAppBuilderを持ってれば、Xcodeで書いてシミュレータや実機でテストすることも可能です。

●techBASICによるBLEプログラム
BLEのプログラムの全体構成と接続ステップを図にしてみました(クリックすると拡大します)。
Wholecomp Techbasic_ble_sample

具体的にプログラムの流れを、ここで説明するのは困難なのでPDFに簡単にまとめましたので見て下さい。

●LEDbuttonのサンプルプログラム
説明書とサンプルプログラムをダウンロードできるようにしました。

LEDbutton.basというファイルがLED Button用のプログラムです。具体的なプログラムはダウンロドしたファイルを見て勉強してもらうということで、以下に、プログラムの操作方法と、ムービーを貼付けておきましたので見て下さい。

  • 接続されてない状態で「Connect」ボタンを押すとBLE機器を探し接続します
  • 接続中は「Connect」ボタンの表示は「Disconnect」となり、押すと切断されます
  1. RFduinoにRGBシールドを付ける
  2. RFduinoの電源を入れる
  3. LEDbutton.basを起動させる
  4. うまく行けば接続する
  5. GPIO3 OUTPUTのスイッチのオン・オフでRGBシールドのLEDが点灯・消灯します。
  6. RGBシールドのAボタンを押すことで、GPIO5 INPUTが「緑」になります。

RFduino資料館

---------------

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ

| | コメント (0) | トラックバック (0)

RFduino 実験 (4) LED Buttonサンプル

Safariscreensnapz029

今回もサンプルプログラムをテストしてみましたhappy01
今回は「LED Button」のサンプルです。

iOSアプリ側からボタンを押すとRCBシールドのLEDが点灯し、RGBシールドのボタンを押すとiOSアプリ側が点灯するアプリです。前回はRFduinoからiOSへの通信を見ましたので、今回は、その逆のiOSからRFduinoへの通信を中心に見てみることにします。

説明では、RGBシールドを使っていますが、LEDとスイッチがあればできます。

●iOSから送信(iOSプログラム)

  • 送信のUUIDは
    send_uuid = [CBUUID UUIDWithString:@"2222"];
  • 送信の最大バイト数は
    static const int max_data = 12;
  • 送信は、NSDataにデータをセットして
    [rfduino send:data];で送信!

LED Buttonサンプルでは、ボタンをタップした時の処理はAppViewController.mに書かれていて、押すと1を、離すと0を送信することで処理していますね。
Xcodescreensnapz001

●RFduinoで受信(Arduinoスケッチ)

データを受信して、LEDを付けたり消したりします。

【setup関連】

  • 3番ピンのLEDを使います。
    int led = 3;
  • 3番を「出力」にします。
    pinMode(led, OUTPUT);
  • BLEスタート
    RFduinoBLE.begin();

【loop関連】

  • 今回のサンプルでは送信でのみ使ってるため、受信関連はなし

【コールバック関連】

  • 受信データを受け取った時のコールバック関数
    void RFduinoBLE_onReceive(char *data, int len)

今回の使用例:受信データが1なら3番をHIGHに、0ならLOWにします。
Arduinoscreensnapz008

  • 切断時のコールバック関数
    void RFduinoBLE_onDisconnect()

今回の使用例:LEDが付いてたら消す
Arduinoscreensnapz009

●RFduinoから送信(Arduinoスケッチ)

RGBシールドのAボタンを押したら1を、離したら0を送信します。

【setup関連】

  • Aボタンは5番
    int button = 5;
    Screensnapz073
  • 5番ピンをインプットにします。
    pinMode(button, INPUT);

【loop関連】

  1. ボタンが押されるまで待つ
    delay_until_button(HIGH);
  2. 押されたら1を送信する
    RFduinoBLE.send(1);
  3. ボタンが離されるのを待つ
    delay_until_button(LOW);
  4. 離されたら0を送信する
    RFduinoBLE.send(0);

の繰り返します。

上の1、3のボタンが押される・離されるのを待つ処理は

  1. 5番ピンがHIGH or LOWなら起きるように設定
    RFduino_pinWake(button, HIGH or LOW);
  2. 起こされるまで待つ(※5番ピンに限らずWakeれたら待ち終了)
    RFduino_ULPDelay(INFINITE);
  3. 目的のピン番号が押されたのか調べる(※5番ピン以外を設定しているかもしれないので、5番ピンが起きたのか調べる)
    RFduino_pinWoke(button);
  4. 起きる設定を解除する
    RFduino_resetPinWake(button);

といった感じになっています。

●iOSで受信(iOSプログラム)

iOS側の受信の処理に関しては前回書いたので、今回は割愛させて頂きます。

今回は以上ですが、動画を撮ってみましたので見てみて下さい。
では、また次回を楽しみに見に来て頂ければと思います。

RFduino資料館

---------------

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ

| | コメント (0) | トラックバック (0)

RFduino 実験 (3) 温度を計るサンプル

Itunesscreensnapz001

RFduino BLEのサンプルをテストしてみました。

RFduinoのチップには温度センサーが付いていて、摂氏または華氏で、その温度を取得できます。

●温度を取得する

float temp = RFduino_temperature(CELSIUS);
float temp = RFduino_temperature(FAHRENHEIT);

この温度をBLEで送信するというサンプルプログラムが用意されていますので、このプログラムを使って少し勉強してみたいと思います。

  1. Arduino IDEの「スケッチの例の「RFduinoBLE>Temperature」を開き、RFduinoに書き込む。
  2. iOSアプリ:「RFduino Temperature」をインストールする。もしくは、ダウンロードしたRFduinoの中に入ってるiPhone Appsの中の「rfduinoTemperature」をビルドして使う。
  3. RFduino Temperature」iOSアプリを起動すると、電波状況とパケットの通信状況が表示されます。この部分をタップすると
    Itunesscreensnapz002
  4. 温度が表示されます。
    Img_4345

●Arduinoスケッチ

RFduinoのリファレンスファイルはRFduinoのドキュメントのページの「RFduino BLE Programming Reference」です。詳しくはそちらを参考にして下さい。

【setup】:アドバタイズメントをtempにして、BLE通信開始

  • アドバタイズメント
    RFduinoBLE.advertisementData = "temp";
  • 通信開始
    RFduinoBLE.begin();

【loop】:1秒待って、摂氏を取得して、BLEで温度を送信

  • Ultra-low-power Delay
    RFduino_ULPDelay( SECONDS(1) );
  • 温度取得
    float temp = RFduino_temperature(CELSIUS);
  • データを送信
    RFduinoBLE.sendFloat(temp);

●iOSプログラム

  • RFduino.mから、service_uuidが2220で、receive_uuidが2221となってます。
  • ついでに、send_uuidが2222で、disconnect_uuidが2223ですね。つまり、キャラクタリスティックは受送信と切断の3種類だけなんですね。
  • RFduinoから送信されたデータはreceive_uuidで受け取ることになりますね。
    - (void)peripheral:(CBPeripheral *)aPeripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error
    で受け取って、セレクター名didReceiveで処理することなるようです。
  • lightBlueで受信してみました。
    floatで0x0000F441が送信されてました。変換すると30.5度であることがわかりますね。
    Img_4368x

ということで、少しずつ、中身が分かってきましたhappy01

RFduino資料館

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ

| | コメント (0) | トラックバック (0)

RFduino 実験 (2) Arduino IDEの設定

Safariscreensnapz026

RFduinoを使う為には、Arduino IDEのセットアップが必要になります。設定方法に関しては私がマックユーザということでマック版のIDEの場合に関してのみです。

●Arduino IDEの設定

  1. Arduino IDEは1.5.5でテストしてます。Arduinoサイトのダウンロードページからダウンロードして下さい。
  2. RFduinoサイトのダウンロードページから、RFduino_1.5.1.zipまたはGitHubから最新版をダウンロードして下さい。
    Safariscreensnapz024
  3. Arduino IDEを右クリックし、パッケージの内容を表示させます。
    Finderscreensnapz001
  4. Contensの中のResources > Java > hardware > arduino のフォルダの中にダウンロードした"RFduino"フォルダをコピーします(※そのまま入れるのが簡単ですが、例えばiPhone Appのサンプルなど入れる必要の無いものも入ってしまいます)。下の図はクリックして拡大をあげて観て下さい。
    Finderscreensnapz002
  5. ボードを設定します。Arduino IDEを起動し、ツールの中のボードをRFduinoを選択して下さい。
    Arduinoscreensnapz004
  6. ポートを設定します。RFduinoをパソに挿す為に、RFduinoにUSBシールドを付けて、パソに接続します。USBシールドをパソに繋げるとポートが選択できますので、USBシールドのポートを選択して下さい。
    Img_4349x

さて、設定は以上です。

●テスト起動

ということで、早速、Lチカをやってみました(BLEは使ってません)。

  • Arduino IDEの「ファイル>スケッチの例>RFduinoNoBLE>01.BASICS>Blink」を選択します。
    Arduinoscreensnapz006
  • このスケッチでは3番ピンをOUTPUTに設定し、3番を1秒ごとにHIGH/LOWを繰り返すスケッチになってますね。
  • もしRGBシールドを使った場合、ピンアサインの3番ピンを見るとGreen LEDと書いてありますね。緑色で点減するということですね。
    Screensnapz073
  • USBシールドをつないだRFduinoをパソに挿し、「マイコンボードに書き込み」して下さい。電池シールドも繋げれば、パソから抜いても使えますね。
    Arduinoscreensnapz007

RGBシールドを使った場合は、こんな感じです。
Img_4361x

普通にLEDを繋げた場合は、こんな感じです。
Img_4362x

ということで、今回は以上です。

RFduino資料館
----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ

| | コメント (0) | トラックバック (0)

RFduino 実験 (1) RFduinoとは

Img_4347x

2013年4月(8ヶ月前)にプレオーダーしたRFduinoが12月に届きましたhappy01 注文時、円高だったのが円安になり、予定してた以上の出費になってしまいましたhappy02

●RFduinoとは

RFduino の名前は、想像するまでもなく、そのまんま、RF (Radio Frequency:無線に利用できる周波数のもの) を搭載した無線コントロールできるArduino互換機 ということですねhappy01 無線はBluetooth LE (以降:BLE)であり、iOSなどBLE対応機器&OSから無線でコントロールすることができますが、残念なことに技適が通ってないので、電波暗室で実験してるということで...coldsweats01

価格は$23(2014/1/5現在)、サイズは、22.86x28.95mmで、5+7=12ピンのピンソケットを持っています。SBDBTkonashiと比べてみると写真のような感じです(左からkonashi, RFduino, SBDBT)。
Img_4357x
ソケットは、長いピンを持ったソケットなので、シールドを上下に重ねることができます。写真は下から、USBシールド、RFduino、コイン電池シールドRGB-LED&ボタンシールドを積み重ねてます。
Img_4352x
●シールド&キット
シールドは全部で10種類用意されています。単4電池1本シールド単4電池2本シールドプロトタイプシールドUSBシールドPCBシールドコイン電池シールドmicroSDシールドRGBシールドリレーシールドサーボシールドの10種類で、RFduino本体と合わせたキットが用意されています。
Img_4348x
上の写真はExperimenters Dev KitでRFduino本体2個と、10種類全種類のシールドが1つずつ付いているキットで、私はこれを購入。私が注文したときは$173だったので送料と合わせて$193でした。

最低限で買うなら、USBシールドがないとスケッチの書き込みに不便でしょうから、Teaser Kitがいいと思いますが、どうせ送料$20がかかるので、RFduinoをもう一個と、折角の無線ですから、パソにつないだ状態でなく使えるように、電池のシールドがあるといいのかもしれません。※モバイル用のUSBバッテリーが使えるのかな?それが使えるのなら、それを使うのも手ですね。

全然違う話ですが、幅22.86mmでSBDBTと同じなんですね。下の写真はSBDBTにRFduinoのサーボシールドをさしてみたものです。ま、挿せただけで動かせる訳じゃないんですが、RFduinoのシールドを使えるようなSBDBTのファームとか作れると面白いんですけどね。ピンの配列的に難しいかなぁ???
Img_4358x

まだ、いろんなことよく分かっていませんが、あれこれやってみようかと思います。ということで、今回は以上です。

RFduino資料館

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ

| | コメント (0) | トラックバック (0)

RFDuinoをプレオーダーしました

Safariscreensnapz052

KickstarterOpen source RFの指先サイズのArduino:「RFDuinoプロジェクト」というのが出ていまして、先日プレオーダーが出来るようになったため、何個かオーダーしましたhappy01paper

※Kickstarterとは2009年に設立されたアメリカ合衆国の民間非営利企業で、自社のウェブサイトにおいてクリエイティブなプロジェクトに向けてクラウドファンディングによる資金調達を行う手段を提供している

RFDuinoは、RF+duinoですから、無線(Bluetooth 4.0 LE)で通信可能なArduinoということですねhappy01

-----------------

-----------------

最近、SBDBTkonashi、techBASICを使って、BLEをやっていますが、ArduinoでBLEが使えるようになっちゃうんですねhappy01

BLE Shieldというのがありましたが、これはUnoサイズのシールドですけど、RFDuinoは本体にBLEが付いてて、かつ、指の上に乗っかるサイズですhappy01paper

私は、

  • Experimenters Dev Kit
    本体2個とシールド全種類
  • RFduino1個
  • Prototyping Shield2個
  • CR2032 Shield1個

買いましたhappy01 合計すると、$221で、送料は$20で、計$241でした。

えっと、オーダーしたからといって、すぐ手に入るわけではありません、私が注文したのが、4月6日だったんですが、その時点で8月発送は予定のようでしたpaper届くのは、まだまだ先、忘れたころに届きそうな。。

ーーーーーーーーーー

●RFDuino $21

Rfduino

●シールド

  • USB Shield Accessory Board $21
    Usb_2
  • RGB Pushbutton Shield Accessory Board $11
    Rgb
  • Servo Shield Accessory Board $13
    Servo
  • PCB USB Shield Accessory Board $20
    Pcb
  • Prototyping Shield Accessory Board $7
    Proto
  • Dual AAA Battery Shield Accessory Board $17
    Dualaaa
  • Single AAA Battery Shield Accessory Board $17
  • Singleaaa

  • CR2032 Coin Battery Shield Accessory Board $13
    Cr2032
  • microSD Shield Accessory Board $12
    Microsd
  • Dual Relay Shield Accessory Board $22
    Dualrelay

●セット販売

  • Teaser Kit $39
  • Project Dev Kit $99
  • Experimenters Dev Kit $173
  • Multi Project Dev Kit $253
  • Master Dev Kit $467

●リンク

-------------------

techBASICは、Byte Worksから出ている、iOS上でBASICプログラムを作って動かせるというアプリですhappy01paper 先日(4/12)に最新版v3.0が公開されました。日本語も使えるようになりより一層使いやすくなりましたscissors
techBASIC App
カテゴリ: ユーティリティ
価格: ¥1,300

 

----------------

にほんブログ村 科学ブログ ロボットへ

| | コメント (0) | トラックバック (0)