https://github.com/100prznt/rca.ezodevicelib
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.
https://github.com/100prznt/rca.ezodevicelib
atlasscientific iot orp ph pressure-sensor redox sensor temperature uwp wateranalysis
Last synced: about 1 year ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/100prznt/rca.ezodevicelib
- Owner: 100prznt
- License: mit
- Created: 2019-06-19T12:19:04.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2022-08-09T11:39:26.000Z (almost 4 years ago)
- Last Synced: 2025-06-09T01:33:33.949Z (about 1 year ago)
- Topics: atlasscientific, iot, orp, ph, pressure-sensor, redox, sensor, temperature, uwp, wateranalysis
- Language: C#
- Homepage:
- Size: 1.35 MB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.txt
Awesome Lists containing this project
README
## Project under construction :construction:
```diff
! This project is currently (2019/09/24) under construction.
! Currently only the pH, ORP and the RTD EZO™ device are supported.
```
---
 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](https://nuget.org/packages/Rca.EzoDeviceLib).
* Support for EZO™ pH device
* Support for EZO™ ORP device
* Support for EZO™ RTD device
[](https://ci.appveyor.com/project/100prznt/rca-ezodevicelib) [](https://www.nuget.org/packages/Rca.EzoDeviceLib/) [](#)
## How To install?
Download the source from GitHub or get the compiled assembly from NuGet [Rca.EzoDeviceLib on NuGet](https://nuget.org/packages/Rca.EzoDeviceLib).
[](https://www.nuget.org/packages/Rca.EzoDeviceLib/) [](https://www.nuget.org/packages/Rca.EzoDeviceLib/)
## 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):
```cs
var myEzoPhSensor = new PhSensor();
await myEzoPhSensor.InitSensorAsync();
```
Or create an instance with custom parameters:
```cs
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!
```cs
static EzoRtd myEzoRTDSensor = new EzoRtd(0x66, new TimeSpan(0, 0, 1), ReadingMode.Continuous);
//...
```
### Perform and read measurement
```cs
double ph = myEzoPhSensor.GetMeasValue();
```
With tempreature compensation:
```cs
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:
```cs
myEzoRtdSensor.ValueChanged += TempIn_ValueChanged;
```
Dont forget to unsubscribe:
```cs
myEzoRtdSensor.ValueChanged -= TempIn_ValueChanged;
```
## Hardware
For fast hardware integration there is a cool project from [Whitebox](https://github.com/whitebox-labs). The [Tentacle T3 HAT](https://github.com/whitebox-labs/tentacle-raspi-oshw) accepts three Atlas Scientific EZO™ devices, two of them are electrically isolated.
## Credits
This library is made possible by contributions from:
* [Elias Rümmler](http://www.100prznt.de) ([@rmmlr](https://github.com/rmmlr)) - core contributor
* Vlad ([@tvlada73](https://github.com/tvlada73)) - Add `EzoTimedBase`
## License
Rca.EzoDeviceLib is licensed under [MIT](http://www.opensource.org/licenses/mit-license.php "Read more about the MIT license form"). Refer to [LICENSE.txt](https://github.com/100prznt/EzoDeviceLib/blob/master/LICENSE.txt) for more information.
## Contributions
Contributions are welcome. Fork this repository and send a pull request if you have something useful to add.
[](https://ci.appveyor.com/project/100prznt/rca-ezodevicelib)
## Related Projects
* [Rca.Sht85Lib](https://github.com/100prznt/Rca.Sht85Lib) - Another sensor library for the Sensirion humidity sensor SHT85.
* [EzoGateway](https://github.com/100prznt/EzoGateway) - UWP App to bring your EZO™ devices in the IoT.