Skip to content

Open source UWP library for communication with Atlas Scientific EZO™ devices. This library covers all I²C commands. You can trigger measurements, set temperature compensation, get device info and state, due the calibration, import/export calibration data, etc.

License

Notifications You must be signed in to change notification settings

100prznt/Rca.EzoDeviceLib

Repository files navigation

Project under construction 🚧

! This project is currently  (2019/09/24) under construction.
! Currently only the pH, ORP and the RTD EZO™ device are supported.

EZO Devices on the Whitebox carrier

EzoDeviceLib

Open source UWP library for communication with Atlas Scientific EZO™ devices. This library covers all I2C commands. You can trigger measurements, set temperature compensation, get device info and state, due the calibration, import/export calibration data, etc.

This library targets UWP IoT projects! Download directly from NuGet Rca.EzoDeviceLib on NuGet.

  • Support for EZO™ pH device
  • Support for EZO™ ORP device
  • Support for EZO™ RTD device

Bulid Current version Code size

How To install?

Download the source from GitHub or get the compiled assembly from NuGet Rca.EzoDeviceLib on NuGet.

Current version NuGet

How to use?

Some basic usage examples

Create an sensor instance

In this example is the I2C address of conneted EZO™ device set to default (0x63 for EZO™ pH Circuit):

var myEzoPhSensor = new PhSensor();
await myEzoPhSensor.InitSensorAsync();

Or create an instance with custom parameters:

var myEzoPhSensor = new PhSensor(0x1A, I2cBusSpeed.FastMode) //set specific I2C address (0x1A) and bus speed
await myEzoPhSensor.InitSensorAsync();

Or create an instance with timed (1 sec. in this case) firing event. Note: Not supported for all sensors/devices!

static EzoRtd myEzoRTDSensor = new EzoRtd(0x66, new TimeSpan(0, 0, 1), ReadingMode.Continuous);
//...

Perform and read measurement

double ph = myEzoPhSensor.GetMeasValue();

With tempreature compensation:

double temperature = 23.5; //temperature in °C
double phCompensated = myEzoPhSensor.GetMeasValue(temperature);

Subscribe to timed event (EzoTimedBase devices)

If your event is firing from BackgroundTask you can access it from anywhere:

myEzoRtdSensor.ValueChanged += TempIn_ValueChanged;

Dont forget to unsubscribe:

myEzoRtdSensor.ValueChanged -= TempIn_ValueChanged;

Hardware

For fast hardware integration there is a cool project from Whitebox. The Tentacle T3 HAT accepts three Atlas Scientific EZO™ devices, two of them are electrically isolated.

Credits

This library is made possible by contributions from:

License

Rca.EzoDeviceLib is licensed under MIT. Refer to LICENSE.txt for more information.

Contributions

Contributions are welcome. Fork this repository and send a pull request if you have something useful to add.

Bulid

Related Projects

  • Rca.Sht85Lib - Another sensor library for the Sensirion humidity sensor SHT85.
  • EzoGateway - UWP App to bring your EZO™ devices in the IoT.

About

Open source UWP library for communication with Atlas Scientific EZO™ devices. This library covers all I²C commands. You can trigger measurements, set temperature compensation, get device info and state, due the calibration, import/export calibration data, etc.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages