1

更新:これは「ペアリング」ではない可能性があります。これには、サービスを開始してポートにバインドする必要がある場合があります。ただし、このコードもそれを保存していません。アプリケーションを閉じた後もデバイスを保管する必要があります。

私は、WindowsMo​​bile6ハンドヘルドデバイスでZebraRW420に特に適したプログラムを構築しています。アプリケーションは、モバイルデバイスがCOM1上のプリンターとペアリングできるようにする必要があります。取得に非常に近いと思いますが、ペアリクエストを機能させることができません。

プリンタと通信でき、直接接続して印刷することで印刷することもできますが、モバイルデバイスを実際にペアリングすることはできません。null、、、、およびを含むピン"1"のバリエーションを試しました。何があっても、メソッドは常にfalseを返します。これが失敗する理由についての提案やアイデアはありますか?WM6 Bluetoothメニューにあるデバイスをペアリングできますが、アプリケーションではペアリングできません。"0000""1234"

プログラムがペアリングを試みていると表示すると、プリンターの小さな電球アイコンが点灯しますが、約5〜10秒後に失敗することに注意してください。

BluetoothSecurity.PairRequest(device, "1"))

追加情報:

このコードを使用して、Androidフォンと正常にペアリングしました。

次に、ログインしてZebraプリンターにPINを設定しました。ただし、ピンが正しい/プリンターに設定されていることがわかっている場合でも、このコードはプリンターとのペアリングに失敗します。


https://km.zebra.com/kb/index?page=answeropen&type=open&searchid=1336682809706&answerid=16777216&iqaction=5&url=https%3A%2F%2Fkm.zebra.com%2Fkb%2Findex%3Fpage%3Dcontent%26id%3DSO8031から%26actp%3Dsearch%26viewlocale%3Den_US&highlightinfo = 6292341,26,43#

Zebra Bluetooth対応のモバイルプリンタは、「スレーブ」デバイスのみです。プリンタは、有効な接続を確立しようとする「マスター」デバイスとペアリングします。マスターデバイスのみが接続を開始できるため、プリンターはペアリングデータを保存せず、その機能は常にマスターデバイスで実行されます。プリンターは一度に1つのマスターデバイスにのみ接続できますが、プリンターのペアリング情報を保存しているマスターデバイスは、再検出しなくてもプリンターへの接続を開始できます。

これは、InTheHand.Net BluetoothSecurity.PairRequestがこのタイプのペアリングでは機能しない可能性があることを意味していると思いますか?


WMハンドヘルドのBluetoothセクションの[デバイス]タブで、デバイスを追加できます。私は本質的にそれをする必要があります。そのリストにデバイスを登録してから、[COMポート]セクションでCOM1を使用するように設定する必要があります。私が使用しているアプリケーションは実際には印刷されません。唯一の目的は、他のアプリケーション用にプリンターを準備することです。

4

2 に答える 2

0

Zebraからの引用は、ペアリングは実際にはまったく必要ないため、聞こえます。アプリから印刷していますか?その場合は、SPPサービスに接続して、テキストを送信してください。

BluetoothAddress addr = ...
Guid serviceClass;
serviceClass = BluetoothService.SerialPort;
var ep = new BluetoothEndPoint(addr, serviceClass);
var cli = new BluetoothClient();
cli.Connect(ep);
Stream peerStream = cli.GetStream();
peerStream.Write ...

一般的なBluetoothデータ接続から)

于 2012-05-10T22:41:35.710 に答える
0

この方法でペアリングする前に、Zebra モバイル プリンタを適切に設定する必要があります。これが私がしたことです:

  • まず、プリンターで次のコマンドを実行しました。

.

! U1 setvar "bluetooth.authentication" "setpin"

! U1 getvar "bluetooth.authentication"

! U1 getvar "bluetooth.enable"

! U1 getvar "bluetooth.discoverable"

! U1 setvar "bluetooth.bluetooth_pin" "0000"

! U1 getvar "bluetooth.bluetooth_pin"
  • その後、このコードを含むアプリケーションは正常に実行されました。

.

int pair_req = 0;
try
{
    if (BluetoothSecurity.SetPin(device, "0000")) {
        while (status == false && pair_req < 3)
        {
            ++pair_req;
            status_box.Text = status_box.Text + '\n' + "Attempt " + pair_req.ToString();
            status_box.Update();


            if (BluetoothSecurity.PairRequest(device, "0000"))
            {
                status = true;
                client.Refresh();
                status_box.Text = "Paired Successfully.";
                status_box.Update();
                Thread.Sleep(5000);
            }
            else
            {
                status = false;

            }

        }
    }
}
catch (ArgumentNullException e)
{
    status_box.Text = "Pair failed.";
    status_box.Update();
    Thread.Sleep(5000);
}

status_box.Update();
Thread.Sleep(400);
于 2012-05-16T15:51:12.550 に答える