Bliksem! De Lightning-Detector voor Raspberry Pi weerstation (bijgewerkt) (4 / 6 stap)

Stap 4: De Software voor de Lightning-Detector


Na heel het zoeken en spelen met een aantal pakketten, vonden we een goed pakket door Phil Fenstermacher. Met een beetje gek rond en het opzetten van interrupts, kregen we de software te werken.

De volledige software voor WeatherPi, waarin de AS3935-software is beschikbaar op github.com.

Hier is de setup-software:

 ################ # ad3935 Set up Lightning Detector # turn I2CBus 2 on 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(address=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 # turn I2CBus 0 on tca9545.write_control_register(TCA9545_CONFIG_BUS0) time.sleep(0.003) 

Volgende de processing software voor de Interrupts.

 def process_as3935_interrupt(): global as3935Interrupt global as3935, as3935LastInterrupt, as3935LastDistance, as3935LastStatus as3935Interrupt = False print "processing Interrupt from as3935" # turn I2CBus 0 on #tca9545.write_control_register(TCA9545_CONFIG_BUS0) # turn I2CBus 2 on tca9545.write_control_register(TCA9545_CONFIG_BUS2) time.sleep(0.003) reason = as3935.get_interrupt() as3935LastInterrupt = reason if reason == 0x00: as3935LastStatus = "Spurious Interrupt" elif reason == 0x01: as3935LastStatus = "Noise Floor too low. Adjusting" as3935.raise_noise_floor() elif reason == 0x04: as3935LastStatus = "Disturber detected - masking" as3935.set_mask_disturber(True) elif reason == 0x08: now = datetime.now().strftime('%H:%M:%S - %Y/%m/%d') distance = as3935.get_distance() as3935LastDistance = distance as3935LastStatus = "Lightning Detected " + str(distance) + "km away. (%s)" % now pclogging.log(pclogging.INFO, __name__, "Lightning Detected " + str(distance) + "km away. (%s)" % now) print "Last Interrupt = 0x%x: %s" % (as3935LastInterrupt, as3935LastStatus) tca9545.write_control_register(TCA9545_CONFIG_BUS0) time.sleep(0.003) 

De Interrupt Handler. Kort en zoet, zoals interrupt handlers zou moeten zijn.

 def handle_as3935_interrupt(channel): global as3935Interrupt print "as3935 Interrupt" as3935Interrupt = True 

De Raspberry Pi GPIOs instellen om te ontvangen van interrupts.

 #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) 

En de rapportage software voor het lezen van de Interrupts.

 # process Interrupts from Lightning if (as3935Interrupt == True): try: process_as3935_interrupt() except: print "exception - as3935 I2C did not work" 

Gerelateerde Artikelen

Arduino Pocket Lightning Detector

Arduino Pocket Lightning Detector

Wij allen genieten van werken en buiten spelen. Maar ik denk dat iedereen het ermee eens dat door bliksem terwijl je plezier buiten uitdagend krijgen getroffen... niet leuk!OK genoeg met de leuke intro...Dit project kwam tot stand toen, terwijl ik wa
Volledige DIY Raspberry Pi weerstation met Software

Volledige DIY Raspberry Pi weerstation met Software

Terug in eind februari zag ik deze post op de site van de Raspberry Pi.http://www.raspberrypi.org/school-Weather-station-...Ze had Raspberry Pi weerstations voor scholen gemaakt. Ik wilde een volledig! Maar op dat moment (en ik geloof nog steeds vana
DIY Infrarood Sensor bewegingssysteem voor Raspberry Pi

DIY Infrarood Sensor bewegingssysteem voor Raspberry Pi

Tijdens de maand juli 2015, ik legde een stage van de middelbare school bij Colorado State University, en één van de projecten die ik heb gewerkt was dat van een infrarode nabijheidssensor voor Raspberry Pi.Deze korte reeks infrarode sensor kan worde
Raspberry Pi weerstation zonne-

Raspberry Pi weerstation zonne-

Aangespoord door de voltooiing van mijn twee vorige projecten, de Compact Camera en de draagbare gameconsole, wilde ik te vinden van een nieuwe uitdaging. De natuurlijke progressie was een outdoor externe systeem...Ik wilde het bouwen van een Raspber
Raspberry PI weerstation

Raspberry PI weerstation

In deze tutorial uitleggen we hoe te geven van de Raspberry PI sensor temperatuur, de vochtigheid en de helderheid. We kunnen gemakkelijk draaien rond onze frambozen in een weerstation.Hardwarevereisten:Temperatuur en vochtigheid sensor SHT21 I2C. Al
PardusARM voor Raspberry Pi

PardusARM voor Raspberry Pi

Vandaag, ik ga u tonen hoe te gebruiken Pardus besturingssysteem werkt op Raspberry Pi 2 Model B v1.1 Pardus is de naam van een dier uit Anatolië. Ontwikkelaars gaf deze naam aan het omdat Pardus een zeer unieke soort dier onder andere roofdieren is.
Tizen voor Raspberry Pi 2

Tizen voor Raspberry Pi 2

Vandaag, ga ik u tonen hoe te gebruiken besturingssysteem Tizen voor Raspberry Pi 2. Tíz (tizenegy = 11, tizenkettö = 12, e.t.c.) nummer tien (10) in Hongaarse taalbetekent. In het algemeen, tegenwoordig, kunnen we zien Samsung televisies Tizen OS wo
Lego Chassis voor Raspberry Pi Robot

Lego Chassis voor Raspberry Pi Robot

Ik ben vrij nieuw voor Raspberry Pi en was één van de projecten die ik wilde proberen om een robot te bouwen. Dus kocht ik de "CamJam Edukit 3: Robotics". Ik denk dat het een goede robot kit om mee te beginnen, omdat het biedt eenvoudig te volge
Gebruik uw Adafruit rgb lcd Pi plaat (voor Raspberry Pi) met Arduino

Gebruik uw Adafruit rgb lcd Pi plaat (voor Raspberry Pi) met Arduino

Hallo iedereen.Zoals de titel al zegt leert u hoe u uw Adafruit rgb lcd Pi plaat maar met Arduino. Ik kocht eens een maar nooit gebruikt met mijn Raspberry Pi en ik was op zoek naar een manier om het te gebruiken met mijn Arduino projecten. Met deze
WTware voor Raspberry Pi 2 (Pi 3) - dun klanten besturingssysteem

WTware voor Raspberry Pi 2 (Pi 3) - dun klanten besturingssysteem

Thin Client van Raspberry Pi - het is een droom van een slothy netwerk-systeembeheerder.Windows-toepassingen op de Pi.WTware voor de Raspberry Pi is een besturingssysteem van vrije thin clients, waarmee verbindingen met Windows Extern bureaublad-Serv
Lego Dashboard Mount voor Raspberry Pi

Lego Dashboard Mount voor Raspberry Pi

Toen ik mijn Raspberry heb ik besloten om het ontwikkelen van een algoritme voor real-time lane en voertuig detection.Ik heb het gedaan.Nu is het tijd om de Raspberry Pi op mijn auto's dashboard.Ik wil echter niet te verlaten voor altijd vast op het
RainBerry: Compact, weerbestendige behuizing voor Raspberry Pi A + en Pi Camera

RainBerry: Compact, weerbestendige behuizing voor Raspberry Pi A + en Pi Camera

RainBerry geval geldt een compacte, weerbestendig en esthetisch ontworpen voor Raspberry Pi en Pi camera. Dit project werd geboren uit een behoefte om te bewaken en beveiligen van de tuin met behulp van een slimme Pi-camera met de computer-visie.Stap
Zelfgemaakte voeding voor Raspberry Pi met XL6009 DC-DC Boost Module

Zelfgemaakte voeding voor Raspberry Pi met XL6009 DC-DC Boost Module

Zelfgemaakte voeding voor Raspberry Pi met XL6009 DC-DC Boost Step-up Boost Power Converter Modulezeer goedkoop en verstelbare voltDSN6009 4A is een hoog presterende step-up switch huidige (BOOST) module. De module maakt gebruik van de tweede generat
De beschermer van Lightning kabel voor Apple Iphone 5, 5s, 6, 6 + en Ipad Mini

De beschermer van Lightning kabel voor Apple Iphone 5, 5s, 6, 6 + en Ipad Mini

Dit is de beschermer van lightning kabel voor Apple Iphone 5, 5s, 6, 6 + en Ipad Mini, ik produceren met behulp van 3D-printer.U kunt STL-bestand in Thingiverse downloaden. Dank aan de Inzender voor dit ontwerp.