Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Windows笔记本电脑转换为iBeacon_Windows_Debugging_Testing_Ibeacon - Fatal编程技术网

将Windows笔记本电脑转换为iBeacon

将Windows笔记本电脑转换为iBeacon,windows,debugging,testing,ibeacon,Windows,Debugging,Testing,Ibeacon,我有一台装有蓝牙4.0的笔记本电脑,如果你愿意的话,也可以是低能耗的 出于测试目的,我想把这台Windows8笔记本电脑变成一台假iBeacon UUID/MajorID/MinorID,这样我就可以测试我编写的应用程序了 有没有软件可以用来广播信标?或者任何我可以(轻松地)自己编写的API或库 像这样,但对于Windows: 一个真正的iBeacon即将到来,但我希望在此期间已经做了一些测试。不幸的是,Windows 8无法作为一个BLE信标进行传输。虽然Windows 8.1确实有可扩展的A

我有一台装有蓝牙4.0的笔记本电脑,如果你愿意的话,也可以是低能耗的

出于测试目的,我想把这台Windows8笔记本电脑变成一台假iBeacon UUID/MajorID/MinorID,这样我就可以测试我编写的应用程序了

有没有软件可以用来广播信标?或者任何我可以(轻松地)自己编写的API或库

像这样,但对于Windows:


一个真正的iBeacon即将到来,但我希望在此期间已经做了一些测试。

不幸的是,Windows 8无法作为一个BLE信标进行传输。虽然Windows 8.1确实有可扩展的API,但它们只能在配对后用于与标准蓝牙配置文件设备通信。只有操作系统才能进行扫描和配对。这使得第三方应用程序无法扫描信标或传输信标。我们希望Windows9能改变这种情况

Windows上的另一种选择是安装VirtualBox等虚拟机软件,并使用Linux虚拟机进行传输。这里有一个免费的例子:


请注意,此示例免费传输知识产权广告。但修改虚拟机的altbeacon_传输脚本以传输任何其他信标格式是很简单的。您可以在此处看到变送器脚本的源代码:

因此,这是可能的,但您需要Windows 8中的Linux虚拟机。这里有一个小指南

步骤1:VirtualBox

  • 安装VirtualBox和VirtualBox扩展包,确保它们的版本相同
  • 创建新的UbuntuLinuxVM,安装Ubuntu安装CD,然后安装操作系统。我使用了服务器版,因为GUI是不必要的,会降低速度
  • 确保在虚拟机的设置中,USB 2.0控制器已打开,并且为蓝牙设备创建了一个过滤器
  • 然后启动虚拟机,在运行的虚拟机窗口中,启用共享蓝牙设备:菜单设备>USB设备>选择蓝牙设备
步骤2:Linux

运行:

在继续之前,最后一个命令应显示
正在运行

如果找不到
hci0
设备,则可能是VM usb筛选器设置不正确,或者您的设备正被Windows使用。我发现在Windows设备管理器中禁用和启用设备有助于VM识别它。当您启用从VirtualBox共享蓝牙设备时,当您选择“显示隐藏设备”时,设备管理器应显示灰色的蓝牙适配器

步骤3:汇编广播命令

  • 生成UUID:
    python-c'导入系统,UUID;sys.stdout.write(uuid.uuid4().hex)
  • 命令的格式为:
  • hcitool-i hci0 cmd 0x08 0x0008
  • 1E 02 01 1A FF
    (iBeacon特定标志)
  • 公司ID,
    4C00
    是苹果公司
  • 0215
    (iBeacon广告指示器)
  • UUID:16对2个十六进制数,用空格分隔
  • 专业ID:
    00
  • 未成年人身份证:
    00
  • 校准发射功率:
    C8 00
    ,或短路:
    C8
  • 您的命令应该如下所示,用您的UUID替换
    \uuuu

    sudo hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ 00 00 00 00 C8
    
    第4步:开始广播

    命令示例:

    sudo hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 63 6F 3F 8F 64 91 4B EE 95 F7 D8 CC 64 A8 63 B5 00 00 00 00 C8
    
    如果该命令成功,它将继续传输。抓起你的Android或iPhone设备,安装iBeacon定位应用程序,看看你是否能找到你的信标广播

    应用程序调试快乐

    信用证:很多想法都是从中窃取的。

    现在有一个名为的托管C#library,它正是这样做的

    sudo hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 63 6F 3F 8F 64 91 4B EE 95 F7 D8 CC 64 A8 63 B5 00 00 00 00 C8