Par: Andrew Lotze
Publié: 01/07/2022


Andrew Lotze partage ici son expérience des microcontrôleurs dans le cadre du BeerSheba Project au Sénégal. Ses réflexions font référence à l'article EDN 155 [http://edn.link/2myd6p] sur les applications agricoles des microcontrôleurs.

Ces deux dernières années, j'ai suivi une trajectoire similaire à celle de Tim en ce qui concerne l'utilisation des microcontrôleurs pour la collecte de données et l'automatisation agricole. J'ai commencé par de simples minuteries programmables, et des relais Wi-Fi, préemballés, puis j'ai découvert un micrologiciel alternatif bien développé qui facilite la programmation des microcontrôleurs et s'intègre facilement aux réseaux Wi-Fi.

Le micrologiciel s'appelle Tasmota [https://tasmota.github.io/docs/], et c’est un logiciel basé sur Arduino pour les microcontrôleurs ESP8266/ESP8285 et ESP32. L'ESP8266 est un microcontrôleur Wi-Fi de 160 MHz doté de 10 entrées/sorties numériques et d'une entrée/sortie analogique, qui peut contrôler des relais, des lumières, des moteurs, des MOSFET, lire la tension, communiquer sur des bus série tels que I2C et SPI, et plus encore. Le prix de la carte de développement. est d'environ 2 dollars. La communauté Tasmota est très active et des pilotes existent pour toutes sortes de capteurs (température, humidité),temps de vol, qualité de l'air, pression, lumière, ultraviolet, dioxyde de carbone et pH). Ces capteurs sont disponibles pour un coût très faible (1 à 5 dollars).

L'ESP32 est plus puissant (240mhz), et coûte environ 4$, mais possède plus d'entrées/sorties numériques et analogiques. L'ESP8266 et l'ESP32 consomment toutes deux beaucoup plus d'énergie qu'une simple carte Arduino, principalement en raison du Wi-Fi, et il est donc difficile de les faire fonctionner avec des piles. Le micrologiciel fonctionne mieux lorsqu'il peut se connecter au Wi-Fi (et envoyer/recevoir des données vers/depuis divers serveurs), mais il existe des options à faible consommation, de sorte que les modules peuvent fonctionner pendant des semaines sur une pile au lithium 18650, et indéfiniment en conjonction avec un petit panneau solaire. En général, cependant, ils sont adaptés aux environnements où l'alimentation est disponible 24 heures sur 24 et 7 jours sur 7.

J'ai :

  • Des modules ESP8266 contrôlant les pompes de forage (ils peuvent même lire et transmettre les données série des contrôleurs de moteur), avec des interrupteurs manuels rattachés, de sorte que les pompes peuvent être activées et désactivées manuellement ou à distance (figure 14A).
  • Des modules contrôlant la charge des batteries solaires (Figure 14B) et lisant les cellules de lithium individuelles (bien que les cartes d'équilibrage BMS [Battery Management System] dédiées soient plus faciles).
  • Des modules de lecture de la température, de l'humidité et des précipitations; ces données sont enregistrées sur une carte SD.
  • Des modules de surveillance et d'enregistrement de la consommation d'énergie de certains congélateurs à l'aide d'un module ESP8266 et d'unecarte de mesure de l'alimentation en courant alternatif ($6) (Figure 14C).
EDN156 Figure 14

Figure 14. Modules contrôlant les pompes (A), la charge des batteries solaires (B) et la consommation d'énergie (C). Source: Andrew Lotze

La collecte centralisée des données de tous les modules est utile, et j'utilise un Raspberry Pi Zero 2 W à 15 $ pour exécuter les services dont l'ESP8266 a besoin pour cela. Le Zero 2 W peut facilement gérer :

  • Node-Red (logiciel d'organigramme d'automatisation)
    Syslog (enregistrement des erreurs et du débogage)
    InfluxDB (base de données de séries chronologiques pour l'enregistrement des capteurs)
    Grafana (graphique de données de séries temporelles)
    MQTT (protocole de messagerie à faible coût pour communiquer avec des objets Wi-Fi)
    GPS (pour une mesure précise de l'heure en l'absence d'Internet)
    NTP (distribution de l'heure exacte à tous les autres éléments du réseau).

Grafana et InfluxDB me permettent de collecter les données des capteurs des modules ESP8266 et de les visualiser facilement (figure 15A). Je peux également surveiller l'état des interrupteurs (figure 15B) pour voir d'un coup d'œil quels éléments sont allumés ou éteints.

EDN156 Figure 15

Figure 15. Exemples de graphiques montrant les données des capteurs (A) et les états des interrupteurs (B). Source: Andrew Lotze

Citer comme:

Lotze, A. 2022. Utilisation des microcontrôleurs. Notes de développement de ECHO no. 156.