You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
2.6 KiB
Markdown
131 lines
2.6 KiB
Markdown
# Comandos y calibracion Atlas Scientific EZO
|
|
|
|
Esta implementacion sigue los datasheets oficiales vigentes consultados para:
|
|
|
|
- EZO-pH, datasheet V6.1, revision 02/2024.
|
|
- EZO-DO, datasheet V5.8, revision 03/2025.
|
|
- EZO-EC, datasheet V5.5.
|
|
- EZO-RTD, datasheet V3.7, revision 10/2024.
|
|
|
|
## Transporte I2C
|
|
|
|
Los comandos son cadenas ASCII sin retorno de carro. Despues de escribir el
|
|
comando se espera el tiempo de procesamiento y se solicita la respuesta.
|
|
|
|
El primer byte de una respuesta I2C es:
|
|
|
|
| Codigo | Significado |
|
|
|---|---|
|
|
| `1` | Solicitud procesada correctamente |
|
|
| `2` | Error de sintaxis |
|
|
| `254` | Procesando; aun no esta lista |
|
|
| `255` | No hay datos |
|
|
|
|
El ejecutable `sensors/EZOCommand/EZO_COMMAND` implementa este intercambio y
|
|
reintenta las respuestas pendientes.
|
|
|
|
## Calibracion EZO-RTD
|
|
|
|
Calibracion de un punto:
|
|
|
|
```text
|
|
Cal,<temperatura>
|
|
Cal,?
|
|
Cal,clear
|
|
```
|
|
|
|
Ejemplo: `Cal,25.00`.
|
|
|
|
## Calibracion EZO-pH
|
|
|
|
Orden recomendado:
|
|
|
|
```text
|
|
Cal,mid,7.00
|
|
Cal,low,4.00
|
|
Cal,high,10.00
|
|
```
|
|
|
|
El punto medio siempre debe realizarse primero. Ejecutar `Cal,mid` sobre una
|
|
calibracion existente elimina los otros puntos. El estado se consulta con
|
|
`Cal,?` y la salud de la sonda con `Slope,?`.
|
|
|
|
## Calibracion EZO-DO
|
|
|
|
Un punto:
|
|
|
|
```text
|
|
Cal
|
|
```
|
|
|
|
Dos puntos, en este orden:
|
|
|
|
```text
|
|
Cal,0
|
|
Cal
|
|
```
|
|
|
|
`Cal,0` usa solucion de cero oxigeno. `Cal` usa la sonda estabilizada en aire
|
|
atmosferico. Compensaciones disponibles:
|
|
|
|
```text
|
|
T,<grados Celsius>
|
|
S,<conductividad en uS/cm>
|
|
S,<salinidad>,ppt
|
|
P,<presion en kPa>
|
|
```
|
|
|
|
## Calibracion EZO-EC
|
|
|
|
Primero se configura la constante de la sonda con `K,<valor>` y se realiza la
|
|
calibracion en seco:
|
|
|
|
```text
|
|
K,1.0
|
|
Cal,dry
|
|
```
|
|
|
|
Calibracion de dos puntos:
|
|
|
|
```text
|
|
Cal,dry
|
|
Cal,<valor>
|
|
```
|
|
|
|
Calibracion de tres puntos:
|
|
|
|
```text
|
|
Cal,dry
|
|
Cal,low,<valor>
|
|
Cal,high,<valor>
|
|
```
|
|
|
|
No se debe usar `Cal,0` en EC. El valor cero corresponde unicamente al paso
|
|
`Cal,dry`.
|
|
|
|
## Modos del backend
|
|
|
|
- `EZO_MODE=auto`: usa hardware si encuentra `/dev/i2c-1` y `EZO_COMMAND`;
|
|
de lo contrario usa demo.
|
|
- `EZO_MODE=hardware`: exige bus y ejecutable reales; si faltan, la API devuelve
|
|
error en vez de simular.
|
|
- `EZO_MODE=demo`: genera respuestas de desarrollo sin acceder al bus.
|
|
|
|
Para preparar Raspberry Pi:
|
|
|
|
```bash
|
|
make -C sensors/EZOCommand
|
|
sudo usermod -aG i2c $USER
|
|
EZO_MODE=hardware npm start
|
|
```
|
|
|
|
Es necesario cerrar sesion y volver a entrar despues de agregar el usuario al
|
|
grupo `i2c`.
|
|
|
|
## Fuentes oficiales
|
|
|
|
- https://files.atlas-scientific.com/pH_EZO_Datasheet.pdf
|
|
- https://files.atlas-scientific.com/DO_EZO_Datasheet.pdf
|
|
- https://files.atlas-scientific.com/EC_EZO_Datasheet.pdf
|
|
- https://files.atlas-scientific.com/EZO_RTD_Datasheet.pdf
|