Indholdsfortegnelse:

Enkel fjerndataplanlægning ved hjælp af Android / Arduino / PfodApp: 6 trin
Enkel fjerndataplanlægning ved hjælp af Android / Arduino / PfodApp: 6 trin

Video: Enkel fjerndataplanlægning ved hjælp af Android / Arduino / PfodApp: 6 trin

Video: Enkel fjerndataplanlægning ved hjælp af Android / Arduino / PfodApp: 6 trin
Video: Enkel GO 2024, November
Anonim
Enkel fjerndataplanlægning ved hjælp af Android / Arduino / PfodApp
Enkel fjerndataplanlægning ved hjælp af Android / Arduino / PfodApp

For at plotte data mod dato/tid ved kun at bruge Arduinos millis () se denne InstructableArduino Date/Time plotting/Logging ved hjælp af Millis () og PfodApp

Denne instruktør viser dig, hvordan du plotter Arduino sensordata på din Android -mobil og fanger dem til senere download til din computer. Disse instruktioner er også tilgængelige på www.pfod.com.au Der kræves ingen Android -programmering, og meget lidt Arduino -programmering er nødvendig. Det er en udvidelse af Simple Mobile Data Logging ved hjælp af pfodApp

Trin 1: Hurtig start plotting

Hurtig start plotting
Hurtig start plotting

a) Få et Arduino -kort og et Bluetooth -modul (f.eks. Uno og Bluetooth Shield eller FioV3+Bluetooth) b) Installer Arduino IDE c) Tilslut Arduino -kortet (intet bluetooth -modul tilsluttet) med et USB -kabel. d) Kopier denne skitse til Arduino IDE og kompilér og indlæs den i Arduino-kortet) e) Sæt Bluetooth Shield-modulet på Uno (Bluetooth-skjoldet er forudkonfigureret til 9600baud MEN indstil 3V/5V-kontakten til 5V og indstil Skift til bord/til FT232 til positionen Til bord. f) Indlæs din Android -mobil med pfodApp. g) Opret en forbindelse mellem din mobil og Bluetooth -modulet som beskrevet i pfodAppForAndroidGettingStarted.pdf h) Start pfodApp'en og opret forbindelse til dit Arduino -kort via Bluetooth -modulet. jeg er færdig. Din mobil gemmer nu og plotter Arduino AtoD -konverteren tæller for input A0

Trin 2: Plotskitsen

Plotskitsen
Plotskitsen

Plotte ved hjælp af pfodApp kræver to ting:- a) en datastrøm (i CSV-format) og b) en plotkommando fra pfodDevice (Arduino) Skitsen, SimpleDataPlotting.ino, gør kun to ting. Først læser den A0 analoge input en gang i sekundet og sender de aktuelle sekunder og tællingerne ud i CSV -format. For det andet, når pfodApp opretter forbindelse og anmoder om hovedmenuen, reagerer skitsen med plottekommandoen for at begynde at plotte målingerne. Her er koden, der udføres en gang i sekundet for at læse den analoge A0 -indgang og skrive de aktuelle sekunder, tæller ud til bluetooth -forbindelsen. // læs A0 en gang a sek int val = analogRead (0); // A0 // udsend den aktuelle tid og læsning i csv -format parser.print (thisMillis/1000); // første felt er tid i sekunder parser.print (","); // komma adskiller felter parser.println (val); // ny linje afslutter dataregistrering

Her er koden, der reagerer på pfodApp -anmodningen til pfodDevices (Arduino Unos) hovedmenu.

byte cmd = parser.parse (); hvis (cmd! = 0) {// har analyseret en fuldstændig meddelelse {til} hvis ('.' == cmd) {// pfodApp har bedt om hovedmenu // send "åben plotteskærm" tilbage parser.print (F ("{= Analog A0 Plot | Tid (sek) | Counts")); // dette er hovedmenuen} ellers hvis ('!' == cmd) {// CloseConnection -kommando closeConnection (parser.getPfodAppStream ()); } ellers {// ukendt kommando parser.print (F ("{}")); // Send altid en pfod -besked tilbage, ellers afbryder pfodApp forbindelsen. }}

Når din mobils pfodApp opretter forbindelse, beder den automatisk om hovedmenuen (ved at sende {.} Beskeden), parseren i skitsen (se koden nederst i skitsen) parser {.} Og returnerer '.' kommando. Skitsen sender derefter en plotkommando tilbage {= Analog A0 Plot | Tid (sek) | A0 Counts} Denne kommando instruerer pfodApp til at åbne en skærm kaldet "Analog A0 Plot" og plotte tiden mod tællingerne. PfodApp scanner derefter rådataene, der kommer ind og leder efter linjer med to felter og tager det første felt som x -værdien og det andet som y -værdien og tilføjer det punkt til plottet. Når en plotteskærm (eller en rådataskærm) åbnes, begynder pfodApp at gemme alle rådata i en lokal fil på din mobil. PfodApp’en fortsætter med at gemme dataene, indtil du forlader pfodApp. Du kan downloade denne fil til din computer til yderligere behandling (se et af de senere trin). Der er en række andre muligheder for plotkommandoen, som giver dig mulighed for at ignorere nogle felter, indstille plotskalaer, plotte flere plots på et diagram osv. Se pfodSpecification for detaljer og eksempler. PfodApp kan meget mere end blot at plotte, se disse eksempler. Plottet ovenfor er et eksempel på to diagrammer, hvoraf det ene har to plots på det. Dette plot er fra ArduMower Gør det selv robotklipper! som bruger den samme pfodApp til at styre en robotplæneklipper. Den samme pfodApp bruges til at styre alle pfodDevices. Det er pfodDevices, der fuldstændigt bestemmer, hvilke skærme der vises til brugerne.

Trin 3: Flere detaljer

Flere detaljer
Flere detaljer
Flere detaljer
Flere detaljer

Den seneste version af pfodApp, der er tilgængelig fra Android Market, gør det muligt at plotte rådata, der sendes af et pfodDevice (f.eks. Arduino), og gemmes i en fil til senere brug. Se pfodAppForAndroidGettingStarted.pdf for at downloade filen fra din Android -mobil til din computer. Plotte kræver to ting:- a) en datastrøm (i CSV-format) og b) en plotkommando fra pfodDevice Din pfodDevice (Arduino) kan sende enhver form for data uden for pfod-meddelelser. pfod -meddelelser, der er omsluttet af {}, som adskiller dem fra andre data. Hvis du vil plotte data, skal du sende dataene i CSV -format. Det er dataværdier adskilt af kommaer og afsluttet med en ny linje (enten CR eller LF eller CR LF) For eksempel105, 680 Når pfodDevice ønsker at vise et plot til brugeren, sender pfodDevice en plotkommando. Din Arduino -skitse har fuldstændig kontrol over, hvad pfodApp plotter. Plotkommandoen giver en titel til plotskærmen og angiver hvilken strøm af rådata, der skal plotes, og hvilke felter fra denne strøm. Forskellige strømme af rådata har forskellige antal kommaadskilte felter. Antallet af søjler | i plotkommandoen skal matche antallet af felter i datastrømmen, du vil plotte. Datalinjer med et andet antal felter ignoreres for dette plot. Der er en række muligheder for plottingskommandoen til at vælge de felter, der skal plottes og til at indstille skalaer og enheder og sætte flere plots på det ene diagram. Det enkleste er at sende x-værdierne som det første felt og y-værdierne som de følgende felter, derefter i plotting-kommandoenavnet x-aksen og y-aksen f.eks. {= Analog A0 -plot | Tid (sek) | A0 tæller} plot titel | x værdier felt | y -værdifelt Du kan også se de rådata, der sendes til din mobil. Skærmen "Raw Data" kan åbnes fra pfodApp ved hjælp af din mobils menu, eller den kan åbnes ved, at pfodDevice sender en streamingRawData -besked, {= Title Of the Screen Goes Here} dvs. en afkortet version af plottingskommandoen. Uanset hvad åbnes pfodApps rådataskærmbillede og viser de data, der er blevet sendt fra pfodDevice. Når skærmen åbnes, begynder pfodApp at gemme dataene i en fil. Filens navn vises hver gang skærmen (eller en plotteskærm) åbnes. For at forhindre din mobil i at fylde op med data, du ikke ønskede, begynder pfodApp ikke at skrive data til mobilens SD -kort, før første gang Raw Data -skærmen eller plotteskærmen åbnes efter hver ny forbindelse. Første gang Raw Data -skærmen åbnes efter en ny forbindelse, skrives op til 4K bytes af tidligere modtagne data (siden forbindelsen blev oprettet) til fil, når den åbnes. Disse data er også tilgængelige for plottet. I de fleste tilfælde betyder det, at alle rådata, der sendes siden forbindelsen blev oprettet, gemmes. Når forbindelsen er lukket, skrives den sidste af dataene, og filen lukkes. Hvis filen allerede findes, fra en tidligere forbindelse, føjes den til ved hver efterfølgende forbindelse. Du kan downloade og slette filen fra din computer. Se pfodAppForAndroidGettingStarted.pdf for at få adgang til filen fra din computer.

Trin 4: Test med SerialMonitor

Test med SerialMonitor
Test med SerialMonitor
Test med SerialMonitor
Test med SerialMonitor

Inden du opretter forbindelse via bluetooth, kan du teste skitsen ved hjælp af Arduino IDE SerialMonitor. Fjern først bluetooth -kortet, fordi det bruger de samme TX/RX -forbindelser som USB -programmeringen og seriel monitorforbindelse, og kopier og indsæt skitsen (SimpleDataPlotting.ino) i Arduino IDE og programmer Arduino -kortet. Åbn derefter Arduino IDE SerialMonitor Du kan se dataene blive sendt af Uno -kortet. Skriv derefter {.} Og klik på "Send" for at sende kommandoen getMainMenu, {.} Dette er hvad pfodApp sender først, når den opretter forbindelse. Skitsen reagerer med kommandoen Plotting. {= Analog A0 Plot | Tid (sek) | A0 tæller}, som vil bede pfodApp om at åbne en plottingskærm og begynde at plotte dataene. Dette begynder også at gemme dataene i en fil. Se pfodSpecification for detaljer om alle de meddelelser og skærme, som pfod (Protocol for Operation Discovery) understøtter.

Trin 5: Tilslutning med en Android -mobil

Opretter forbindelse med en Android -mobil
Opretter forbindelse med en Android -mobil
Opretter forbindelse med en Android -mobil
Opretter forbindelse med en Android -mobil

Alt er godt, så du kan nu lukke Arduino IDE og SerialMonitor og vedhæfte Bluetooth -skjoldet, som tidligere vist. For at oprette forbindelse til din Android Mobile skal du først installere pfodApp fra Android Market og derefter følge pfodAppForAndroidGettingStarted.pdf -guiden for at parre dit Bluetooth -skjold med din mobil og konfigurere en Bluetooth pfodApp -forbindelse. Jeg kaldte min forbindelse "Simple Data Logging". Vælg derefter forbindelsen "Simple Data Logging" for at oprette forbindelse til den simple datalogger. Så snart pfodApp opretter forbindelse, sender den {.} Meddelelsen, som skitsen reagerer på, med meddelelsen {= Analog A0 Plot | Time (sec) | A0 Counts}, der fortæller pfodApp plot dataene og også begynder at gemme dataene. I dette plot har jeg tilsluttet A0 til Gnd og 5.5V og 3.3V og også ladet det flyde bare ved at opfange støj.

Trin 6: Overførsel af data til din computer

Overførsel af data til din computer
Overførsel af data til din computer

PfodAppForAndroidGettingStarted.pdf beskriver, hvordan du slutter din mobil til din computer via USB, og hvordan du tænder USB -masselagringen, så du kan gennemse den fra din computer. Du finder alle rådatafiler i mappen pfodAppRawData. Som vist ovenfor gemte Simple Data Logger dataene i /pfodAppRawData /Simple Data Logging. Txt pfodApp bruger navnet på forbindelsen som filnavn til at gemme dataene. Udvidelser til Simple Data Logger Nu hvor du har en simpel datalogger at både plotter og gemmer dine data, kan du ændre skitsen for at sende dine egne data tilbage. Bare skriv dine data i CSV -format til den samme serielle forbindelse, der er forbundet til dit Bluetooth -modul. Hvis du har mere end to datafelter, skal du ændre plottingskommandoen. Se pfodSpecification for detaljer og eksempler.

Anbefalede: