问题标签 [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.
python - 如何在树莓派上建立“安全连接”蓝牙连接?
我对蓝牙编程比较陌生。我只是想通过手机与我的 PI 通信,目前我已经设法用 Blueterm 发送单个字符。使用教程 scrypt。
但我真正想做的是发送遥控命令,就好像它是一辆遥控车一样。
Blueterm 是唯一可以连接到 PI 的应用程序。我发现这是因为 Blueterm 允许不安全的连接。
但是我在弄清楚如何建立安全连接时遇到了一些困难。有人可以帮助我吗?或者也许知道解决方法?
windows - 我无法在 PyCharm Windows 10 上安装 PyBluez
我有最后一个 PyCharm 版本,我使用 Python 3.6.1
当我尝试安装 PyBluez 0.22 时,我收到错误消息
这是我的错误详细信息:
我将非常感谢您的帮助!
python - PyBluez 列出保存的设备而不是检测附近的设备
PyBluez的第一个也是最基本的示例是“examples/simple/inquiry.py”,它被描述为“检测附近的蓝牙设备”。这正是我想做的——检测并列出附近的蓝牙设备。
但是,当我运行示例代码时:
我注意到
- 即使手机距离运行此脚本的笔记本电脑约 4 厘米,也未检测到我手机的蓝牙网络。
- 列出的 4 个蓝牙设备是已知的/与我的操作系统配对的 4 个,即使它们目前都不在我的 10 英里范围内。
所以,我想知道它为什么这样做以及如何让它真正扫描/列出附近的设备?
我在 Windows 7 和 Python 3.5 上
python - ASCII 命令发送到蓝牙设备以使用 Python 接收数据
我想将 hex cmd (0X2A,0X0A,0X58) 从树莓派发送到我的另一个蓝牙接口设备 (Arduino) 以接收传感器数据。当我使用 server.send(0X2A,0X0A,0X58) 时。它不起作用。所以如何发送该请求 cmd 以从蓝牙接收数据。我已经配对了我的蓝牙设备。
python - Pybluez 树莓派
我正在研究 BLE 扫描仪的源代码以了解它并对其进行自定义。我遇到了一个找不到任何源代码或文档的函数。
蓝牙库中的功能是什么HCI_FILTER_NEW()
,它是如何工作的?另外我在哪里可以找到它的源代码?
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.
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 上运行。
python - 无法在 Python 3 (OSX) 中导入蓝牙
几周前我重新安装了 PyBluez,因为我无法使用基本功能。现在我什至无法将它导入 Python 3。
我无法通过 pip/pip3 安装 pybluez,但是我可以通过下载 Github 项目来安装它。我已经尝试更新它,我可以在网上找到所有关于问题的建议等等。
我很感激我能得到的任何帮助。
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。那么有人有什么建议吗?
提前致谢!
android - Android 手机无法连接 PyBluez Server?
所以,我一直想做我自己的树莓派蓝牙音箱,我可以连接我的安卓手机并播放音乐。为此,我偶然发现了 Python 中的 PyBluez 库,发现我可以使用它来创建和宣传蓝牙服务。因此,为了测试我是否可以宣传一项服务并将我的手机连接到它,我编写了以下代码来尝试一下:
但是,虽然该服务确实显示了我的手机,但我只是不想连接到它。经过一番谷歌搜索,我已经完成了以下所有步骤来解决这个问题,但无济于事:
- /etc/bluetooth/main.conf 中的“DisablePlugins = pnat”
- 服务蓝牙重启
- hciconfig hci0 向上
- hciconfig hci0 sspmode 0
- hciconfig hci0 piscan
- sdptool 添加 SP
为了让我的手机正确连接到我的树莓派,我还需要做些什么吗?还是我缺少一个步骤?
谢谢!