Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Arduino Tank meets
Bluetooth
増田 智明 @moonmile
Moonmile Solutions
ハルロック(西餅 著)
大学生協で教科書と
並べて売られている!
アジェンダ
 無線化とは何か?
 Bluetooth の種類
 ペリフェラルとセントラル
 Bluetooth 2.0 と Bluetooth Low Enrgy の違い
 SPP通信とGATT
 Bluetooth モジュール
...
何故、無線化するのか?
 ロボットを制御するためにPCと直
結させる。
 移動が制限される
 ロボットにPCを乗せる?
 最近はmini PCがある。
 ロボットを遠隔操作する?
 通信速度の制限がある。
 通信距離の制限がある。...
無線化の種類
PC/Android Tank
PC/Android Tank
USBケーブル
マスター機器 スレーブ機器
 有線のUSBケーブルを外す
 無線化して Tank を自由に動かす
 赤外線(IR)
 ガラケー、TVリモコン
...
Bluetoothの帯域
 2.4GHz体の40チャンネルを使う
 たくさんのBT機器があると混線する
 電子レンジの近くでは使えない
 WiFi 802.11a/b/g と混在
 ラジコン RFモジュールと混在
ペリフェラルとセントラル
 ペリフェラル Peripheral
 温度センサー等のデバイス
 制御機器、Arduino Tank
 セントラル Central
 PC で制御
 Android/iPhone で制御
PC/Andro...
Bleutooth 2.0 と BLE の違い
 Bluetooth 2.0 は主に SPP通信(シリアル通信)、HID で使う
 ファイル転送は、WiFi と同じように使える。
 常時接続で大量データ通信使う。
 BLE(Blueto...
Bluetooth の接続制限
BT 2.0 BLE BT/BLE Windows iPhone 5 Android
BT 2.0 ○ × ○ ○ × ○
BT/BLE ○ ○ ○ ○ × ○
Windows ○ ○ ○ ○ ×? ○
iPho...
手軽/現実的な接続のために
 Windows/Android からは、BT 2.0を利用して SPP通信(シリアル通信)が楽
 iPhone を含めると BLE が必須
 iBeacon(iPhone の BLE デバイス)は、今後ライセ...
SPP通信(Serial Port Profile)
 一番楽ちんな通信
 Arduino の Serial クラスを使える
 Windows で COM ターミナル(Tera term など)を使える。
 Windows で RFCO...
GATT(Generic Attribute Profile)
 iPhone を含めるときは GATT が必須
 データのやり取りが、BT 2.0 より細かく決められている。
 その分、手順が増えているけど
 Windows では G...
HID(Serial Port Profile)
 Bluetooth接続のキーボード、マウスで使われている
 アダプタを買えば、デバイスを「キーボード」として認識できる。
 PC/スマートフォンではキーボードと認識されるので、キーコード...
Bluetooth モジュールあれこれ(BLE)
CC2541 SensorTag 開発キット
温度センサー、加速度センサー
ボタンが2個
BLEを扱う実験に使う $25.00
BLEduino
BLEとArduinoの組み合わせ
3,500円...
Bluetooth モジュールあれこれ(BLE)
mbed HRM1017
BLEとmbedの組み合わせ
5,400円
BLE 開発キット:BVMCN5103-BK KIT
nRF51288 搭載
開発キット、デバイス2個とデバッガ付き
14,...
Bluetooth モジュールあれこれ(BLE)
HM-10
CC2540 搭載のBLEモジュール
$5程度
RedBearLab BLE Sheid
nRF8001 搭載 Arduino 用シールド
3,000円程度
Bluetooth モジュールあれこれ(BT 2.0)
MyBeacon Fan
iBeacon 専用モジュール
1,000円
Bluetooth モジュールあれこれ(BT 2.0)
HC-05
Mater/Slave両方可能な
BT 2.0モジュール
1,400円~$3程度
HC-06
Salve専用のBT2.0モジュール
1,000円から$3程度
Bluetooth モジュールあれこれ(BT 2.0)
HC-09
Slave専用の
BT 2.0モジュール
$3程度
BT 2.0 の SPP通信を使う
 BT 2.0 のモジュールは手に入りやす
いので手始めに使いやすい。
 HC-05 でシリアルピンついている
 LEGO EV3 等の制御も SPP 通信が使
われているので応用が利く。
 Andr...
Arduino スケッチ
 Serial クラスを使う
 Serial.available() でデータ長チェック
 Serial.read() で1バイトずつ読み込み
 コマンド毎にモーターとLEDを制御
 Serial.write...
Windows ストアアプリから接続
RFCOMMを
有効にする
Windows ストアアプリから接続
RFCOMMで
シリアル接続
接続先を検索
接続
Windows ストアプリから制御
データ送信
Android から接続
シリアル接続
BTオープン
接続先を検索
Android から制御
データ送信
WPF から接続
WinRTを利用可能にする
Windows.winmd が設定可能
NetduinoでSPP受信
9600bpsで
オープン
データ受信
LED点滅
参考文献
 Arduino – Home
 Arduino - open-source tool for electronic projects
 Netduino :: home
 Mobile App Development & A...
購入先
 CC2541 SensorTag 開発キット
 BLEduino - BLE For Arduino 〈 Arduino 〉
 mbed HRM1017
 BLE 開発キット with J-Link segger:BVMCN5...
Upcoming SlideShare
Loading in …5
×

Arduino tank meets bluetooth

2,288 views

Published on

Arduino Tank を Bluetooth 2.0 で制御する。
Blueooth 2.0, Blueooth Low Energy の解説をします。

Published in: Technology
  • Be the first to comment

Arduino tank meets bluetooth

  1. 1. Arduino Tank meets Bluetooth 増田 智明 @moonmile Moonmile Solutions
  2. 2. ハルロック(西餅 著) 大学生協で教科書と 並べて売られている!
  3. 3. アジェンダ  無線化とは何か?  Bluetooth の種類  ペリフェラルとセントラル  Bluetooth 2.0 と Bluetooth Low Enrgy の違い  SPP通信とGATT  Bluetooth モジュール  Bluetooth を制御する  Android で制御  Windows ストアアプリで制御  WPF アプリで制御
  4. 4. 何故、無線化するのか?  ロボットを制御するためにPCと直 結させる。  移動が制限される  ロボットにPCを乗せる?  最近はmini PCがある。  ロボットを遠隔操作する?  通信速度の制限がある。  通信距離の制限がある。 直結 Wi-Fi/Bluetooth
  5. 5. 無線化の種類 PC/Android Tank PC/Android Tank USBケーブル マスター機器 スレーブ機器  有線のUSBケーブルを外す  無線化して Tank を自由に動かす  赤外線(IR)  ガラケー、TVリモコン  WiFi(無線LAN)  Bluetooth  ラジコン、プロボ  Zigbee 近距離通信に特化  日本では2.4GHz のラジコン帯が 自由に使える
  6. 6. Bluetoothの帯域  2.4GHz体の40チャンネルを使う  たくさんのBT機器があると混線する  電子レンジの近くでは使えない  WiFi 802.11a/b/g と混在  ラジコン RFモジュールと混在
  7. 7. ペリフェラルとセントラル  ペリフェラル Peripheral  温度センサー等のデバイス  制御機器、Arduino Tank  セントラル Central  PC で制御  Android/iPhone で制御 PC/Android デバイス セントラル ペリフェラル
  8. 8. Bleutooth 2.0 と BLE の違い  Bluetooth 2.0 は主に SPP通信(シリアル通信)、HID で使う  ファイル転送は、WiFi と同じように使える。  常時接続で大量データ通信使う。  BLE(Bluetooth Low Energy)は、省電力に特化。通信速度も遅い。  20byte パケットの制限  GATT でセンサーデータの送受信に使う。  ロボット制御で、制御電文に使う。
  9. 9. Bluetooth の接続制限 BT 2.0 BLE BT/BLE Windows iPhone 5 Android BT 2.0 ○ × ○ ○ × ○ BT/BLE ○ ○ ○ ○ × ○ Windows ○ ○ ○ ○ ×? ○ iPhone 5 ※1 ○ × ※2 × ○ × Android ○ ※3 ※3 ○ ×? ○ ※1 iPhone では、SSP通信する場合は MFi が必要 ※2 BT/BLE 混在のドングルへは接続できない ※3 BLE は Android 4.4 以降
  10. 10. 手軽/現実的な接続のために  Windows/Android からは、BT 2.0を利用して SPP通信(シリアル通信)が楽  iPhone を含めると BLE が必須  iBeacon(iPhone の BLE デバイス)は、今後ライセンスが必要  特に Beacon を名乗る必要が無ければ、別の BLE を使えば ok
  11. 11. SPP通信(Serial Port Profile)  一番楽ちんな通信  Arduino の Serial クラスを使える  Windows で COM ターミナル(Tera term など)を使える。  Windows で RFCOMM クラスが使える  Windows ストア用だが、工夫すればデスクトップアプリでも使える  Raspberry Pi で ttyAMA を使う  Android で BluetoothSocket を使う 5V ● TX ● RX ● GND ● ●Vin ● TX ● RX ● GND SPI接続は簡単
  12. 12. GATT(Generic Attribute Profile)  iPhone を含めるときは GATT が必須  データのやり取りが、BT 2.0 より細かく決められている。  その分、手順が増えているけど  Windows では GattDeviceService, GattCharacteristic を使う  Android では BluetoothDevice.connectGatt を使う  iPhone では CBCentralManager を使う
  13. 13. HID(Serial Port Profile)  Bluetooth接続のキーボード、マウスで使われている  アダプタを買えば、デバイスを「キーボード」として認識できる。  PC/スマートフォンではキーボードと認識されるので、キーコードを送ることで特殊 なプログラムを組まなくて済む。  Arduino を使って自作できる。
  14. 14. Bluetooth モジュールあれこれ(BLE) CC2541 SensorTag 開発キット 温度センサー、加速度センサー ボタンが2個 BLEを扱う実験に使う $25.00 BLEduino BLEとArduinoの組み合わせ 3,500円程度
  15. 15. Bluetooth モジュールあれこれ(BLE) mbed HRM1017 BLEとmbedの組み合わせ 5,400円 BLE 開発キット:BVMCN5103-BK KIT nRF51288 搭載 開発キット、デバイス2個とデバッガ付き 14,500円
  16. 16. Bluetooth モジュールあれこれ(BLE) HM-10 CC2540 搭載のBLEモジュール $5程度 RedBearLab BLE Sheid nRF8001 搭載 Arduino 用シールド 3,000円程度
  17. 17. Bluetooth モジュールあれこれ(BT 2.0) MyBeacon Fan iBeacon 専用モジュール 1,000円
  18. 18. Bluetooth モジュールあれこれ(BT 2.0) HC-05 Mater/Slave両方可能な BT 2.0モジュール 1,400円~$3程度 HC-06 Salve専用のBT2.0モジュール 1,000円から$3程度
  19. 19. Bluetooth モジュールあれこれ(BT 2.0) HC-09 Slave専用の BT 2.0モジュール $3程度
  20. 20. BT 2.0 の SPP通信を使う  BT 2.0 のモジュールは手に入りやす いので手始めに使いやすい。  HC-05 でシリアルピンついている  LEGO EV3 等の制御も SPP 通信が使 われているので応用が利く。  Androidの古い機種でも動く  中古 SC-06D を買ってしまったので  Xamarin.Android が使える
  21. 21. Arduino スケッチ  Serial クラスを使う  Serial.available() でデータ長チェック  Serial.read() で1バイトずつ読み込み  コマンド毎にモーターとLEDを制御  Serial.write() で応答を返せる  距離センサーこれで返すと良い。 9600bpsで オープン データ受信 モーター駆動
  22. 22. Windows ストアアプリから接続 RFCOMMを 有効にする
  23. 23. Windows ストアアプリから接続 RFCOMMで シリアル接続 接続先を検索 接続
  24. 24. Windows ストアプリから制御 データ送信
  25. 25. Android から接続 シリアル接続 BTオープン 接続先を検索
  26. 26. Android から制御 データ送信
  27. 27. WPF から接続 WinRTを利用可能にする Windows.winmd が設定可能
  28. 28. NetduinoでSPP受信 9600bpsで オープン データ受信 LED点滅
  29. 29. 参考文献  Arduino – Home  Arduino - open-source tool for electronic projects  Netduino :: home  Mobile App Development & App Creation Software – Xamarin  Bluetooth Low Energyをはじめよう (Make:PROJECTS)  Bluetooth SMART デバイス(LE GATT Profile)と連携するWindows Store Appsの開 発 - デバイスとITの架け橋 - Site Home - MSDN Blogs  Bluetooth GATT | Specifications | Bluetooth Development Portal  【連載】Bluetooth LE (2) iOS デバイスで Bluetooth LE 機器を使う (フェンリル | デベロッパーズブログ)  「ハルロック」http://www.moae.jp/comic/harurock/1/1
  30. 30. 購入先  CC2541 SensorTag 開発キット  BLEduino - BLE For Arduino 〈 Arduino 〉  mbed HRM1017  BLE 開発キット with J-Link segger:BVMCN5103-BK KIT PLUS  HC-06ワイヤレス ブルートゥースモジュール  HM-10 CC2540 4.0 BLE bluetooth to uart transceiver Module  BLE Shield — RedBearLab  MyBeacon® Fun MB005 Ac | 株式会社アプリックス  hc 09 RF Wireless Bluetooth Transceiver Module RS232  netduino 2 - スイッチサイエンス

×