python - 通过 ascii 与 USB 设备通信
问题描述
我正在 Jupyter 笔记本中编写一些 python 脚本来连接用于施加电压和测量电流的 USB 设备。它是定制的,我所要做的就是它以 ASCII 响应。
我尝试了 pyserial,但没有运气,然后在 pyvisa 上取得了部分结果。但首先是一些上下文,该设备可以用 Tera 术语进行通信,但我正在尝试使用 python 自动收集数据。
总的来说,我可以向它发送命令并返回值。例如,如果我发送'n',它会显示'id# #of points used #average' tera term 'n' 例如。
到目前为止,在 Python 中,我的代码如下所示:
import numpy as np
import pyvisa as pyv
import time
import os
import sys
rm = pyv.ResourceManager()
# look for dev
rm.list_resources()
#get name
dev_id = rm.list_resources()[1]
#set up
dev = rm.open_resource(dev_id)
send = 'n'
for i in range(20):
print(dev.query_ascii_values(send,'s'))
当我尝试发送 'n' 时,它每隔一段时间就会返回并出错,当它确实捕获了这些值时,它并不是我所期望的整行。第一个“n”命令通常返回“#id > #average”,只有当它拾取时似乎会拾取平均值。 我的 send 'n' if 循环拾取的值。
我对此感到很困惑,制造该设备的人不知道python,而且我不知道任何其他编码语言。如果有人能指出我正确的方向,将不胜感激。
编辑1:
退货是什么?? 0\r\n
意思?设备不知道我在问什么?或者设备没有响应?
解决方案
推荐阅读
- ios - “使用 Apple 登录”是否允许应用向后兼容 iOS 12 及更低版本?
- php - Wordpress 一页网站使用 wp_is_mobile() 加载缓慢
- c# - 如何在 Unity 中使用力来校正角加速度
- gitlab - 托管 Gitlab:在 ~/public 页面上编辑预设文本
- typescript - 访问包含函数的初始化内部的类型属性
- php - Laravel 通过具有价值的中间表关联 2 个模型
- python - 如何返回每个字段/列只有一个值的结构化数组?
- algorithm - 以最少的分裂量在汽车之间分配人群的有效算法
- python - Pandas groupby 按特定标签获取总行数的百分比
- visual-studio-2019 - 你如何获得旧版本的 postsharp 的编译图像?