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许可下分发的。