EdisonとAndroid間でBluetooth通信(RFCOMM)


Pocket

Edisonにつないだカメラモジュール(OV7670)のデータをAndroidスマホに送信するプログラムを作った時のメモです。

通信プログラム

今回はRFCOMMを使って、Androidをサーバー、Edisonをクライアントとして実装しました。
Edison側プログラムは下記を参考に実装できます。

An Introduction to Bluetooth Programming

 

Channel設定

Androidスマホのchannelは『5』???。
正確なところは解りませんが、とりあえずLogcatに表示されていたChannel数を設定したら通信できました。
logcat_bt_channel

 
<追記>
開いているChannelが自動でやり当てられるようです。
http://stackoverflow.com/questions/18591020/determining-bluetoothserversocket-channel

 

Bluetoothを有効にするのを忘れずに

以前『Intel EdisonでBluetoothを試してみる』でも書きましたが、Bluetoothを有効にするのを忘れずに。
※よく忘れるので、なんならブート後に自動的に有効にしてもいいかも

rfkill unblock bluetooth

 

あとがき

通信データ量を減らすためにEdison側でJPG圧縮した後、送信するようにしました。
まずデータサイズを送信して、次にJPGデータを送信するようにしたのですが、受信はInputStreamなことを失念していて、初め同期が取れなくてちょいハマりましたが、割と簡単に実装することができました。

 

 

Leave a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です