2.6 KiB
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:
Cal,<temperatura>
Cal,?
Cal,clear
Ejemplo: Cal,25.00.
Calibracion EZO-pH
Orden recomendado:
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:
Cal
Dos puntos, en este orden:
Cal,0
Cal
Cal,0 usa solucion de cero oxigeno. Cal usa la sonda estabilizada en aire
atmosferico. Compensaciones disponibles:
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:
K,1.0
Cal,dry
Calibracion de dos puntos:
Cal,dry
Cal,<valor>
Calibracion de tres puntos:
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-1yEZO_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:
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.