Biblioteca RS485 para Sensores de Suelo
Esta biblioteca para MicroPython permite la comunicación con el sensor de suelo RS485 para leer:
- 🌱 Humedad del suelo (%)
- 🌡️ Temperatura (°C)
- ⚡ Conductividad eléctrica (CE, µS/cm)
- 🧪 Nivel de pH
Características
- Integración sencilla con UART en MicroPython
- Validación CRC y manejo de respuesta del sensor
- Totalmente de código abierto (GPLv3)
Para Empezar
Instalación
- Clona el repositorio o descarga el archivo
modbus_sensor.py
.
git clone git@github.com:UNIT-Electronics-MX/unit_rs485_soil_temperature_humity_ec_ph_library_micropython.git
- Copia el archivo
modbus_sensor.py
a tu dispositivo con MicroPython. - Importa la clase
ModbusSensor
en tu script de MicroPython. - Inicializa el sensor con los pines UART y la velocidad de transmisión adecuados.
- Utiliza el método
get_sensor_data()
para leer los valores del sensor. - Maneja los datos del sensor según sea necesario.
- Asegúrate de gestionar las excepciones y errores de manera apropiada.
Nota: Esta biblioteca está diseñada para el ESP32 y puede requerir modificaciones para otras plataformas o hardware.
Se recomienda utilizar un módulo RS485 de 5 V RS485 module para asegurar la compatibilidad con el ESP32.
Ejemplo
from modbusSensor.modbus_sensor import ModbusSensor
import time
sensor = ModbusSensor(tx_pin=26, rx_pin=25, baudrate=4800)
while True:
humedad, temperatura, ce, ph = sensor.get_sensor_data()
print(f"Humedad: {humedad}% | Temperatura: {temperatura}°C | CE: {ce} µS/cm | pH: {ph}")
time.sleep(1)
Transferencia de Archivos usando ampy
Uso de ampy para transferir archivos al ESP32
-
Instala ampy usando pip:
pip install adafruit-ampy
-
Conecta tu ESP32 a la computadora vía USB.
-
Utiliza ampy para transferir el archivo
modbus_sensor.py
al ESP32:ampy --port /dev/ttyUSB0 put modbus_sensor.py
Sustituye /dev/ttyUSB0
por el puerto adecuado en tu sistema. Recuerda verificar el puerto utilizando el comando ls /dev/tty*
.
-
Después de transferir el archivo, podrás acceder a él en tu entorno MicroPython.
-
Para ejecutar el script, puedes usar el REPL o crear un nuevo script que importe
modbus_sensor
y lo utilice como se muestra en el ejemplo anterior.