参考文献
Raspberry Pi関係
Arduino関係
参考文献というか,ソースそのもの.
Arduino
Bluetoothアダプタ
むか~し買った,planexのbluetoothアダプタ(古すぎて機種名など不明)実験用本体
- Arduino ADK (古いから3.0じゃないよ)
最終予定本体
- Arduino Mega 2560 (こちらも結構古い機体)
USBホストシールド
- USBホストシールド [UHSLD3421] (安いからこれを買ってみた)
本当に使えるか否か,未だ未確認.
Raspberry pi
本体
piは自宅で遊び用にしていたが,pi2が出たためそちらも購入.piをセンサ用に流用しようと仕込み中.先日(2015年5月)に秋月の店頭ではmodel B+とPi2の両方が売っていた.Bluetoothアダプタ
家のごく近所(徒歩3分ぐらい?)のところのヤマダ電機でバッファローのBLEアダプタを購入.箱とか捨てたので,こちらも機種名などは不明.今のところ問題なく動作している.準備
Raspberry Pi
ソフトのインストール
使っているのはraspbianなんで,普通に「apt-get」する.GUI不要なのでインストールするのは最小限にする.
# apt-get install bluetooth bluez-utils
不具合修正
参考文献「http://d.hatena.ne.jp/yunoya/20140330/1396114048」と同じ問題が出たので以下の修正を実施.bluez-simple-agentの
capability = "KeyboardDisplay"
を
capability = "DisplayYesNo"
に変更.
Arduino
USBシールド用ライブラリをダウンロードして,添付されているBluetooth用のsppプロファイル向けのサンプルプログラムを入れれば,動作の確認まで可能.USBシールドのライブラリ(https://github.com/felis/USB_Host_Shield_2.0)をarduinoのIDEに登録すると,サンプルプログラムが利用できる.
USB_Host_Shield_2.0/examples/Bluetooth/SPPが今回使うサンプルプログラム.
このプログラムでは接続確立後に,PCとarduinoからデータを送り合って,相手から届いたデータを画面に出すことができる.arduinoの場合,シリアルモニタ画面を開いて,入力窓からテキストを入れると,Raspberry Piのアプリからそのデータを拾うことができる.
接続
まずは,Bluetoothのデバイスの接続
# bluez-simple-agent hci0 <MACアドレス>
DisplayPasskey (/org/bluez/XXXX/hci0/dev_<MACアドレス>, YYYY)
Release
New device (/org/bluez/XXXX/hci0/dev_<MACアドレス>)
#
次はBluetoothのシリアルプロファイルを使えるようにする
# rfcomm bind 1 <<MACアドレス>>
動作の確認
次のコマンドでarduinoから送られるデータが表示される.
# cat /dev/rfcomm1
0 件のコメント:
コメントを投稿