greenponik-atlas-scientific-i2c

GreenPonik wrapper to use Atlas Scientific on SMBus/I2C


Keywords
GreenPonik, hydroponics, SMBus/i2c, EC, Electro, Conductivity, and, pH, reader, Atlas, Scientific, python, hardware, diy, iot, raspberry, pi, raspberry-pi, i2c-sensors, gardening, iot-device, grow, atlas-scientific-circuits, electro-conductivity
License
MIT
Install
pip install greenponik-atlas-scientific-i2c==0.0.1

Documentation

Quality Gate Status Maintainability Rating

Lines of Code Duplicated Lines (%)

Reliability Rating Security Rating Vulnerabilities

Upload Python Package

GreenPonik_Atlas_Scientific_i2c.py Library for Raspberry pi

A python3 class to use Atlas Scientific OEM circuits on i2c bus.

! Only tested on Raspberry Pi 3 A+ !

Table of Contents

Installation

> git clone https://github.com/GreenPonik/GreenPonik_Atlas_Scientific_i2c.git
cd GreenPonik_Atlas_Scientific_i2c
pip3 install -r requirements.txt

or

> pip3 install greenponik-atlas-scientific-i2c
from GreenPonik_Altas_Scientific_i2c.GreenPonik_Altas_Scientific_i2c import (
    AtlasI2c,
    ECI2c,
    PHI2c,
)

Examples

Read EC

works with EC circuit https://www.atlas-scientific.com/circuits/conductivity-oem-circuit/

from GreenPonik_Altas_Scientific_i2c.GreenPonik_AltasI2c import AtlasI2c
from GreenPonik_Altas_Scientific_i2c.GreenPonik_ECI2c import ECI2c

if __name__ == "__main__":
    try:
        print("get device infos")
        i2c_device = AtlasI2c(
            address=AtlasI2c.ADDR_EZO_TXT_TO_HEXA['EC'],
            moduletype="EC",
            name="EC"
        )
        ec_i2c = ECI2c(i2c_device)
        print(ec_i2c.get_device_info())
        print("get current temperature compensated")
        print(ec_i2c.get_temperature())
        # put here the current temperature
        print(ec_i2c.set_temperature(25.00))
        ec = ec_i2c.get_read()
        print("current ec is %.2f" % ec)
    except Exception as e:
        print("Exception occured", e)

go to ec example

Read pH

works with pH circuit https://www.atlas-scientific.com/circuits/ph-oem-circuit/

from GreenPonik_Altas_Scientific_i2c.GreenPonik_AltasI2c import AtlasI2c
from GreenPonik_Altas_Scientific_i2c.GreenPonik_PHI2c import PHI2c

if __name__ == "__main__":
    try:
        print("get device infos")
        i2c_device = AtlasI2c(
            address=AtlasI2c.ADDR_EZO_TXT_TO_HEXA['PH'],
            moduletype="PH",
            name="PH"
        )
        ph_i2c = PHI2c(i2c_device)
        print(ph_i2c.get_device_info())
        print(ph_i2c.get_read())
    except Exception as e:
        print("Exception occured", e)

go to ph example

todo list

  • add calibration workflow in examples
  • add compatibility with all circuits (OD / ORP / CO2 / PRESSURE / FLOW)

Credits

Write by Mickael Lehoux, from GreenPonik, 2020