我想接收来自HC-06设备到PC
的消息,我正在使用32feet library来管理蓝牙,但每当我尝试连接时,我都会遇到异常。
HC-06
使用SPP (Serial Port Profile)
,因此我们的想法是在设备管理器中使用虚拟COM端口。然后使用SerialPort
类进行通信。
System.Net.Sockets.SocketException(0x80004005):连接尝试 失败,因为关联方在a之后没有正确回应 一段时间,或建立的连接失败,因为连接 主机无法响应我的蓝牙 地址:at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress(socketAddress)at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)at InTheHand.Net.Bluetooth.Msft.SocketBluetoothClient.Connect(BluetoothEndPoint remoteEP)at InTheHand.Net.Sockets.BluetoothClient.Connect(BluetoothEndPoint remoteEP)....
C#
代码:string my_pin ="1234"; //default pin for HC-06 device
BluetoothAddress address = BluetoothAddress.Parse("201311111662"); //address of HC-06
BluetoothEndPoint ep = new BluetoothEndPoint(address, BluetoothService.SerialPort);
bool t = false;
BluetoothSecurity.PairRequest(address, my_pin);
BluetoothClient cli = new BluetoothClient();
cli.Connect(ep);
t = cli.Connected;
此外,我尝试使用RFCommProtocol
(服务类)而不是SerialPort
BluetoothEndPoint ep = new BluetoothEndPoint(address, BluetoothService.SerialPort);
但没有成功
要做一些测试,HC-06设备实际上是sendind消息我使用Realterm软件检查出来,我在终端COM8 PORT 8=\BthModem0
中分配波特率9600
并且消息出现在终端。
BthModem通过TDI接口将所有I / O和控制操作定向到RfComm
我错过了什么?我是否必须使用虚拟连接或其他内容以便获取HC-06
消息?