Comment connecter son capteur Sigfox sur BAG·Tower ?

maxime louvel

Dernière mise à jour il y a 10 mois

Ce tutoriel vous explique comment créer/enregistrer un capteur Sigfox dans BAG⋅Tower. Vous pouvez utiliser votre propre capteur et suivre le tutoriel avec nous !

Prérequis

Avant de commencer vous avez besoin de :

   - Un compte Sigfox actif avec un capteur de votre choix. Vous pouvez acheter l'abonnement pour votre capteur ici.

   - Un compte BAG⋅Tower actif. Vous pouvez en créer un ici. Vous avez 14 jours d’essai gratuits ;)

Le capteur de température Enless PT100

Dans ce tutoriel, nous allons intégrer le capteur de température Enless PT100. Vous pouvez utiliser le capteur de votre choix, la configuration du capteur et le traitement (décodage) de trames dépendra du type de capteur et du fabricant. Assurez-vous d'avoir la documentation de votre capteur.

Allons y !

I. Création/enregistrement d'un équipement(asset/device) de type capteur dans BAG⋅Tower

Suivez cette procédure pour créer/enregistrer votre dispositif :

   Connectez-vous à BAG⋅Tower.

   Cliquez sur ajouter un équipement.

   1. Sélectionner Capteur Sigfox dans notre liste d’équipement.

   2. Saisissez les données de configuration de votre capteur (Nom, fréquence d’émission etc... ).

   3. Dans le champ Asset ID renseignez l'identifiant du capteur fourni par le fabricant (écrit sur le boîtier du capteur ou sur la plateforme Sigfox).

   6. Une fois le capteur enregistré, entrez dans sa vue détaillée bouton Détail >.

Notez quelque part les valeurs API Key et Company indiquées sur l'image suivante :

II. Configuration du capteur chez Sigfox

   1. Connectez vous au backend de Sigfox. Si vous n'avez pas encore enregistré votre capteur, créez d'abord un type de dispositif (dans cet exemple Temperature) et enregistrez votre capteur dans ce type.

Vous pouvez allez sur la page de support SigFox pour avoir plus d'informations sur la création d'un type de device et un device.

   2. Sélectionnez le type auquel appartient le capteur (dans cet exemple Temperature), sélectionnez callbacks dans le menu à gauche et créez une nouvelle callback.

   3. Configurez votre callback comme illustré dans l'image ci-dessous :

Vérifiez bien que l'Url pattern correspond à https://api.bagtower.bag-era.fr/prod/logs/pool.


Dans la section headers ajoutez un champ company-id, x-api-key et sensor-id, et associez leurs les valeurs attendues :

    - company-id: la valeur Company notée dans le point 5 de la configuration capteur dans BAG⋅Tower.

    - x-api-key: La valeur API Key notée dans le point 5 de la configuration capteur dans BAG⋅Tower

    - sensor-id: laissez la valeur {device}


C'est bon !


Votre capteur envoie ses données brutes dans BAG⋅Tower :)

Interpréter les données de votre capteur

Les données brutes de votre capteur seront normalement transmises à BAG⋅Tower sous la forme d'une trame contenant des valeurs hexadécimales. Chaque octet correspond à une valeur : température, humidité, voltage de la batterie, ...


Il faut décoder cette trame pour que BAG⋅Tower (et vos applications !) puissent exploiter ces données : lever des alertes, créer des graphes, ... Pour cela nous allons utiliser la fonctionnalité decoder disponible dans la plateforme.

I. Comment écrire un décodeur ?

Nous allons prendre l'exemple d'un décodeur en python. Pour cela, nous allons créer une fonction decode qui reçoit comme paramètre la trame Sigfox (string) et qui retourne un dictionnaire, compatible avec le format de données BAG⋅Tower.


Prenons un exemple de trame pour le capteur Enless T100 : 0321dc00. Elle est constituée de 8 octets de données. Selon la documentation du capteur nous pouvons interpréter les valeurs comme suit :


0x03 (Deux octets) : Type de transmetteur. 3 c'est pour le T100.


0x2 (1 octet) : Version de firmware


0x1 (1 octet): État de la batterie. 1 c'est OK.


0xdc00 (2 octets - big-endian): Valeur de température multipliée par 10 ((0*255 + 220)/10 = 22.0°C.


Ici, nous sommes intéressés par les données de température et d'état de la batterie. Pour exploiter ces données dans BAG⋅Tower, il nous faut retourner un dictionnaire sous la forme suivante :

Dans notre cas le décodeur en python pour le T100 est donc:
II. Intégrer le nouveau décodeur dans BAG⋅Tower

Notre fonction de décodage étant écrite, nous pouvons procéder l'intégration du décodeur dans BAG⋅Tower :


   1. Allez sur l'onglet Assets list. Si votre capteur a déjà transmis une trame vers la plateforme, il apparaît dans l'état Uncoded (Orange). Si ce n’est pas le cas, attendez que votre capteur communique une première trame.

   2. Cliquez sur Details, il vous sera proposé de créer un décodeur. Cliquez alors sur Create a decoder

   3. Dans la vue décodeur, vous pouvez choisir une trame pour tester, et coller le code du décodeur. Cliquez sur Validate decoder pour vérifier que le code fonctionne. Une fois le code validé, cliquez sur Save and attach puis Attach

   4. La prochaine fois que votre capteur communique, la trame passera par le décodeur et celui-ci affichera l'état Online

Et voilà !

Le capteur est maintenant connecté et les informations qu’il transmet sont correctement décodées et interprétées !


Vous pouvez ajouter autant de capteurs que vous le souhaitez ! Enjoy ! :D

Cet article a-t-il été utile ?

0 sur 0 ont aimé cet article

Vous avez encore besoin d'aide ? Envoyez-nous un message