python包与radio shack的2200087万用表接口

driver2200087的Python项目详细描述


这是一个与Radio Shack的2200087万用表接口的Python包。

2200087是一个廉价的DMM,它支持在 一台计算机,但提供的代码仅支持Windows。这是一个python包 允许在Linux或Mac OSX上通过USB连接万用表。由于 radioshack没有提供任何串行规范,协议是相反的 由david dworken设计,只需观察dmm的输出。

serialDecoder模块和串行协议文档本质上是 对david dworken编写和维护的脚本进行了一些微调, 可在https://github.com/ddworken/2200087-Serial-Protocol.git

这个包包含serialDecoder模块的一个版本,稍微经过了重构 以允许将其导入到其他python脚本中。它还包括一个runner 包含一个扭曲协议的模块,用钩针包裹。这个模块应该 相对容易地包含到其他python脚本和应用程序中。

安装

这个包只在Python2.7中测试过。

可以使用pip从pypi安装此包:

$ pip install driver2200087

或者使用easy_install(仅限python 2.7):

$ easy_install driver2200087

用法

列出了独立用法in the documentation, 而且应该很容易理解。

serialDecoder模块也可以从python脚本中导入和使用, 以及documentation 可以帮助你以那种方式使用它。

但是,使用包的推荐方法是通过runner模块 它提供了。更简单的使用方式是在任何时候获取最新的可用值 必要的。在一个典型的python中使用这个包可以实现这一点的一个简短示例 申请将

from driver2200087 import runner

dmm = runner.InstInterface2200087()
dmm.connect()

# Other Application code
# ...
#
# And when the measurement is required :

if dmm.data_available() > 0:
    print dmm.latest_point()
else:
    raise Exception # Or pass, or retry, as per application requirements

# other application code
# ...

如果应用程序要求连续记录数据,则以下可能是 更好的方法

from driver2200087 import runner

dmm = runner.InstInterface2200087()
dmm.connect()
while True:
    if dmm.data_available() > 0:
        print dmm.next_point()

注意,在这个代码片段中,python解释器被 无限while循环。模块不要求这样做。只要 next_point()调用的频率足够高(10赫兹),您可以使用任何机制 你喜欢打电话。注意,dmm.data_available()必须是 在打电话之前由您的应用程序检查,或者您应该捕获 结果的例外。

以低于此频率进行调用将导致数据点丢失 当点缓冲区填满时-如果应用程序只调用 偶尔测量一下,你最好用数字万用表。最新的点() 相反。

例如,在更大的框架中使用runner模块 通过子类化提供的twisted协议,请参见the corresponding Tendril module。 在WIP中,Tendril模块还包括解析获得的 将数据点字符串转换为可用值。

下载和文档

获取此包源代码的最简单方法是克隆git存储库:

git clone https://github.com/chintal/driver2200087.git driver2200087

您可以像往常一样安装它,方法是:

python setup.py install

最新版本的文档可以在ReadTheDocs找到。

许可证

driver220087是在gplv2许可下分发的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java正则表达式匹配子字符串/字符在字符串中出现的次数   java使用来自其他模块的Springbean?   java如何创建简单报警应用程序中的列表项,该应用程序可以在安卓中“创建/编辑报警”设置屏幕   java如何让我的应用程序运行一段时间?   java“列表接口提供了两种有效插入和删除多个元素的方法”有人知道第二种方法是什么吗?   java代码层中的异常处理   java在比较字符串和null时显示异常   spring在Java(基本XSS)中对脚本相关HTML标记的错误中和   java每30秒在后台刷新一次Android应用程序以获取推送通知\   从JSON文件Java获取字符串   java Hibernate SessionFactory:如何在Tomcat中配置JNDI?   java无法访问应用程序中的h2数据库文件   java领域响应状态=400   java使用ajax在JSP中获取“request.setAttribute”属性