我在Windows 7中使用VS 2017编写了一个用于搜索BLE设备的hci工具。 我使用蓝牙CSR 4.0加密狗(已安装驱动程序并且运行良好)和BlueSoleil。
但是在BLE设备发布广告后,程序找不到它。我试图使用其他应用程序(例如lightblue)进行搜索,但BLE设备却可以找到。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using InTheHand.Net.Bluetooth;
using InTheHand.Net;
using InTheHand.Net.Sockets;
using System.Diagnostics;
using System.Net.Sockets;
namespace hcitool
{
partial class Program
{
static bool infoRatherThanName;
static BluetoothAddress _searchAddress;
static int Main(string[] args)
{
if (args.Length < 1)
{
Console.WriteLine("Please specify command.");
return 2;
}
var cmd = args[0];
switch (cmd)
{
case "name":
infoRatherThanName = false;
break;
case "info":
infoRatherThanName = true;
break;
//-
case "dev":
return ShowRadios();
//case "auth":
// return CauseAuth(GETADDRESS());
default:
throw new NotImplementedException("Command: '" + cmd +
"'");
}
if (args.Length < 2)
{
Console.WriteLine("Please specify device address.");
return 2;
}
var addrS = args[1];
_searchAddress = BluetoothAddress.Parse(addrS);
//
var dev = new BluetoothDeviceInfo(_searchAddress);
bool isInRange = GetCanConnectTo(dev);
if (isInRange)
{
PrintDevice(dev);
}
else
{
Console.WriteLine("Can't see that device.");
}
//
Console.WriteLine("simple");
return Simple();
//return Fancier();
}
当我使用“ hcitool.exe名称123456654321(BLE地址)”运行程序时,它显示:无法看到该设备。
GetCanConnectTo()的返回值为false,因此它表明:无法看到该设备。
我不知道如何使用我的代码连接到ble设备。