Andrew Lotze comparte aquí su experiencia con microcontroladores en conjunto con el trabajo del proyecto BeerSheba Project work en Senegal. Sus ideas hacen referencia al artículo de EDN 155 [http://edn.link/2myd6p] sobre aplicaciones agrícolas para microcontroladores.
He estado siguiendo una trayectoria similar a la de Tim durante los últimos dos años con respecto al uso de microcontroladores para recopilar datos y automatizar fincas. Comencé con sencillos temporizadores programables, y relés de Wi-Fi, pre-diseñados, y finalmente descubrí un firmware (soporte lógico inalterable) alternativo bien desarrollado que hace gran parte del trabajo de programación de los microcontroladores, y se integra fácilmente en las redes Wi-Fi.
El firmware se llama Tasmota [https://tasmota.github.io/docs/], y es un software basado en Arduino para microcontroladores ESP8266/ESP8285 y ESP32. El ESP8266 es un microcontrolador con capacidad Wi-Fi de 160mhz que tiene 10 entradas/salidas digitales y 1 analógica, que puede controlar relés, luces, motores, MOSFETs, leer voltaje, comunicarse en buses seriales como I2C y SPI, y más. Una tarjeta de desarrollo cuesta unos 2 dólares. La comunidad Tasmota es muy activa y existen controladores para todo tipo de sensores (temperatura, humedad), tiempo de vuelo, calidad del aire, presión, luz, ultravioleta, dióxido de carbono y pH). Estos sensores están disponibles a un costo muy bajo (entre US$1 y 5).
El ESP32 es más potente (240mhz), y cuesta alrededor de US$4, pero tiene más entradas/ salidas digitales y analógicas. Tanto el ESP8266 como el ESP32 consumen considerablemente más energía que una tarjeta Arduino más sencilla, sobre todo debido al Wi-Fi, por lo que intentar que funcionen con baterías presenta un reto. El firmware funciona mejor cuando se puede conectar a Wi-Fi (y enviar/ recibir datos a/ desde varios servidores), pero existen opciones de bajo consumo de energía, por lo que los módulos pueden funcionar durante semanas en una celda de litio 18650, e indefinidamente en conjunto con un panel solar pequeño. En general son adecuados para entornos donde existe energía disponible 24/7.
Yo tengo:
- Módulos ESP8266 que controlan bombas de perforación (incluso pueden leer y transmitir datos en serie de los controladores del motor), con interruptores manuales adjuntos, para que las bombas puedan encenderse y apagarse en persona o de forma remota (Figura 14A).
- Módulos que controlan la carga de la batería solar (figura 14B) y leen celdas de litio individuales (si bien las tarjetas de balance BMS [Sistema de Gestión de Baterías] específicas son más fáciles)
- Módulos de lectura de temperatura, humedad, y precipitación; esos datos se registran en una tarjeta SD.
- Módulos para monitorear y registrar el consumo de energía de algunos congeladores utilizando un módulo ESP8266 más unatarjeta medidora de energía CA (US$6) (Figura 14C).
La recopilación centralizada de datos de todos los módulos es útil, y estoy usando una Raspberry Pi Zero 2 W de US$15 para ejecutar los servicios que el ESP8266 necesita para ello. La Zero 2 W puede manejar fácilmente:
- Node-Red (software de diagrama de flujo de automatización)
- Syslog (registro de errores y depuración)
- InfluxDB (base de datos de series temporales para el registro de sensores)
- Grafana (graficación de datos de series temporales)
- MQTT (protocolo de mensajería de baja sobrecarga para comunicarse con objetos Wi-Fi)
- GPS (para llevar el tiempo exacto en ausencia de Internet)
- NTP (distribución de tiempo preciso a todo lo demás en la red).
Grafana e InfluxDB me permiten recoger los datos del sensor de los módulos ESP8266 y visualizarlos (gráfico 15A ) fácilmente. También puedo monitorear el estado del interruptor (gráfico de la figura 15B) para ver de un vistazo qué cosas están encendidas o apagadas.
Citar como:
Lotze, A. 2022. Uso de microcontroladore. ECHO Notas de Desarrollo no. 156.