window添加pybluez需要手动下载一些文件。
共计3步。请耐心~
2步配置完成,最后一部测试

**

1. 第一步,直接添加pybluez库

pip install pybluez==0.22
  • 如果出现报错:SDK——则需要安装VC编译器。想简单点的话,直接安装VS2019即可

  • 另外一个可能出现的报错就是(我忘记截图了):——需要手动更改一下文件名,即:

  • 在系统盘目录:C:\Program Files (x86)\Microsoft SDKs\Windows 下,有个文件夹(我的是v10.0A),更名为 v7.0A或者v6.0A即可(建议复制备份一下更妥)*

2. 第二步,下载pybluez的依赖文件

解压到相应环境目录之后,在目录中运行 Windows PowerShell。(具体方法见之前一个博客提到的方式:https://blog.csdn.net/tjb132/article/details/108704457)
输入命令:python setup.py install
一般情况下是没有问题的,但是有的电脑可能出现文件。比如,我台式电脑就可以,笔记本就死活有问题

pybluez的依赖资源见博客最后链接!

3. 第三步,调试

简单点,直接公开代码吧!
import bluetooth
from bluetooth.btcommon import BluetoothError
import timeclass DeviceConnector:TARGET_NAME =  "WIN-QK4S2AFOFSN" ##  "BIAO10214"TARGET_ADDRESS = NoneTARGET_PORT = 1SOCKET = Nonedef __init__(self):passdef getConnectionInstance(self):self.deviceDiscovery()if(DeviceConnector.TARGET_ADDRESS is not None):print('Device found!')self.connect_bluetooth_addr()return DeviceConnector.SOCKETelse:print('Could not find target bluetooth device nearby')def deviceDiscovery(self):tries=0try:nearby_devices = bluetooth.discover_devices(lookup_names = True, duration=5)while nearby_devices.__len__() == 0 and tries < 3:   #多次nearby_devices = bluetooth.discover_devices(lookup_names = True, duration=5)  ##查找。名称可见tries += 1time.sleep (2)print ('couldn\'t connect! trying again...')for bdaddr, name in nearby_devices:print(bdaddr,name)for bdaddr, name in nearby_devices:if bdaddr and name == DeviceConnector.TARGET_NAME:  ##查找目标DeviceConnector.TARGET_ADDRESS = bdaddr# DeviceConnector.TARGET_NAME = nameexcept BluetoothError as e:print ('bluetooth is off')def connect_bluetooth_addr(self):for i in range(1,5):time.sleep(1)sock = bluetooth.BluetoothSocket(bluetooth.RFCOMM)  #服务器协议选择try:sock.connect((DeviceConnector.TARGET_ADDRESS, 4)) # DeviceConnector.TARGET_PORT #连接目标sock.setblocking(False)  #阻塞data = '12345'sock.send( data.encode('utf-8') )DeviceConnector.SOCKET = sockprint('it has connected a device successfully')returnexcept BluetoothError as e:print('Could not connect to the device')DeviceConnector.SOCKET.close()return Nonedef createService(self,way=bluetooth.RFCOMM):server_sock = bluetooth.BluetoothSocket(way)  ## bluetooth.L2CAP     ## RFCOMM    ##server_sock.bind(('', 4))server_sock.listen(2)   #监听print('开始监听....................')while True:client_sock, address = server_sock.accept()  # 接受请求print("Accepted connection from ", address)while True:data = client_sock.recv(5)#等待接受数据。 数据长度为1(这个根据自己的情况任意改,只有接受够这么多长度的数据,才会结束这个语句)if not data:breakclient_sock.send(data) # 数据返回print("received [%s]" % data.decode('utf-8') )client_sock.close()  #连接关闭server_sock.close()bluez = DeviceConnector()
# bluez.getConnectionInstance()
bluez.createService()

最后值得一提的是,蓝牙通信跟网络socket通信相似,或者说基本一样。。。但是,如果用电脑跟手机配对的话就会比较麻烦。目前我还没有做出来!手机的配对不仅需要一个connect来激活主动连接,还需要相应的动态随机码。有经验的朋友欢迎留言指点我一下,谢谢啦~

最后:致谢 官方: https://github.com/pybluez/pybluez/blob/master/docs/install.rst

依赖的资源文件下载位置如图:

windows -python3.7-pybluez蓝牙通信记录相关推荐

  1. 树莓派 pybluez 蓝牙通信

    前言 这两天在搞树莓派蓝牙通信,发现里面的坑还真不少,在次记录一下,以备查询 安装 pybluez 我用的python3,现在差不多没人用Python2了吧- 首先需要安装 libbluetooth- ...

  2. Windows蓝牙通信的开发

    周四接到关于window上的蓝牙开发项目,预定时间在五天之内结束,但是五天的时间很快过去,还是没有做出来,只能搜到蓝牙设备,并且可以本地的蓝牙设备和远程的蓝牙设备,所以现在还在持续的更新中,所以用博客 ...

  3. Qt on Android 蓝牙通信开发

    版权声明:本文为MULTIBEANS ORG研发跟随文章,未经MLT ORG允许不得转载. 最近做项目,需要开发安卓应用,实现串口的收发,目测CH340G在安卓手机上非常麻烦,而且驱动都是Java版本 ...

  4. python 蓝牙开发_基于python实现蓝牙通信代码实例

    这篇文章主要介绍了基于python实现蓝牙通信代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 安装和示例 linux下安装 sudo apt ...

  5. android之普通蓝牙通信

    参考: https://www.cnblogs.com/demodashi/p/9436608.html https://www.android-doc.com/guide/topics/connec ...

  6. 无线蓝牙通信的c语言,蓝牙与C和winsock

    我发现在C中获取有关蓝牙通信的信息非常困难.具体来说,我想避免使用任何第三方库,我只想连接到已与我的计算机配对的设备. 设备已输入密码,可在我的设备和打印机下的"显示蓝牙设备"中找 ...

  7. java 蓝牙_PC平台上JAVA蓝牙通信实现方法

    什么是蓝牙 蓝牙,是一种支持设备短距离通信(一般10m内)的无线电技术,能在包括移动电话.PDA.无线耳机.笔记本电脑.相关外设等众多设备之间进行无线信息交换.利用"蓝牙"技术,能 ...

  8. java实现蓝牙通信程序_Android蓝牙通信聊天实现发送和接受功能

    很不错的蓝牙通信demo实现发送和接受功能,就用了两个类就实现了,具体内容如下 说下思路把 主要有两个类主界面类和 蓝牙聊天服务类. 首先创建线程 实际上就是创建BluetoothChatServic ...

  9. Winform BLE 蓝牙通信

    在网上找了很多资料关于Winform如何使用电脑自带蓝牙与设备(手机.仪器.工具.3C电器等等)的低功耗蓝牙(BLE)进行通信的示例,找了很久都没有一个完整的解决方案,最近终于经过自己的不断研究实现了 ...

最新文章

  1. java/android 设计模式学习笔记(1)--- 单例模式
  2. Cacti/Nagios监控系统应用场景
  3. 在 2016 年做 PHP 开发是一种什么样的体验?
  4. mfc 饼图绘画_每周推荐|江南百景图放置类佛系游戏,慢慢玩才是乐趣
  5. 记下来 Spring 装配 Bean 的三种方式
  6. Qt/QML 窗口阴影边框实现
  7. 顺序表的插入删除查找遍历
  8. 计算机专业的求职信英文作文,计算机专业本科英文求职信范文
  9. MS Script Control的 COM
  10. 技术优点_波纹管内衬管制造技术及优点
  11. 在线问诊、找科室、找医生、查疾病、图文问诊、电话急诊、健康咨询、问诊平台、咨询平台、问诊服务、语音问诊、开药问诊、看病平台、在线医疗、健康平台、登录注册、信息架构图、全局说明、组件规范、需求清单、
  12. php 按key大小排序,PHP实现二维数组根据key进行排序的方法
  13. vim的几个常用操作
  14. Redis Desktop Manager for Mac(Redis桌面管理工具)
  15. 在AspNetCore中json序列化日期格式自定义
  16. Android -- 闹钟服务的使用(单次闹钟)
  17. 深海迷航坐标传送代码_深海迷航全资源坐标一览 美丽水世界坐标位置介绍
  18. argparse模块中的参数action、dest使用
  19. 【一步教学,一步到位】拼多多社招三面多久给结果
  20. B2C电商项目(第十五天、秒杀后端、异步下单、防止恶意刷单、防止重复秒杀、下单接口隐藏、下单接口限流 )

热门文章

  1. Tiva单片机——简易示波器(UART串口屏)
  2. L2-018 多项式A除以B (25分)
  3. 浙江省计算机二级题库excel,浙江省计算机二级excel题目
  4. 语音助手鏖战“全双工”,车载会是一个好场景吗?
  5. AD7606时序分析与verilog HDL实现
  6. 主流AI开发平台浅析1-华为云AI开发平台ModelArts
  7. WRF与WPS的编译与安装
  8. Python数据可视化 Pyecharts 制作 Gauge 仪表盘
  9. 怎样辨别盗版windows 7
  10. Web API系列(三):添加接口详细说明及测试