AINA: Fältet Lab med Edison IoT (6 / 12 steg)

Steg 6: Integated ansökan spara sensordata till en CSV fil




När sensorerna har testats och visat med Unit test, är de integrerade i programmet Python. Varje sensor kommer att kräva sin import, setup, och läsa funktioner. Inte alla sensorer behöver läsas på samma schema men det hjälper om en gemensam tid används. Vissa sensorer kan behöva lite tid att värma upp om de sätts in i ett viloläge (t.ex. Gas Sensor).

Python app behöver

  1. importera sensor bibliotek
  2. skapa en sensor instans
  3. Sensing Loop - kallas på regelbunden basis
    1. förbereda sensorer
    2. Läs sensorer
    3. release sensorer
    4. Öppna CSV-fil för att lägga till
    5. lägga till sensor värden i listan objekt känd för
    6. att skriva raden CSV-fil
    7. Stäng CSV-filen

Detta exempel program program för alla sensorer undervisas i en CSV-fil. Detta är igen en testet app på vägen till den slutliga ansökan. På denna punkt har vi inte förbereda sensorer/öppna/stäng filen i avsnittet loop.

#python
# sensor integration och utgång till CSV fil < br > #
Importera tid, sys, signal, atexit
importera csv
importera slumpmässiga
importera pyupm_gas som upmGas
importera pyupm_guvas12d som upmUV
importera pyupm_grove som grove
importera pyupm_tsl2561 som upmTsl2561
importera pyupm_grovewater som upmGrovewater
importera pyupm_grovemoisture som upmMoisture
##############################################
## Avsluta hanterare ## < br > # funktionen slutar python från utskrift en stacktrace när du trycker Ctrl-C
def SIGINTHandler (signum, ram):
höja SystemExit
# Den här funktionen kan du köra kod på avfarten, inklusive funktioner från myMQ5
def exitHandler():
skriva ut "Avslutar"
sys.Exit(0)
# Registrera exit hanterare < br > atexit.register(exitHandler)
signal.signal (signal. SIGINT, SIGINTHandler)

##############################################
# Bifoga gas sensor till AIO0
myMQ5 = upmGas.MQ5(0)
threshContext = upmGas.thresholdContext() < br > threshContext.averageReading = 0
threshContext.runningAverage = 0
threshContext.averagedOver = 2 < /p >< p > # oändlig loop, slutar när skriptet är inställda < br > # flera gånger, ta ett prov varje 2 mikrosekunder;
# hitta medelvärdet av 128 proven. och
# Skriv ut ett rinnande diagram över punkter som i genomsnitt
#mybuffer = upmGas.uint16Array(128)
#while(1):
# samplelen = myMQ5.getSampledWindow (2, 128, mybuffer)
# om samplelen:
# tröska = myMQ5.findThreshold (threshContext, 30, mybuffer, samplelen)
# myMQ5.printGraph(threshContext, 5)
# if(thresh):
# Skriv ut "Tröskel är", tröska
# funktion för att läsa och i genomsnitt
gasbuffer = upmGas.uint16Array(128)
gasThresh = 0
gasAvg = 0
def readGasMQ5():
skriva ut "readMQ5"
samplelen = myMQ5.getSampledWindow (2, 128, gasbuffer)
skriva ut "sampleLen" +str(samplelen)
om samplelen:
skriva ut "calc threshold"
gasThresh = myMQ5.findThreshold (threshContext, 30, gasbuffer, samplelen)
skriva ut "gas avg"
gasAvg = myMQ5.getSample()
##############################################
# Instansiera en UV sensor på analoga pin A1
myUVSensor = upmUV.GUVAS12D(1);
# analog spänning, vanligtvis 3.3 eller 5.0
GUVAS12D_AREF = 5.0;
SAMPLES_PER_QUERY = 1024;
# s = ("AREF: {0},"
# "Spänning värde (högre betyder mer UV):"
# {1}-.format (GUVAS12D_AREF,
# myUVSensor.value(GUVAS12D_AREF, SAMPLES_PER_QUERY)))
# myUVSensor.value(GUVAS12D_AREF, SAMPLES_PER_QUERY) < /p >

>##############################################
# Markfuktighet till A2
# Instansiera en Grove fukt sensor på analoga pin A2
myMoisture = upmMoisture.GroveMoisture(2) < /p >< p > # värden (ungefärlig): < br > # 0-300, sensorn i luft eller torr mark
# 300-600, sensor i fuktig jord
# 600 +, sensorn i våt mark eller nedsänkt i vatten < /p >< p > #moisture_val = myMoisture.value()
##############################################
# Temperatur till A3
Temp = grove. GroveTemp(3)
Celsius = 0
Farenheit = 0
#print temp.name()
def readtemperature():
Celsius = temp.value()
Fahrenheit = celsius * 9.0/5.0 + 32,0;
##############################################
# Digital Light till I2C
myDigitalLightSensor = upmTsl2561.TSL2561()
#print "ljus värde är" + str(myDigitalLightSensor.getLux())
##############################################
# Vatten sensor till D3
myWaterSensor = upmGrovewater.GroveWater(3)
#if (myWaterSensor.isWet()):
# Skriv ut "Sensor är våt"
##############################################
# setup utdatafilen
filnamn = time.strftime("FLEBAC%Y%m%d-%H%M%S.csv")

ofil = open(filename,"wb")
författare = csv.writer(ofile) < /p >< p > # Skriv en huvudrad för sensorer < br > # A0-1 I2C då digital i ordning
headerRow = ["timestamp"
"MQ5GasTresh",
"MQ5Average",
"UV",
"Fukt",
"Celsius",
"Digital Light",
"Våta",
]

skriva ut "Start Loop"
för jag i intervallet (1 100):
skriva ut "loop" + str(i)
readGasMQ5()

a = [gasThresh, gasAvg,
myUVSensor.value (GUVAS12D_AREF, SAMPLES_PER_QUERY),
myMoisture.value(),
Temp.Value(),
myDigitalLightSensor.getLux(),
myWaterSensor.isWet()]
Writer.writerow(a)
Time.Sleep(0.10)
< p > ofile.close() < /p >

Se Steg
Relaterade Ämnen

Intellekten Edison IoT - Control Servo med hjälp av Accelerometer

Hej alla, jag är bland de lyckliga killar som fått en Intel Edison ombord och Grove IoT Kit. Jag har tillbringat mycket tid att lära sig om denna nya Edison styrelsen och awesome Arduino kodning stil. De är riktigt bra och kompatibel med andra arduin...

Komma igång med Intel IoT för de riktiga Mac dummies :)

Detta Instructable beskriver hur jag arbetade mig igenom de första stegen med Intel IoT kit på en Mac.Jag Charlotte, en av medlemmarna av FabLab Breda (Nederländerna). Jag är mycket mer kapabel med hårdvara (3D-skrivare, lasercutters, CNC etc) än med...

Intellekten Edison IoT - läsa Freescale MPL3115A2 trycksensor

Hej alla, senast instructable jag hade Visa dig hur man läser accelerometer och kontroll servo. Om du inte har läst den ännu, föreslår jag att du bör ta en titt eftersom det är ganska kul!Nu, i detta projekt vet vi hur man läsa Freescale trycksensor,...

Edison IOT tändning avbrott enhet

nyligen var jag turen att få en av dessa awesome Intel IOT Edison developer Kit från i tävlingar som sponsras av Instructables och Intel. Jag är ny på mikrokontroller. Även om jag är en auto tekniker med A.S.E.s och specialiserad på diagnostik och el...

Intellekten Edison IoT Hackathon - Jane, assistent äldreomsorg

Tack till folket på Intel, jag fick en chans att bygga ett roligt projekt på Intel Edison IoT Hackathon i Boston. Projektet är en prototyp av Jane, assistent IoT äldre vård som hjälper patienter på assisterad hem levande vård. Målgruppen är patienter...

Intel Edison IoT remote miljöparametrar monitor

Detta är en mycket grundläggande projekt helt gjord i javascript genom IDE "Intel XDK IoT edition". När du är klar, har du ett system för att övervaka miljöparametrar (temperatur, ljus och luft kvalitet), lokalt i LCD-skärmen och på distans via...

Intellekten Edison IoT WiFi Termostate #IntelMaker

Intellekten Edison IoT WiFi TermostateSteg 1: IntroDetta är en Intel Edison baserad termostat, WiFi IoT ansluten, som du kan ställa in önskad temperatur lokalt med en potentiometer och se detta på RGB LCD och på distans via webbsidan, åtkomst till Ed...

Använda följetong med Edison

Detta är en kort guide till att använda Edison i OS X utan att använda några installatörer eller programvara från tredje part.Steg 1: Steg 1: Anslut nätaggregatet och USBSteg ett är att ansluta strömförsörjningen och USB-kabeln.Använd de yttersta mik...

Sensorer med Intel IoT Analytics Dashboard (Intel Edison / C + +/ Eclipse)

Lära sig få sensorer arbetar live i Intel IoT Analytics instrumentpanelen.Steg 1: Steg 1: Intel Edison ställa inMåste installera Intel® XDK IoT Edition och ansluta den till din Intel® Edison styrelse.Se komma igång med Intel® XDK IoT Edition.Brädan m...

Dropbox ersätts med BtSync på en Edison IoT

Vad du behöver:Delar:Intellekten Edison Arduino IoT12V strömförsörjning med batteribackup. Detta kan inte behövas.microSD-kort, rekommenderas 8GB eller större.USB-enhet (tillval)WiFi-anslutningProgramvara:Aktuella Yocto eller UbilinuxBTsync (hämtat d...

Sensor Data övervakning med Edison (Intel IoT)

Detta instructable är för integrering av grove sensorer och ställdon med Intel Edison av NodeJS och övervaka data från sensorer som luftkvalitet, ljud, temperatur, ljus, beröring och LED, Buzzers.Detta kräver nod moduler:mraa: GPIO,ögonblick-timezone...

TeleLab - övervaka ditt lab med Telegram, Node.js och Websockets

Detta är en mycket enkel applicering av Intel Edison utifrån krav på ett övervakningssystem för lab. Med detta jag kan lämna laboratoriet samtidigt kontrollera emellanåt att temperaturen i en blandning är stabil eller hålla luft förorening av labbet...

Användning av GPS, hall sensor, lysdioder och Firebase med Edison

Följande instructable beskrivs hur du ansluter din Intel Edison med Grove GPS-sensorn, Hall sensor och Base sköld (Observera att Grove GPS inte kommer standard i Gove Starter Kit Plus).Kod och design var en del av Los Angeles Intel IoT Roadshow.Steg...

DADD - pappor mot rattfylla med bult IoT

Detta Instructable visar hur man bygger en bil säkerhetssystem som hindrar människor från rattfylleri och omedelbart begär en Uber genom att ge dem din exakta GPS-position. Projektet var en del av en workshop som genomfördes av bult IoT på IIT Guwaha...

Parallell: Ett smartare sätt att Park (Wifi webbkamera med Edison)

I veckan hade jag nöjet att delta i Intel IoT Roadshow Seattle. Jag hjälpte till att bygga en prototyp backup kamera för en bil. Vi placerade 3: a och nu är jag beroende av hackathons. Dessa instruktioner kan du reproducera vår process. Stor utsträck...

Dörrklocka med Edison och e-

Detta är en dörrklocka projekt med Intel Edison. Detta kan också kopplas in i faktiska dörrklockan krets i ditt hus, och senare lägga till ett alternativ till email du när någon ringer på dörrklockan. Detta instructable förutsätter att du har en Edis...

Att lösa Problem med Edison "Överföra ofullständig"

Efter flera dagar av att arbeta med en Intel Edison och Ardunio breakout ombord, blev den Ardunio utveckling programmeringsmiljön inte framgångsrikt överföra kompilerade skisser till Edison. Ett meddelande om att "Överföra ofullständig" var den...

Utrymme-Rover med Edison/Intel

Auto bil rover. Framåt av servo och söker utrymme av IR-sensorn enhet." Intel Edison styrelsen för Arduino"ombord på ADC Läs spänning på IR-sensorn enhet sedan konvertera till avstånd. Edison ombord enhet är användbara för denna typ av systemutv...

Illuminans Monitor med ESP8266 - IoT

Detta projekt kan du skapa en illuminans monitor med en ESP8266 SoC och en belysning sensor (TSL2561) med nästa möjligheter:Mäter illuminansÖvervaka belysning från din smartphoneFör att slutföra detta projekt måste du skapa tre sakerHårdvara - i prin...