Cette page est en cours de rédaction.

Le concept

L'objectif de ce projet est d'instrumenter une serre aquaponique, dont un modèle à été installé dans l'enceinte de Polytech. L'installation de multiples capteurs dans cette serre permet à l'exploitant un monitoring en temps-réel avec une granularité assez fine, et permet notamment : Les mesures récoltées, utiles à l'exploitant, peuvent être nombreuses. Ici, nous pourrons recevoir des données de capteurs comme :

Dans ce projet, nous nous intéressons à la chaîne de transmission intégrale, c'est-à-dire de la récupération des données des capteurs à leur mise en forme auprès de l'exploitant de la serre.
Ainsi, nous avons étudié puis implanté un système de communication bas-débit, longue-distance dont les propriétés sont adaptées à la télémétrie, puis implanter un backend permettant de sauvegarder ces données, pour enfin concevoir un interfaçage avec l'utilisateur.

La chaîne de transmission : du capteur à l'utilisateur

Cliquez sur un cercle.
  • Les capteurs

    Les capteurs permettent de convertir une mesure physique (une température, une onde) en un signal électrique, qui pourra être "compris" et traité par des système électroniques et informatiques.

    Plusieurs capteurs sont installés dans la serre, et permettent de récupérer des informations sur l'environnement ambiant.

    En plus des capteurs traditionnels (température, humidité), sont utilisés des capteurs pour mesurer la production électrique solaire, le niveau de batterie...

    Physiquement, ces capteurs sont reliés par des câbles électriques à une carte de développement, via des interfaces standards (I2C) ou sur des pin (tension électrique "brute").

    Nous ne nous occuperons pas du choix, de la conception ni de l'installation des capteurs, qui sont mis en place par la filière IES (davantage tournée sur l'electronique).

  • La carte de développement

    Une carte de développement est un "mini-ordinateur", généralement peu coûteux, qui permet de prototyper des solutions informatiques / électroniques assez rapidement. Elle est composée d'un micro-processeur, d'un peu de mémoire vive et de ROM, et propose des connectiques pour interfacer des composants externes (I2C, GPIO...).

    Pour ce projet, nous utiliserons les cartes Nucléo-L073RZ, fournies par STMicroelectronics.
    Proposant un processeur ARM, elles tournent sous le système d'exploitation MBED, et sont programmables en C.
    ST propose un IDE et un compilateur en ligne, permettant de commencer le développement rapidement (pas besoin d'installer la toolchain). Le programme, sous format binaire (.bin), est installé sur la carte via un simple copier-coller du binaire sur le média USB monté.

  • La carte radio LoRa

    La carte radio LoRA est une extension d'une carte de développement, intégrant une puce radio conçu pour émettre et recevoir des trames LoRA, et fournissant une connectique pour l'antenne et pour la carte de développement (via GPIO).

    LoRa (Long Range) est une technologie propriétaire radio, fonctionnant sur des bandes libres, et conçue notamment pour la télémétrie par ses propriétés radio comme une bonne résistance au bruit ("bruit des autres signaux radio"), une longue portée et un faible débit.

    Nous utilisons le module SX1272 fabriqué par Semtech, société qui a conçu le protocole LoRa.

    Ce module se connecte très facilement sur la carte de développement, utilisant quelques ports GPIO (entrée, sortie de données et contrôles), et propose plusieurs connectiques I2C et UART pour la connecter des capteurs, par exemple.

    La carte LoRa.
  • La gateway LoRa

    La passerelle LoRa, utilisant également un module radio LoRA, permet de récupérer les trames LoRA envoyées par les noeuds, et d'interfacer les transmissions LoRa avec d'autres technologies et protocoles.

    Ici, nous utilisons la passerelle Picocell gateway fournie par Semtech. Elle se connecte par USB à un ordinateur, et après avoir lancé le logiciel dédié on obtient des trames sérialisées en JSON pour pouvoir être facilement exploitées

    Cet équipement n'est pas disponible sur le marché, mais il existe d'autre façon de se procurer une gateway. On peut en trouver, prêtes à fonctionner, en vente sur des sites spécialisés pour 200 à 1200 euros environ, ou on peut en concevoir une soi-même.

  • Le serveur LoRa

    Le serveur LoRa correspond à la partie applicative du LoRaWAN, implémentant la couche MAC LoRaWAN, c'est-à-dire l'identification des noeuds et la sécurité.

  • La base de données

    La base de données est l'élément qui permet de sauvegarder les mesures provenant des noeud LoRa

    Ici, nous utiliserons une base de donnée en série de temps. Contrairement à une base traditionnelle (relationnelle), cette base de donnée est conçue pour gérer des données sous forme de temps

    C'est la base de donnée InfluxDB qui sera utilisée, dans sa version communautaire.

    Cette base est simple à utiliser :

    Au lieu de créer nous-même les requêtes, nous utilisons un module node-red, qui gère l'insertion des données approvisionnées.

  • La visualisation de données

    L'utilisateur va pouvoir visualiser l'environnement capté de la serre, par la génération en temps réel de graphiques s'affichant dans des dashboards personnalisables.

    Des logiciels comme Graphana (libre) ou Chronograf (compagnon d'InfluxDB) permettent :

    • de créer des dashboards, une collection de graphiques permettant de visualiser des données choisies
    • rendre le requêtage transparent ou plus aisé à la base de données, avec des aides à l'écriture de la requête et une automatisation du requêtage à intervalle régulier pour un accès temps-réel.

    Illustration d'un dashboard de Graphana.
  • L'intéraction avec l'utilisateur

    Une interface simple et concise, pour que l'utilisateur puisse gérer ses serres et être notifié en cas d'alerte

    Nous avons conçu une application web, ayant comme fonctionnalités :

    • l'intégration de graphiques générées en temps-réel
    • un plan pour la serre, avec la localisation des capteurs pour pouvoir intervenir plus rapidement
    • une notification lors d'évènements choisis par l'utilisateur

Publications

Pour en savoir plus

A venir...