Skip to main content

Driver for the Anyleaf pH sensor

Project description

image

Anyleaf

For use with the AnyLeaf pH and RTD sensors in Python

Homepage

Quickstart

To get started as quickly as possible on Raspberry Pi:

  • Activate I2C (pH and ORP module): Run sudo raspi-config. Select Interfacing Options → I2C → Yes.
  • Activate SPI (RTD temp module): Same as above, but select SPI instead of I2C.
  • Reboot

Then run these commands from a terminal:

  • sudo apt install python3-scipy
  • pip3 install anyleaf
  • git clone https://github.com/anyleaf/anyleaf-python.git
  • cd anyleaf-python/examples
  • python3 ph_orp.py

pH readings will display in your terminal.

To install the anyleaf Python package, run pip3 install anyleaf, or pip install anyleaf, depending on how pip is set up on your operating system.

Example use, for Raspberry Pi, and CircuitPython boards:

import time

import board
import busio
from anyleaf import PhSensor, CalPt, CalSlot, OnBoard, OffBoard


def main():
    i2c = busio.I2C(board.SCL, board.SDA)
    delay = 1  # Time between measurements, in seconds
    ph_sensor = PhSensor(i2c, delay)

    # 2 or 3 pt calibration both give acceptable results.
    # Calibrate with known values. (voltage, pH, temp in °C).
    # You can find voltage and temperature with `ph_sensor.read_voltage()` and 
    # `ph_sensor.read_temp()` respectively.
    # For 3 pt calibration, pass a third argument to `calibrate_all`.
    ph_sensor.calibrate_all(
        CalPt(0., 7., 25.), CalPt(0.17, 4., 25.)
    )

    # Or, call these with the sensor in the appropriate buffer solution.
    # This will automatically use voltage and temperature.
    # Voltage and Temp are returned, but calibration occurs
    # without using the return values.
    # V, T = ph_sensor.calibrate(CalSlot.ONE, 7., Offboard(40.))
    # ph_sensor.calibrate(CalSlot.TWO, 4., OnBoard())

    # Store the calibration parameters somewhere, so they persist
    # between program runs.

    while True:
        pH = ph_sensor.read(OnBoard())
        # To use an offboard temperature measurement: `ph_sensor.read(OffBoard(30.))`
        print(f"pH: {pH}")

        time.sleep(delay)


if __name__ == "__main__":
    main()

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

anyleaf-0.1.9.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

anyleaf-0.1.9-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file anyleaf-0.1.9.tar.gz.

File metadata

  • Download URL: anyleaf-0.1.9.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.9.0

File hashes

Hashes for anyleaf-0.1.9.tar.gz
Algorithm Hash digest
SHA256 b63771129433ed25f7aeec571902edec2e1c27d6fc6089b6a4bb4533a7ed9677
MD5 da07006ab6bcd9d81d3e9b18b0530c11
BLAKE2b-256 0b743cac21c05018fadceb83585de6e7624494d1af72135f2dcf3e2f68955d2b

See more details on using hashes here.

File details

Details for the file anyleaf-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: anyleaf-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.9.0

File hashes

Hashes for anyleaf-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 549e91ba1dc3e9887f3a2bf198207978a88832ee9ab5680d38a49edc01644b80
MD5 c08eabe8ef817570cdb96c98fe0807ec
BLAKE2b-256 f6af9e0ea02a5736065fa4dad424a432d251f10e57c4861f172942a8e9d616b4

See more details on using hashes here.

Supported by

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