シリアルポート経由で通信する必要があります。2つのデバイスを介したBluetooth通信を許可するために今それをやろうとしていますが、どこにも行きません。
私はシリアル通信を可能にするアプリケーション (Bluetooth Explorer と呼ばれる) をデバイス上に持っており、ご参考までに Stonestreet One スタックを使用して Bluetooth 経由で送信されます :(
設定では、COM ポートが定義された「サービス」を作成できます。
そこで、次のコードを実行してみます (あるデバイスで Write を呼び出し、別のデバイスで Read を呼び出します)。BTExplorer をserialPort.Open()
実行するとペアリングアプリが起動します。その中で、使用したい「サービス」を選択します (シリアルポート 1)。
しかし、serialPort.ReadLine()
ハングアップし、二度と戻りません。(つまり、本当にハングします。アプリを強制終了するには、デバイスをウォーム ブートする必要があります。プロセスの終了/プロセスの強制終了は機能しません。)
参照用のコードは次のとおりです。
public void WriteSerial()
{
SerialPort serialPort = new SerialPort("COM4");
serialPort.Open();
serialPort.WriteLine("Hello To The Other Side");
serialPort.Close();
}
public void ReadSerial()
{
SerialPort serialPort = new SerialPort("COM4");
serialPort.Open();
string output = serialPort.ReadLine();
serialPort.Close();
MessageBox.Show(output);
}
private void btnWrite_Click(object sender, EventArgs e)
{
WriteSerial();
}
private void btnRead_Click(object sender, EventArgs e)
{
ReadSerial();
}
これを機能させる方法は?
MC70 デバイスで Windows Mobile 5 を使用しています。Bluetooth スタックは Stonestreet One です (残念ながら変更できません)。C# Compact Framework .NET 3.5 での開発