🛠 Connecter des capteurs GPIO sur KNOT HL9
Objectifs
Ce tutoriel vise à interagir avec les broches GPIO (General Purpose Input/Output) de la passerelle MikroTik KNOT Gateway HL9. Bien que cette carte soit optimisée pour la connectivité sans fil, elle dispose de ressources locales pour le traitement de données simples. Nous allons configurer une broche en entrée pour détecter un signal binaire (comme un contact sec ou un capteur numérique) et transmettre cet état via MQTT. Cela permet d'intégrer des périphériques filaires dans un réseau IoT sans fil.
Matériel nécessaire
- Une passerelle MikroTik KNOT Gateway HL9 alimentée (PoE ou DC).
- Un ordinateur avec accès SSH ou WinBox pour la configuration.
- Un capteur numérique simple (ex : bouton poussoir, détecteur de mouvement PIR avec sortie digitale) ou une résistance de pull-up/down selon le schéma électrique.
- Fils de connexion (Dupont).
- Compte MQTT (broker public ou local) pour la vérification.
Étapes
Connectez-vous à la passerelle via SSH (port 22) ou WinBox. Assurez-vous que RouterOS v7 est à jour pour une meilleure prise en charge des GPIO.
- Accès à la console
Dans le terminal, tapez la commande suivante pour lister les interfaces GPIO disponibles : ``bash /interface gpio print ` Notez le nom de l'interface (ex : gpio1`). Sur les modèles KNOT, les broches sont souvent exposées via des connecteurs spécifiques ou des pads accessibles. Vérifiez la documentation technique pour le brochage exact correspondant à votre boîtier.
- Identifier les broches GPIO
Définissez la broche choisie comme entrée numérique avec une résistance de pull-up interne si nécessaire : ``bash /interface gpio set gpio1 type=input pull-up=yes `` Cette configuration permet de lire un état logique (0 ou 1) sans flottement électrique.
- Configurer la broche en entrée
Pour tester la lecture manuelle, utilisez la commande print. L'état high ou low indique si le circuit est ouvert ou fermé : ``bash /interface gpio print detail `` Appuyez sur votre bouton ou déclenchez le capteur pour observer le changement d'état.
- Lire l'état de la broche
Créez un script qui lit l'état et publie sur MQTT. Modifiez les paramètres de connexion à votre 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\" } ` Ajoutez ce script à un planificateur (scheduler) pour une exécution périodique (ex : toutes les 10 secondes) : `bash /system scheduler add name=pub_gpio interval=10s start-time=startup on-event=send_gpio_state ``
- Automatiser la transmission via script
Vérification
Connectez-vous à votre client MQTT (ex : MQTT.fx ou mosquitto_sub) et abonnez-vous au topic knot/hl9/gpio1. Modifiez l'état physique du capteur (appuyez sur le bouton). Vous devriez voir le message changer entre "true" (ou "high") et "false" (ou "low") dans le flux de données. Si rien n'apparaît, vérifiez la configuration du client MQTT (/tool mqtt-client print) et la connectivité réseau (Wi-Fi HaLow ou LTE).
Pour aller plus loin
Pour des capteurs analogiques (température, humidité), la KNOT HL9 nécessite souvent des modules externes connectés via USB ou des interfaces série, car les GPIO natifs sont numériques. Explorez l'utilisation de scripts RouterOS pour déclencher des actions locales (LED, relais) ou intégrer des données dans des flux HTTP plus complexes pour une supervision temps réel.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
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