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第三方库


热门话题
HTTP标头的java InputStream未终止   java测试SpringWebListener   具有定义的替换编号Java的regex ReplaceAll   在java中使用contains()方法   java在选择查询中使用JoinColumn字段   具有用户的java Start-stop demon不是以给定用户启动   java glBufferData生成GL\u无效\u操作   java中循环代码的循环   Java位无符号移位(>>>>)会产生奇怪的结果   java HQL使用点分隔符从select获取结果   条纹、弹簧、玩耍(或?):使用哪种高性能Java框架?   广播接收机中的java停止服务   java回收器视图占据整个屏幕。不在上面显示我的UI元素   java使MySQL查询更快   java MappedByteBuffer查询   java递归算法问题