pyserial相关内容

Python/PySerial和CPU使用率

我已经创建了一个脚本来监视每半小时接收3-4行数据的串口的输出-该脚本运行良好,并捕获端口发出的所有数据,这在一天结束时才是重要的... 然而,让我头疼的是,对于一个仅仅监控单个串口的程序来说,CPU使用率似乎相当高,当该脚本运行时,1个核心将始终处于100%的使用率。 我基本上是在运行此问题中代码的修改版本:pyserial - How to Read Last Line Sent ..
发布时间:2022-06-16 13:55:04 Python

如何使用Python将字节数组发送到串口?

我正在开发一个应用程序,该应用程序需要使用pySerial模块将字节数组发送到串口。我已经成功地在Canopy中运行了代码来完成此操作: import serial ser = serial.Serial('/dev/ttyACM0', 9600, serial.EIGHTBITS, serial.PARITY_NONE, serial.STOPBITS_ONE) ser.write([4, ..
发布时间:2022-04-05 20:38:29 Python

用Arduino和PySerial回显一系列字节

我正在编写一个程序,使用PySerial向Arduino Uno发送一个10字节长的包(Arduino和我的计算机的代码如下所示)。代码的工作方式是,无论何时向Arduino发送字节包,它都会将字节回送到计算机。然后,主机(我的笔记本电脑)读取该数据,并将其打印到控制台(延迟100毫秒)。但是,当我运行代码时,它缓慢地打印出10个空字节b'',延迟超过100毫秒(更像是750毫秒)。在此之后,它的 ..
发布时间:2022-02-22 15:17:31 其他开发

为什么不在我的程序中写入pySerial?

所以我在我的Arduino Nano上设置了一个程序,它从串行端口读取单个字节,并根据收到的字节是1还是0打开LED。我在Serial监视器上和python3shell中使用pySerial彻底测试了这个程序,它工作得很好。但是当我有这样一个简单的程序时: import serial SERIAL = serial.Serial("COM4", 9600) SERIAL.write(b'1' ..
发布时间:2022-02-22 15:04:30 Python

使用 python 进行串行数据记录

简介: 我需要编写一个实时读取串行数据并将其写入文本文件的小程序.我在读取数据方面取得了一些进展,但我没有成功地将这些信息存储在新文件中. 这是我的代码: 从 __future__ 导入 print_function导入序列、时间、io、日期时间从串行导入串行addr = "COM1" ##串口读取数据baud = 9600 ##仪器的波特率ser = 序列号.序列号(端口 = 地址 ..
发布时间:2022-01-18 15:05:45 Python

在 python3 asyncio 中使用串口

我正在尝试,到目前为止,未能使用 python asyncio 访问串行端口. 我非常感谢在简单 fd 上使用新的 python 异步框架的任何提示. 干杯! 詹姆斯 解决方案 使用FD的另一种方式 导入异步导入序列号s = serial.Serial('/dev/pts/13', 9600)def test_serial():'''读取一行并打印.'''文字=“"味精 ..
发布时间:2022-01-18 14:59:46 Python

pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取?

我尝试用谷歌搜索,找不到答案,在这里搜索,找不到答案.有没有人研究过从线程 a 写入 Serial() 对象(pyserial)并从线程 b 进行阻塞读取是否是线程安全的? 我知道如何使用线程同步原语和线程安全数据结构,事实上我目前的这个程序形式有一个专用于在串行端口上读/写的线程,我使用线程安全数据结构来协调活动在应用程序中. 如果我可以从主线程写入串行端口(从不从中读取),并在第二 ..
发布时间:2022-01-18 14:58:45 Python

Pyserial 不能很好地使用虚拟端口

动机 我想开始学习如何使用 python 库 Pyserial.这似乎是一个非常好的图书馆,适用于很多人.我想在即将进行的项目中使用它,在该项目中我必须自动化串行通信. 环境 我正在运行 Ubuntu 15.04.我正在使用 Python 2.7. 设置虚拟端口 我目前没有可以通过串行端口与之通信的设备.我正在使用 socat 应用程序创建两个虚拟端口,它们通过波特率 ..
发布时间:2022-01-18 14:58:36 Python

带有pyserial(python串口)的二进制数据

pyserial 中的 serial.write() 方法似乎只发送字符串数据.我有像 [0xc0,0x04,0x00] 这样的数组,并且希望能够通过串口发送/接收它们?是否有任何单独的原始 I/O 方法? 我想我可能需要将数组更改为 ['\xc0','\x04','\x00'],但空字符可能会造成问题. 解决方案 您需要将数据转换为字符串 "\xc0\x04\x00" 空字符 ..
发布时间:2022-01-18 14:57:10 Python

linux env python中的usb自动检测

我在 python 中使用轮询命令(glob('/dev/tty[A-Za-z]*')) 以定期为我的应用程序检测连接到我的 linux pc 的 USB 设备.有什么方法可以检测自动连接的 USB 设备? 解决方案 我建议使用 libudev 并创建一个 udev 监控对象来检测热插拔设备.这里是您了解 libudev 及其监控功能的起点: https://www.freedesk ..
发布时间:2022-01-18 14:53:19 服务器开发

Python:如何知道串口设备事件,如键盘事件

嗨,我是 python 新手,我能够连接到串行端口设备 &想知道设备中发生了任何变化(如果在设备中按下任何按钮,我想捕捉事件)我该怎么做.在 python 中 pyHook 的帮助下,我能够找到键盘事件和鼠标事件调用函数“OnKeyboardEvent" &“OnMouseEvent"如何捕获任何串口设备事件.python OnSerailportdeviceEvent函数中有什么东西吗. ..
发布时间:2022-01-18 14:48:45 Python

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

我有一个系统,我发现串行端口的异常行为是我没想到的.我以前偶尔在使用 USB 转串口适配器时看到过这种情况,但现在我在本机串口上也看到过这种情况,而且频率要高得多. 系统设置为运行自动化测试,并且在我没有打开端口的情况下,将首先执行一些导致从串行设备输出大量数据的任务.设备也会自行重置.仅连接 tx/rx 线.没有流量控制. 这些任务完成后,测试件打开串口并立即失败,因为它得到了意外的 ..
发布时间:2022-01-18 14:43:33 服务器开发

pySerial write() 在 Python 解释器中工作正常,但不是 Python 脚本

最近,我正在尝试在 Arduino 上进行某种“灯光控制".我使用 Raspberry Pi 通过串行端口(USB 电缆)发送控制消息.这是 Arduino 代码: int redled = 12;int whiteled = 48;无效设置(){序列号.开始(9600);pinMode(红色,输出);pinMode(白化,输出);}无效循环(){如果(串行.可用()){字符 cmd = Ser ..
发布时间:2022-01-18 14:42:28 Python

尝试在 WinXP 上使用 pyserial 打开串行端口 ->“拒绝访问"

我正在尝试使用 python 和 pyserial 通过串行端口将数据发送到 hplc 泵.我在 linux(gentoo 衍生产品)下测试了电缆和泵,尽管它是 root 用户,但它工作得很好.现在我必须在 WinXP 机器上使用代码,在尝试打开端口时总是出现“拒绝访问"错误(我将参数调整为 COMxx 而不是 ttySxx,找到了端口).我试过电脑的串口,还有一个USB2Serial适配器.我听 ..
发布时间:2022-01-18 14:38:39 Python

Python 将字符串转换为字节

我正在尝试进行一些串行输入和输出操作,其中之一是将 8x8 阵列发送到外部设备 (Arduino).pySerial 库要求我发送的信息是一个字节.但是,在我的 python 代码中,8x8 矩阵由 类型组成.这是我的发送功能: 导入序列号导入矩阵宽度 = 8高度 = 8端口名称 = 'COM3'定义发送矩阵(矩阵):尝试:端口 = 串行.串行(端口名称,9600,超 ..
发布时间:2022-01-18 14:37:16 Python

一段时间后,使用 PySerial 从 Arduino 到 Raspberry Pi 的串行接收停止

我正在进行一个项目,我必须一次接收大约 25 个字符的数据才能在 Raspberry Pi 中处理它.这是生成我想从 Arduino 接收的一些数据的示例代码: char i =0;字符 a =0;字符 b=0;无效设置(){序列号.开始(9600);for(i=0;i 它会发送这样的一行 'lllldddddllldddd...' 这行是 25 个字符的长度.现在,我想用 Raspberry ..
发布时间:2022-01-18 14:37:10 Python

如何确保 Python while 循环需要特定的时间才能运行?

我正在使用 while 循环读取串行数据.但是,我无法控制采样率. 代码本身似乎需要 0.2 秒才能运行,所以我知道我不会比这更快.但我希望能够精确控制采样的速度. 我觉得我可以使用“睡眠"来做到这一点,但问题是循环本身在不同点可能需要更长的时间来读取(具体取决于通过串行数据传输的内容),所以代码必须弥补余额. 例如,假设我想每 1 秒采样一次,并且循环需要 0.2 秒到 0.3 ..
发布时间:2022-01-18 14:34:52 Python

Pyserial 缓冲区的填充速度比我读的快

我正在以 921600 的波特率通过串行从微控制器读取数据.我正在读取大量 ASCII csv 数据,由于它来得如此之快,因此缓冲区已被填满,其余的数据也已填满在我阅读之前迷路了.我知道我可以手动编辑 serialwin32 的 pyserial 源代码以增加缓冲区大小,但我想知道是否有其他方法? 我只能估计我将收到的数据量,但大约是 200kB 的数据量. 解决方案 有一个“接收缓 ..
发布时间:2022-01-18 14:34:04 Python