问题标签 [pybluez]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
94 浏览

python - 如何在树莓派上建立“安全连接”蓝牙连接?

我对蓝牙编程比较陌生。我只是想通过手机与我的 PI 通信,目前我已经设法用 Blueterm 发送单个字符。使用教程 scrypt。

但我真正想做的是发送遥控命令,就好像它是一辆遥控车一样。

Blueterm 是唯一可以连接到 PI 的应用程序。我发现这是因为 Blueterm 允许不安全的连接。

但是我在弄清楚如何建立安全连接时遇到了一些困难。有人可以帮助我吗?或者也许知道解决方法?

0 投票
0 回答
1317 浏览

windows - 我无法在 PyCharm Windows 10 上安装 PyBluez

我有最后一个 PyCharm 版本,我使用 Python 3.6.1

当我尝试安装 PyBluez 0.22 时,我收到错误消息

这是我的错误详细信息:

我将非常感谢您的帮助!

0 投票
0 回答
759 浏览

python - PyBluez 列出保存的设备而不是检测附近的设备

PyBluez的第一个也是最基本的示例是“examples/simple/inquiry.py”,它被描述为“检测附近的蓝牙设备”。这正是我想做的——检测并列出附近的蓝牙设备。

但是,当我运行示例代码时:

我注意到

  1. 即使手机距离运行此脚本的笔记本电脑约 4 厘米,也未检测到我手机的蓝牙网络。
  2. 列出的 4 个蓝牙设备是已知的/与我的操作系统配对的 4 个,即使它们目前都不在我的 10 英里范围内。

所以,我想知道它为什么这样做以及如何让它真正扫描/列出附近的设备?

我在 Windows 7 和 Python 3.5 上

0 投票
1 回答
1044 浏览

python - ASCII 命令发送到蓝牙设备以使用 Python 接收数据

我想将 hex cmd (0X2A,0X0A,0X58) 从树莓派发送到我的另一个蓝牙接口设备 (Arduino) 以接收传感器数据。当我使用 server.send(0X2A,0X0A,0X58) 时。它不起作用。所以如何发送该请求 cmd 以从蓝牙接收数据。我已经配对了我的蓝牙设备。

0 投票
0 回答
201 浏览

python - Pybluez 树莓派

我正在研究 BLE 扫描仪的源代码以了解它并对其进行自定义。我遇到了一个找不到任何源代码或文档的函数。

蓝牙库中的功能是什么HCI_FILTER_NEW(),它是如何工作的?另外我在哪里可以找到它的源代码?

0 投票
1 回答
740 浏览

android - Android Bluetooth RFCOMM directly to Raspberry Pi without pairing

I need to make an application that communicates through an RFCOMM socket to a Raspberry Pi, without pairing. On the Android side, I have the MAC address of the RPi and I'm trying to connect to the server using this code:

UUID is the same as on the server-side, and i've also tried using the createInsecureRfcommSocket method.

On the Raspberry Pi side, I used the pybluez example of an rfcomm server(here is the example)

It once worked but I don't understand why it did or why it doesn't anymore, in the sense that when I tried to initiate the connection from the phone I got a pairing request on the Raspberry Pi without a pairing request on the phone, and the socket object on android had successfully connected.

Does anyone know what I am doing wrong, or any ideas that might help me, and is such a thing even feasible. Thanks in advance.

0 投票
1 回答
6068 浏览

python - 使用 Python 3 通过蓝牙发送消息

我目前正在尝试从 Python 3 向 Arduino(使用 HC-06)发送消息。我已设法建立连接,但似乎找不到发送消息的正确方法。

这是我用来设置连接的代码(我使用 PyBluez 进行蓝牙):

发送我正在尝试:

引发错误:“TypeError:期望字节缓冲区,得到str”。

也试过:

它还会引发错误:“TypeError: Expecting byte-buffer, got str”。

我试过很多其他的,比如“sock.send(2)”、“sock.send(b'2')”、bytearray、“sock.send(bytes(["2"]))”。基本上,我尝试发送的任何数据类型都需要另一个。

我已经设法通过我的 Android 手机上的蓝牙终端发送了我所有的命令(目前只有 1 个和 2 个),所以在 Arduino 网站上没有问题。

那里有很多指南,其中包含我无法复制的示例。谁能告诉我如何发送基本命令?我什至接近答案吗?

编辑: 我现在尝试了“sock.send("2".encode())”,它也抛出了一个错误:“TypeError: data must be string, was class 'bytes'”

使用另一个 ide 为我提供了有关错误的更具体信息:

袜子.发送(“2”): 警告(来自警告模块):文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/PyBluez-0.22-py3.6.egg/lightblue/_bluetoothsockets.py”,行737 Foundation.NSData.alloc().initWithBytes_length_(data, len(data)), UninitializedDeallocWarning: 泄漏 _NSPlaceholderData Traceback 类型的未初始化对象(最近一次调用最后):文件“”,第 1 行,在 sock.send("2 ") 文件 "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/PyBluez-0.22-py3.6.egg/bluetooth/osx.py",第 122 行,在发送返回self._sock.send(数据)文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/PyBluez-0.22-py3.6.egg/lightblue/_bluetoothsockets.py”,第 524 行,在发送结果 = self.__conn.write(writebuf[:sendbytecount]) 文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/PyBluez-0.22-py3.6.egg/lightblue/_bluetoothsockets.py”,第 737 行,写入Foundation.NSData.alloc().initWithBytes_length_(data, len(data)), TypeError: Expecting byte-buffer, got str

sock.send("2".encode()): Traceback (最近一次调用最后): 文件 "", 第 1 行, 在 sock.send("2".encode()) 文件 "/Library/Frameworks/Python. framework/Versions/3.6/lib/python3.6/site-packages/PyBluez-0.22-py3.6.egg/bluetooth/osx.py”,第 122 行,在发送返回 self._sock.send(data) 文件“/ Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/PyBluez-0.22-py3.6.egg/lightblue/_bluetoothsockets.py”,第 487 行,在发送中引发 TypeError(“数据必须是字符串,是 %s" % type(data)) TypeError: data must be string, was class 'bytes'

我开始怀疑图书馆了。在安装 PyBluez 时,我完全有可能做错了什么。我要看看它是否可以在我的 Raspberry Pi 3 上运行。

0 投票
1 回答
3190 浏览

python - 无法在 Python 3 (OSX) 中导入蓝牙

几周前我重新安装了 PyBluez,因为我无法使用基本功能。现在我什至无法将它导入 Python 3。

我无法通过 pip/pip3 安装 pybluez,但是我可以通过下载 Github 项目来安装它。我已经尝试更新它,我可以在网上找到所有关于问题的建议等等。

我很感激我能得到的任何帮助。

0 投票
1 回答
389 浏览

python - 使用 pip3 安装 pybluez

我正在尝试使用 pip3 安装 pybluez 包。但是当我写信给终端“pip3 install pybluez”时,我总是收到以下错误

命令“/usr/local/opt/python3/bin/python3.6 -u -c”导入setuptools,tokenize;file ='/private/var/folders/_r/vshyh8x51h59xl0nks7jtz280000gn/T/pip-build-2gek1vzy/pybluez/setup.py';f=getattr(tokenize, 'open', open)( file );code=f.read ().replace('\r\n', '\n');f.close();exec(compile(code, file , 'exec'))" install --record /var/folders/_r/vshyh8x51h59xl0nks7jtz280000gn /T/pip-jiy18qdr-record/install-record.txt --single-version-externally-managed --compile" 失败,错误代码 1 在 /private/var/folders/_r/vshyh8x51h59xl0nks7jtz280000gn/T/pip-build- 2gek1vzy/pybluez/

到目前为止,我只发现升级“setuptools”可能会有所帮助,但它没有。我还在我的 Mac 上安装了 xcode。那么有人有什么建议吗?

提前致谢!

0 投票
1 回答
653 浏览

android - Android 手机无法连接 PyBluez Server?

所以,我一直想做我自己的树莓派蓝牙音箱,我可以连接我的安卓手机并播放音乐。为此,我偶然发现了 Python 中的 PyBluez 库,发现我可以使用它来创建和宣传蓝牙服务。因此,为了测试我是否可以宣传一项服务并将我的手机连接到它,我编写了以下代码来尝试一下:

但是,虽然该服务确实显示了我的手机,但我只是不想连接到它。经过一番谷歌搜索,我已经完成了以下所有步骤来解决这个问题,但无济于事:

  1. /etc/bluetooth/main.conf 中的“DisablePlugins = pnat”
  2. 服务蓝牙重启
  3. hciconfig hci0 向上
  4. hciconfig hci0 sspmode 0
  5. hciconfig hci0 piscan
  6. sdptool 添加 SP

为了让我的手机正确连接到我的树莓派,我还需要做些什么吗?还是我缺少一个步骤?

谢谢!