How to

Comment connecter les capteurs Seeed SenseCAP à TagoIO

Comment connecter les capteurs LoRaWAN Seeed SenseCAP à TagoIO. Au programme : la série SenseCAP S21xx, le contournement du portail SenseCAP via TTN, le décodage du payload, et des cas d'usage pour l'agriculture connectée, la surveillance environnementale et les bâtiments intelligents.

TagoIO Team ·
Comment connecter les capteurs Seeed SenseCAP à TagoIO

Seeed SenseCAP fabrique certains des capteurs LoRaWAN industriels les plus déployés du marché. La série S21xx couvre la température, l’humidité, le CO2, la lumière, la pression barométrique, l’humidité du sol et bien plus, le tout dans des boîtiers étanches conçus pour une installation en extérieur.

Les capteurs SenseCAP sont préconfigurés pour rejoindre n’importe quel réseau LoRaWAN standard. Seeed exploite son propre portail SenseCAP, mais vous pouvez le contourner entièrement et envoyer les données directement vers TagoIO via The Things Network ou tout autre serveur réseau LoRaWAN compatible avec les webhooks HTTPS.

Ce guide couvre toute l’intégration : de l’enregistrement d’un capteur SenseCAP sur TTN jusqu’à l’affichage de données propres et décodées dans un dashboard TagoIO.

Ce qu’il vous faut avant de commencer

Comment communiquent les capteurs SenseCAP

Les capteurs SenseCAP S21xx utilisent la communication LoRaWAN Classe A standard. Ils envoient des uplinks à intervalles configurables (15 minutes par défaut, ajustable jusqu’à 1 minute via des commandes AT ou l’application SenseCAP Mate).

Chaque uplink est un payload binaire. Le format du payload est documenté dans le dépôt du décodeur Seeed SenseCAP sur GitHub. Vous aurez besoin de ce décodeur pour écrire le payload parser de TagoIO.

Étape 1 : enregistrer le capteur SenseCAP sur TTN

  1. Connectez-vous à console.cloud.thethings.network.
  2. Ouvrez ou créez une Application.
  3. Cliquez sur Register end device.
  4. Sélectionnez Enter end device specifics manually.
  5. Définissez le plan de fréquences pour votre région (EU868, US915, etc.).
  6. Réglez la version LoRaWAN sur 1.0.3 (utilisée par le SenseCAP S21xx).
  7. Saisissez le JoinEUI (AppEUI), le DevEUI et l’AppKey depuis l’étiquette du capteur SenseCAP ou l’application SenseCAP Mate.
  8. Enregistrez l’appareil.

Le capteur rejoindra le réseau TTN à sa prochaine transmission.

Étape 2 : créer un device dans TagoIO

  1. Connectez-vous à admin.tago.io.
  2. Cliquez sur Devices → Add Device.
  3. Recherchez The Things Network v3 et sélectionnez-le.
  4. Nommez le device pour qu’il corresponde à votre capteur SenseCAP.
  5. Copiez la Webhook URL et l’Authorization Token générés par TagoIO.

Documentation des devices : docs.tago.io/docs/tagoio/devices

Étape 3 : connecter TTN à TagoIO via webhook

  1. Dans votre application TTN, allez dans Integrations → Webhooks.
  2. Cliquez sur Add webhook → Custom webhook.
  3. Définissez la Base URL sur l’URL du webhook TagoIO.
  4. Ajoutez l’en-tête : Authorization: <your_token>.
  5. Activez les événements Uplink message.
  6. Enregistrez.

Étape 4 : écrire le Payload Parser

Les capteurs SenseCAP S21xx envoient un payload binaire structuré. Si vous configurez un payload formatter TTN à l’aide du décodeur fourni par Seeed, TTN décodera le payload avant de l’envoyer à TagoIO. Dans ce cas, les champs décodés arrivent dans payload.uplink_message.decoded_payload.

Option A : utiliser le payload formatter de TTN + un parser TagoIO

Configurez le décodeur Seeed comme payload formatter au niveau de l’application TTN. Ensuite, dans TagoIO, votre parser se contente de mapper les champs décodés :

const decoded = payload.uplink_message.decoded_payload;

if (!decoded || !decoded.messages) {
  payload = [];
  return;
}

payload = decoded.messages.map(msg => ({
  variable: msg.measurementId.toString().toLowerCase().replace(/ /g, "_"),
  value: msg.measurementValue,
  unit: msg.unit || ""
}));

Option B : décoder les octets bruts dans TagoIO

Si vous préférez garder tout le décodage dans TagoIO, lisez le payload brut en base64 depuis payload.uplink_message.frm_payload et implémentez en JavaScript le parser du format binaire Seeed.

Pour un SenseCAP S2101 (température + humidité) :

const raw = Buffer.from(payload.uplink_message.frm_payload, "base64");
// Seeed S2101 measurement payload starts at byte 3
const temperature = raw.readInt16LE(3) / 10;
const humidity = raw.readUInt16LE(5) / 10;

payload = [
  { variable: "temperature", value: temperature, unit: "C" },
  { variable: "humidity", value: humidity, unit: "%" }
];

Ajustez les décalages d’octets selon le modèle de capteur en vous appuyant sur la spécification officielle du décodeur Seeed.

Documentation du Payload Parser : docs.tago.io/docs/tagoio/devices/payload-parser

Étape 5 : vérifier dans le Live Inspector

Ouvrez l’onglet Live Inspector sur la page de votre device TagoIO. Attendez le prochain uplink du capteur (ou forcez-en un en appuyant sur le bouton de l’appareil SenseCAP). Confirmez que les variables décodées apparaissent correctement avant de construire le dashboard.

Documentation du Live Inspector : docs.tago.io/docs/tagoio/devices/live-inspector

Étape 6 : construire le dashboard

Depuis Dashboards → +, créez un nouveau dashboard. Pour un déploiement environnemental SenseCAP :

  • Des graphiques en courbes pour la température, l’humidité et le CO2 dans le temps
  • Des widgets de jauge affichant les relevés actuels
  • Une carte de statut des alertes indiquant si l’environnement est dans la plage prévue
  • Un widget cartographique si vous avez plusieurs capteurs sur un site

Pour les déploiements multi-capteurs, utilisez un Blueprint Dashboard afin d’appliquer une même mise en page à tous les devices. Chaque capteur obtient sa propre vue de dashboard via les tags du device, sans aucune duplication.

Documentation des dashboards : docs.tago.io/docs/tagoio/dashboards

Étape 7 : configurer des alertes de seuil

Utilisez les Actions pour avertir votre équipe lorsque des valeurs sortent de la plage. Schémas d’alerte SenseCAP courants :

  • CO2 au-dessus de 1000 ppm dans une salle de réunion → envoyer un e-mail aux occupants
  • Humidité du sol sous 15 % → SMS à l’équipe d’irrigation
  • Température au-dessus de 35 °C dans une serre → déclencher un relais de refroidissement via un appel API

Documentation des Actions : docs.tago.io/docs/tagoio/actions

Exemples de cas d’usage

Agriculture connectée

Des nœuds SenseCAP S2105 (humidité du sol + température) et S2101 (température et humidité de l’air) déployés le long des rangs de culture. Relevés toutes les 15 minutes vers TagoIO. Des scripts d’analyse calculent le déficit de pression de vapeur (VPD) et le réécrivent comme variable calculée. L’irrigation se déclenche automatiquement lorsque les conditions d’humidité du sol et de VPD sont réunies.

Surveillance environnementale dans les bureaux et les écoles

Des SenseCAP S2103 (CO2, température, humidité) dans les salles de classe et les salles de conférence. Un Blueprint Dashboard offre aux gestionnaires de bâtiment une vue par salle. Les Actions envoient une notification Slack lorsque les niveaux de CO2 d’une salle dépassent 1000 ppm, incitant à aérer.

Mesure industrielle en extérieur

Des SenseCAP S2101 dans des boîtiers étanches sur un chantier ou un parc logistique. TagoIO stocke les relevés et affiche des graphiques de tendance. L’équipe du site utilise le dashboard responsive sur mobile pour vérifier les conditions depuis leur téléphone.

Aller plus loin avec l’IA

Le serveur MCP de TagoIO permet à des assistants IA comme Claude d’interroger directement vos données SenseCAP. Posez des questions du type « Quelle zone a eu le CO2 le plus élevé la semaine dernière ? » ou « Montre-moi les anomalies de température sur tous les capteurs au cours des 48 dernières heures » sans écrire de requête manuellement.

Documentation MCP : docs.tago.io/docs/tagoio/getting-started/tagoio-mcp-ai-powered-iot-data-integration

En résumé

Les capteurs SenseCAP se connectent à TagoIO via TTN en quatre étapes : enregistrement sur TTN, création d’un device TagoIO avec le connecteur TTN, configuration du webhook, et écriture du payload parser. Le plus difficile est de réussir le décodage binaire : le décodeur open source de Seeed enlève l’essentiel des incertitudes.

Une fois que les données circulent, TagoIO gère le stockage, la visualisation et les alertes sans aucune infrastructure supplémentaire.