pc-ble-driver 搭建环境
本文基于pc-ble-driver v4.1.1,介绍如何在Windows上搭建开发环境。 以前写过一个入门教程(链接),最近的版本更新改动很大,那篇文章中介绍的方法已经过时。我仍然建议预先读它,然后再看本文。 pc-ble-driver是什么 它是一个PC端的BLE开发平台。 我们在开发板中烧录一个中间层固件,通过PC给固件发指令,与外部BLE设备(比如手机或一个BLE从设备)进行通信。 PC端可以用C/C++、Python、Javascript 语言进行编程。本文介绍的方案是基于C语言。 pc-ble-driver 部署在github中,可以从该页面获得它的全部信息。 生成静态库文件 首先要安装Visual Studio 2019,它有多个开发语言,我们这里只需要C++。 安装好以后,我们能够打开VS的项目文件(.sln)和工程文件(.vcxproj),同时也得到了一个编译工具MSBuild.exe,它的路径应该在:C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe 然后安装cmake工具。 下载pc-ble-driver的源文件:https://github.com/NordicSemiconductor/pc-ble-driver/releases 页面中有多个选项: nrf-ble-driver-4.1.1-win_x86_32.zip nrf-ble-driver-4.1.1-win_x86_64.zip Source code (zip) Source code (tar.gz) 需要下载Source Code (zip)那一项。 将源文件解压到一个开发目录下,我这里是:C:\repo\pc-ble-driver-repos\pbd 开始之前需要明确我们要干什么! pc-ble-driver 在PC端实现了一个库,这个库可以调用softdevice,实现BLE的功能。我们写的代码直接调用这个库文件暴露的接口。 在上面的下载页面,下载nrf-ble-driver-4.1.1-win_x86_64.zip文件,里面就包含了这个库,理想情况是我们能够拿它直接使用,但奇怪的是我这里使用它的库会报错。无奈只能自己生成一个库来用。 所以我们的目标是,编译源文件,生成一个静态库文件(.lib)。 下载必要的第三方VC库: asio catch2 (只有一个catch.hpp文件) spdlog 将它们放在目录:C:\repo\pc-ble-driver-repos\pbd\ext 注意,官方页面上使用vcpkg来下载它们,还要设置一堆环境变量,把问题复杂化,这里我们直接下需要的库,不管vcpkg。 在pbd下面创建一个build文件夹: C:\repo\pc-ble-driver-repos\pbd\build。打开cmd窗口,cd到该文件夹,然后执行: 值得看一下各个参数: -DXXX表示增加一个变量,也可以通过设置环境变量的方式进行(有坑,不推荐) CONNECTIVITY_VERSION和NRF_BLE_DRIVER_VERISON 按实际版本进行配置,因为可能过几天又有新版本了 -G “Visual Studio … Read more