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
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.
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 !
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.
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
- http://www.embeddedadventures.com/as3935_lightning_sensor_module_mod-1016.html
- https://github.com/Hexalyse/LightningTweeter
- http://ams.com/eng/Products/Wireless-Connectivity/Wireless-Sensor-Connectivity/AS3935
- http://ams.com/eng/Support/Demoboards/Wireless-Connectivity/Wireless-Sensor-Connectivity/AS3935-Demo-Kit
- https://github.com/pcfens/RaspberryPi-AS3935/
Very, very frightening indeed: Lightning detector uses a sensor and a Raspberry Pi
Et saurais-t-on triangulé pour avoir la direction ? Je pense aux avions ou bateaux, qui aimerait pouvoir éviter la foudre …
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
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
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 🙂 )
Bonjour,
C’est plutôt 300 m par seconde.
Mais le problème reste le même.
bonjour euh… nan c’est le signal électromagnétique qu’on détecte : 300 000 Km/s (enfin… à peu près)
ça fait 300 000 000 m par seconde et 300 m en 1 micro seconde
CQFD
Re,
J’avais en tête la vitesse du son.
Oui, je sais, je me rattrape au bout des branches (voir même les feuilles) 😉
J avais compris ?
Bonne soiree
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.
Bonjour
Le capteur doit être placé ou? dehors ou en intérieur?
Cordialement
bonjour
ça n’a pas d’importance… les deux fonctionnent
cordialement
François
Bonjour François je viens de lire l’article que je trouve très intéressant j’ai le projet d’acheter le MOD-1016 existe-t-il un tuto complet pour mettre tout cela en oeuvre car je ne suis pas un pro du raspberry je connais les bases mais pour que cela fonctionne sur son propre compté twitter je suis un peu perdu .
Merci
Bonjour Laurent
désolé de répondre aussi tardivement
mais c’est ça les retraités ! en vacances en septembre 🙂
j’ai utilisé l’article https://hexaly.se/2017/06/27/lightning-strikes-detection-station-that-tweets-storm-alerts/ mais c’est le seul que je connaisse à ce sujet
éventuellement demandez lui plus d’infos
cordialement
François
Merci François pour la réponse
vous avez entierrement raison de profiter de votre retraite et les vacances en septembre c’est plus calme
pour ce qui concerne le détecteur de foudre j’ai tout mis en place j’attends plus que la foudre pour voir si ça fonctionne pour moi 😉
et le vôtre il fonctionne?
cordialement
Laurent
Petit retour pour dire que tout fonctionne nickel
merci encore ?
Pas de chance pour moi, il y a des éclairs et de la foudre mais aucune détections enregistrées.
Je suis peut-être tombé sur un module défectueux. Dans tous les cas, je ne peux pas compter sur le support du site qui vend les modules.
Merci pour les réponses bonnes continuations ?
Bonjour,
Je dispose d’un As3935
Est il possible de le faire fonctionner avec un esp8266 afin de profiter du MQTT.
Par avance merci.
Bonjour
l’AS3935 est en I2C vous devriez pouvoir l’utiliser avec un ESP
https://esphome.io/components/sensor/as3935.html
https://github.com/trombik/AS3935-ESP-I2C
cdt
francois
Bonjour,
un plaisir de lire ce tuto, mais mais…existe-t-il un revendeur en € de ce module ?
Cordialement
Raph
Bonjour
Pas à ma connaissance