使用 Python 3 和终端检索蓝牙设备列表

离散番茄

在 Raspberry pi 中使用 Linux 终端时,我只需要使用 3 个命令即可检索该区域内支持蓝牙的设备列表。这些是按顺序执行的命令:

  • “须藤蓝牙”
  • “代理开启”
  • “扫一扫”

上面的最后一个命令将超时检索已扫描设备的列表。当我手动将它放入我的 raspberry pi 终端时,它可以工作(从这里找到 instrustions:Instruction Link

问题:如何使用标准 subprocess 模块将上述一系列命令转换为 Python 3 脚本?

我试过了:

import time
import subprocess

arguments = ["sudo", "bluetoothctl"] #to be able to access Bluetooth commands
output = subprocess.Popen(arguments, shell=True)
time.sleep(0.1)
arguments = ["agent", "on"]
output = subprocess.Popen(arguments, shell=True)
time.sleep(0.1)
arguments = ["scan", "on"]
output = subprocess.check_output(arguments, shell=True)
time.sleep(0.1)

print(output) #not even close huh.. yea..

如您所见,我对 Linux 终端命令和 subprocess 模块都很陌生。因此,非常感谢任何帮助和指导!


更新:我能够让我的第一个命令sudo bluetoothctl工作,因为它返回以前配对的设备列表。但是,当我执行下一个命令时,output = subprocess.Popen("agent on", shell=True)它会返回一条消息:/bin/sh: 1: agent: not found我如何让我的其他命令工作?

新代码:

import time
import subprocess

output = subprocess.Popen("sudo bluetoothctl", shell=True)
time.sleep(0.1)
output = subprocess.Popen("agent on", shell=True)
time.sleep(0.1)
output = subprocess.check_output("scan on", shell=True)
time.sleep(2)

终端吐出什么:

[NEW] Controller XX:XX:XX:XX:XX:XX raspberrypi [default]
[NEW] Device XX:XX:XX:XX:XX:XX Galaxy J3 Emerge
[bluetooth]# /bin/sh: 1: agent: not found
/bin/sh: 1: scan: not found
Traceback (most recent call last):
  File "/home/pi/pywork/test.py", line 9, in <module>
    output = subprocess.check_output("scan on", shell=True)
  File "/usr/lib/python3.5/subprocess.py", line 316, in check_output
    **kwargs).stdout
  File "/usr/lib/python3.5/subprocess.py", line 398, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command 'scan on' returned non-zero exit status 127

Process finished with exit code 1

关于如何使第二个命令起作用的任何想法?

达加奇

TLDR;

上面的问题与 的调用有关suprocess.check_output,带参数shell=True,您应该使用字符串而不是参数列表

这里有一些细节

更新:

我认为原因是它没有在同一个 shell 会话中调用,所以它没有找到代理。根据您要实现的目标,您应该使用相同的会话(例如在本例中)或使用像PyBluez这样的 python 库来控制蓝牙设备(我建议这样做

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Python和bleak库通知蓝牙GATT设备,但结果不稳定

来自分类Dev

使用 Python 3 在列表中查找索引

来自分类Dev

如何使用python 3拆分列表?

来自分类Dev

使用python3和selenium进行迭代和检索信息的问题

来自分类Dev

如何安装Python3模块,以便它们可以在终端和Pycharm中使用?

来自分类Dev

如何使用 Python3 和 Udisks2 以只读方式挂载设备?

来自分类Dev

在Linux上将Spyder与Python 2.7和Python 3结合使用

来自分类Dev

让Mayavi使用Python 3

来自分类Dev

在Python 3中使用urllib检索文件(资源)的标题

来自分类Dev

使用Python 3从Yahoo Finance网站检索股票信息

来自分类Dev

蓝牙-即使使用Python在Linux设备中也可以收听配对

来自分类Dev

使用理解列表的python 3 EAN13校验和类

来自分类Dev

使用python3从样式为列表和元组的txt文件中获取信息

来自分类Dev

使用python3从列表中删除停用词

来自分类Dev

如何使用python 3在列表上设置输入限制

来自分类Dev

使用 Python 3 基于列表删除 LXML 元素树

来自分类Dev

使用python boto3使用s3和cloudfront部署静态站点

来自分类Dev

Python:OSError:[Errno -9985]在Raspberry PI 3B +上使用Snowboy和SpeechRecognition时设备不可用

来自分类常见问题

如何使用Homebrew在Mac上安装Python 2和3?

来自分类Dev

使用Flask和Python 3测试文件上传

来自分类Dev

使用BeautifulSoup4和Python 3解析html表

来自分类Dev

使用tkinter,ttk和python3显示.gif图像

来自分类Dev

在python 2和3中使用`bytes`

来自分类Dev

在Python 3和tkinter中使用变量调用函数

来自分类Dev

使用python3和漂亮的汤解析论坛帖子

来自分类Dev

使用Python,GIR和GTK3编写指标

来自分类Dev

使用Python 3和Windows 7进行定时输入

来自分类Dev

使用python3和nltk从模块调用函数的问题

来自分类Dev

如何使用gio和python3获取文件图标

Related 相关文章

  1. 1

    使用Python和bleak库通知蓝牙GATT设备,但结果不稳定

  2. 2

    使用 Python 3 在列表中查找索引

  3. 3

    如何使用python 3拆分列表?

  4. 4

    使用python3和selenium进行迭代和检索信息的问题

  5. 5

    如何安装Python3模块,以便它们可以在终端和Pycharm中使用?

  6. 6

    如何使用 Python3 和 Udisks2 以只读方式挂载设备?

  7. 7

    在Linux上将Spyder与Python 2.7和Python 3结合使用

  8. 8

    让Mayavi使用Python 3

  9. 9

    在Python 3中使用urllib检索文件(资源)的标题

  10. 10

    使用Python 3从Yahoo Finance网站检索股票信息

  11. 11

    蓝牙-即使使用Python在Linux设备中也可以收听配对

  12. 12

    使用理解列表的python 3 EAN13校验和类

  13. 13

    使用python3从样式为列表和元组的txt文件中获取信息

  14. 14

    使用python3从列表中删除停用词

  15. 15

    如何使用python 3在列表上设置输入限制

  16. 16

    使用 Python 3 基于列表删除 LXML 元素树

  17. 17

    使用python boto3使用s3和cloudfront部署静态站点

  18. 18

    Python:OSError:[Errno -9985]在Raspberry PI 3B +上使用Snowboy和SpeechRecognition时设备不可用

  19. 19

    如何使用Homebrew在Mac上安装Python 2和3?

  20. 20

    使用Flask和Python 3测试文件上传

  21. 21

    使用BeautifulSoup4和Python 3解析html表

  22. 22

    使用tkinter,ttk和python3显示.gif图像

  23. 23

    在python 2和3中使用`bytes`

  24. 24

    在Python 3和tkinter中使用变量调用函数

  25. 25

    使用python3和漂亮的汤解析论坛帖子

  26. 26

    使用Python,GIR和GTK3编写指标

  27. 27

    使用Python 3和Windows 7进行定时输入

  28. 28

    使用python3和nltk从模块调用函数的问题

  29. 29

    如何使用gio和python3获取文件图标

热门标签

归档