お知らせ

    最新の記事 / ← Android Marketに『Bluetooth OPP PUT Lite』を公開しました。   Android Marketに、ボイスチェンジャーを公開しました。 →

    Android Marketに『Bluetooth OPP PUT』を公開しました。

    あたためていたアプリを遂に公開しました。

    その名は『Bluetooth OPP PUT』というアプリケーションです。

    BluetoothのOPP(Object Push Profile)に対応した機器に対して、指定されたファイルを送信することができます。

    例えば、ポラロイド PoGo™に対して、画像ファイル(JPEG)を送ると、印刷してくれます。



    ■アプリの使い方

    STEP1 ファイルを送信する機器のBluetoothアドレス登録およびペアリングを行う。

    本アプリを起動すると、Bluetooth機器の検索が始まります。



    検索が完了すると、機器の一覧が表示されるので、ファイルを送信したい機器を選択します。
    (この時に、ペアリングが必要な場合はペアリング処理を行ってください。)



    完了すれば、送信先が登録されます。

    これで、送信準備OKです。

    STEP2 ファイルの送信要求

    アプリの共有機能を使って、本アプリへ送信したいファイルの指示を行います。

    ここでは、標準で搭載されている『ギャラりー』を使った場合の手順です。

    送りたい画像を選択すると、こんな画面になるかと思います。



    すると、上記の部分に『共有』というのが出ていると思いますので、選択します。



    すると、共有可能なアプリケーションの一覧が表示されるので、『Bluetooth OPP PUT』を選択してください。



    本アプリが起動され、STEP1で指定したBluetooth機器に接続を行い、ファイルの転送が行われます。

    ■ダウンロード方法

    『Androidマーケット』→『ツール』→『Bluetooth OPP PUT for 1.6』 (Android 1.6端末の場合)
    『Androidマーケット』→『ツール』→『Bluetooth OPP PUT for 2.x』 (Android 2.0/2.1端末の場合)

    興味ありましたら、是非、お使いください。

    この記事は役に立ちましたか?
    全然役に立たなかった 役に立たなかった どちらでもない 役に立った とても役に立った
    この記事の平均評価: (7人)

    | Copyright 2010,03,19, Friday 04:49pm オーナー | comments (20) | trackback (1) |

    コメント

    もちろんです。

    というか、画像の送信は実装できました。
    ありがとうございました。

    | kazu | EMAIL | URL | 2010/04/05 05:49 PM | F7H0FdmY |

    OBEXの仕様調べていますよね?

    | オーナー | EMAIL | URL | 2010/04/04 10:59 AM | drlaGhbI |

    申し訳ありません。

    ファイルの送信に関して大体は実装することが出来ました。
    ただ、受信側がどうしても60%ほどで受信が止まってしまうのですが、何かファイルのデータ送信以外に、ストリームに書き込む情報などがあるのでしょうか?

    | kazu | EMAIL | URL | 2010/04/03 07:59 PM | P2JMTlcs |

    backportだと、下記のようにUUIDを指定しても
    必ずportとして1が返ってくるように作られているようです

    | kazu | EMAIL | URL | 2010/04/01 09:40 AM | F7H0FdmY |

    UUIDを指定してソケットを作成しています。

    ほかには、サービスを指定するようなものはございません。

    | kazu | EMAIL | URL | 2010/04/01 08:52 AM | F7H0FdmY |

    お使いのライブラリーの仕様がわかりませんが、OPPを提供しているRFCOMMポート番号が取得できていないんじゃないかと思います。
    この役割は、SDPプロファイルが行います。
    ライブラリーで、サービス指定するパラメータありませんか?

    | オーナー | EMAIL | URL | 2010/04/01 07:47 AM | J1n8SG.6 |

    受信側の携帯では常にデータ受信を行っています。

    私はbackportライブラリを用いて現在開発を行っていますが、
    単にsocketのconnectを行うだけでは、既存携帯との接続は行えないのでしょうか?

    ちなみにこの例外は、connectを行ったときではなく、その後バイナリファイルをwriteするときに出てくる例外なのです。

    | kazu | EMAIL | URL | 2010/04/01 06:59 AM | P2JMTlcs |

    kazuさん

    エラーの内容的には、相手に接続できませんでしたという意味でよろしいかと思います。
    受信側の機器とペアリングが完了していないか or OPPを受信出来る状態になっていないことが原因です。
    一般的な携帯だと、受信する携帯側で、データを受信するみたいな動作をさせないと受信できません。
    受信する側の携帯のbluetoothメニューにデータ受信はありませんか?

    | オーナー | EMAIL | URL | 2010/03/31 11:44 PM | drlaGhbI |

    お久しぶりです。

    その節はありがとう御座いました。
    ファイルの送信方法についてはかなり情報も集まり、恐らくは問題ない部分まで来ることが出来ました。ありがとうございます。

    しかし、対処法の良く分からない例外などが出て困っています。
    "Transport endpoint is not connected"
    という例外をご存知でしょうか?

    どうも接続が確立されていないと出てくるらしいのですが、
    Android携帯をクライアントとして、既存携帯などと接続を試みるとどうもうまく接続が行われないようなのです。

    kazuyukiさんはこのような現象などご存じないでしょうか?
    よろしくお願いします。

    | kazu | EMAIL | URL | 2010/03/31 09:33 PM | P2JMTlcs |

    標準の機能で、OPPが提供されていないから、実装したんですけど・・・

    OPPはRFCOMMの上で動く、プロトコルですので、作ればできるということです。

    これ以上解説してもどうか?と思うので、実際に挑戦してみてください。

    | オーナー | EMAIL | URL | 2010/03/22 10:39 PM | drlaGhbI |

    Android1.6って基本的にOPPのプロファイルはないですよね?

    なんというか、ストリームで流すっていうのは、単純にHT-03A同士でしか成り立たないと考えていました。

    なので、OPPを実装するには、何か特別な送信方法を用いる必要があるのかと思っていたのですが・・・そういうわけではないのですか?

    | kazu | EMAIL | URL | 2010/03/22 08:02 PM | P2JMTlcs |

    Bluetoothのプログラム書いてみるとわかると思いますが、最終インターフェースは、InputStreamとOutputStreamになります。

    データとして、byte配列で送受信する形になります。

    何を気にしているのか?わかりませんが、機種依存性はないと思いますけど・・・
    反対に、あったら困りますけど・・・

    | オーナー | EMAIL | URL | 2010/03/22 07:38 PM | drlaGhbI |

    何から何までありがとうございます。

    最後に一つ。

    チャットだとメッセージをストリームで流すだけでしたが、
    kazuyukiさんもおっしゃられているように、バイアンリとなると厄介かと思います。

    このバイナリをバイト配列とかに変換してストリームで流すという方法なら思いついたのですが、これですとHT-03A同士でしか送受信できませんよね?

    やはり既存携帯と送受信するには、また一工夫が必要と言うことでしょうか?

    | kazu | EMAIL | URL | 2010/03/22 07:05 PM | P2JMTlcs |

    チャットアプリ作ったことあるんでしたら、作れると思いますよ。

    ただ、OBEXは、命令がバイナリなので、そこが厄介かもしれませんが、仕様さえ入手できれば、結構スムーズにいくかもしれません。

    頑張ってみてください。

    | オーナー | EMAIL | URL | 2010/03/22 06:14 PM | drlaGhbI |

    なるほど。

    NDKを使用しなくてもHT-03AでOPPを実装することが可能なことが分かっただけでもとても助かりました。

    ありがとうございます。

    チャットアプリなら趣味でも作ったりはしたのですが、さすがにファイル送信となるとかなり違ってくるようですね。

    | kazu | EMAIL | URL | 2010/03/22 05:45 PM | P2JMTlcs |

    Android 2.xであれば、標準のAPIだけでできますので、NDKは不要です。

    私自身、Android open source projectとかのソースを使っていませんし、OBEXってなんだろうか?と勉強しながら、実装しただけです。

    私は、TCPソケットを用いて、各種プロトコルを実装したことあるから、作れたのかもしれません。

    | オーナー | EMAIL | URL | 2010/03/22 05:08 PM | drlaGhbI |

    ちなみに私はAndroid open source projectなどから
    OPPのソースコードを落としたり、NDKを利用したりなどして、実装できないかを考えていたのですが・・・

    その辺は利用したりしたのでしょうか?

    | kazu | EMAIL | URL | 2010/03/22 03:13 PM | P2JMTlcs |

    ありがとうございます。

    気合がどの程度なのか分かりませんが・・・

    頑張ります。

    | kazu | EMAIL | URL | 2010/03/22 03:02 PM | P2JMTlcs |

    はじめまして

    Bluetooth OPPの実装方法ですが、私もかなり苦労したので、ヒントを差し上げます。

    OPPはRFCOMM上で実装されているので、IrOBEXのサブセットを実装すればできます。

    AndroidではRFCOMMのAPIが提供されているので、気合でなんとかなります。

    ご参考までに

    | オーナー | EMAIL | URL | 2010/03/22 12:22 PM | drlaGhbI |

    初めまして。

    早速DLして使わせてもらっています。なかなか使いやすくて非常にありがたいです。

    私も今同じようなアプリを趣味で作ろうと考えているのですが、OPPの実装方法がどうにもよくわかりません。

    もしよろしければどのように実装すればいいか教えていただけないでしょうか。

    よろしくおねがいします。

    | kazu | EMAIL | URL | 2010/03/21 07:43 PM | P2JMTlcs |

    コメントする








    トラックバックURL

    http://eguchi.jp/blognplus/tb.php?412

    トラックバック

    Polaroid PoGo CZJ-10011B

    目次 目次 バージョンと製造年月日 電源を入れる 写り 屋外写真 屋内写真 Bluetoothによる写真の転送 Android編 iPhone編 参考サイト コメント タグ ▲ ▼バージョンと...

    | 俺の基地 (PukiWiki/TrackBack 0.3) | 2010/06/25 12:29 PM |

     

    最新の記事 / トップ / ← Android Marketに『Bluetooth OPP PUT Lite』を公開しました。   Android Marketに、ボイスチェンジャーを公開しました。 →

    ナビゲーション


    コメント



    保留中コメント:0件

    トラックバック



    保留中トラックバック:0件