🛠 Connecter des capteurs GPIO sur KNOT HL9

MikroTik KNOT Gateway HL9 · intermediaire · Apprenez à configurer les entrées-sorties de la passerelle KNOT HL9 pour lire des données de capteurs externes via RouterOS.

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

É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.

  1. 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.

  1. 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.

  1. 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.

  1. 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 ``

  1. 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

← Retour à la fiche 🛠 Tous les tutoriels