gpt4 book ai didi

python - python中的蓝牙设备名称和对应的串口名称

转载 作者:可可西里 更新时间:2023-11-01 09:33:16 27 4
gpt4 key购买 nike

我有一个具有用户友好名称“Sensor1”的蓝牙设备。此设备使用 SPP 配置文件。为了让设备通过蓝牙开始数据流,我必须在与该设备对应的 COM 端口上写入 '10111011',如下所示:

ser = serial.Serial('COM5') 
ser.write('10111011')

问题是我不知道哪个 COM 端口对应于“Sensor1”。所以,我读取 Windows 注册表以获取设备名称:

import _winreg as reg
from itertools import count

key = reg.OpenKey(reg.HKEY_LOCAL_MACHINE, 'HARDWARE\\DEVICEMAP\\SERIALCOMM')
for i in count():
device, port = reg.EnumValue(key, i)[:2]
print "Device name \"%s\" found at %s" % (device, port)

我得到的是:

Device name \Device\Serial0 found at COM3
Device name \Device\BthModem16 found at COM4
Device name \Device\BthModem17 found at COM5

如何获取设备名称:

service = bluetooth.find_service()
print service["name"]

最佳答案

import bluetooth
decices = bluetooth.discover_devices()

使用以下库:https://pypi.python.org/pypi/PyBluez/
这里有一些很好的用法示例:https://people.csail.mit.edu/albert/bluez-intro/c212.html

如果您对使用额外的库不感兴趣,您可以随时尝试提取与 Windows 相关的发现功能,可在此处找到:https://github.com/karulis/pybluez/blob/2a22e61fb21c27b47898c2674662de65162b485f/bluetooth/widcomm.py#L109

关于python - python中的蓝牙设备名称和对应的串口名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33653377/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com