Mikrofonkabelsystem regnmätaren (3 / 6 steg)

Steg 3: Få python programmet arbetar

Python måste importera några standardbibliotek. De flesta är redan installerade i Jessie, utom pyaudio. Installera det med

sudo lämplig-få installera python-pyaudio

Hämta python-programmet (rain.py) och från samma katalog kör det med

python -u rain.py

-U ser till att produktionen av programmet visas omedelbart på skärmen terminal. Utan att det resultatet är buffrade och kan ta lite tid att visas.

Om din webbkamera är erkänd korrekt, bör programmet öppna mikrofonen och skriva ut en massa saker och sedan något sådant, med en ny linje av siffror som förekommer om var 6 sekunder

........
Vi kommer att öppna enheten 1
Ave: 254 [0 703 479 266 222 185 195 161 177 150] vind nivå: 0
Ave: 274 [0 927 489 285 201 172 187 158 161 157] vind nivå: 0

Å andra sidan om du får detta

Någon ljudindataenhet hittade. Försök igen med device_debug = 1 för att se vilka enheter som PyAudio kan hitta. Hej då

har du några arbetar för att göra för att få pyaudio att erkänna din mikrofon. På runt linje 29 av rain.py, kontrollera att

device_debug = 1

och köra det igen med

python -u rain.py

Mot slutet av belastningen av saker bör du se några rader ser något liknande

{"defaultSampleRate": 16000.0, 'defaultLowOutputLatency':-1.0, 'defaultLowInputLatency': 0.0239375, "maxInputChannels": 1 L, 'structVersion': 2 L, 'hostApi': 0 L, "index": 2, 'defaultHighOutputLatency':-1.0, 'maxOutputChannels': 0 L, 'name': u'USB enhet 0x46d:0x0059: ljud (hw:1, 0) ","defaultHighInputLatency": 0.096}

En bör överensstämma med din webbkamera. Titta efter

'maxInputChannels': 1L

Detta säger är det en ingång dvs en mikrofon. Du kommer att behöva justera tester i om linje 41 för rain.py att få den att ansluta till ditt. För en enda USB-mikrofon som liknar min fungerade detta:

om dev ['maxInputChannels'] == 1 och dev ['defaultSampleRate'] == 16000.0:

Lycka till!

Antar att du lyckas, kan du ändra runt linje 29 till

device_debug = 0

Nu springa den igen och titta på siffrorna - ska en ny rad komma var 6 sekunder

Ave: 269 [0 873 411 304 224 185 195 161 180 158] vind nivå: 0
Ave: 280 [0 937 475 281 209 185 195 174 176 167] vind nivå: 0
Ave: 284 [0 791 649 296 228 171 188 173 182 164] vind nivå: 0

Varje rad visar resultatet av analys en bit av audiosignalen från mikrofonen. Ovanstående 3 rader är typiska för min mikrofon när det inte finns mycket ljud.

Den första delen är den genomsnittliga makten - runt om 280. Enheterna är godtyckliga - så vi kommer att kalibrera den i nästa steg.

Den andra delen - mellan hakparentes är effektnivåer i 10 frekvensband. Den lägsta som tvingas vara noll.

Den tredje delen är en uppskattning av vinden. Detta används för att minska risken för vindbrus registreras som regn.

Nu göra några ljud. Prata, sätta på lite musik, knacka på webbkameran eller vänta lite bullriga regn (om webbkameran är redan i din vinterträdgård). Du borde se något lik

Ave: 307 [0 739 584 400 317 229 231 210 189 173] vind nivå: 54
Ave: 14138 [0 13832 21242 10181 14903 24935 13589 30922 7767 4013] vind nivå: 2155
Ave: 10666 [0 14417 18740 16290 8441 9277 9960 17068 7375 5098] vind nivå: 6093

Så vi kan se att starkare ljud göra högre siffror motsvarar högre energinivå. Om din inte ändras, gå tillbaka och kontrollera att mikrofonen verkligen fungerar.

Lämna den igång i minst 5 minuter så kan du se att lägger den resultaten till filen /run/shm/rain1.csv i ett liknande format

21/10/2015 17:05:02, 0, 3171, 1787, 1636, 959, 362, 244, 424, 256, 204, 204, 0,0, 1228

Detta är en CSV-fil (kommaavgränsade värden) redo att läsas av din favorit kalkylblad eller web skriptspråk.

Det första värdet är datum och tid.

De närmaste 10 är effektnivåer 10 frekvensbanden, medelvärde över de 5 minuterna.

Nästa är den beräknade nederbörden hittills denna dag.

Sist är den medelvind under de sista 5 minuterna.

Jag tyckte att det genomsnittliga värdet av det högsta bandet var den bästa korrelationen till nederbörd. 4. värdet var liknande till den högsta för regn, men var mycket känslig för vind, så används för att undvika vinden från räknar som regn.

Varje dygn, vid midnatt, det sparar dagens regn i /home/pi/rain_daily.csv och återställer den nederbörd som sparats i /run/shm/rain1.csv

Om du vill, kan du titta på kommentarerna i rain.py att se hur det fungerar. Du kommer antagligen behöva göra detta om du behöver ändra något eller kalibrera den för din mikrofon.

Se Steg
Relaterade Ämnen

En återvunnen regnmätaren för Davis Wizard III

Hur jag lagt till en "Gratis" regnsensor i en eftermiddag.Min Davis 7425 väder guiden III fortfarande hänger på väggen i vardagsrummet, som den har under det senaste decenniet, visar den lokala väder info. Jag fick min station 2003 till salu på...

Arduino regnmätaren kalibrering

Inledning:Detta Instructable vi "bygga" en REGNMÄTARE med Arduino och kalibrera den till rapport varje dag och varje timme nederbörd. Regn samlaren jag använder är ett nytt utlovat regnmätaren av deponering hink typ. Det kom från en skadad perso...

♻ PLAST flaska REGNMÄTAREN ♻

detta är en enkel REGNMÄTARE från en plastflaska. Min pappa lärde mig hur man gör.Vi använder alltid den för att besluta om och när vi bör vatten våra fruktträd. (Tänk på att om en varm sommar dag 4 eller 5 mm vatten om dagen avdunstat från grunden,...

Pop flaska regnmätaren

Vill ha ett exakt, billig, låg tech sätt av inspelning regn? Du kan enkelt göra din egen med bara några PVC-rör och objekt från din papperskorgen.Regnmätaren grundernaEn nederbörd mäta behov att samla in regn i en öppen cylinder med en skarp kant. Va...

Göra en akustisk regnmätaren (disdrometer)

för ett projekt vid Delft University of Technology (Nederländerna) vi bygger billiga, hållbara akustiska regn mätare, känd som disdrometers. Dessa enheter "lyssna" till regnet och beräkna den regn från den akustiska signalen. Men du kan också ly...

Göra en REGNMÄTARE

I detta görs instructable jag diskutera en enkel REGNMÄTARE som är i huvudsak från papperskorgen.Detta är ett underbart projekt för någon grupp av människor. Vi, eventuellt, kan inte påstå att detta skulle vara ett substitut för professionella instru...

Med ett grönt tak som en REGNMÄTARE

Välkommen till denna tutorial för att göra din egen regnmätaren! Fångsten här är att vi kommer att modellera ett hus med sitt gröna tak. Som ni vet, blir gröna tak allt mer populärt på grund av deras förmåga att lagring vatten under regn. Även om den...

Väderstation

Ta tillbaka kraften i väderprognoser från din lokala meterolog och börja din egen razzia i en värld av amatör meteorologi och medborgare vetenskap med din egen DIY väderstation och datalogger. I detta Instructable, ska jag visa dig hur jag utformat o...

Komplett DIY Raspberry Pi väderstation med programvara

Tillbaka i slutet av februari såg jag det här inlägget på webbplatsen Raspberry Pi.http://www.raspberrypi.org/School-Weather-station-...De hade skapat Raspberry Pi väderstationer för skolor. Jag ville helt en! Men på den tiden (och jag tror fortfaran...

Arduino GPRS väderstation - del 1

Med hotet om mer och mer oberäkneligt vädermönster cirkulerar luften av vår planet, dag efter dag av oupphörliga regn, översvämningar, torka, hagel stormar och vem vet vad mer, verkar en väderstation vara ett nyttigt och nödvändigt hushålls tillbehör...

Arduino mark sond med DS18B20 och DIY fukt hårdvara

Som en fanatisk trädgårdsmästare eller professionella jordbrukare att veta miljömässiga villkoren i vår jord är ovärderlig. Självklart, vi kan inte mäta antalet maskar eller bitar av organiska humus, men vi kan mäta temperatur och fukt innehåll verkl...

Self vattning trädgård inhägnad

varje år rådjur och kaniner har skördat vår trädgård efter alla våra hårt arbete hela sommaren så detta är året för att slutligen lösa detta. Projektet är en Self vattning länkade trädgård. Denna första instructable är i första hand berörs med trädgå...

Solar påskägg

här är en fantasifull men enkel & billig barn projekt som främjar både kreativitet och solar insikter-perfekt för 8-10 åringar! Den är uppbyggd kring en ~ $2 röret stil solenergi trädgården lampa och blåses ut ägg skal.Steg 1: Solar påskägg lampa Gru...

Väderstationen 5

Så, denna lata gamla Geek (S.T.O.C.K.:S) byggt en väderstation över flera Instructables.Efter flera år slutade det fungera. Det största problemet var att jag hade det i samband med vissa Ethernet 5 kabel som inte är väderbeständig och det slutligen f...

Webb anslutna väderstation

Bygga en väderstation för att visa och logga vindhastighet, vindriktning, atmosfärstryck, nederbörd, luftfuktighet och temperatur.Jag gjord använda av panStamp NRG 2 chip för att skicka data från väderstationen till en WiFithing master enhet.Jag är e...

Arduino väderstation Del3, regn

så ett av mina senaste projekt var att lägga en vindflöjel till min Arduino väderstation.Denna lata gamla Geek beslutat att lägga till en REGNMÄTARE i det även om vi inte får mycket regn i höga öknen. De flesta digitala regn mätare baseras på något s...

Väderstation monterad på lutande tornet

Trådlös väderstation visas monterade på det lutande tornet. Denna bild visar trådlös sändare fallet med solcell och montering metoden som jag använde. Den stora svarten, inverted cone-liknande form, är regnet samlare. Andra sensorer är inuti de vita...

Raspberry Pi väderstation

Bygga en personlig väderstation med Raspberry Pi som skickar mail till dig den temperatur, fukt och nederbörd.* I ett par veckor kommer jag att lägga en barometertrycket sensor för att beräkna risk för regn.Steg 1: leveranserDu behöver:Raspberry Pi b...

Solenergi trädgården lampa baserade hänge

vår tidiga tonåring modell, visar upp hennes solenergi trädgården lampa baserat natten ljus hänge! Dessa ser mycket attraktiva och finns utrymme för barnen att göra en batch & sälja dem som "fashionabla solar lampor" etc. En liten vinst kan...