Blitz! The Lightning Detector für Raspberry Pi Wetterstation

6 Schritt:Schritt 1: Schließen Sie den Blitz-Detektor zu WeatherPi Schritt 2: Testen der Blitzeinheit Schritt 3: Drucken Sie 3D-Blitz-Pylon Schritt 4: Die Software für den Blitz-Detektor Schritt 5: Sehen Sie die Real Results! Schritt 6: Fazit

Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

In diesem Instructable erfahren Sie:

    Wie man eine Verbindung ein Blitz-Detektor auf eine solarbetriebene Wetterstation
    Wie zu entwerfen und stellen Sie den Blitz-Detektor für die beste Performance
    Wie um Daten zu sammeln, um den Blitz Geschichte zu sehen, wie es geschieht
    Wie verdrahten eine der Blitz-Detektor auf ein I2C Mux und Raspberry Pi-Gebäude 3D ​​gedruckte Teile für den Pylon halten die Lightning Detector Untersuchen Sie die Python-Software für den Betrieb des Blitz-Detektor auf einem Raspberry Pi

Vor kurzem veröffentlichten wir einen Instructable detailliert, wie man eine solarbetriebene Raspberry Pi Wetterstation, WeatherPi bauen.
Was ist Wetter Pi?
WeatherPi ist eine solarbetriebene Raspberry Pi WiFi verbunden Wetterstation für Makers durch SwitchDoc Labs entwickelt. Dies ist ein großartiges System, um mit zu bauen und basteln. Alles ist veränderbar und alle Quellcode ist enthalten. Die wichtigsten Funktionen sind:
Erkennt 20 verschiedene Umwelt Werte komplett solarbetriebene Hat eine vollständige Datenbankgeschichte der Umwelt (MySQL) überwacht und meldet jede Menge Daten auf dem Solarsystem, das - groß für Bildung! In sich abgeschlossen und für die Spannungsabfälle und Machtfragen überwacht Kann remote geändert werden Laden Sie Ihre Daten, um sie auf Ihrem PC crunch modifiziert werden, um SMS (Text) Messaging, Twitters, Webseiten und mehr zu tun hat eine iPad-basiertes Control Panel Einfach auf Twitter zu verbinden, Weather, etc
Geben Sie den Blitz
Diese Instructable zeigen Ihnen, wie Sie eine Embedded Adventures MOD-1016 AS3935 Blitz Detector Breakout Board an die Solar Powered Raspberry Pi Wetterstation hinzuzufügen.
Folgen Sie entlang auf Aktualisierungen der WeatherPi Geschichte auf www.switchdoc.com.
Was ist der AS3935 und wie funktioniert es?
Die österreichische Microsystems AS3935 ist ein programmierbarer Blitz Sensor IC, der das Vorhandensein und den Ansatz von potentiell gefährlichen Blitzaktivität in der Umgebung erkennt und stellt eine Schätzung auf der Abstand zum Kopf des Sturms. Der eingebettete Blitzalgorithmus überprüft die eingehenden Signalmuster, um die möglichen künstlichen Störer und verschiedene Lärmquellen abzulehnen.
Der AS3935 kann auch Informationen von dem Rauschpegel und informiert den Raspberry Pi hoher Rauschbedingungen.

Schritt 1: Schließen Sie den Blitz-Detektor zu WeatherPi

  1. Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Der komplette Instructable für den Aufbau WeatherPi, eine solarbetriebene Raspberry Pi anhand Wetterstation, einschließlich der Stückliste und vollständige Verdrahtungsliste ist hier.
    Da wir ließen unsere anderen MOD-1016 AS3935 Breakout-Board auf der WeatherPiArduino Board vorläufig entschieden wir uns, eine zusätzliche MOD-1016 AS3935 hinzuzufügen.
    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Da die MOD-1016 hat einen festen I2C-Adresse (0x03), konnten wir nicht schließen Sie es bis zu der gleichen I2C-Bus als die WeatherPiArduino Pension ist auf. Also, mit dem I2C Multiplexer Bord , setzen wir die zweite MO-1016 auf dem Bus 2.
    Wir sind immer läuft in Konflikte mit Adressierung auf dem I2C-Gerät. Da es keine Standards, manchmal mehrere Geräte die gleiche Adresse haben, wie 0x03, und Sie laufen in beide auf dem gleichen I2C-Bus, ohne viel jimmy Takelage sind nur kein Glück.
    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    4-Kanal-Multiplexed I2C Breakout Board
    Wir einen I2C Bus Multiplexer für die Konzeption, die uns auf viele weitere I2C-Geräte auf dem haben können hinzugefügt - an, um dieses Problem Adressierung (siehe unten speziell der Konflikt zwischen einer INA3221 und der Innenfeuchtigkeitssensor als auch mit zwei identischen Blitz Sensoren) erhalten Bus, unabhängig davon, Bewältigung von Konflikten. Unten ist unsere aktuelle Liste der I2C-Geräte in WeatherPi.
    Modul Adresse I2C Mux Bus #
    BMP180 Luftdruck 0x77 Bus 0
    Echtzeituhr DS3231 0x68 Bus 0
    ATC EEPROM 0x56 (oder 0x57) Bus 0
    ADS1015 Analog-Digital-Wandler 0x49 Bus 0
    FRAM nichtflüchtigen Speicher 0x50 Bus 0
    ADS1015 auf SunAirPlus 0x48 Bus 1
    INA3221 3 Kanal Spannung / Strom-Monitor auf SunAirPlus 0x40 Bus 1
    Embedded Adventures Blitz Detector 0x03 Bus 0
    Embedded Adventures Blitz Detector 0x03 Bus 2
    AM2315 Außen Temp / Feuchte 0x5C Bus 1
    I2C 4-Kanal-I2C Bus Mux 0x73 Auf alle Busse
    HTU21D-F Feuchtesensor 0x40 Bus 0

    Beachten Sie, dass eine Anzahl von Vorrichtungen die gleiche Adresse haben. Dies wird durch Verwendung des festen I2C Mux Breakout Board .
    Verdrahtungsliste
    Dies sind nur die Ergänzungen der Verdrahtungsliste für den AS3935 Breakout Board zu Bus2 des I2C Mux verbunden und in der 3D-Printed Pylon platziert. Der vollständige Verdrahtungsliste für WeatherPi im Instructable.
    I2C Mux Board (I2CM)
    JP5 - I2C Bus2 Externe AS3935 Breakout Board (ASBB)
    I2CM JP5 / Pin 2: VD2
    3.3V Von Pi / Schraubverbinder

    3.3V Von Pi / Schraubverbinder
    I2CM JP5 / Pin 3: GND ASBB: GND GND für ASBB Foren
    I2CM JP5 / Pin 4: SC2 ASBB: SCL SCL für ASBB Foren
    I2CM JP5 / Pin 5: SD2 ASBB: SDA SDA für ASBB Foren


    Externe AS3935 Breakout Board (ASBB)

    Externe AS3935 Breakout Board (ASBB)
    JP5 - I2C Bus2
    ASBB: VCC
    3.3V Von Pi / Schraubverbinder

    3.3V Von Pi / Schraubverbinder
    ASBB: GND
    I2CM JP5 / Pin 3: GND
    GND für ASBB Foren
    ASBB: SCL
    I2CM JP5 / Pin 4: SC2
    SCL für ASBB Foren
    ASBB: SDA
    I2CM JP5 / Pin 5: SD2
    SDA für ASBB Foren
    ASBB: IRQ
    PiA + GPIO / Pin 15: GPIO 22
    IRQ Line zu Raspberry Pi

    Hier ist, was die I2C-Bus sieht aus wie auf der Raspberry Pi. Dies ist der Ausgang aus dem Beispielcode mit dem I2C-4 Kanal Mux (daher gibt es 4 für den I2C-Bus gezeigt unabhängige Busse).
    Beachten Sie, dass WeatherPi verwendet Bus 0, Bus 1 und Bus 2.
    Bus 2 ist nur für die Verbindung mit dem externen MOD-1016 AS9535 Blitz Detektor verwendet. Das Ausführen des Test-Software für den I2C Mux Breakout Board führt zu folgenden Ergebnissen:
      Test SDL_Pi_TCA9545 Version 1.0 - SwitchDoc Labs
    
     Beispiel verwendet 0x73
     Programm Beginn: 2015.05.19 02.45.59
    
     ----------- BUS 0 -------------------
     addr = 0x73 returndata = 0x81 
     Steuerregister tca9545 B3-B0 = 0x1
     Interrupts zu ignorieren, wenn INT3 '- INT0' nicht angeschlossen
     registrieren tca9545 Steuer Interrupts = 0x8
          0 1 2 3 4 5 6 7 8 9 abcdef
     00: 03 - - - - - - - - - - - - 
     10 - - - - - - - - - - - - - - - - 
     20 - - - - - - - - - - - - - - - - 
     30: - - - - - - - - - - - - - - - - 
     40: 40 - - - - - - - - 49 - - - - - - 
     50: 50 - - - - - 56 - - - - - - - - - 
     60: - - - - - - - - 68 - - - - - - - 
     70 - - - 73 - - - 77                         
    
     -----------------------------------
    
     ----------- BUS 1 -------------------
     addr = 0x73 returndata = 0xA2 
     Steuerregister tca9545 B3-B0 = 0x2
     Interrupts zu ignorieren, wenn INT3 '- INT0' nicht angeschlossen
     Steuerregister tca9545 Bricht = 0xa
          0 1 2 3 4 5 6 7 8 9 abcdef
     00 - - - - - - - - - - - - - 
     10 - - - - - - - - - - - - - - - - 
     20 - - - - - - - - - - - - - - - - 
     30: - - - - - - - - - - - - - - - - 
     40: 40 - - - - - - - 48 - - - - - - - 
     50: - - - - - - - - - - - - - - - - 
     60: - - - - - - - - - - - - - - - - 
     70 - - - 73 - - - -                         
    
     -----------------------------------
    
     ----------- BUS 2 -------------------
     addr = 0x73 returndata = 0x84 
     Steuerregister tca9545 B3-B0 = 0x4
     Interrupts zu ignorieren, wenn INT3 '- INT0' nicht angeschlossen
     registrieren tca9545 Steuer Interrupts = 0x8
          0 1 2 3 4 5 6 7 8 9 abcdef
     00: 03 - - - - - - - - - - - - 
     10 - - - - - - - - - - - - - - - - 
     20 - - - - - - - - - - - - - - - - 
     30: - - - - - - - - - - - - - - - - 
     40: - - - - - - - - - - - - - - - - 
     50: - - - - - - - - - - - - - - - - 
     60: - - - - - - - - - - - - - - - - 
     70 - - - 73 - - - -                         
    
     -----------------------------------
    

Schritt 2: Testen der Blitzeinheit

  1. Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Nicht überraschend ist diese Blitzortungsgerät sehr empfindlich gegenüber RFI (Radio Frequency Interference) Quellen. Wenn Sie Ihr Gerät neben einem Monitor haben, wird es nicht funktionieren. Wenn Sie es sich neben einem Handy haben, wird es nicht funktionieren. Wie Sie unten sehen werden, mussten wir den Detektor weit weg von der Raspberry Pi und Solar Power-Controller mounten, um es gut zu funktionieren.
    Als wir die AS3935-Gerät, waren wir ziemlich aufgeregt über die Verwendung in einem Design. Eines der Themen, die wir schnell fanden wir uns mit Blick auf war, wie man die AS3935 in eigener Konstruktion zu testen. Wie in einem vorherigen Schritt festgestellt, könnten wir Lärm verursachen, um, indem Sie in der Nähe von Monitoren und Handys passieren (die eigentlich testet eine Menge von der Hard- und Software, aber nichts wirklich über Empfindlichkeit in einem gemessen, kalibriert Weg), aber wir wollten etwas genauer, es mit zu testen. Wir konnten Interrupts (meist der Grundrauschen-Typ), aber nur wenige Blitze verursachen.
    Am Ende haben wir den Kauf der AS3935 Touch Sensor Development Tools Franklin Blitzsensor IC Development Kit von mouser.com. Es hat uns wieder 230 €, die mehr als wir zahlen wollten, aber wir schnell benutzte es, um eine Reihe von Problemen in der Entwicklung und der Geräteplatzierung zu diagnostizieren.
    Als wir dieses Instructable Veredelung, kam eine tatsächliche Gewitter durch SwitchDoc Labs. Leider mussten wir die AS3935 alles auseinander in Stücke gemacht, so dass wir schnappte sich das Development-Kit und drehte sie auf und waren schnell mit einer Reihe von Blitzbolzen Erkennungen belohnt.
    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Später am Wochenende, rollte ein echtes Gewitter über etwa 6 km entfernt und diese Daten an gezeigt hergestellt RasPiConnect . Die WLAN-Down-Meldungen sind aus einer laufenden Problem mit WiFi Verbindung trennt. Wir setzen Sie die WiFi-Dongle, wenn es eine Trennung und melden das Ereignis.
    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Diese Entdeckungen waren, nachdem wir in den Pylon bewegt den Blitz-Detektor aus (wirklich, wir haben soeben eine andere, statt löten dem auf der WeatherPiArduino - wir werden das später tun nächste Woche).

Schritt 3: Drucken Sie 3D-Blitz-Pylon

  1. Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Problem Montage des AS3935 Im Inneren der Box
    Wir installierten das MOD-1016 mit dem AS3935 in der Kopfzeile auf der WeatherPiArduino Pension. Sie können sehen, es in der Mitte der Abbildung unten installiert. Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Der AS3835 Breakout Board auf WeatherPiArduino Installierte
    Dies erwies sich nicht auf eine gute Lage. Zu viel Lärm von den anderen Komponenten umgibt. Wir waren immer Interrupts uns mitzuteilen, um das Grundrauschen einstellen und dann musste man sein Recht auf es mit dem Blitz-Simulator, um eine Antwort zu kriegen. Wir mussten es weg von den anderen Elektronik bewegen. Im Nachhinein sollten wir wissen müssen, dass das passieren würde. Die Lösung? Bewegen Sie es weg von der Box in einem Pylon. Wir dachten, der Bewegung der WeatherPiArduino in einen Pylon, aber wir beschlossen, setzen Sie einfach ein AS3835 in den Pylon. Sehen Sie die 3D-Druckdateien vor. Unten ist das, was die drei Teile sehen aus wie auf dem Bildschirm in OpenSCAD und dann wird es von einem Bild des Turmes gedruckt und auf der Box installiert WeatherPi gefolgt. Hier sind die OpenSCAD Dateien für den Pylon.
    Die 3D-gedruckte Teile des Blitz Pylon
    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

Schritt 4: Die Software für den Blitz-Detektor

  1. Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Nach langer Suche und spielt mit einer Reihe von Paketen, fanden wir ein gutes Paket von Phil Fenstermacher . Mit ein wenig herumalbern und Einrichten von Interrupts, wir haben die Software zu arbeiten.
    Der vollständige Software für WeatherPi, das die Software enthält AS3935 ist ein Angebot auf github.com .
    Hier ist die Setup-Software:
      ################
    
     # Ad3935 up Blitz-Detector Set
    
     # Drehen I2CBUS 2 auf
     tca9545.write_control_register (TCA9545_CONFIG_BUS2)
     time.sleep (0,003)
     # Tca9545.write_control_register (TCA9545_CONFIG_BUS0)
     # Time.sleep (0,003)
    
     AS3935 = RPi_AS3935 (Adresse = 0x03, Bus = 1)
    
     as3935.set_indoors (False)
     as3935.set_noise_floor (0)
     # As3935.calibrate (tun_cap = 0x0F)
     as3935.calibrate (tun_cap = 0x05)
    
     as3935LastInterrupt = 0
     as3935LightningCount = 0
     as3935LastDistance = 0
     as3935LastStatus = ""
    
     as3935Interrupt = False
     # Drehen I2CBUS 0 auf
     tca9545.write_control_register (TCA9545_CONFIG_BUS0)
     time.sleep (0,003) 
    Als nächstes wird der Verarbeitungssoftware für die Interrupts.
      def process_as3935_interrupt ():
    
         global as3935Interrupt
         global AS3935, as3935LastInterrupt, as3935LastDistance, as3935LastStatus
    
         as3935Interrupt = False
    
         print "Verarbeitung von Interrupt von AS3935"
         # Drehen I2CBUS 0 auf
         # Tca9545.write_control_register (TCA9545_CONFIG_BUS0)
         # Drehen I2CBUS 2 auf
         tca9545.write_control_register (TCA9545_CONFIG_BUS2)
         time.sleep (0,003)
         reason = as3935.get_interrupt ()
    
         as3935LastInterrupt = Grund
    
         wenn Grund == 0x00:
             as3935LastStatus = "Spurious Interrupt"
         elif Grund == 0x01:
             as3935LastStatus = "Grundrauschen zu niedrig. Einstellen"
             as3935.raise_noise_floor ()
         elif Grund == 0x04:
             as3935LastStatus = "Störer erkannt - Maskierung"
             as3935.set_mask_disturber (True)
         elif Grund == 0x08:
             Jetzt DateTime.Now = () strftime ('% H:% M:% S -% Y /% m /% d').
             distance = as3935.get_distance ()
             as3935LastDistance = Abstand
             as3935LastStatus = "Lightning erkannt" + str (Abstand) + "km entfernt. (% s)"% jetzt
             pclogging.log (pclogging.INFO, __name__, "Lightning erkannt" + str (Abstand) + "km entfernt. (% s)"% heute)
    
         print "Last Interrupt = 0x% x:% s"% (as3935LastInterrupt, as3935LastStatus)
         tca9545.write_control_register (TCA9545_CONFIG_BUS0)
    
         time.sleep (0,003)
    
    
    Der Interrupt-Handler. Kurz und gut, als Interrupt-Handler sollte.
      def handle_as3935_interrupt (Kanal):
         global as3935Interrupt
    
         print "AS3935 Interrupt"
    
         as3935Interrupt = True
    
    
    Einrichten der Raspberry Pi GPIOs, um Unterbrechungen zu empfangen.
      # As3935pin = 18
     as3935pin = 22
    
     GPIO.setup (as3935pin, GPIO.IN)
     # GPIO.setup (as3935pin, GPIO.IN, pull_up_down = GPIO.PUD_UP)
     GPIO.add_event_detect (as3935pin, GPIO.RISING, callback = handle_as3935_interrupt)
    
    

    Und die Reporting-Software zum Lesen des Interrupts.
      # Prozessalarme von Lightning
    
             if (as3935Interrupt == true):
    
                     versuchen:
                             process_as3935_interrupt ()
    
    
                     Ausnahme:
                             print "Ausnahme - AS3935 I2C hat nicht funktioniert"
    
    

Schritt 5: Sehen Sie die Real Results!

  1. Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Wir haben die Ausführung des AS3935 Breakout-Board in der WeatherPi Pylon für die letzten 5 Tage. Wir hatten zwei Gewitter kommen durch während dieser Zeit. Der erste Sturm war ziemlich Woche und nur durch nördlich von SwitchDoc Labs bewegt. Unser Präsident, Laurel, war out Golf spielen (die Vorteile der Kraft und Position), und sie rief uns, uns zu sagen, dass das Gewitter hatte vorbei zu kommen, und wir haben um ihr zu sagen, dass wir schon kannten. Angezeigt werden die Blitz Protokolle unserer RasPiConnect Bedienfeld . Beachten Sie, dass es keinen Wind während, denn wir hatten die gemessenen WeatherRack Wettersensoren getrennt, wie es eingesteckt Projekt Curacao (und tat nehmen Sie den Wind), die in die Tropen Überschrift kurz.
    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Weiter ging es mit einem großen Sturm zwei Tage später, die wirklich gerockt! Sie können sehen, (Lesen Sie das Protokoll nach hinten nach UTC-Zeitstempel) der Sturm Ansatz und gehen Sie dann nach und abfahren. Kam innerhalb von 6 km von SwitchDoc Labs.
    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation


    Und es Texte uns berichtet, auch!

Schritt 6: Fazit

  1. Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Blitz!  The Lightning Detector für Raspberry Pi Wetterstation

    Hinzufügen des Lichtdetektors an die solarbetriebene WeatherPi erwies sich recht einfach in Bezug auf die Software und die Verkabelung zu sein, aber der wirkliche Schlüssel, um es Arbeit wurde Platzierung des Sensors entfernt von allen anderen Elektronik.
    Unser nächstes Projekt wird eine solarbetriebene halbautonome Roboter namens Sunrover auch mit diesem Sensor. Wir bringen Sie es in einem Pylon, die weit entfernt von den drei Computern in Sunrover und vor allem weg von der Raspberry Pi 2 (die die Haupt Gehirn des Roboters ist) ist.
    Hier sind einige zusätzliche Ideen für Projekte auf der Basis der WeatherPi Blitzortungssystem:
    Austauschen der WiFi mit einem GSM-Datenverbindung (oder nur Textnachrichten) Machen Sie es tweet Blitz Warnungen! Erstellen Sie eine benutzerdefinierte Facebook-Posting mit Blitzschlag Hinzufügen einer GPS-Empfänger und speichert diese Daten Sie haben nun einen mobilen Blitzortungssystem! Wenn er zurückkommt, um WiFi alle gespeicherten Daten zur Verfügung stehen. Eine Verbindung mit der Weather oder ähnliche Dienstleistungen