INHOUDSOPGAWE:

Eenvoudige data op afstand met behulp van Android / Arduino / PfodApp: 6 stappe
Eenvoudige data op afstand met behulp van Android / Arduino / PfodApp: 6 stappe

Video: Eenvoudige data op afstand met behulp van Android / Arduino / PfodApp: 6 stappe

Video: Eenvoudige data op afstand met behulp van Android / Arduino / PfodApp: 6 stappe
Video: Arduino Smartphone besturing 2024, November
Anonim
Eenvoudige data op afstand met behulp van Android / Arduino / PfodApp
Eenvoudige data op afstand met behulp van Android / Arduino / PfodApp

Raadpleeg hierdie InstructableArduino -datum/tydplot/aantekening met behulp van Millis () en PfodApp vir die plotte van data teen datum/tyd met behulp van slegs Arduino's millis ()

Hierdie instruksies wys u hoe u Arduino -sensordata op u Android -selfoon kan opneem en dit kan opneem om dit later op u rekenaar af te laai. Hierdie instruksies is ook beskikbaar op www.pfod.com.au Geen Android -programmering is nodig nie en baie min Arduino -programmering is nodig. Dit is 'n uitbreiding van Simple Mobile Data Logging met behulp van pfodApp

Stap 1: Vinnige aanvang

Vinnige aanvangsbeplanning
Vinnige aanvangsbeplanning

a) Kry 'n Arduino -bord en 'n Bluetooth -module (soos Uno en Bluetooth Shield of FioV3+Bluetooth) b) Installeer Arduino IDE c) Koppel die Arduino -kaart (geen Bluetooth -module aangeheg nie) met 'n USB -kabel. d) Kopieer hierdie skets in die Arduino IDE en stel dit op en laai dit in die Arduino-bord) e) Koppel die Bluetooth Shield-module aan die Uno (die Bluetooth-skild is vooraf gekonfigureerd voor 9600baud, MAAR stel die 3V/5V-skakelaar op 5V en stel die skakelaar na boord/na FT232 na die aan boord -posisie. f) Laai u Android -selfoon met pfodApp. g) Stel 'n verbinding op tussen u selfoon en die Bluetooth -module soos beskryf in pfodAppForAndroidGettingStarted.pdf h) Begin die pfodApp en maak via die Bluetooth -module verbinding met u Arduino -bord. ek het klaar gemaak. U selfoon sal nou die Arduino AtoD -omskakelaars vir insette A0 stoor en uitbeeld

Stap 2: Die plotskets

Die plotskets
Die plotskets

Om met pfodApp te teken, vereis twee dinge:- a) 'n stroom data (in CSV-formaat) en b) 'n plotopdrag van die pfodDevice (Arduino) Die skets, SimpleDataPlotting.ino, doen slegs twee dinge. Eerstens lees dit die analoog A0 -invoer een keer per sekonde en stuur die huidige sekondes en die tellings in CSV -formaat uit. Tweedens, as die pfodApp verbind en die hoofkieslys versoek, reageer die skets met die plotopdrag om die metings te begin teken. Hier is die kode wat een keer per sekonde uitgevoer word om die analoog A0 -invoer te lees en die huidige sekondes te skryf, tel af na die Bluetooth -verbinding. // lees A0 een keer 'n sek int val = analogRead (0); // A0 // voer die huidige tyd en lesing in csv -formaat uit parser.print (thisMillis/1000); // eerste veld is tyd in sekondes parser.print (","); // komma skei velde parser.println (val); // nuwe reël beëindig data rekord

Hier is die kode wat reageer op die pfodApp -versoek vir die hoofkieslys van die pfodDevice (Arduino Uno's).

byte cmd = parser.parse (); as (cmd! = 0) {// 'n volledige boodskap ontleed het {na} as ('.' == cmd) {// pfodApp vir die hoofkieslys gevra het // stuur 'oop plotskerm' weer parser.print (F ("{= Analoog A0 -plot | Tyd (sek) | tellings}")); // dit is die hoofkieslys} anders as ('!' == cmd) {// CloseConnection -opdrag closeConnection (parser.getPfodAppStream ()); } anders {// onbekende opdrag parser.print (F ("{}")); // stuur altyd 'n pfod -boodskap terug, anders sal pfodApp ontkoppel. }}

As u selfoon se pfodApp verbind, word dit outomaties na die hoofkieslys gevra (deur die {.} Boodskap te stuur), ontleed die ontleder in die skets (sien die kode onderaan die skets) die {.} En gee die '.' bevel. Die skets stuur dan 'n plotopdrag terug {= Analoog A0 -plot | Tyd (sek.) | A0 -tellings} Die opdrag gee die pfodApp opdrag om 'n skerm met die naam "Analoog A0 -plot" oop te maak en die tyd teen die tellings te teken. Die pfodApp skandeer dan die rou data wat inkom en soek lyne met twee velde en neem die eerste veld as die x -waarde en die tweede as die y -waarde en voeg die punt by die plot. As 'n plotskerm (of 'n rou data -skerm) oopgemaak word, begin die pfodApp al die rou data in 'n plaaslike lêer op u selfoon stoor. Die pfodApp gaan voort om die data te stoor totdat u die pfodApp verlaat. U kan hierdie lêer na u rekenaar aflaai vir verdere verwerking (sien een van die latere stappe). Daar is 'n aantal ander opsies vir die plotopdrag wat u toelaat om sommige velde te ignoreer, plotskale in te stel, veelvoudige erwe op een grafiek, ens. Te sien. Sien die pfodSpecification vir besonderhede en voorbeelde. Die pfodApp kan veel meer doen as om net 'n plot te maak, sien hierdie voorbeelde. Die plot hierbo is 'n voorbeeld van twee kaarte waarvan een twee erwe het. Hierdie plot is van ArduMower Do it yourself robotmaaier! wat dieselfde pfodApp gebruik om 'n robotmaaier te beheer. Dieselfde pfodApp word gebruik om al die pfodDevices te beheer. Dit is die pfodDevices wat heeltemal bepaal watter skerms aan die gebruikers vertoon word.

Stap 3: Meer besonderhede

Meer detail
Meer detail
Meer detail
Meer detail

Met die nuutste weergawe van pfodApp wat op die Android Market beskikbaar is, kan rou data wat deur 'n pfodDevice (bv. Arduino) gestuur word, opgestel en in 'n lêer gestoor word vir latere gebruik. Sien die pfodAppForAndroidGettingStarted.pdf vir hoe om die lêer van u Android -selfoon na u rekenaar af te laai. Plotte vereis twee dinge:- a) 'n stroom data (in CSV-formaat) en b) 'n plotopdrag van die pfodDevice Jou pfodDevice (Arduino) kan enige tipe data na pfod-boodskappe stuur. pfod -boodskappe wat ingesluit is deur {} wat hulle van ander data onderskei. As u data wil plot, moet u die data in CSV -formaat stuur. Dit is gegewenswaardes wat deur kommas geskei word en met 'n nuwe lyn beëindig word (óf CR óf LF óf CR LF) Byvoorbeeld105, 680 As die pfodDevice 'n plot vir die gebruiker wil vertoon, stuur die pfodDevice 'n plotopdrag. U Arduino -skets het volledige beheer oor wat pfodApp voorstel. Die plotopdrag gee 'n titel aan die plotskerm en spesifiseer watter stroom rou data wat u wil plot en watter velde uit die stroom. Verskillende strome rou data het verskillende getalle komma -geskeide velde. Die aantal mate | in die plotopdrag moet ooreenstem met die aantal velde in die datastroom wat u wil plot. Data lyne met 'n ander aantal velde word vir hierdie plot geïgnoreer. Daar is 'n aantal opsies vir die plotopdrag om die velde te kies om te plot en om skale en eenhede in te stel en om meer erwe op die een grafiek te plaas. Die eenvoudigste is om die x-waardes as die eerste veld en die y-waardes as die volgende velde te stuur, dan in die plotopdragnaam die x-as en y-as, bv. {= Analoog A0 -plot | Tyd (sek) | A0 tellings} plot titel | x waardes veld | y waardes veld U kan ook die rou data sien wat na u selfoon gestuur word. U kan toegang tot die skerm "Rou data" verkry vanaf pfodApp via die spyskaart van u selfoon, of dit kan oopgemaak word deur die pfodDevice wat 'n streamingRawData -boodskap stuur, {= Titel van die skerm gaan hier} dit wil sê 'n verkorte weergawe van die plotopdrag. Hoe dan ook, die pfodApp rou dataskerm word oopgemaak en die data wat vanaf die pfodDevice gestuur is, vertoon. As die skerm oopgemaak word, begin pfodApp die data in 'n lêer stoor. Die naam van die lêer word vertoon elke keer as die skerm (of 'n plotskerm) oopgemaak word. Om te verhoed dat u selfoon vul met data wat u nie wou hê nie, begin pfodApp eers data op die selfoon se SD -kaart skryf, totdat die eerste keer dat die Raw Data -skerm of die plotskerm oopgemaak word na elke nuwe verbinding. Die eerste keer dat die Raw Data -skerm oopgemaak word na 'n nuwe verbinding, word tot 4K grepe data wat voorheen ontvang is (sedert die verbinding gemaak is) in die lêer geskryf wanneer dit oopgemaak word. Hierdie data is ook beskikbaar vir die plot. In die meeste gevalle beteken dit dat alle rou data wat gestuur is sedert die verbinding gemaak is, gestoor sal word. As die verbinding gesluit is, word die laaste data geskryf en die lêer gesluit. As die lêer reeds bestaan, word dit vanaf 'n vorige verbinding by elke daaropvolgende verbinding aangeheg. U kan die lêer van u rekenaar aflaai en verwyder. Raadpleeg die pfodAppForAndroidGettingStarted.pdf vir toegang tot die lêer vanaf u rekenaar.

Stap 4: Toets met die SerialMonitor

Toets met die SerialMonitor
Toets met die SerialMonitor
Toets met die SerialMonitor
Toets met die SerialMonitor

Voordat u via bluetooth aansluit, kan u die skets toets met die Arduino IDE SerialMonitor. Verwyder eers die Bluetooth -bord, omdat dit dieselfde TX/RX -verbindings gebruik as die USB -programmering en seriële monitorverbinding, en kopieer en plak die skets (SimpleDataPlotting.ino) in die Arduino IDE en programmeer die Arduino -bord. Maak dan die Arduino IDE SerialMonitor oop. U kan sien hoe die data deur die Uno -bord gestuur word. Tik dan {.} En klik op "Stuur" om die getMainMenu -opdrag te stuur. {.} Dit is wat die pfodApp eers sal stuur wanneer dit verbind is. Die skets reageer met die plotopdrag. {= Analoog A0 -plot | Tyd (sek.) | A0 -tellings} wat die pfodApp sal vra om 'n plotskerm oop te maak en die data te begin plot. Dit begin ook om die data in 'n lêer te stoor. Sien die pfodSpecification vir meer inligting oor al die boodskappe en skerms wat pfod (Protocol for Operation Discovery) ondersteun.

Stap 5: Koppel met 'n Android -selfoon

Koppel met 'n Android -selfoon
Koppel met 'n Android -selfoon
Koppel met 'n Android -selfoon
Koppel met 'n Android -selfoon

Alles is goed, sodat u nou die Arduino IDE en SerialMonitor kan sluit en die Bluetooth -skild kan heg, soos voorheen getoon. Om met u Android Mobile te skakel, installeer eers pfodApp vanaf Android Market en volg dan die pfodAppForAndroidGettingStarted.pdf -gids om u Bluetooth -skild met u selfoon te koppel en 'n Bluetooth -pfodApp -verbinding op te stel. Ek het my verbinding 'Simple Data Logging' genoem. Kies dan die verbinding "Eenvoudige data -aanmelding" om aan te sluit op die eenvoudige datalogger. Sodra pfodApp gekoppel is, stuur dit die {.} Boodskap waarop die skets reageer, met die {= Analog A0 Plot | Time (sec) | A0 Counts} boodskap wat die pfodApp vertel dat die data geplot word en ook begin om die data te stoor. In hierdie plot het ek A0 gekoppel aan Gnd en 5.5V en 3.3V en dit ook laat dryf deur net geraas op te tel.

Stap 6: Die oordrag van die data na u rekenaar

Die oordrag van die data na u rekenaar
Die oordrag van die data na u rekenaar

Die pfodAppForAndroidGettingStarted.pdf gee 'n uiteensetting van hoe u u selfoon via USB aan u rekenaar kan koppel en hoe u die USB -massastoor kan aanskakel, sodat u dit vanaf u rekenaar kan blaai. U vind al die rou datalêers in die vouer pfodAppRawData. Soos hierbo getoon, het die Simple Data Logger die data gestoor in /pfodAppRawData /Simple Data Logging.txt pfodApp gebruik die naam van die verbinding as lêernaam om die data te stoor Uitbreidings na die Simple Data Logger Noudat u 'n eenvoudige datalogger het As u u data beplan en stoor, kan u die skets verander om u eie data terug te stuur. Skryf u data in CSV -formaat na dieselfde seriële verbinding wat aan u Bluetooth -module gekoppel is. As u meer as twee datavelde het, moet u die plotopdrag verander. Sien die pfodSpecification vir besonderhede en voorbeelde.

Aanbeveel: