Microphonic regenmeter (3 / 6 stap)

Stap 3: Het python programma werkend krijgen

Het python programma moet een paar standaard bibliotheken importeren. De meeste zijn al geïnstalleerd in Jessie, behalve pyaudio. Installeren met

 python -u rain.py 

Download het python programma (rain.py) en uit de dezelfde directory Voer het met

 ........ We will open device 1 ave: 254 [ 0 703 479 266 222 185 195 161 177 150] wind level: 0ave: 274 [ 0 927 489 285 201 172 187 158 161 157] wind level: 0 

De -u zorgt ervoor dat de output van het programma onmiddellijk in het terminalvenster verschijnt. Zonder dat de uitvoer in een buffer is opgeslagen en kan even duren om te verschijnen.

Als uw webcam correct wordt erkend, moet het programma openen de microfoon en afdrukken van een lading van spullen en dan zoiets als dit, met een nieuwe lijn van cijfers over elke 6 seconden

 No sound input device found. Try again with device_debug = 1 to see what devices PyAudio can find. Bye 

Aan de andere kant als je dit

 device_debug = 1 

je hebt wat werk te doen om pyaudio te erkennen de microfoon. Bij rond lijn 29 van rain.py, Controleer of

 python -u rain.py 

en voer het opnieuw met

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

Tegen het einde van de lading van spullen moet u een paar regels op zoek iets als

 'maxInputChannels': 1L 

Men moet overeenkomen met uw webcam. Zoeken

 if dev['maxInputChannels'] == 1 and dev['defaultSampleRate'] == 16000.0 : 

Dit zegt dat het een input d.w.z. een microfoon. U zal moeten aanpassen de praktijktesten over lijn 41 van rain.py ertoe brengen om te verbinden met de jouwe. Dit werkte voor een enkele USB-microfoon die vergelijkbaar met de mijne:

 device_debug = 0 

Succes!

Ervan uitgaande dat u slaagt, kunt u rond lijn 29

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

Nu voert u het opnieuw en kijk naar de cijfers - moet een nieuwe regel komen elke 6 seconden

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

Iedere regel geeft het resultaat van de analyse een brok van het geluidssignaal uit de microfoon. De bovenstaande 3 lijnen zijn kenmerkend voor mijn microfoon wanneer er niet veel is geluid.

Het eerste deel is het gemiddeld vermogen - ongeveer 280. De eenheden zijn willekeurige - dus we hebben zullen te kalibreren, hoeft in de volgende stap.

Het tweede deel - tussen de vierkante haken zijn de machtsniveaus in 10 frequentiebanden. De laagste een gedwongen is nul te zijn.

Het derde deel is een schatting van de hoeveelheid wind. Dit wordt gebruikt voor het verminderen van de kans op windlawaai wordt geregistreerd als regen.

Nu wat lawaai maken. Praten, op muziek gezet, tik op de webcam of wachten op wat luidruchtig regen (als de webcam al in uw serre is). U ziet iets als

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

Zodat we zien kunnen dat luider geluiden maken hogere getallen overeenkomen met hogere machtsniveaus. Als jou niet verandert, ga terug en controleer dat uw microfoon echt werkt.

Laat draaien voor ten minste 5 minuten, dan u zien kunt dat het de resultaten worden toegevoegd aan het bestand /run/shm/rain1.csv in een vergelijkbare indeling

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

Dit is een csv (door lijstscheidingstekens gescheiden waarden) klaar om te worden gelezen door uw favoriete spreadsheet of web scripting taal.

De eerste waarde is de datum en tijd.

De volgende 10 zijn de machtsniveaus in de 10 frequentiebanden, gemiddeld over de 5 minuten.

Het volgende is de geschatte regenval tot nu toe die dag.

De laatste is het niveau van de gemiddelde wind over de laatste 5 minuten.

Ik vond dat de gemiddelde waarde van de hoogste frequentieband de beste correlatie met neerslag. De 4e waarde was vergelijkbaar met de hoogste voor regen, maar was zeer gevoelig voor wind, dus wordt gebruikt om te voorkomen dat de wind uit het tellen als regen.

Elke 24 uur om middernacht, het slaat op de dag van de regenval in /home/pi/rain_daily.csv en stelt de regenval opgeslagen in /run/shm/rain1.csv

Als u wilt, kunt u kijken naar de opmerkingen in rain.py om te zien hoe het werkt. Waarschijnlijk zul je om dit te doen als u wilt iets veranderen of het kalibreren van de microfoon.

Gerelateerde Artikelen

Een regenmeter maken

Een regenmeter maken

In dit instructable bespreek ik een eenvoudige regenmeter, dat hoofdzakelijk bestaat uit Prullenbak.Dit is een prachtig project voor elke groep van mensen.  Wij, eventueel beweren niet dat dit zou een substituut voor professionele instrument, maar zo
Met behulp van een groen dak als een regenmeter

Met behulp van een groen dak als een regenmeter

Welkom op deze tutorial voor het maken van uw eigen regenmeter! De vangst is hier dat we gaan naar het model van een huis met het groene dak. Zoals u weet, worden groene daken steeds meer populair vanwege hun vermogen om opslag water bij regenval. Ho
Arduino regenmeter kalibratie

Arduino regenmeter kalibratie

Inleiding:In dit Instructable we 'bouwen' een regenmeter met Arduino en het kalibreren te verslag dag en per uur regen. De collector van de regen die ik gebruik is een opnieuw beoogde regenmeter tipping bucket soort. Het kwam uit een beschadigde pers
♻ PLASTIC fles REGENMETER ♻

♻ PLASTIC fles REGENMETER ♻

dit is een eenvoudige regenmeter gemaakt van een plastic fles. Mijn vader zelfs wat persoonlijke meningen me hoe het te doen.We altijd gebruiken om te beslissen of en wanneer wij onze fruitbomen moet water. (Houd in gedachten dat op een warme zomer d
A gerecycleerd regenmeter voor Davis Wizard III

A gerecycleerd regenmeter voor Davis Wizard III

Hoe ik toegevoegd een "Vrije" regen Sensor in één middag.Mijn Davis 7425 Weather Wizard III hangt nog steeds op de muur in de familiekamer, aangezien het voor het afgelopen decennium, de lokale weersverwachting weer te geven. Ik heb mijn station
Maken van een akoestische regenmeter (disdrometer)

Maken van een akoestische regenmeter (disdrometer)

voor een project aan de Universiteit van Delft (Nederland) bouwen wij goedkope, duurzame akoestische regen manometers, bekend als disdrometers. Deze apparaten "luisteren" naar de regen en bereken het percentage van de regen van het akoestische s
Zelf gieter tuin behuizing

Zelf gieter tuin behuizing

jaarlijks de herten en konijnen hebben onze tuin geoogst immers van ons harde werk alle zomer dus dit het jaar is voor eindelijk oplossen zulks. Het project is een Self gieter ingesloten tuin. Deze eerste instructable houdt zich voornamelijk bezig me
Pro kwaliteit pick-up winder - 3000 + RPM pick-up winder met Tach, teller en autostop

Pro kwaliteit pick-up winder - 3000 + RPM pick-up winder met Tach, teller en autostop

Waarom bouwen deze winder?Kosten versus prestaties voor starters. Functies voor een ander. Wilt u uw beslissing over de rand duwen? U kunt deze winder voor $158,00 bouwen en een heleboel machine voor weinig investeringen.Een van de laagste kosten en
Arduino GPRS weerstation - deel 1

Arduino GPRS weerstation - deel 1

Met de dreiging van steeds meer grillige weerpatronen circuleren van de lucht van onze planeet, dag na dag van onophoudelijke regen, overstromingen, droogtes, Hagel stormen en wie weet wat anders, lijkt een weerstation te zijn een nuttige en noodzake
Arduino bodem sonde met behulp van de DS18B20 en DIY vocht Hardware

Arduino bodem sonde met behulp van de DS18B20 en DIY vocht Hardware

Als een fanatieke tuinman of professionele akkerbouwer, te weten de milieuomstandigheden van onze bodem is van onschatbare waarde. Uiteraard kan niet meten we het aantal wormen of stukken van organische humus, maar we kunnen het meten van temperatuur
Weerstation gemonteerd op kantelbare toren

Weerstation gemonteerd op kantelbare toren

de draadloze weerstation op de kantelbare toren gemonteerd wordt weergegeven. Deze foto toont het geval van de draadloze zender met de zonnecel, en de montage methode die ik heb gebruikt.  De grote zwarte, omgekeerde kegel-achtige vorm, is de regen-v
Goedkoop Studio-kwaliteit muziek opnemen

Goedkoop Studio-kwaliteit muziek opnemen

Het vereist geen microfoons meer waard dan uw auto muziek opnemen, dat goed klinkt. U kunt goede kwaliteit muziek opnemen in uw eigen huis voor minder dan £50, of $77. De alleen extern kostbare apparatuur die u nodig hebt hier is één of andere soort
Alles wat je ooit wilde weten over het handhaven van een gitaar (maar niet durfde te vragen)

Alles wat je ooit wilde weten over het handhaven van een gitaar (maar niet durfde te vragen)

Gitaar onderhoud kan een frustrerende en dure business. Dit instructable wil met dat helpen. Als ik iets die u denkt moet worden opgenomen miste, laat het me weten; Evenzo, als je een vraag hebt, zet het in de commentaren en we zien zullen als we can
OLED spectrum analyzer w/arduino & MSGEQ7

OLED spectrum analyzer w/arduino & MSGEQ7

Dit was vrij eenvoudig project bouwen rond dit artikel, heb niet ik schrijven van code van kras:http://tronixstuff.com/2013/01/31/tutorial-Arduino...en de OLED code is adafruit van bibliotheek code.Een ander krediet voor gebruiker lb-20 voor suggesti