无法连接到已知的蓝牙设备
Trouble Connecting To Known Bluetooth Device
我正在使用 32Feet.Net 的示例(下面列出),为简洁起见删除了 using 语句。
static void Main(string[] args)
{
BluetoothClient client = new BluetoothClient();
BluetoothDeviceInfo device = null;
foreach (var dev in client.DiscoverDevices())
{
if (dev.DeviceName.Contains("moto g(6)"))
{
device = dev;
break;
}
}
client.Connect(device.DeviceAddress, BluetoothService.SerialPort);
client.Close();
}
第 client.Connect(device.DeviceAddress, BluetoothService.SerialPort);
行因此错误 {"The requested address is not valid in its context 601D914C50BF:0000110100001000800000805f9b34fb"}
而爆炸。
我在示例中唯一改变的是找到我的智能 phone,moto g6。我错过了什么?
在悬赏这个问题之前,我需要澄清一下,我也在寻找文档或使用台式计算机的示例 运行 Windows 10 能够从 iOS 或 Android 而无需在 Windows 中逐步使用内置蓝牙 10. 我想知道如何纠正错误。
我知道有命令行蓝牙,但在 gui 中单击一个按钮并使用 32Feet.net 传输文件会很好。
看起来问题是因为设备 https://archive.codeplex.com/?p=32feet
上的服务 运行
您确定您正在使用的设备具有 SerialPort 配置文件 运行?
此外,您能否尝试使用以下代码
private void BluetoothClientConnectCallback(IAsyncResult ar)
{
// Write your Call Back Code here
}
static void Main(string[] args)
{
BluetoothClient client = new BluetoothClient();
AllDevices = client.DiscoverDevicesInRange();
foreach (BluetoothDeviceInfo Device in AllDevices)
{
if (Device.DeviceName.Equals("moto g(6)"))
{
if (!client.Connected)
client = new BluetoothClient();
client.BeginConnect(Device.DeviceAddress, Device.InstalledServices[0], this.BluetoothClientConnectCallback, client);
break;
}
}
client.Close();
}
此外,您必须在连接前配对您的设备。检查 here
BluetoothSecurity.PairRequest(Device.DeviceAddress,"123456");
我正在使用 32Feet.Net 的示例(下面列出),为简洁起见删除了 using 语句。
static void Main(string[] args)
{
BluetoothClient client = new BluetoothClient();
BluetoothDeviceInfo device = null;
foreach (var dev in client.DiscoverDevices())
{
if (dev.DeviceName.Contains("moto g(6)"))
{
device = dev;
break;
}
}
client.Connect(device.DeviceAddress, BluetoothService.SerialPort);
client.Close();
}
第 client.Connect(device.DeviceAddress, BluetoothService.SerialPort);
行因此错误 {"The requested address is not valid in its context 601D914C50BF:0000110100001000800000805f9b34fb"}
而爆炸。
我在示例中唯一改变的是找到我的智能 phone,moto g6。我错过了什么?
在悬赏这个问题之前,我需要澄清一下,我也在寻找文档或使用台式计算机的示例 运行 Windows 10 能够从 iOS 或 Android 而无需在 Windows 中逐步使用内置蓝牙 10. 我想知道如何纠正错误。
我知道有命令行蓝牙,但在 gui 中单击一个按钮并使用 32Feet.net 传输文件会很好。
看起来问题是因为设备 https://archive.codeplex.com/?p=32feet
上的服务 运行您确定您正在使用的设备具有 SerialPort 配置文件 运行?
此外,您能否尝试使用以下代码
private void BluetoothClientConnectCallback(IAsyncResult ar)
{
// Write your Call Back Code here
}
static void Main(string[] args)
{
BluetoothClient client = new BluetoothClient();
AllDevices = client.DiscoverDevicesInRange();
foreach (BluetoothDeviceInfo Device in AllDevices)
{
if (Device.DeviceName.Equals("moto g(6)"))
{
if (!client.Connected)
client = new BluetoothClient();
client.BeginConnect(Device.DeviceAddress, Device.InstalledServices[0], this.BluetoothClientConnectCallback, client);
break;
}
}
client.Close();
}
此外,您必须在连接前配对您的设备。检查 here
BluetoothSecurity.PairRequest(Device.DeviceAddress,"123456");