Bluetooth Terminal
このアプリは、Android端末とBluetoothデバイスの間で、SPP(RFCOMM)を利用してシリアル通信する為のプログラムです。
データをアスキー形式又はバイナリ(16進数)形式で入力して、Bluetoothデバイスと送受信することが出来ます。
Android+Bluetoorh+Arduinoのような環境で、Bluetoothデバイスを自作する時に動作をテストする為に勉強を兼ねて作成してみました。
接続するBluetoothデバイスは、SPP(シリアルポートプロファイル)に対応している必要があります。
Android 端末同士では接続できません。
このアプリは電子工作等でBluetoothデバイスを作成するような方でなければ、利用価値はありません。
主な使い方
- Bluetoothデバイスから接続
アプリを起動すると、Android側は接続待機状態になります。
Bluetoothデバイス側がマスターで有れば、この状態でAndroidへ接続が可能です。
- Bluetoothデバイスに接続
メニューから接続を選択すると、ペアリング済みBluetoothデバイス一覧が表示されます。
この中から接続したいBluetoothデバイスを選択して接続を行います。

- 送受信表示
画面には、送受信のログが表示されます。
受信データは赤色
送信データは青色
で表示されます。
- データ送信
Bluetoothデバイスと接続後、画面下の文字入力欄に文字を入力して送信ボタンを押すと、データが送信されます。
ASCII表示モード時には入力した内容がそのまま送信されます。
HEX(16進数)表示モード時では入力文字を16進変換して送信します。HEX表示モード時に入力出来る文字は0-9A-Fのみです。その他の文字を入力すると送信に失敗します。
- ASCII表示/HEX表示のモード変更
画面上部の左端のボタンでて切り換えます。
ダウンロード & インストール
現在、Google Play(Android Market)にて公開中です。
|
|
更新履歴 & APK-FILE
| Version | Memo |
| Ver 3.1.0 (2012/4/26) | 接続時にSecure / Insecureの選択を追加(Android 2.3.3以降限定) |
| Ver 3.0.0 (2012/4/22) | Ver3 初公開 |
| Ver 2.1.2 (2012/2/17) | 自動スクロールの追加 |
| Ver 2.0.1 (2012/2/6) |
・データ受信時のバグの修正 |
| Ver 2.0.0 (2011/5/8) | Android 2.1以降向け 初公開 |
| Ver 1.01 (2011/5/8) | マニフェストでAndroid1.6専用の指定 |
| Ver 1.00 | Android 1.6用 初公開 |
Ver2でご寄付を頂いた方へ
誠に勝手ながら、Ver3ではアプリ内広告を採用させて頂き、アプリ内課金による寄付の募集は廃止致しました。
Ver2のアプリ内課金によりご寄付を頂いた方々へは、そのお礼としましてVer3の広告解除の手順をメールにて送信させて頂きました。
Google Checkoutに記載されているメールアドレス宛に既に送信済みですが、もしもメールが届いていない方がおられましたらご連絡下さい。
お手数をお掛けして申し訳ございませんが、何卒ご理解の程よろしくお願いいたします。




すみません、「Bluetooth Terminal」についてのコメントではないのですが、AndroidのBluetoothについての質問です。
当方、Android端末と他のBluetoothデバイスとの通信を行いたいと思っているのですが、うまく通信が行えません。
どのようにすれば通信できるのでしょうか?
「ソフトウェア技術ドキュメントを勝手に翻訳」というサイトのAndroidのBluetoothに関する記事(http://www.techdoctranslator.com/android/guide/bluetooth)を読んでみたのですが、Bluetoothで接続する場合、サーバーソケットとクライアントソケットを互いに生成して、ソケット通信のようなものを行うと記載されていました。
しかし、Android端末ではないBluetoothデバイスの場合、ソケットを生成する事が出来ないので、そこで行き詰ってしまいました。
この「Bluetooth Terminal」は、Android端末と他のBluetooth機器との通信を行っているようなので、今回質問させていただきました。
もしよろしければ、ご教授頂けると幸いです。
コメント有り難うございます。
内容からしますと、プログラムを組みたいと言うことなのでしょうか?
D.Oさんがどの程度の知識が有るのかが分からないとアドバイスが出来ないのですが・・・
基本的な質問なのですが、D.Oさんはandroidアプリの作り方はご存知ですか?
「勝手に翻訳」のサイトを見られて、実際にプログラムは組まれましたか?
返信が遅くなり、すみません。
説明不足ですみません。
はい、プログラムを組みたいという事です。
Buletoothデバイスをディスカバリするところまでは、実際に組んでみました。
自分は、Javaについて多少勉強し、最近Androidについて勉強し始めたところです。
実際の所、何をやりたいかというと、Android端末とBluetoothデバイスとの通信を行って、RSSI(受信電波強度)を取得したいと思っています。
その為、質問をさせていただきました。
ご回答いただけるなら、コメント欄を使わせていただくのも申し訳ないので、メールで連絡して頂いても結構です。
よろしくお願いします。
Buletoothデバイスをディスカバリするところまで組まれたと言うことは、androidプログラミングの知識は有るようですね。
失礼しました。
しかし、ごめんなさい、僕はRSSIの取得については知識が有りません。
Android端末でRSSIの取得が出来るのかどうかも分かりません。
ちなみに、対象のbluetoothデバイスはシリアルプロファイル対応なのでしょうか?
シリアルプロファイルに対応しているのであれば、公式のサンプルのbluetooth chatに挑戦されては如何でしょうか?
このサンプルを読めば、デバイスとの接続~通信の流れが良く分かると思います。
当然ながらandroid端末間だけでなく、シリアルプロファイルに対応したデバイスであればchat(通信)できます。
当アプリも、bluetooth chatを元に作っています。
>bluetooth chat
http://developer.android.com/intl/ja/resources/samples/BluetoothChat/index.html
>しかし、Android端末ではないBluetoothデバイスの場合、ソケットを生成する事が出来ないので、そこで行き詰ってしまいました。
android端末側でソケットを生成する時に指定するのは、ペアリング済みのbluetoothデバイスのアドレスです。
先のbluetooth chatの例で言うと、DeviceListActivityから返されるアドレスの文字列となります。
>DeviceListActivity
http://developer.android.com/intl/ja/resources/samples/BluetoothChat/src/com/example/android/BluetoothChat/DeviceListActivity.html
説明が下手で申し訳ありません。
あと、他の方の参考になるかもしれませんので、コメント欄を利用して頂ける方が、僕としては有りがたいです。
I am interested in your application “S2 Bluetooth Terminal”. Where can i download the app file ? The adroidpit market is not working with my android.
Many Thanks in advance.
Guenther
Hello,
I am very interested in your application, to learn more about BT Connection via SPP. Can you please send me the completed source Code or simple Text files with the needed names and position, so that I can look what I must make ? I have load your Files here from the page but i can’t open them in eclipse, I think because of the language.
Best Regards and many Thanks in Advance.
Olaf
BluetoothはHIM-C46A(http://www.himico.com/)、PICはPIC18F2550を使い、PIC-パソコン間で無線加速度計測をしています。
パソコンだけでなく、Android端末でも計測できるようにと考え、“S2 Bluetooth Terminal”を使ってみたところ、問題なくデータを送受信できました。“S2 Bluetooth Terminal”に機能を追加して、グラフ表示とデータ保存をしたく、EclipseによるAndroid開発環境を整え、BluetoothChatを参考に開発しようとしてるのですが、JAVAの扱いに慣れていなく、開発に難儀しております・・・。もし可能でしたら、開発の参考として、ソースを公開いただけないでしょうか?よろしくお願いいたしますm(__)m
Hello… Can you give me the source code of this project?
I am developed, a program that comunicate with android and arduino, and android with pc.
Thanks for your Atention
I am very interested to learn from your code. Could you please send me the source for Bluetooth Terminal. Regards, John.
Please share your code. You learnt from the expampe code and we would like to learn from what you added.
Please consider sharing.
Regards,
John.
Hello is it possible to get your terminal bluetooth source code? or at least the part that makes the translation between ascii and binary?
i need to send and recive binary. it would help a lot.
thk
Yaron
I don’t think this guy reads any of our comments?
Regards,
John.
Bluetooth Terminal を使って Arduino とのBluetoothによる接続が確認できました。Java は初心者なので助かりました。
コメントありがとうございます。
だいぶと昔に作ったアプリですが、利用して頂けて嬉しいです。
最近は高性能なbluetoothのターミナルアプリも出てきているようで、そろそろお役御免かもしれないなと思っていたところですが・・・
Bluetooth Terminalをマイコンから送信したデータを確認するtめに使わせていただいています。
マイコンからのデータをグラフ化したいと思い、androidのブログラミングに挑戦しました。
まず、手始めにEXCEL VBAとのシリアル通信を試しています。
WEBでの情報をたよりにBluetooth Chatの一部を変更してSPPを利用して通信するところまではできました。
けれども、文字コードが合わないので文字化けします。
Bluetooth Terminalを使う場合はエンコードの設定があるので、SJISにすれば問題ないのですが、 Bluetooth ChatをSJISに対応させるにはどこを変更したらよいか教えていただけないでしょうか?
よろしくお願いします。
コメントありがとうございます。
せっかくなので、ブログの記事にしてみました。
ご確認下さい。
http://side2.jp/2012/02/tips-convert-string-byte/
Bluetooth Chatにエンコードを対応させる場合、getBytes()を呼び出している所、new Stringしている所を探し出して修正すれば良いかと思います。