无法运行 python-bluez RFCOMM 服务器示例脚本

2024-01-29

我正在尝试在我的 Android 应用程序和 Raspberry Pi 3 之间建立蓝牙通信链接。我尝试在我的 Raspberry Pi 上使用 pybluez。我的问题是,当我尝试运行 pybluez 附带的示例代码(见下文)时,我收到以下错误消息:

Traceback (most recent call last):
  File "/usr/share/doc/python-bluez/examples/simple/rfcomm-server.py", line 20, in <module>
    profiles = [ SERIAL_PORT_PROFILE ],
  File "/usr/lib/python2.7/dist-packages/bluetooth/bluez.py", line 176, in advertise_service
    raise BluetoothError (str (e))
BluetoothError: (2, 'No such file or directory')

这是我试图运行的脚本:问题似乎出在advertise_service方法中......

# file: rfcomm-server.py
# auth: Albert Huang <[email protected] /cdn-cgi/l/email-protection>
# desc: simple demonstration of a server application that uses RFCOMM sockets
#
# $Id: rfcomm-server.py 518 2007-08-10 07:20:07Z albert $   


from bluetooth import *

server_sock=BluetoothSocket( RFCOMM )
server_sock.bind(("",PORT_ANY))
server_sock.listen(1)

port = server_sock.getsockname()[1]

uuid = "94f39d29-7d6d-437d-973b-fba39e49d4ee"

advertise_service( server_sock, "SampleServer",
                   service_id = uuid,
                   service_classes = [ uuid, SERIAL_PORT_CLASS ],
                   profiles = [ SERIAL_PORT_PROFILE ], 
#                   protocols = [ OBEX_UUID ] 
                    )

print "Waiting for connection on RFCOMM channel %d" % port

client_sock, client_info = server_sock.accept()
print "Accepted connection from ", client_info

try:
    while True:
        data = client_sock.recv(1024)
        if len(data) == 0: break
        print "received [%s]" % data
except IOError:
    pass

print "disconnected"

client_sock.close()
server_sock.close()
print "all done"

有趣的是,以下脚本工作完美,但我无法从 Android 连接,因为我无法在 Android 中为套接字设置端口等。

import bluetooth

server_sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )

port = 1
server_sock.bind(("",port))
server_sock.listen(1)

client_sock,address = server_sock.accept()
print("Accepted connection from ",address)

data = client_sock.recv(1024)
print("received [%s]" % data)

client_sock.close()
server_sock.close()

我收到官方示例脚本的错误消息可能是什么原因???我已经按照此处描述的步骤进行操作:https://stackoverflow.com/a/14827036/6149322 https://stackoverflow.com/a/14827036/6149322

感谢您的帮助!


这个问题可能很旧,但也许这对某人有帮助:我认为您根本没有安装所需的一切。为了让 pybluez 正常工作,你需要这两个包bluetooth and libbluetooth-dev.

sudo apt-get install bluetooth libbluetooth-dev
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法运行 python-bluez RFCOMM 服务器示例脚本 的相关文章

随机推荐

  • 从入口点动态选择在主机上运行 Docker 的用户 GUI 和 UID

    我有以下脚本作为我的 Dockerfile 和 Docker 映像的入口点 bin bash set e Setup permissions data dir var www html usermod u 1000 www data gro
  • Powershell 添加成员。添加一个 ArrayList 成员?

    Powershell add member 命令非常有用 我用它来向自定义对象添加属性 有时我将一个成员设置为一个数组来保存多个对象 是否可以将 ArrayList 添加为自定义对象的成员 想象一下文章列表具有属性 索引 标题 和 关键字
  • 定义 uint64_t 常量的最佳/正确方法

    constexpr auto v static cast
  • 使用 python requests 模块时发生 LocationValueError

    我一直使用 requests 包与网络交互 过去没有遇到任何问题 最近 当我使用一个大约一周没有使用的脚本时 我在执行例程时遇到了以下错误requests get call LocationValueError No host specif
  • 向 ASP MVC 操作添加基本身份验证

    我有一个 ASP MVC 应用程序 它使用它自己的自定义身份验证机制 但是 一个控制器中只有一项操作需要使用基本身份验证进行保护 这个想法是 当点击这个特定操作的 URL 时 浏览器会弹出基本身份验证对话框 然后我需要在操作本身中输入用户名
  • 无限的游戏背景

    我正在开发一个 Java 项目来模拟直升机在框架中的飞行 直升机使用箭头键在屏幕上移动 我希望直升机能够无限移动 即当直升机到达画面边缘时 背景应该向相反的方向移动 以具有无尽地形的效果 这是我到目前为止的代码 import java aw
  • C# 中服务器端文件大小的限制

    我目前正在 MVC4 中上传文件 但在我的控制器中 我尝试将文件大小限制为最大 4MB 但收到以下警告 comparison to integral constant is useless using Haacks http haacked
  • python Ghostscript不关闭输出文件

    我正在尝试将一页或多页的 PDF 文件转换为每页的图像 这很像在这里找到的问题 https stackoverflow com questions 331918 converting a pdf to a series of images
  • iOS 推送通知:找不到有效连接

    我正在尝试在本地解析服务器上设置推送通知 尝试发送推送时出现此错误 parse server push adapter APNS cannot find vaild connection for 9a86 21 每个安装设备令牌都会重复该错
  • 如何从 Ant 将参数传递给 Junit 测试?

    我在Ant下使用Junit执行Selenium测试 我的测试用例需要读取文件 其中包含测试数据 以完成数据驱动测试 我不介意在测试用例中嵌入文件名 但我想知道该文件所在的目录的名称 数据文件参数化存储在 build xml 文件中 将此类信
  • 从泛型函数中的枚举获取 rawValue

    2015 年 8 月 28 日更新 这将在 Swift 2 中得到解决 See Swift 编译器开发人员在 Twitter 上的回应 https twitter com evermeer status 636791736191320064
  • Arel:来自 Arel::SelectManager 的带有 join 的活动关系

    让我们有一个 Rails 4 2 x 应用程序 我们有两个表 posts 和authors 我们想使用 Arel 来获取由 name Karl 的作者撰写的帖子 在本例中 我们可以对 Active Record 连接感到满意 但这只是为了使
  • Azure 网站上的经典 ASP 网站,远程 mysql 数据库

    我已将一个经典的 asp 网站复制到新的 Azure 网站 并尝试让它连接到远程 MySQL 数据库 远程数据库未托管在 Azure 上 我收到一条内部服务器错误消息 详细日志似乎表明我的连接字符串存在问题 当前字符串设置如下 databa
  • WPF 应用程序仅是托管代码吗?

    我想在应用程序中使用 WPF 我想用C 写它 是否必须管理应用程序 我知道我可以将托管与非托管混合在一起 我想知道是否可以让整个应用程序不受管理 您可以轻松地使用非托管代码开发 99 的 WPF 应用程序 但使其 100 不受托管是相当困难
  • 如果字符串中的项目与列表中的项目匹配,则替换该项目

    我正在尝试从字符串中删除与列表匹配的单词 x How I Met Your Mother 7x17 HDTV LOL VTV Mon 20 Feb 2012 tags HDTV LOL VTV x264 DIMENSION XviD 720
  • CGImageSourceCreateWithURL 始终返回 NULL

    我需要在不加载或下载图像的情况下读取图像的属性 事实上 我已经实现了一个简单的方法 使用 CGImageSourceCreateWithUrl 来完成此任务 我的问题是它总是返回错误 因为似乎 imageSource 为空 那么我能做些什么
  • 有没有办法创建一个公共输出流对象以在控制台上打印并在 C++ 中打印到文件?

    我正在编写一个代码 必须在控制台上打印相同的数据并打印到文件中 有没有办法填充公共输出流对象 然后使用 cout 将其显示在控制台上 并使用 fstream 和 iostream 库将其导出到文件 当然 您只需创建一个合适的流缓冲区 它可能
  • 有没有办法为 Eclipse 工具提示添加延迟?

    我发现了本文 http eclipseone wordpress com 2010 08 24 configure tooltips in eclipse to only popup on request 关于使用 Shift 键在需要时弹
  • 膨胀类片段时出错

    我收到错误 Unable to start activity ComponentInfo de androidbuch activiti de androidbuch activiti task Activity android view
  • 无法运行 python-bluez RFCOMM 服务器示例脚本

    我正在尝试在我的 Android 应用程序和 Raspberry Pi 3 之间建立蓝牙通信链接 我尝试在我的 Raspberry Pi 上使用 pybluez 我的问题是 当我尝试运行 pybluez 附带的示例代码 见下文 时 我收到以