Skip to main content

Python implementation of the IMPBUS-2 data transmission protocol.

Project description


IMPLib2: Python implementation of the IMPBUS-2 protocol.
========================================================

.. image:: https://img.shields.io/pypi/v/implib2.svg
:target: https://pypi.python.org/pypi/implib2

.. image:: https://img.shields.io/pypi/pyversions/implib2.svg
:target: https://pypi.python.org/pypi/implib2

.. image:: https://img.shields.io/pypi/l/implib2.svg
:target: https://pypi.python.org/pypi/implib2

.. image:: https://travis-ci.org/mhubig/implib2.svg?branch=master
:target: https://travis-ci.org/mhubig/implib2

.. image:: https://codecov.io/gh/mhubig/implib2/coverage.svg?branch=master
:target: https://codecov.io/gh/mhubig/implib2/branch/master

---------------

Requirements
------------

Before you can start using the IMPLib2 software you have to make sure,
that you have at least the following software packages installed.

- Python (http://python.org)
- PySerial (http://pyserial.sourceforge.net)

For instructions on how to get and install these packages on your OS
please head over to the official project pages.

Installation
------------

Install the stable branch using pip::

pip install implib2

Of if you brave enough::

pip install git+https://github.com/mhubig/implib2.git@develop

Depending on your system you may have to prefix these commands with ``sudo``!

Quick Start Manual
------------------

This small quick start manual is intended to give you a basic example of
how to use this library. In order to start playing with it you have to
connect at least one `Trime
Pico <http://imko.de/en/products/soilmoisture>`__ moisture measurement
probe to your computer. An easy way to connect the probe is by using the
USB-IMPBus Converter `SM-USB <http://imko.de/en/products>`__.

After successfully installing IMPLib2 and connecting, start the Python
Shell within your terminal::

$ python
Python 3.6.2 (default, Jul 17 2017, 16:44:45)
[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Import the IMPLib2 module::

>>> import implib2

Now initialize the IMPBus, sync and scan for connected Modules. Replace
the USB Interface with the one your SM-USB uses::

>>> bus = implib2.Bus('/dev/ttyUSB0')
>>> bus.sync()
>>> bus.scan()
(10010, 10011)

As you can see we found two connected modules with the serial numbers
10010 and 10011. Now we can instantiate the module objects::

>>> mod10 = implib2.Module(bus, 10010)
>>> mod11 = implib2.Module(bus, 10011)

Using the handy module objects we can now perform various higher
operations, like doing a measurement or requesting the serial number::

>>> mod10.get_moisture()
14.3
>>> mod11.get_moisture()
17.4
>>> mod10.get_serno()
10010

10011

If you came so far you should be able to easily build a little script
which performs an measurement on all connected probes ones an hour::

#!/usr/bin/env python

import time
import implib2

# Initialize the IMPBus2
bus = implib2.Bus('/dev/ttyUSB0')
bus.sync()

# Search the bus for connected modules
modules = [implib2.Module(bus, serno) for serno in bus.scan()]

# Start a measurement and show the results once an hour
while True:
for module in modules:
serno = module.get_serno()
moist = module.get_moisture()
temp = module.get_measure(quantity='MeasTemp')
print('Module {}: Moist {}, Temp {}'.format(serno, moist, mtemp))

time.sleep(3600) # for one hour

For more and in depth information please head over to the API-Documentation on
`Read the Docs <https://implib2.readthedocs.org>`__.

.. include:: LICENSE.txt
:literal:


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

implib2-1.0.1.tar.gz (46.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

implib2-1.0.1-py3-none-any.whl (26.1 kB view details)

Uploaded Python 3

File details

Details for the file implib2-1.0.1.tar.gz.

File metadata

  • Download URL: implib2-1.0.1.tar.gz
  • Upload date:
  • Size: 46.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for implib2-1.0.1.tar.gz
Algorithm Hash digest
SHA256 950205b923809fe56cf0945affa3228041e113cc179b4402fe65de1d8baf9d6e
MD5 ed7b324676d969ad056af9589554f522
BLAKE2b-256 28dbd663beb02c5e324c6aea58235372e64c72efc0b3d7da96a6f6f65104ebf2

See more details on using hashes here.

File details

Details for the file implib2-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for implib2-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cdd3c83d6d7405a0a4b158a362cf0a1e0e472538286d78945ca3157d0c6de51b
MD5 4c82772bedfdd141e7befeb8d834560c
BLAKE2b-256 a4f430d6ed202fb094dc3508754e2fd80b465db0638c3239d1b8a2a59f3f7d1c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page