问题标签 [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 投票
4 回答
1784 浏览

python - 用于计算通过串行端口接收到的 2 个连续数据包之间的时间的 Python 脚本

我正在调试我的代码,我需要为此编写一个 python 脚本,该脚本可以读取通过蓝牙通过串口发送的数据并计算每个连续数据包之间经过的时间。我知道如何从串口读取数据,但我是在计算每个数据包之间的时间时遇到问题。

任何建议都会非常有帮助。

谢谢!

0 投票
1 回答
3086 浏览

python - pySerial 不适用于 Python3.2.2

我安装了 Python 3.2.2 的 32 位版本,并且想让 pySerial 包工作。我绝对安装了 pyWin32 包,但是当我尝试导入串行时,它仍然给我这个错误

有什么帮助吗?

0 投票
3 回答
4357 浏览

python - pyserial/python 和实时数据采集

我有一个红外摄像机/跟踪器,我通过串行端口与之通信。我目前正在使用 pyserial 模块来执行此操作。摄像机以 60 Hz 的速率更新被跟踪对象的位置。为了获得被跟踪对象的位置,我执行了一个 pyserial.write(),然后使用 pyserial.read(serialObj.inWaiting()) 监听传入的回复。收到回复/位置后,将重新进入 while 循环,依此类推。我的问题与这种方法的可靠性和速度有关。我需要计算机以至少 60Hz 的速率获取位置(然后该位置将通过 UDP 发送到实时操作系统)。这是 Pyserial/Python 能够做到的,还是我应该研究基于 C 的替代方法?

谢谢,卢克

0 投票
2 回答
13567 浏览

pyserial - pySerial 和读取二进制数据

当我与之通信的设备发送二进制数据时,我可以恢复大部分数据。但是,似乎总是有一些字节丢失,被非标准字符取代。例如,一个单独的输出如下所示:

句点和等号应该是十六进制格式的传统字节(我在另一个应用程序中确认了这一点)。其他时候我会得到其他奇怪的字符,例如')'或's'。这些字符通常出现在完全相同的位置(根据我传递给设备的命令而有所不同)。

我该如何解决这个问题?

0 投票
1 回答
1576 浏览

python - pySerial 接收为 ASCII 如何转换为整数?

我正在使用 pySerial 与 MSP430 模块通信。该模块通过串行传输,我正在使用 pySerial 读取(如 com.read(20) )。但是 pyserial 接收的类型是 ascii。因此,当我从 MSP430 发送 0x37 时,它会将其接收为“7”,然后将所有这些作为字符串提供给我,类似于 [0x37 0x1 0x37] 的“7☺7”。如何以我想要的相同数组格式检索我的数据。下一步是使用 pylab 绘制它。

0 投票
0 回答
2057 浏览

python - Pyserial 和握手

我正在尝试通过 rs232 使用 pyserial 和连接了完整引脚的电缆(例如单独的 RTS)进行通信

问题是,尽管将“xonxoff”和“rtscts”设置为 False,但只有当我将连接设备上的 RTS 线路设置为 1 时,通信才会执行。

另外我有一个简单的通用程序,它允许使用相同的电缆发送\接收数据而无需设置 RTS,我希望从 pyserial 中获得这种行为。

我知道我可以将 RTS 连接到 CTS(或类似的东西,不记得了)但有时它不适合..

谢谢!

0 投票
1 回答
5591 浏览

python - 绘图时使用 pySerial 读取实时值

所以这就是交易,我有一个模块通过串行端口以 9600 波特发送数据,我正在使用 matplotlib 实时绘制该数据。我写了这段代码

我得到 20 个字节,然后生成 10 个大字节(2 字节数据在传输时被拆分为两个 1 字节值)。但我只是注意到我没有从中获得实时值。如果这很重要,我在 Windows 7 Home Basic 上。

任何线索为什么会这样?

编辑

此外,每当我点击情节时,它就会挂起。

0 投票
4 回答
7208 浏览

python - PySerial 延迟从 Arduino 读取线

我正在使用带有基本“DigitalReadSerial”设置的arduino uno,如下所述:http: //arduino.cc/en/Tutorial/DigitalReadSerial

如果我使用 arduino IDE 附带的串行监视器,它会立即显示按下按钮后的任何更改。

这就是我在 pyserial 中想要的,0 或 1 取决于按钮是否被按下。(最终触发计时器)

只是为了测试它,我把它放在一起,不是最漂亮的,但它似乎读出了按钮状态,但有 20 秒的延迟。

有没有人有任何想法?

0 投票
1 回答
3701 浏览

python - 被动串口监视器

我正在使用 pyserial 打开两个端口,然后将我从另一个端口读取的内容写入每个端口。然后我有一个连接到这些端口之一的物理 com 端口和一个连接到另一个的虚拟 com 端口。虚拟 com 端口又连接到我的模拟器所连接的第二个虚拟 com 端口:

我可以看到通信在我的脚本中正确地进入和退出了 com 端口,但是由于硬件无法与模拟器正确通信,因此出现了一些问题。

我有一个旧的 c 应用程序,可以代替 Python 脚本运行,并且可以正常工作。然而,它写得真的很糟糕,我对修复它的所有错误没有真正的兴趣。所以我希望我可以用 python 脚本替换这个应用程序。我最终希望用时间戳记录通过端口的数据。

在这两种情况下,我都使用了正确的波特率,但是我似乎遗漏了一些东西。我应该在每个端口(例如 DTR)之间传输信号吗?pyserial 具有以下功能:

我对什么信号感兴趣?

编辑:

当我为每个端口轮询这些值时:

获取CTS(),获取DSR(),获取RI(),获取CD()

我得到:真,假,假,真 COM1 假,假,假,假 VCOM2

但是,我看到 CD 有时会变成假的。如何通过 VCOM2 将其传输出去,或者我需要这样做吗?

编辑:

这是我的代码。一旦通信开始,脚本就会锁定,我需要重新启动计算机以释放端口。我无法在 Windows 7 上杀死相关的 python 进程...

0 投票
1 回答
3387 浏览

modem - 如何在连接时通过 pySerial 与 3G 调制解调器通信?

我正在运行 Ubuntu 11.04 和 ZTE 3G 调制解调器。

调制解调器拨号WvDial

当调制解调器不使用时,WvDial我可以向调制解调器发送 AT 命令,并获取信号强度等信息:

但是当WvDial使用调制解调器时,/dev/ttyUSB0它被锁定,我无法查询它。我错过了一些明显的东西吗?有什么方法可以配置调制解调器,WvDial或 pyserial,以便在调制解调器连接时向调制解调器发送 AT 命令?