🛠 Exploiter les GPIO sur KNOT HL9
Objectifs
Ce tutoriel avancé explique comment configurer les broches GPIO du MikroTik KNOT Gateway HL9 pour lire des données de capteurs ou contrôler des actionneurs. Bien que le HL9 soit optimisé pour la connectivité sans fil (Wi-Fi HaLow, LTE), son processeur Qualcomm IPQ-5010 offre une flexibilité locale via RouterOS v7. Nous allons démontrer comment identifier les broches disponibles, les configurer en mode entrée ou sortie, et lire leur état via le terminal.
Matériel nécessaire
- Une carte KNOT Gateway HL9 sous RouterOS v7.
- Un ordinateur avec accès SSH ou Winbox.
- Un capteur simple (ex : bouton poussoir ou détecteur de mouvement) ou une LED.
- Fils de connexion et résistances (si nécessaire selon le capteur).
- Multimètre (optionnel pour vérification).
Étapes
Connectez-vous à la carte via SSH ou Winbox. Ouvrez une session de terminal.
- Accès au terminal
Dans RouterOS, les GPIO sont souvent exposés via l'interface /interface. Tapez la commande suivante pour lister les interfaces disponibles : `` /interface print ` Recherchez les interfaces nommées ether, wlan ou spécifiquement gpio`. Sur certains modèles HL9, les GPIO peuvent être mappés sur des broches physiques spécifiques documentées dans la fiche technique du fabricant. Notez que le HL9 est principalement conçu pour I/O réseau ; les GPIO physiques peuvent être limités ou nécessiter des extensions.
- Identifier les interfaces GPIO
Supposons que la broche gpio1 soit disponible. Pour la configurer en sortie : `` /interface gpio set [find name=gpio1] mode=output ` Pour allumer une LED connectée à cette broche : ` /interface gpio set [find name=gpio1] value=on ``
- Configurer une broche en sortie
Pour lire un bouton poussoir sur gpio2 : `` /interface gpio set [find name=gpio2] mode=input pull-up=yes ` Pour lire l'état : ` /interface gpio print stats ` Ou via une commande de lecture directe si supportée : ` /interface gpio get [find name=gpio2] value ``
- Configurer une broche en entrée
Créez un script pour surveiller l'entrée et envoyer une alerte MQTT si l'état change. Utilisez /system script pour définir la logique.
- Automatiser avec un script
Vérification
Vérifiez que la LED s'allume/éteint selon la commande value=on/off. Pour les entrées, appuyez sur le bouton et vérifiez que la valeur lue change dans le terminal. Utilisez log print pour voir les événements si vous avez configuré des logs.
Pour aller plus loin
Explorez l'intégration avec MQTT pour transmettre les états GPIO à un serveur distant. Consultez la documentation RouterOS pour les commandes avancées de GPIO et les limitations spécifiques au chipset Qualcomm IPQ-5010.
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