🛠 Automatisation IoT avec KNOT HL9 : BLE vers MQTT

MikroTik KNOT Gateway HL9 · avance · Configurez la passerelle KNOT HL9 pour capturer des annonces Bluetooth Low Energy et les transmettre en temps réel via MQTT.

Objectifs

Ce tutoriel avancé vise à configurer le MikroTik KNOT Gateway HL9 comme un nœud de collecte IoT autonome. L'objectif est de capturer les paquets d'annonces Bluetooth Low Energy (BLE), de les filtrer localement pour réduire la bande passante, puis de les publier sur un broker MQTT via la connexion LTE ou Ethernet. Cette architecture permet un suivi d'actifs robuste en extérieur, exploitant la portée du Wi-Fi HaLow si nécessaire pour la gestion, mais privilégiant le BLE pour la collecte de données capteurs.

Matériel nécessaire

Étapes

Connectez la carte via Ethernet/PoE. Accédez à RouterOS v7 via Winbox ou SSH. Mettez à jour le firmware vers la dernière version stable pour assurer la stabilité du module Quectel EG800Q et du SoC Morse Micro. ``bash /system package update install ``

  1. Connexion et mise à jour

Configurez l'interface LTE pour la transmission des données. Assurez-vous que l'APN est correct pour votre opérateur. ``bash /interface lte set [find name=lte1] apn="internet" /ip address add address=192.168.88.1/24 interface=lte1 `` Note : Si vous utilisez Ethernet, configurez l'interface ether1 avec DHCP ou IP statique.

  1. Configuration du réseau de retour (LTE)

Activez le module Bluetooth 5.1 LE pour la détection passive des annonces. Configurez le mode en "scan" pour minimiser la consommation. ``bash /interface bluetooth set [find name=bluetooth1] mode=scan ``

  1. Activation du scanner BLE

Définissez les paramètres de connexion vers votre broker MQTT. Utilisez TLS pour sécuriser les échanges sur le réseau public. ``bash /tool mqtt set [find name=mqtt1] broker="mqtt.example.com" port=8883 user="user" password="pass" tls="yes" ``

  1. Configuration du flux MQTT

Créez un script qui lit les données BLE détectées et les formate en JSON pour MQTT. Ce script tourne en arrière-plan. ``bash /system script add name=ble_to_mqtt source={ :local bleData [/interface bluetooth get [find name=bluetooth1] scan-results] :foreach item in=$bleData do={ :local payload "$($item->mac) : $($item->rssi)" /tool mqtt publish topic="knot/ble/data" message=$payload } } ``

  1. Création du script de transfert

Planifiez l'exécution du script toutes les 10 secondes pour une collecte quasi-temps réel. ``bash /system scheduler add name=ble_poll interval=10s on-event=ble_to_mqtt ``

  1. Planification automatique

Vérification

Vérifiez que le script s'exécute sans erreur dans les logs. Sur votre broker MQTT, abonnez-vous au topic knot/ble/data avec un client comme MQTTX ou Mosquitto Sub. Vous devriez voir apparaître les adresses MAC et les RSSI des capteurs BLE à proximité. Vérifiez également que la connexion LTE reste active via /interface lte print.

Pour aller plus loin

Envisagez d'utiliser le Wi-Fi HaLow 915 MHz pour créer un réseau maillé de passerelles KNOT si vous déployez plusieurs unités sur un grand site agricole. Vous pouvez aussi intégrer des règles de filtrage plus complexes dans le script pour ne transmettre que les capteurs spécifiques, réduisant ainsi la consommation de données LTE.

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels