🛠 Conectar sensores GPIO en KNOT HL9
Objectifs
Este tutorial tiene como objetivo interactuar con los pines GPIO (General Purpose Input/Output) de la pasarela MikroTik KNOT Gateway HL9. Aunque esta pasarela está optimizada para la conectividad inalámbrica, ofrece recursos locales para el procesamiento simple de datos. Configuraremos un pin como entrada para detectar una señal binaria (como un contacto seco o un sensor digital) y transmitir este estado mediante MQTT. Esto permite integrar periféricos cableados en una red IoT inalámbrica.
Matériel nécessaire
- Una pasarela MikroTik KNOT Gateway HL9 alimentada (PoE o DC).
- Un ordenador con acceso SSH o WinBox para la configuración.
- Un sensor digital simple (ej: botón pulsador, detector de movimiento PIR con salida digital) o resistencias de pull-up/down según el esquema eléctrico.
- Cables de conexión (Dupont).
- Cuenta MQTT (broker público o local) para la verificación.
Étapes
Conéctese a la pasarela mediante SSH (puerto 22) o WinBox. Asegúrese de que RouterOS v7 esté actualizado para un mejor soporte de GPIO.
- Acceso a la consola
En la terminal, escriba el siguiente comando para listar las interfaces GPIO disponibles: ``bash /interface gpio print ` Anote el nombre de la interfaz (ej: gpio1`). En los modelos KNOT, los pines suelen estar expuestos mediante conectores específicos o pads accesibles. Consulte la documentación técnica para el pinout exacto correspondiente a su carcasa.
- Identificar los pines GPIO
Defina el pin elegido como entrada digital con una resistencia de pull-up interna si es necesario: ``bash /interface gpio set gpio1 type=input pull-up=yes `` Esta configuración permite leer un estado lógico (0 o 1) sin flotación eléctrica.
- Configurar el pin como entrada
Para probar la lectura manual, use el comando print. El estado high o low indica si el circuito está abierto o cerrado: ``bash /interface gpio print detail `` Presione su botón o active el sensor para observar el cambio de estado.
- Leer el estado del pin
Cree un script que lea el estado y publique en MQTT. Modifique los parámetros de conexión a su broker: ``bash /system script add name=send_gpio_state source={ :local state [/interface gpio get gpio1 value] /tool mqtt-client publish topic="knot/hl9/gpio1" message=\"$state\" } ` Añada este script a un planificador para una ejecución periódica (ej: cada 10 segundos): `bash /system scheduler add name=pub_gpio interval=10s start-time=startup on-event=send_gpio_state ``
- Automatizar la transmisión mediante script
Vérification
Conéctese a su cliente MQTT (ej: MQTT.fx o mosquitto_sub) y suscríbase al tópico knot/hl9/gpio1. Cambie el estado físico del sensor (presione el botón). Debería ver el mensaje cambiar entre "true" (o "high") y "false" (o "low") en el flujo de datos. Si no aparece nada, verifique la configuración del cliente MQTT (/tool mqtt-client print) y la conectividad de red (Wi-Fi HaLow o LTE).
Pour aller plus loin
Para sensores analógicos (temperatura, humedad), la KNOT HL9 a menudo requiere módulos externos conectados mediante USB o interfaces serie, ya que los GPIO nativos son digitales. Explore el uso de scripts de RouterOS para desencadenar acciones locales (LED, relé) o integrar datos en flujos HTTP más complejos para una supervisión en tiempo real.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
gnss-position-tracking.pyPython-Bashble-advertising-sensor.inoRouterOS-Scriptlte-failover-monitor.pyPython-Bashnand-storage-cleanup.pyPython-Bashpoe-power-status.inoRouterOS-Scriptrouteros-mqtt-telemetry.inoRouterOS Script