【おしえてください】Android実機とPC(Win7)をUSB接続し、データをソケット通信する方法

5,069 views
Skip to first unread message

honopapa

unread,
Sep 11, 2013, 10:00:11 PM9/11/13
to android-g...@googlegroups.com
こんにちはhonopapaと申します。

現在、件名にあるようにソケット通信を勉強中です。

環境
・Android実機とWindows7をUSB接続
・eclipseにてAndroidアプリとWin7用アプリ(Java)開発

状況
・Android実機(サーバ)にしてWin7(クライアント)からテキストデータのソケット送信はできたが受信がわからない

【質問1】
・Win7からAndroid実機へソケット送信した受信結果の返信

①Win7  (「Hello」テキスト)送信
②Android実機(toastにて「Hello」表示) ・・・ 〇
③Win7 へ 「Hello」来ましたの返信 ・・・ X わかりません

【質問2】
・Android実機からWin7へソケット送受信する方法

①Android実機  (「Hello」テキスト)送信 ・・・ X わかりません
②Win7 (「Hello」表示) ・・・ X わかりません
③Android実機 へ 「Hello」来ましたの返信 ・・・ X わかりません


ご教授のほどよろしくお願い致します。


以下、コードになります。(ネット上のサンプルをつぎはぎにしてます ^^;)

【Android実機用】

**************MainActivity.java*************************************************************

public class MainActivity extends Activity {

int port=9999;
private final MessageListener mMessageListener = new MessageListener(port) {
        @Override
        protected void onReceivedData(final String data) {
            Toast.makeText(getApplicationContext(), data, Toast.LENGTH_LONG).show();
          
        }
    };
 
    @Override
    public void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mMessageListener.start();
    }
}


************MessageListener.java***********************************************************

public abstract class MessageListener {
 
    private final int mPort;
 
    private final Handler mHandler;
 
    private final Runnable mAcceptTask = new Runnable() {
        public void run() {
            final ServerSocket serverSocket;
 
            try {
                serverSocket = new ServerSocket(mPort);
            } catch (final IOException e) {
                throw new RuntimeException(e);
            }
 
            final Socket socket;
            try {
                socket = serverSocket.accept();
            } catch (final IOException e) {
                throw new RuntimeException(e);
            } finally {
                try {
                    serverSocket.close();
                } catch (final IOException e) {
                    throw new RuntimeException(e);
                }
            }
 
            try {
           
                final InputStream inputStream = socket.getInputStream();
                final String data = readAllLine(inputStream);
 
                mHandler.post(new Runnable() {
                    public void run() {
                        onReceivedData(data);
                    }
                });
            } catch (final IOException e) {
                throw new RuntimeException(e);
            } finally {
                try {
                    socket.close();
                } catch (final IOException e) {
                    throw new RuntimeException(e);
                }
            }
        }
    };
 
    public MessageListenerBK(final int port) {
        mPort = port;
        mHandler = new Handler();
    }
 
    public void start() {
        Executors.newSingleThreadExecutor().execute(mAcceptTask);
    }
 
    protected abstract void onReceivedData(String data);
 
    private static String readAllLine(final InputStream inputStream) throws IOException {
        final BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
        final StringBuilder builder = new StringBuilder();
        String line;
        while ((line = reader.readLine()) != null) {
            builder.append(line);
        }
        return builder.toString();
    }
}


【Windwos7用】

public class Sample {
static int port=9999;
public static void main(String[] args) throws IOException {
try {
 Process p = new ProcessBuilder("cmd", "/C", "C:\\android-sdks\\platform-tools\\adb.exe forward tcp:"+ port +" tcp:" + port).start();
 BufferedReader br = new BufferedReader(new InputStreamReader(
   p.getErrorStream()));
 try {
  for (;;) {
   String line = br.readLine();
   if (line == null)
    break;
 
   throw new RuntimeException(line);
  }
 } finally {
  br.close();
 }
 
} catch (IOException e) {
e.printStackTrace();
}
try (final Socket socket = new Socket("localhost", port)) {
//--------------------
//送信する
//--------------------
final OutputStream outputStream = socket.getOutputStream();
final BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(outputStream));
           writer.append("Hello");
writer.flush();
}
}
}

Kazuyuki Eguchi

unread,
Sep 11, 2013, 11:13:57 PM9/11/13
to android-g...@googlegroups.com
こんにちは
江口です。

PC側で、受信出来たのか?送信できたのか?を確認する方法がわからないような感じに見えますので、まずは、Win7上で、サーバとクライアントを作って、動作するソースができてから、Android上に移植した方が良い結果が得られそうな気がします。

ちなみに、ソースをぱっと見たところ、Android側(サーバ側)は、返信するというロジックがないように見えますが・・・

JavaにおけるTCP通信をまずは理解するところから、勉強した方が良いと思われます。

以上、ご参考までに
Kazuyuki Eguchi


2013年9月12日 11:00 honopapa <yo.on.t...@gmail.com>:
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。

honopapa

unread,
Sep 12, 2013, 2:05:32 AM9/12/13
to android-g...@googlegroups.com
江口様

こんにちは。honopapaです。
早速のご回答ありがとうございます。

>ちなみに、ソースをぱっと見たところ、Android側(サーバ側)は、返信するというロジックがないように見えますが・・・ 
いろいろと返信するようにコードは書いてみたのですがうまくいかず・・・

>、まずは、Win7上で、サーバとクライアントを作って、動作するソースができてから、Android上に移植した方が良い結果が得られそうな気がします。 
Androidをメインに考えていたので、たしかにJavaでまず勉強してみます。

ひとつ気になるのというか勉強不足だと思うのですが教えてください。
android実機とPCをUSB接続し通信するには「adb forward」を行って接続するのはわかったのですが、
「adb forward」を1度行えば送受信できるということでしょうか?
それとも、送信用と受信用で「adb forward」を行うのでしょうか?

また、android実機とPCをUSB接続してソケット通信する場合は、android実機(サーバ)・Win7(クライアント)にしていますが
、逆のandroid実機(クライアント)・Win7(サーバ)にはできないのでしょうか?

いろいろ質問してすみません。ご存じでしたらご教授お願い致します。



2013年9月12日木曜日 12時13分57秒 UTC+9 Kazuyuki Eguchi:
> このグループから退会し、メールの受信を停止するには、android-group-japan+unsubscribe@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。

Kazuyuki Eguchi

unread,
Sep 12, 2013, 2:22:53 AM9/12/13
to android-g...@googlegroups.com
honopapaさん

江口です。

なるほど、やりたいことの要件なのですが、AndroidとWindows PCでUSB接続で通信したいということなのでしょうか?

USB接続じゃなくても、WiFiとかでも通信できますが、それではいけない事情があるのでしょうか?

adb経由してやる方が大変な感じがしますので・・・
adb経由だと、端末デバック状態にしないといけないですし・・・

私なら、USB接続のテザリングでPCと通信できるようにしますが・・・

以上、ご参考までに

Kazuyuki Eguchi


2013年9月12日 15:05 honopapa <yo.on.t...@gmail.com>:
>> > このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com
>> > にメールを送信します。
>> > このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
>> > http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
>> > その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。

honopapa

unread,
Sep 12, 2013, 2:58:15 AM9/12/13
to android-g...@googlegroups.com
江口さん

honopapaです。
またまた、早速のご回答ありがとうございます。

やりたいことですが、

閉じた(インターネット接続なし)ネットワークでサーバ・クライアントの環境があります。
そこで1台のPCとAndroid端末①を接続し、かつ、Android端末①とその他複数Android端末で接続してデータやり取りしようと考えています。

Android端末①とその他複数Android端末はBluetoothでデータやり取りしようと考えていて、こちらは何となくできました。
なのでPCとAndroid端末①もBluetooth接続をこころみたのですが、ディスクトップPCでBluetooth機能がなく、USBのBluetoothを購入して
こころみたのですがこれもダメで今にいたるところです。

江口さんでしたら、セキュリティを考えつつ閉じたネットワークでのデータのやり取りをする方法はどうしますか?


2013年9月12日木曜日 15時22分53秒 UTC+9 Kazuyuki Eguchi:
>> > このグループから退会し、メールの受信を停止するには、android-group-japan+unsubscribe@googlegroups.com
>> > にメールを送信します。
>> > このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
>> > http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
>> > その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-japan+unsubscribe@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。

Kazuyuki Eguchi

unread,
Sep 12, 2013, 3:06:14 AM9/12/13
to android-g...@googlegroups.com
honopapaさん

江口です。

インターネットを経由せずに、端末間通信を行いたいということですね。

Bluetoothでやりとりできることが確認できているのであれば、
PCはUSB Bluetoothドングルを刺して、Serial Port Profile通信(COMポート)でできると思いますよ。

私自身は、Bluetooth SPP通信で、ロボット動かしたり、PCとやりとりしたり
するプログラムを書きます。

以上、ご参考までに
--
Kazuyuki Eguchi

honopapa

unread,
Sep 12, 2013, 3:59:59 AM9/12/13
to android-g...@googlegroups.com
江口さん

honopapaです。

お返事ありがとうございます。

>PCはUSB Bluetoothドングルを刺して、Serial Port Profile通信(COMポート)でできると思いますよ。
Androidどうしはできたのですが、PCではCOMポートにアクセスできませんとなりできませんでした。

双方向から画像の転送とかはできました。

USB Bluetoothの物によってできないとかありますか?
ちなみにこちらを使っています



2013年9月12日木曜日 16時06分14秒 UTC+9 Kazuyuki Eguchi:

Kazuyuki Eguchi

unread,
Sep 12, 2013, 4:08:38 AM9/12/13
to android-g...@googlegroups.com
honopapaさん

江口です。

今どき、Bluetoothドングルで繋がらないということは聞かないですね。

まず、重要なのは、インターネットの通信と同じで、Bluetoothにも、
クライアント側なのか?サーバ側なのか?があると思います。

PCのBluetooth通信に不慣れであるということでしたら、
まずは、Androidをサーバ側としてして、Windows PCからAndroid端末に
接続に行くところから初めてみてはいかがでしょか?

もう、Android間で送受信できるアプリはお作りだと思いますので、まずは、Android側でサーバ側のアプリを起動した状態(SPP)で、PCからAndroid端末を検索して、ペアリングすると、仮想COMポートが追加されます。(Android側でSPPポート開けないと、仮想COMポートが追加されません)

TeraTermとかのソフトで、作られた仮想COMポートをオープンすると、Android端末に自動的に接続され、通信ができます。

以上、ご参考までに
Kazuyuki Eguchi


2013年9月12日 16:59 honopapa <yo.on.t...@gmail.com>:
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。

honopapa

unread,
Sep 12, 2013, 9:15:04 PM9/12/13
to android-g...@googlegroups.com
江口さん

honopapaです。

いつも丁寧なご回答ありがとうございます。

前回、TeraTermをいまいち理解してないでできないと思って断念したんですが
もうすこしがんばってみます。
また、接続できなかったらよろしくお願いいたします。


2013年9月12日木曜日 17時08分38秒 UTC+9 Kazuyuki Eguchi:
> このグループから退会し、メールの受信を停止するには、android-group-japan+unsubscribe@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。

ohisamallc

unread,
Sep 12, 2013, 10:16:47 PM9/12/13
to android-g...@googlegroups.com
山形のohisamaです。
山形は、曇りです。
がんばろう、東北。

興味あったんで、検証してみました。
xpからandroid
 androidにサーバー立てたのち、
 xpから見れました。
androidからxp
 xpでサーバー立てましたが
 androidからは、見えませんでした。
環境は、android1.6とxpです。
--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られて
います。

Kazuyuki Eguchi

unread,
Sep 12, 2013, 11:32:08 PM9/12/13
to android-g...@googlegroups.com
honopapaさん

TeraTerrnって一体とプログラムの関係性はなんだ?って感じですね。

たぶん、TCP/IPで通信するのと、シリアル通信の違いがわからないってことだと思います。

シリアル通信は、昔のパソコンには標準搭載されていたRS-232Cポートで通信する際に、これによくモデムという装置を繋いで、インターネットが流行り始めた時は、これでインターネットを接続をやっていましたが、現在は、ADSLや光になってEtherケーブルでインターネットをつなぐようになってしまいましたので、馴染みがないと思います。

TeraTermで、接続方法が2つあって、TCP/IPとシリアルがありますが、今回のSPPの仮想COMポートの場合は、シリアルを使って接続します。

TeraTermとPC側のプログラムの関係性がわからないと思いますので!

シリアル通信を使ったPC側のサンプルは
http://yamato-iphone.blogspot.jp/2012/06/blog-post.html
のが参考になるのではないか?と思います。

TCP/IPとは最初の接続作法が違うものの、データの送受信はInputStream,OutputStreamでやりとりすることがなんとなーくわかるかと思います。

以上、ご参考までに
--
Kazuyuki Eguchi


2013年9月13日 10:15 honopapa <yo.on.t...@gmail.com>:

honopapa

unread,
Sep 13, 2013, 12:44:53 AM9/13/13
to android-g...@googlegroups.com

ohisamaさん

honopapaです。

検証ありがとうございます。

> xpでサーバー立てましたが 
> androidからは、見えませんでした。

ちなみに、USB接続ですか、それともBluetooth接続ですか?

2013年9月13日金曜日 11時16分47秒 UTC+9 ohisama:
android-group-japan+unsub...@googlegroups.com にメールを送信します。
このグループに投稿するには、android-group-ja...@googlegroups.com にメールを

honopapa

unread,
Sep 13, 2013, 1:02:04 AM9/13/13
to android-g...@googlegroups.com
江口さん

honopapaです。

サンプルサイトありがとうございます。

サイトのようにJava(PC用サンプル)を実行すると

gnu.io.PortInUseException: Unknown Application
at gnu.io.CommPortIdentifier.open(CommPortIdentifier.java:467)
at com.taroid.sample.Sample.main(Sample.java:29) ←①
Error 0x1 at ..\rxtx\src\termios.c(901): ファンクションが間違っています。

とエラーになり①をクリックすると

// COMポートを開きます
 CommPort commPort = comID.open("SerialTestClass", 2000);


に飛び、調べてみるとポートが使われてるみない・・・


ポート部分のコードは以下になるんですが

// 使用するCOMポートを取得
 CommPortIdentifier comID = CommPortIdentifier.getPortIdentifier("COM1");
// COMポートを開きます
 CommPort commPort = comID.open("SerialTestClass", 2000);


TeraTermでシリアルポートの表示が

COM1:通信ポート
COM6:Bluetooth SPPドライバ
COM7:Bluetooth SPPドライバ

だったためCOM1にしてみたのですがいまいちわかりません。




2013年9月13日金曜日 12時32分08秒 UTC+9 Kazuyuki Eguchi:

Kazuyuki Eguchi

unread,
Sep 13, 2013, 1:09:01 AM9/13/13
to android-g...@googlegroups.com
honopapaさん

江口です。

頂いた情報を考察すると、
仮想COMポートは、COM6と、COM7ですね。

おそらく
COM6は、PCがクライアントとして接続する場合
COM7は、PCがサーバとして動作する際に利用するポート番号

なので、まずは、COM6でオープンしてみてください。
Android 端末に接続されると思います。

ちなみに、COM1は、PC本体にあるRS-232Cポートです。

Java のソースは、ライブラリの話がありますので、まずは、TeraTermで通信できるところから始めましょう!

以上、ご参考までに
Kazuyuki Eguchi


2013年9月13日 14:02 honopapa <yo.on.t...@gmail.com>:
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。

honopapa

unread,
Sep 13, 2013, 1:34:09 AM9/13/13
to android-g...@googlegroups.com
江口さん

honopapaです。

いつも丁寧なアドバイスありがとうございます。

サンプルサイトの前に

TeraTermで接続をすると

COM1:通信ポート  → 何もメッセージなし
COM6:Bluetooth SPPドライバ  → COM6は開けませんメッセージ
COM7:Bluetooth SPPドライバ  → COM7は開けませんメッセージ

となり、Bluetooth USBを抜いてみるとシリアルポートがなく(選択できない状態)
でしたのでCOM1なんだろうなと思っていました。

TeraTermさわりたてなもので・・・すみません教えてください


2013年9月13日金曜日 14時09分01秒 UTC+9 Kazuyuki Eguchi:
> このグループから退会し、メールの受信を停止するには、android-group-japan+unsubscribe@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。

Kazuyuki Eguchi

unread,
Sep 13, 2013, 2:17:01 AM9/13/13
to android-g...@googlegroups.com
honopapaさん

江口です。

TeraTermでCOM6を開く前に、Android側のアプリ起動していますか?
受信側が準備出来ていないと、接続することはできませんので・・・

COM6をオープンして、エラーが出る前の時間はどのくらいかかっていますか?
--
Kazuyuki Eguchi


2013年9月13日 14:34 honopapa <yo.on.t...@gmail.com>:
>> > このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com
>> > にメールを送信します。
>> > このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
>> > http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
>> > その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。

honopapa

unread,
Sep 13, 2013, 2:26:25 AM9/13/13
to android-g...@googlegroups.com
江口さん

honopapaです

サンプルサイトで紹介されていたBluetooth SPPアプリを起動してあります。
Connecting・・・
Bluetooth connect OK
と表示されているのでAndroid側は大丈夫?ですよね

>COM6をオープンして、エラーが出る前の時間はどのくらいかかっていますか? 

すぐに「COM6が開きません」となります。

Android側が問題あり?ですかね



2013年9月13日金曜日 15時17分01秒 UTC+9 Kazuyuki Eguchi:
>> > このグループから退会し、メールの受信を停止するには、android-group-japan+unsubscribe@googlegroups.com
>> > にメールを送信します。
>> > このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
>> > http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
>> > その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-japan+unsubscribe@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。

Kazuyuki Eguchi

unread,
Sep 13, 2013, 2:45:54 AM9/13/13
to android-g...@googlegroups.com
honopapaさん

ご自身のアプリではなく、Bluetooth SPPっていうアプリを使っているんですね。
これは、Android側がクライアントとして、動くアプリですので、もし、Android側は繋がっているようなので、COM7を開くと通信できるんじゃないですかね?

PC側もしくは、Android側のBluetoothマークが接続状態の表示になっていませんか?

以上、ご参考までに
Kazuyuki Eguchi


2013年9月13日 15:26 honopapa <yo.on.t...@gmail.com>:
>> >> > このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com
>> >> > にメールを送信します。
>> >> > このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
>> >> > http://groups.google.com/group/android-group-japan
>> >> > からこのグループにアクセスしてください。
>> >> > その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>> >
>> > --
>> > このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
>> >
>> > このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com
>> > にメールを送信します。
>> > このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
>> > http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
>> > その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。

honopapa

unread,
Sep 13, 2013, 4:17:51 AM9/13/13
to android-g...@googlegroups.com
江口さん

ずっとお付き合いいただきありがとうございます。


>ご自身のアプリではなく、Bluetooth SPPっていうアプリを使っているんですね。 

自分のアプリでやってもだめだったので、Bluetooth SPPでやってみようとしました。

>COM7を開くと通信できるんじゃないです

すぐに「COM7は開けません」となります。

ただ、

TeraTermを起動
「COM7は開けません」
Bluetooth SPPにて「test」送信
TeraTerm反応なし
Bluetooth SPP終了
Bluetoothシリアルポート
シリアルポート 接続が利用できません
とPCタスクバーよりメッセージがでました。

Bluetooth USBの問題ですかね?


2013年9月13日金曜日 15時45分54秒 UTC+9 Kazuyuki Eguchi:
>> >> > このグループから退会し、メールの受信を停止するには、android-group-japan+unsubscribe@googlegroups.com
>> >> > にメールを送信します。
>> >> > このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
>> >> > http://groups.google.com/group/android-group-japan
>> >> > からこのグループにアクセスしてください。
>> >> > その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>> >
>> > --
>> > このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
>> >
>> > このグループから退会し、メールの受信を停止するには、android-group-japan+unsubscribe@googlegroups.com
>> > にメールを送信します。
>> > このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
>> > http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
>> > その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-japan+unsubscribe@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。

Kazuyuki Eguchi

unread,
Sep 13, 2013, 4:49:54 AM9/13/13
to android-g...@googlegroups.com
江口です。

ここまで来たら、できるまで頑張りましょう!

Bluetoothスタックのソフトウェアの設定だと思いますので、参考までに
Windows 7のBluetooth標準スタックでの、SPP着信ポートの設定例の
画面キャプチャを添付します。

Bluetoothの設定で、同じような画面がないか?
確認してみてください。
130913-0001.png
130913-0002.png
130913-0003.png

honopapa

unread,
Sep 13, 2013, 10:23:08 AM9/13/13
to android-g...@googlegroups.com
江口さん

>ここまで来たら、できるまで頑張りましょう!
心強いお言葉本当にありがとうございます

添付した画像(無題.png)の様にCOMポートタブはあるのですが追加削除ができないようです

江口さんの添付画像はBluethoothUSBを一番初めに差した後にみてポートを追加したりしてみました
ただ、デバイスの表示が不安定(接続されたりされなかったり?)でした
BluetoothUSBに付属していたCDを入れてみました(ドライバインストールマニュアル付き)
そのソフトがCOM6、COM7を使用しているためにできないのかな(添付画像のように削除ボタンが使用できない)と思い、またドライバを削除して江口さんの画像のようにCOMポートを追加したりしたのですがダメでした。

このUSBがやはりダメなのでしょうか?


2013年9月13日金曜日 17時49分54秒 UTC+9 Kazuyuki Eguchi:
無題.png

Kazuyuki Eguchi

unread,
Sep 13, 2013, 10:31:11 AM9/13/13
to android-g...@googlegroups.com
こんばんは
江口です。

COMポートの削除ですが、ポート番号をクリックすると、削除ボタンが押せるようになりませんか?

ドングルが壊れているのではないか?という話ですが、他のサービス(例えば、画像転送とか)できていたのであれば、壊れてはいないと思います。

CSRというBluetoothスタックを使っているようなので、もし可能であれば、すべてのタブのキャプチャをいただければ、ここの設定じゃないか?とお伝えできるかもしれません。
--
Kazuyuki Eguchi

Kazuyuki Eguchi

unread,
Sep 13, 2013, 10:38:55 AM9/13/13
to android-g...@googlegroups.com
江口です。

もう一点、CSRのBluetoothスタックがうまくいかないのであれば、標準Bluetoothスタックにすれば、私の送ったスクリーンショットと同じ状態になるので、やってみる価値あります。

CSRのスタックのアンインストールは、これでいいのでしょうか?っていうURLそのままです。
http://qa.elecom.co.jp/faq_detail.html?id=4336&category=61

このページがまさに標準スタックでやってみてねということなので!

以上、ご参考までに
Kazuyuki Eguchi


2013年9月13日 23:31 Kazuyuki Eguchi <kazuyuk...@gmail.com>:

honopapa

unread,
Sep 14, 2013, 1:39:14 AM9/14/13
to android-g...@googlegroups.com
こんにちは
honopapaです

>COMポートの削除ですが、ポート番号をクリックすると、削除ボタンが押せるようになりませんか?
なりませんでした(添付画像無題6)

設定画像を添付してみました。

よろしくお願い致します

2013年9月13日金曜日 23時31分11秒 UTC+9 Kazuyuki Eguchi:
無題1.png
無題2.png
無題3.png
無題4.png
無題6.png
無題7.png
無題5.png

Kazuyuki Eguchi

unread,
Sep 14, 2013, 2:29:18 AM9/14/13
to android-g...@googlegroups.com
honopapaさん

江口です。

キャプチャ画面見てみました。
無題4のマイサービスの種類で、ちゃんとシリアルポートってありますので、使えるはずなんですけどね。これからのサービスの使用方法はこちらというリンクもあるので、押してみて、シリアルポートの説明になにか判るかもあるかもしれませんね。

画面キャプチャの中にペアリングしている機器の一覧がないので、それが気になっています。
COMポートが削除できないのは、仮想シリアルポートの設定はBluetoothデバイス一覧でデバイスを選択して、ゴニョゴニョするのではないか?と思います。

とはいえ、CSRのスタックはアンインストールして、Windows標準のBluetothマネージャーでできることをやった方がいいと思います。
そうすれば、私の検証したのと同等になると思いますので!

honopapa

unread,
Sep 14, 2013, 3:17:56 AM9/14/13
to android-g...@googlegroups.com
江口さん

honopapaです

>無題4のマイサービスの種類で、ちゃんとシリアルポートってありますので、使えるはずなんですけどね。これからのサービスの使用方法はこちらというリンクもあるので、押してみて、シリアルポートの説明になにか判るかもあるかもしれませんね。

無題8のように説明がありました。ですが、ペアリングしたデバイス無題9のようにシリアルポートがありません

端末はGalaxy S4を使用しているのですがそちらの何か設定?が必要とかですかね?

2013年9月14日土曜日 15時29分18秒 UTC+9 Kazuyuki Eguchi:
無題8.png
無題9.png

Kazuyuki Eguchi

unread,
Sep 14, 2013, 3:53:23 AM9/14/13
to android-g...@googlegroups.com, android-g...@googlegroups.com
江口です。

サービスが見つからないのは、Android側のアプリでSPPサーバとして動作させていないからです。

まずは、CSRのアプリをアンインストールしてやってみてください。


Kazuyuki Eguchi


--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com にメールを送信します。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。

http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
<無題8.png><無題9.png>

Kazuyuki Eguchi

unread,
Sep 14, 2013, 7:09:47 AM9/14/13
to android-g...@googlegroups.com
こんばんは
江口です。

そんなにうまくいかないものなのか?ということで、ロジテックのLBT-UAN04Cを買ってきました。

結論から言うと、これはハズレ商品ですね。

Windows標準Bluetoothスタックだと、PC側から接続しようとしないと、ペアリングできない。
ハード的要因か!?SPPがちゃんと動作しない。
CSR Harmonyも入れてみましたが、これでもダメでしたね。

色々と調べてみたら、このドングルで、SPP接続だめだったというブログも見つけました。

http://vrsk.livedoor.biz/archives/51876362.html

CSR Harmony使っている製品としてプリンストンの製品(中身が同じ可能性あるので)もあるようなので、これを避けた製品の選定をお薦めします。

以上、ご参考までに
Kazuyuki Eguchi


2013年9月14日 16:53 Kazuyuki Eguchi <kazuyuk...@gmail.com>:

honopapa

unread,
Sep 14, 2013, 8:52:21 AM9/14/13
to android-g...@googlegroups.com
江口さん

honopapaです。

わざわざ同じ製品を購入して試して頂き誠にありがとうございます。

同じ現象の方もいたのですね。すみません、早く気づいていればよかったです。

違う製品を購入して試してみます。

田代透

unread,
Sep 15, 2013, 1:59:00 AM9/15/13
to android-g...@googlegroups.com
 インターネット接続なしの閉じたネットワークであっても無線LANルーターを設置すれば閉じたネットワークに対してAndroidからWiFiでアクセス可能になります。
 そのほうがシンプルな構成になるのじゃないでしょうか。
 そうするとAndroid同士もBTで通信する必要もなくなりますが…


2013年9月14日 21:52 honopapa <yo.on.t...@gmail.com>:
--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com にメールを送信します。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。



--
--
Toru Tashiro
toru...@gmail.com

honopapa

unread,
Oct 7, 2013, 6:43:02 AM10/7/13
to android-g...@googlegroups.com
江口さん
honopapaです。

別のbluetooth usbを購入して1対1(android vs pc)の通信はできました。

pcをサーバにしてandroidを複数台接続してテキストをやりとりしようとしているのですが
うまくいきません。

以前教えていただいたbluetooth設定の着信comポートを1つ作成したのですが、ここがandroid端末分必要なのでしょうか?


2013年9月14日土曜日 21時52分21秒 UTC+9 honopapa:

Kazuyuki Eguchi

unread,
Oct 12, 2013, 12:11:04 AM10/12/13
to android-g...@googlegroups.com
honopapaさん

こんにちは
江口です。

1対1の通信ができるようになったようですね。
おめでとうございます。

COMポートは1対1の通信を前提したものなので、同時に複数の機器と通信したい場合は、複数本のSPP(もしくは、COM)ポートが必要になります。

どうやるのか?が、プログラマーの腕次第ではないか?と思いますので、色々と挑戦してみてください。
合わせて同時じゃなきゃいけないのか?も考えるのも手かと!

以上、ご参考までに
--
Kazuyuki Eguchi


2013年10月7日 19:43 honopapa <yo.on.t...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages