Publié le 23 juillet 2017 - par

Un (autre) détecteur de foudre pour le Raspberry Pi qui twitte les alertes

L’été c’est la saison des orages. La foudre intéresse de nombreuses personnes. Amateurs de photos d’éclairs, randonneurs, campings… Le détecteur proposé par Hexalyse sur son blog est sensible (détection jusque 40Km), bien documenté et disponible sur Github pour la partie logiciel.

Un détecteur de foudre avec le Raspberry Pi

Hexalyse est un blogueur français. Il publie ses articles en anglais pour toucher un plus large public. Avec son autorisation, voici la traduction de son article pour les lecteurs francophones de framboise314.

C’est suite à la publication d’un précédent article concernant un détecteur de foudre que j’ai découvert celui-ci.

L’article d’Hexalyse (traduction)

Le capteur AS3935

Cliquez pour agrandir

Il utilise un capteur intégré AMS, appelé Franklin Lightning AS3935, qui peut détecter la signature électrique de foudre jusqu’à 40 km et donner une idée de la «puissance» de la foudre ainsi qu’une estimation de la distance du front orageux. l’AS3935 est un minuscule circuit CMS de 4x4mm conçu pour être intégré dans les stations météorologiques personnelles, les montres, les voitures, etc. Sa documentation au format .PDF est disponible en ligne.

Cliquez pour agrandir

Les alertes sur twitter

Son côté noir nerd ayant été chatouillé, Hexalyse a soudain ressenti le besoin d’en acheter un et de construire une station de détection de la foudre qui pourrait tweeter lorsqu’une tempête arrive, en utilisant un Raspberry Pi qui sommeillait sur une table et ne faisait rien la plupart du temps. Et il l’a fait !

Cliquez pour agrandir

Hexalyse a ainsi créé un compte Twitter sur lequel les informations concernant la foudre sont tweetées en temps réel, avec estimation de l’énergie et de la distance.

MOD-1016 un module prêt à l’emploi

Après quelques recherches, il a constaté que Embedded Adventure vendait un module prêt à l’emploi, avec le capteur soudé ainsi qu’une antenne et tous les composants nécessaires.

La carte est prête à être utilisée via l’interface I2C de n’importe quelle carte SBC (Single Board Computer).

Une autre recherche lui a permis de découvrir que quelqu’un avait déjà mis en ligne sur GitHub une bibliothèque Python pour utiliser ces capteurs sur un Raspberry Pi. Parfait ! Tout ce qui est nécessaire est disponible 🙂 La documentation du module MD-1016 est disponible au format PDF.

MOD-1016 : Câblage au Raspberry Pi

Voici le schéma de câblage pour connecter le capteur au Raspberry Pi (vous pouvez utiliser une broche GPIO différente pour l’IRQ, mais n’oubliez pas de modifier le code en conséquence) :

Broche de l’AS3935 Broche MOD-1016 Broche GPIO Raspberry Pï
4 (GND) GND 25 (Masse)
5 (VDD) VCC 1 (3v3 Power)
10 (IRQ) IRQ 11 (GPIO 17)
11 (I2CL) SCL 5 (SCL)
13 (I2CD) SDA/MOSI 3 (SDA)

Voici une image de l’installation d’Hexalyse. Pour l’instant, ce n’est qu’un prototype rapidement mis en place sur une plaque de prototypage (breadboard) :

Le programme

Bibliothèque Python

La bibliothèque Python est relativement bien auto-documentée, alors baladez vous simplement dans le code et cela devrait suffire. Si vous souhaitez comprendre exactement comment fonctionne chacun des paramètres du capteur (seuil de surveillance, rejet du signal, etc., même si certains ne sont pas implémentés dans la bibliothèque), reportez-vous à la fiche technique de l’AS9535.
Il pourrait être utile de modifier les paramètres qui ne sont pas directement exposés, et il est assez facile de le faire en appelant directement RPi_AS3935.set_byte (register, value) (il suffit d’appeler RPi_AS3935.read_data () en premier et d’obtenir la valeur actuelle du registre de sorte que vous ne modifiez que les bits nécessaires). Pour la partie Twitter du script, l’auteur a choisi d’utiliser le module Tweepy.

Le scénario du script

Hexalyse voulait juste écrire un script qui surveillerait le détecteur et tweeterait quand une tempête serait en approche. Alors pour éviter de faux positifs, il a réglé le paramètre « minimum strikes » à 5 (le capteur attend 5 détections de foudre dans une période prédéfinie avant de commencer à envoyer des IRQ lors de chacune des détections suivantes. Ensuite, un programme gestionnaire de l’IRQ est exécuté chaque fois qu’une IRQ est reçue. Si c’est un éclair, un tweet est envoyé. Mais pour éviter d’envoyer des tonnes de tweets, Hexalyse a mis en place un délai de 5 minutes : si plus d’un éclair survient pendant ces 5 minutes,  il tweet simplement le nombre d’éclairs détectés. Après 30 minutes sans activité du capteur, on considère que la tempête est terminée et on tweet aux followers qu’ils devraient être tranquilles maintenant.

Exemple de tweet

Voici un exemple de tweet (oui, les tweets sont en français, parce l’auteur vit en France. ):

La traduction serait « /! \ 117 éclairs détectées au cours des 5 dernières minutes. Puissance du dernier éclair : 429714 – distance du front de la tempête : 1 km « .

Comme vous pouvez le voir, c’était une tempête assez violente, avec des quantités d’éclairs intra-nuage se produisant et étant détectés presque toutes les secondes (ce qui est proche du maximum que peut détecter le capteur, car dans la fiche technique on peut lire qu’il attend 1,5s après qu’un éclair ait été détectée et analysé, avant de commencer à écouter de nouveau.
Le compte Twitter est : https://twitter.com/toulouse_orages

Le mot de la fin

Hexalyse a eu « la chance » de mettre son système en place juste avant une période d’orages, à Toulouse. Au début, il pensait que le capteur était devenu fou car il détectait des centaines d’éclairs toutes les quelques minutes. Mais non … Depuis 4 jours maintenant il n’y a eu aucun faux positif. Le capteur n’a détecté aucun éclair pendant 48 heures, et a commencé à réagir chaque fois qu’un orage approchait !

L’auteur est donc très satisfait des résultats, beaucoup plus que ce qu’il espérait obtenir à partir d’un aussi petit petit capteur. Surtout il n’a pas pris le temps de le calibrer correctement et a gardé les réglages d’usine. Il vient de régler le condensateur d’antenne comme indiqué par Embedded Adventure, mais cela peut être une bonne idée de l’étalonner car la température et d’autres facteurs peuvent l’influencer. Une méthode d’étalonnage de l’antenne en lisant la vitesse d’oscillation à partir de la broche IRQ avec un Arduino est expliquée ici : comme vous pouvez le voir, le processus pourrait être facilement automatisé.

Si vous souhaitez construire votre propre station, vous pouvez trouver le code Python final pour ce bot sur Github : https://github.com/Hexalyse/LightningTweeter

Conclusion

Merci à Alexandre de m’avoir autorisé à traduire son article sur framboise314.
J’ai commandé un module MOD-1016 pour monter un détecteur, sans doute avec un Pi-Zero… à suivre donc !

Pour ceux et celles qui seraient intéressé(e)s Flo signalait sur l’article précédent que le site http://www.blitzortung.org donne également des infos grâce à son réseau. Le temps de l’impact est déterminé précisément (horloge GPS) et les serveurs calculent l’endroit exact de l’impact en fonction des horaires relevés par différentes stations. Une documentation sympa est dispo sur http://www.blitzortung.org/Documents/TOA_Blitzortung_RED.pdf

Sources

Raspberry Pi lightning strikes detection station that tweets storm information

Very, very frightening indeed: Lightning detector uses a sensor and a Raspberry Pi

Share Button

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

9 réflexions au sujet de « Un (autre) détecteur de foudre pour le Raspberry Pi qui twitte les alertes »

    1. François MOCQ Auteur de l’article

      Bonjour Denis
      bin… pour trianguler il faut au moins trois récepteurs (un par sommet du triangle) 🙂
      c’est ce que fait http://www.blitzortung.org/
      Le GPS fournit le moment précis ou une station reçoit le signal. En recoupant les temps fournis par 3 ou 4 stations (avec 4 la précision est meilleure) on peut déterminer l’endroit de l’impact.
      Voyez http://www.blitzortung.org/Documents/TOA_Blitzortung_RED.pdf page 11
      cordialement
      François

      Répondre
      1. Delsaux Denis

        Bien d’accord, du coup un à l’avant du bateau l’autre au milieu le dernier à l’arrière, voir un en tête de mât, le tout sur la même framboise. Après si le bateau est dans les classiques 6 a 12 mètres, la longueur serait-elle suffisante ? Je vais fouiller un peu ce soir. Merci pour le lien

        Répondre
        1. François MOCQ Auteur de l’article

          je ne pense pas
          le signal parcourt 300m en 1 micro seconde… même sur un grand bateau l’écart serait minime 🙁
          l’idée c’est d’avoir plusieurs stations largement réparties sur la surface terrestre pour pouvoir déterminer l’endroit de l impact
          3 stations regroupées sur un bateau (combien? 10 mètre de long, 15 mètres) ne sont pas suffisamment écartées pour permettre cette mesure (enfin, c’est juste mon avis 🙂 )

          Répondre
  1. Matioupi

    La détection je comprend à peu près l’idée.
    Pour l’estimation de la distance, ça fonctionne comment ? Je comprend mal comment une mesure « directe » peut être faite, ça doit être un genre de table interne fonction de la « tête » de la signature et de la puissance reçue.

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP * Time limit is exhausted. Please reload CAPTCHA.