背景介绍

最近在IoT蓝牙开发,项目内容大概是以树莓派作为网关,通过蓝牙控制设备。然而,因为开发使用的是树莓派3,性能非常有限,使用VSCode远程连接,并且开启Jupyter Notebook进行开发、测试经常会出现断联和死机,因此考虑需要在另外的机器先开发好,再进行移植到树莓派上。

然而,在Window上的蓝牙BLE完全是不一样的世界,并没有现成的GATTTool和hcitool使用,macOS情况也类似。虽然可以在Window下使用C#实现BLE连接以及macOS也有相应的库,但是这样又离项目原本的目标遥远了(完成后不能移植,树莓派上是基于linux及gatttool和hcitool基础的程序)。

同样的,我尝试了在开发机上安装Ubuntu,然后进行开发,这样是可行的。在Linux系统下,无论是x86还是arm,都支持gatttool和hcitool,所以在x86下完成的代码移植到树莓派上还是比较方便的。到这里,我突然想到,如果能把插在开发机上的USB蓝牙适配器转移到服务器上,然后在服务器上创建一个虚拟机,把USB蓝牙适配器直通给虚拟机,在虚拟机上进行开发,这样就更加方便了,无论使用原来的Window开发及还是macOS,都可以无缝连接。

PVE配置蓝牙直通

这里,以服务器安装好PVE系统,并且以USB蓝牙适配器CSR8510 A10为例介绍如何配置。

首先,我们需要进入PVE系统的,然后使用 qm 命令:

qm monitor 101 # 101 为VM id

接下来会进入qm交互模式,然后我们使用 info usbhost 查看当前连接的蓝牙设备:

qm > info usbhostBus 5, Addr 2, Port 2, Speed 12 Mb/sClass 00: USB device 0624:0248, USB Composite Device-0Bus 1, Addr 5, Port 3.1, Speed 12 Mb/sClass e0: USB device 0a12:0001, CSR8510 A10

可以看到,我们的蓝牙USB适配器在BUS 1,Port 3.1,这里我们需要记住这个位置,如我这里的位置,在配置中将写为 host=1-3.1

接下来,我们就修改配置文件,配置文件的位置在 /etc/pve/qemu-server/<VM_ID>.conf 其中 <VM_ID> 为虚拟机的编号

# 备份
cp /etc/pve/qemu-server/101.conf /etc/pve/qemu-server/101.conf_bak
vim /etc/pve/qemu-server/101.conf

在配置文件的最后添加一行:

usb0: host=1-3.1

完成后保存文件,接下来需要先关闭(重启未必成功,最后先关闭再启动)虚拟机,如果成功,我们就可以在pve管理界面上看到我们的usb设备:

完成后,我们可以进入系统安装蓝牙驱动:

sudo apt install bluetooth

安装完成后,重启虚拟机,可以使用 hciconfig 查看蓝牙是否可以成功杯识别:

hciconfig -ahci0:    Type: Primary  Bus: USBBD Address: xx:xx:xx:xx:xx:xx  ACL MTU: 310:10  SCO MTU: 64:8UP RUNNINGRX bytes:1641 acl:3 sco:0 events:88 errors:0TX bytes:2890 acl:2 sco:0 commands:82 errors:0Features: 0xff 0xff 0x8f 0xfe 0xdb 0xff 0x5b 0x87Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3Link policy: RSWITCH HOLD SNIFF PARKLink mode: SLAVE ACCEPTName: 'vm-dev'Class: 0x000000Service Classes: UnspecifiedDevice Class: Miscellaneous,HCI Version: 4.0 (0x6)  Revision: 0x22bbLMP Version: 4.0 (0x6)  Subversion: 0x22bbManufacturer: Cambridge Silicon Radio (10)

到这里,我们就已经完成好PVE蓝牙的直通配置了。

PVE使用USB蓝牙直通配置相关推荐

  1. 关于双网卡PVE:openwrt(LEDE) + win10直通核显+ DSM918+ 实现HDMI与声卡直通HTPC的解决方案!!

    关于PVE win10直通核显与HDMI声卡直通的解决方案 关于双网卡PVE:openwrt(LEDE) + win10直通核显+ DSM918+ 实现HDMI与声卡直通HTPC的解决方案!! 本人硬 ...

  2. kvm直通sata_基于KVM的SRIOV直通配置及性能测试

    SRIOV介绍.VF直通配置,以及包转发率性能测试 小慢哥的原创文章,欢迎转载 目录 ▪ 1. SRIOV介绍 ▪ 2. 环境说明 ▪ 3. 开启SRIOV ▪ 4. 生成VF ▪ 5. VF直通 ▪ ...

  3. ARM USB蓝牙,Bluez 移植。

    标题:USB 蓝牙适配器在ARM 开发板下的使用: 关键字: dbus,bluez-lib, bluez-utils, USB 蓝牙,ARM 正文: 1.我的操作环境是 主机:xp + VMware ...

  4. Linux下基于Bluez开发USB蓝牙SPP服务端

    由于是在linux上运行的,所以参考的bluez的代码,用C语言实现了蓝牙的Server端. 原理也很简单,在服务器端,通过命令添加SPP服务 前提是先安装好bluez,一般是安装好的,没安装的话可以 ...

  5. 蓝牙的配置以及蓝牙间的通信

    蓝牙的配置以及蓝牙间的通信 目录 蓝牙间的配置以及蓝牙间的通信 HC-06的AT指令配置 HC-05的AT指令配置 HC-05与HC-06之间的通信 HC-06(从机): HC-05(主机): HC- ...

  6. HC-05(ZS-040)蓝牙模块使用详情(蓝牙模块配置、手机蓝牙控制单片机、蓝牙与蓝牙之间的通信)含51、32程序

    HC-05是一款主从一体化的蓝牙模块,因此其使用起来比较方便,只需要进行简单的配置即可. 本文就手把手的介绍小白入手模块后如何使用. 对于模块使用:1.蓝牙配置→2.手机与蓝牙的传输→3.手机通过蓝牙 ...

  7. A10 JBM146 usb蓝牙模块调试心得

    1.首先A10 的kernel 没有把usb 蓝牙的驱动打开 配置内核支持Bluetooth, 1.1 make menuconfig [*] Networking support  ---> ...

  8. 虚拟机安装dpdk 惊醒测试吗_基于KVM的SRIOV直通配置及性能测试

    SRIOV介绍.VF直通配置,以及包转发率性能测试 小慢哥的原创文章,欢迎转载 目录 ▪ 1. SRIOV介绍 ▪ 2. 环境说明 ▪ 3. 开启SRIOV ▪ 4. 生成VF ▪ 5. VF直通 ▪ ...

  9. HC05主从一体化蓝牙模块配置

    HC05主从一体化蓝牙模块,可以配置为一个主蓝牙和一个从蓝牙,两个蓝牙之间实现互相通信.拿到蓝牙之后只需接VCC GND RX TX. 首先让蓝牙进入AT模式 先按住蓝牙上的微动开关,然后给蓝牙上电. ...

  10. AMD FM2+平台 PVE proxmox RX560D显卡直通

    硬件:昂达A88X主板,X4 840 cpu,技嘉RX560D显卡 重要提示:直通成功后,开启虚拟机直到进入系统,直通的显示器才会又画面!!! 1.修改/etc/default/grub文件 nano ...

最新文章

  1. Linux shell 学习笔记(15)— shell 正则表达式
  2. netframework转core时文件响应流问题
  3. 关于 Java 对象序列化您不知道的 5 件事
  4. maven springboot 除去指定的jar包_1. Spring Boot概述
  5. Docker的网络模式和跨主机通信
  6. Bootstrap 禁用某个菜单项
  7. 小鹏P7将上线新一代AI语音:无限接近人类、带情感、会调侃
  8. 浅谈python爬取数字书苑图书
  9. 教你用MSChart控件绘制正态分布图形
  10. python alpha_python 给图像添加透明度(alpha通道)
  11. RTSP支持MPEG-4格式监控
  12. 移动APP测试中的功能与非功能测试
  13. 前端自检梳理——Vue.js项目实战开发
  14. python读取EXCEL的方式
  15. JVM(1)之JVM的组成详解(字符串常量池+双亲委派机制+JIT即时编译......)
  16. uniapp 实现人脸认证
  17. HQChart使用教程29-走势图如何对接第3方数据4-叠加股票分时数据
  18. 20P46 Premiere预设800种干扰缩放平移旋转分割拉伸全景透视扭曲炫光视频无缝转场
  19. mybatis+servlet
  20. hadoop主节点(NameNode)备份策略以、恢复方法、操作步骤

热门文章

  1. ios- 音乐播放器(1)
  2. 优动漫PAINT上色小技巧——套索填充功能教程
  3. GitHub账号注册教程
  4. android ProgressBar自定义半圆形进度条
  5. 细节复盘2 (图片放足够大高斯模糊< style > scopedvue打开新的页面轮播图抖动的问题 translateZ、translateY、垂直水平居中)2020-8-1
  6. xml转PDF(xmlxslt-」fo-」pdf)_完整项目_CodingPark编程公园
  7. web开发视频教程,CSS颜色基本样式
  8. 目标客户画像_做营销时,如何做好目标用户群体画像?
  9. python学习笔记(八)传递任意数量的实参
  10. 微软软件开发技术二十年回顾