问题标签 [pyserial]

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 投票
1 回答
6292 浏览

linux - Linux打开设备时串口缓冲区不为空

我有一个系统,我看到串行端口的奇怪行为是我没想到的。我以前在使用 USB 转串口适配器时偶尔会看到这种情况,但现在我在本机串口上也看到了这种情况,而且频率要高得多。

该系统设置为运行自动化测试,并且将首先执行一些任务,这些任务会导致大量数据从串行设备输出,而我没有打开端口。设备也会自行重置。仅连接 tx/rx 线。没有流量控制。

完成这些任务后,测试件打开串行端口并立即失败,因为它得到了意外的响应。当我重现这一点时,我发现如果我在终端程序中打开串行端口,我会看到几千字节的旧数据(似乎是在端口关闭时发送的)立即被清除。一旦我关闭了这个程序,我就可以按预期运行测试。

什么可能导致这种情况发生?当设备关闭时,Linux 如何处理缓冲串行端口?如果我打开一个设备,让它发送输出,然后关闭它而不读取它,这会导致同样的问题吗?

0 投票
4 回答
54370 浏览

python - 有没有办法将 Python 代码“编译”到 Arduino(Uno)上?

我有一个带有Arduino Uno的机器人类型项目,长话短说,我正在尝试一些 AI 算法。但是,我需要使用NumPy / SciPy实现一些非常简单的高级矩阵算法,但它们在 C 或 C++ 中简直是一场噩梦。即使有图书馆,这也变得可笑了。

有什么办法可以在 Python 中完成这个项目吗?我想我听说过有关Mega具有此功能的一些信息,但我有一个 Uno,此时替换它不是一个选项(这会使项目倒退很多。)另外,我听说过一些有关使用 Python 进行通信的信息通过 USB 连接到 Arduino,但在运行时我无法插入 USB 电缆。我需要能够上传程序并完成它。

有什么选择吗,还是我刚刚走到了死胡同?

0 投票
5 回答
8868 浏览

python - PySerial 不与 Arduino 对话

我已经编写了一些代码来模拟我正在使用的一些硬件并将其上传到 Arduino 板上。此代码有效。我知道这一点,因为我得到了超级终端的预期响应。

但是,当我尝试使用 PySerial 连接时,连接不会出错,但我发送的命令没有得到响应。

为什么会这样?

Python代码

注意:Arduino 上的代码在对\r\n命令的响应结束时发回。

超级终端配置:

超级终端中的 COM4 配置

编辑

我发现如果我将超时时间增加到 10 秒并sp.readline()在发送任何内容之前添加一个,那么我会得到对这两个命令的响应。

PySerial 和 Arduino 或 USB RS-232 端口之间的硬件握手通常需要多长时间?

0 投票
0 回答
341 浏览

python - 需要将连接到调制解调器的串行端口连接到虚拟 com 端口

我需要能够连接到连接到调制解调器的原始串行连接。

调制解调器有一个 IP 地址和端口。

该程序适用于一个实例,但对于我需要的许可证数量来说很昂贵,我更愿意编写一些代码: http ://www.serial-port-redirector.com/

它将远程 ip 连接到本地虚拟 com 端口。

我认为应该可以使用 pyserial 做同样的事情,但我很难理解如何去做。

这个页面有一半解释它: http: //pyserial.sourceforge.net/examples.html#miniterm

但我还是迷路了。如果有人可以帮助我了解如何在 python 中使用 rfc2217,它会很震撼。

非常感谢!

+任何适用于 linux/windows 的东西都会很好。

0 投票
3 回答
5981 浏览

matplotlib - 使用 pyserial 和 matplotlib 进行实时绘图

我可以通过pyserial从串口设备捕获数据,此时我只能将数据导出到文本文件,文本文件的格式如下,它有3列

现在我想用matplotlib生成实时图有2个图(x,y)x,y是第二列和第三列,第一列,'>',没有数据的行可以删除

谢谢大家!

==============================

更新:今天,在遵循这些指南之后

http://www.blendtechnologies.com/realtime-plot-of-arduino-serial-data-using-python/231 http://eli.thegreenplace.net/2008/08/01/matplotlib-with-wxpython-guis pyserial - 如何读取从串行设备发送的最后一行

现在我可以使用线程进行绘图,但 eliben 说这个 Guis 每次只绘制单个值,这给我带来了很大的限制,因为我的目的是绘制 2 或 3 列,这里的代码是从 blendedtechnologies 修改的

这是串行处理程序:从线程导入线程

对我来说,我修改了这个部分,以便它可以获取我的第一列数据

并根据 GUI 文件上的这些功能生成图形

...................................................

所以我的下一个问题是如何实时抓取至少 2 列并将 2 列的数据传递给它可以生成 2 轴图形的 GUI。

0 投票
7 回答
29838 浏览

python - PySerial [错误 5] 访问被拒绝

我正在尝试用 Python 编写一个程序,该程序将循环以继续检查串行端口(COM4)并在从串行端口读取字符“1”时打印出一条消息。我想通过按一下按钮从 Arduino 小工具的串行端口发送“1”。

但是,当我尝试创建串行对象的实例时,出现错误“[错误 5]:访问被拒绝”。(它会在实例化时自动尝试打开,这是错误所在,从我从处理此问题的 PySerial 包中的文件中可以看到。)

我的代码:

但是,它永远不会超过“c = serial.Serial('COM4', 9600)。这就是错误弹出的地方。我该如何解决这个问题?

0 投票
3 回答
32973 浏览

python - 杀死引发设备或资源繁忙的进程:'/dev/ttyUSB0'?

我使用以下 Python 代码连接到我的 Arduino 板。

它通常可以工作,但是在重新启动后,其他一些进程必须以某种方式访问​​电路板,这给了我错误

serial.serialutil.SerialException:无法打开端口 /dev/ttyUSB0:[Errno 16] 设备或​​资源忙:'/dev/ttyUSB0'

拔出并重新插入 USB 插头时,我可以正常执行 Python 代码,而不会发生错误。如何避免任何其他进程阻塞端口?以及如何找出此错误的原因?

0 投票
1 回答
4081 浏览

python - 在 Mac 上使用 macports python (python27) 安装 pyserial 时遇到问题

我使用macports(在我的mac上)安装了py-serial,但它安装了python24而不是使用我现有的python27。

因此,如果使用安装了 macports py-serial 的 python24,那么我可以导入 py-serial

但我无法使用其中任何一个将其导入 python27

我收到这个错误

我确保我选择了正确的版本:

我尝试卸载并重新安装它仍然给出与上述相同的错误

我认为这是与我的 macports/python 相关的问题,而不是 py-serial。任何帮助表示赞赏。

0 投票
8 回答
105488 浏览

python - Python 2.7.2 的 pyserial

我是 Python 新手。根据互联网,我在收到此错误后正在寻找模块pyserial :

我首先尝试安装pywin32,它很顺利。但它似乎不包含pyserial。:-(

然后我找到了pyserial的单个模块安装程序,我无法安装它,它说它没有在注册表中找到python的路径。:-(

之后我在 python.org 上找到了这个模块,但我不知道该怎么做,它没有附带安装程序。:-(

如何在Windows 7 64上将 pyserial 添加到 Python (64) 2.7 ?

0 投票
1 回答
249 浏览

wxpython - 如何在捕获 pyserial 数据的基础上绘制新值

这个问题是使用 pyserial 和 matplotlib 进行实时绘图的下一个问题

现在我可以实时绘制数据,但我希望我的绘图必须从 y = 0 开始绘制,例如

这是我使用 pyserial 捕获的 var_y 变量

无论 var_y 如何变化,我的情节必须始终从 y = 0 开始