C# 如何接收蓝牙字符数据
公司买了个蓝牙吊秤,想将重量传到系统,我在网上找了一些资料,有以下一段代码:
设备是之前与蓝牙匹配了的,可以找到
蓝牙GUID也是正确的
但在接收数据时,在这句代码停住了,也不报其它错误
bluetoothClient = bluetoothListener.AcceptBluetoothClient();
应该是不能连接蓝牙
不知道有没有大神做过类似的程序,帮忙指点一二
感激不尽!!
BluetoothListener bluetoothListener ;
Thread listenThread;
BluetoothClient bluetoothClient = new BluetoothClient();
bool isConnected;
public bool OpenPort()
{
InTheHand.Net.Bluetooth.BluetoothRadio.PrimaryRadio.Mode = InTheHand.Net.Bluetooth.RadioMode.Connectable;
InTheHand.Net.Sockets.BluetoothClient cli = new InTheHand.Net.Sockets.BluetoothClient();
InTheHand.Net.Sockets.BluetoothDeviceInfo[] devices = cli.DiscoverDevices();
foreach (InTheHand.Net.Sockets.BluetoothDeviceInfo device in devices) //设备搜寻
{
device.Update();
device.Refresh();
if (device.DeviceName == "BF10-A")
{
this.textBox2.Text = "设备已找到";
break;
}
}
Thread ReceiveThread = new Thread(ReceiveData);
ReceiveThread.Start();
return true;
}
public void ReceiveData()
{
#region
try
{
Guid mGUID = Guid.Parse("00001101-0000-1000-8000-00805f9b34fb");
bluetoothListener = new BluetoothListener(mGUID);
bluetoothListener.Start();
bluetoothClient = bluetoothListener.AcceptBluetoothClient();
isConnected = true;
}
catch (Exception ex)
{
isConnected = false;
MessageBox.Show(ex.ToString());
}
while (isConnected)
{
string receive = string.Empty;
if (bluetoothClient == null)
{
break;
}
try
{
Stream peerStream = bluetoothClient.GetStream();
byte[] buffer = new byte[6];
peerStream.Read(buffer, 0, 6);
receive = Encoding.UTF8.GetString(buffer).ToString();
textBox1.Text = receive;
}
catch (System.Exception)
{
}
Thread.Sleep(100);
}
#endregion
}