Metadata-Version: 1.1
Name: implib2
Version: 1.0.1
Summary: Python implementation of the IMPBUS-2 data transmission protocol.
Home-page: https://github.com/mhubig/implib2
Author: Markus Hubig
Author-email: mh@imko.de
License: MIT
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:
        
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
