🛠 Interfacing a DHT11 Sensor with BPI-RT2 GPIO
Objetivos
Este tutorial le guía en la interfaz de un sensor DHT11 con la placa Banana Pi BPI-RT2. El objetivo es comprender el uso de GPIO en un router embebido que ejecuta OpenWrt. Configuraremos un pinout específico, instalaremos las herramientas necesarias y leeremos datos sin procesar. Este nivel intermedio asume conocimientos básicos de la línea de comandos de Linux. Aprenderá a manipular dispositivos del sistema para necesidades IoT simples sin red.
Hardware Necesario
- Placa Banana Pi BPI-RT2 alimentada con 12V DC.
- Sensor de temperatura y humedad DHT11.
- Resistencia de pull-up de 10 kΩ.
- Cables de conexión (Dupont hembra-macho).
- Cable Ethernet para conexión SSH.
- Terminal SSH (PuTTY u OpenSSH).
Pasos
- Preparación del circuito: Apague la BPI-RT2. Conecte el pin VCC del DHT11 al 3.3V disponible en el encabezado GPIO. Conecte GND a tierra. Coloque la resistencia de 10 kΩ entre VCC y el pin DATA. Conecte el pin DATA del sensor a un GPIO libre, por ejemplo, GPIO 18 (verifique con el esquema oficial).
- Conexión SSH: Reconecte la alimentación. Conéctese por SSH a la dirección IP de la placa (predeterminada 192.168.1.1). Actualice las listas de paquetes:
opkg update
- Instalar herramientas GPIO: Instale paquetes para control GPIO via sysfs:
opkg install kmod-gpio-button-hotplug kmod-gpio-nct-gpio
Nota: Los módulos DHT específicos pueden requerir compilación del kernel si no están presentes nativamente en el BSP Realtek. Para este tutorial, asumimos el uso de un script shell o un controlador de terceros compatible.
- Exportar GPIO: Identifique el número GPIO para su pin físico. Expórtelo:
echo 18 > /sys/class/gpio/export
- Leer datos: Si el controlador DHT está cargado, lea el archivo de valor. De lo contrario, use
gpiogetsi está disponible:
gpioget gpiochip0 18
Para DHT11 estándar, usar un MCU externo o script Python es más fácil. En OpenWrt mínimo, el bit-banging 1-Wire directo vía shell es difícil. Asegúrese de que el módulo del kernel dht11 esté cargado:
modprobe dht11
Si falta, compile el BSP. Este tutorial se centra en la configuración GPIO. Verifique que el GPIO esté configurado como entrada:
echo in > /sys/class/gpio/gpio18/direction
Verificación
Verifique que exista /sys/class/gpio/gpio18/value. Si se carga un controlador compatible, leer este archivo debería devolver un valor estable o cambiar con la temperatura. Use dmesg para verificar errores de carga de módulos.
Para ir más allá
Explore el uso de I2C a través del encabezado de 9 pines para sensores complejos como BME280, que ofrece mejor precisión e interfaz digital más robusta que el DHT11 analógico.
Otros tutoriales para esta placa
- Controlar GPIOs en Banana Pi BPI-RT2
- Configurar una red WiFi 6 fiable con BPI-RT2
- Puesta en marcha y primer arranque del Banana Pi BPI-RT2
- Configurar BPI-RT2 como pasarela de red y almacenamiento ligero
- Configuración avanzada: Primer acceso a consola y flasheo del firmware BPI-RT2
- Dominar los GPIO en Banana Pi BPI-RT2