Skip to main content

This is a Python Package to interface with Radio Shack’s 2200087 Multimeter.

The 2200087 is an inexpensive DMM which supports logging and graphing data on a computer, but the supplied code only supports Windows. This is a python package to allow for connecting to the multimeter over USB on Linux or Mac OSX. Due to radioshack not supplying any serial specifications, the protocol was reverse engineered by David Dworken from simply observing the output of the DMM.

The serialDecoder module and the serial protocol documentation is essentially a slightly tweaked version of the script written and maintained by David Dworken, available at https://github.com/ddworken/2200087-Serial-Protocol.git

This package includes a version of the serialDecoder module, slightly refactored to allow it to be imported into other python scripts. It also includes a runner module which contains a Twisted protocol, wrapped by Crochet. This module should be relatively easier to include into other python scripts and applications.

Installation

This package has been tested only with python 2.7.

This package can be installed from pypi using pip:

$ pip install driver2200087

Or using easy_install (python 2.7 only):

$ easy_install driver2200087

Usage

Standalone usage is listed in the documentation, and should be fairly straightforward to follow.

The serialDecoder module can also be imported and used from within a python script, and the documentation can help you use it in that manner.

The recommended way for using the package, though, is through the runner module which it provides. The simpler form of use is to get the latest available value whenever necessary. A short example of how this can be done using this package in a typical python application would be

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
# ...

If the application calls for continuous recording of the data, the following is likely a better approach

from driver2200087 import runner

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

Note that in this code snippet, the python interpreter is blocked by the infinite while loop. This is not required by the module. As long as dmm.next_point() is called often enough (10 Hz), you can use whatever mechanism you like to actually make the call. Note that dmm.data_available() must be checked by your application before making the call, or you should trap the exception that results.

Making the call at less than this frequency will cause data points to be lost when the point buffer fills up - if your application only calls for the occasional measurement, you’re probably better off with dmm.latest_point() instead.

For an example of using the runner module from within a larger framework by subclassing the provided twisted protocol, see the corresponding Tendril module. The Tendril module, while WIP, also includes examples of parsing the obtained datapoint strings into usable values.

Downloads and Documentation

The simplest way to obtain the source for this package is to clone the git repository:

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

You can install it as usual, with:

python setup.py install

The latest version of the documentation can be found at ReadTheDocs.

License

driver2200087 is distributed under the GPLv2 license.

Metadata

Release files for driver2200087 0.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for driver2200087 0.6.1
File Size Uploaded Provenance Actions
driver2200087-0.6.1.tar.gz 14.5 kB Without provenance Details for driver2200087-0.6.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for driver2200087 0.6.1
File Interpreter ABI Platform Actions
driver2200087-0.6.1-py2-none-any.whl Python 2 none any Details for driver2200087-0.6.1-py2-none-any.whl

Total release size: 31.6 kB

Release files / driver2200087-0.6.1.tar.gz

Download URL driver2200087-0.6.1.tar.gz
Size 14.5 kB
Tags Source
SHA-256 checksum
How to use checksums
830ffd3ad21b49c666437a6e086fbb87312ee9407001b5cece0904ef2c9ad023
BLAKE2b-256 checksum
How to use checksums
44b02e9b9e9fda4b19b350cafa92a2bec05d39a6d9e1ad60b22e0ec558806ae5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / driver2200087-0.6.1-py2-none-any.whl

Download URL driver2200087-0.6.1-py2-none-any.whl
Size 17.1 kB
Tags Python 2
SHA-256 checksum
How to use checksums
e48de7ea08eef3b9f6b425a4bbfa2b807119d183747bb7ea74d85273b4706caa
BLAKE2b-256 checksum
How to use checksums
967d83226ec779693a3b6613f5619b00fb525ba42a5c1c6fe4b1a6715171fd45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for driver2200087 0.6.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.6.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page