Sommario:

Tracciamento dati remoto semplice utilizzando Android/Arduino/PfodApp: 6 passaggi
Tracciamento dati remoto semplice utilizzando Android/Arduino/PfodApp: 6 passaggi

Video: Tracciamento dati remoto semplice utilizzando Android/Arduino/PfodApp: 6 passaggi

Video: Tracciamento dati remoto semplice utilizzando Android/Arduino/PfodApp: 6 passaggi
Video: Eseguire un tracciamento con GPS 2024, Maggio
Anonim
Tracciamento dati remoto semplice utilizzando Android/Arduino/PfodApp
Tracciamento dati remoto semplice utilizzando Android/Arduino/PfodApp

Per tracciare dati su data/ora utilizzando solo millis() di Arduino, vedere questo InstructableArduino Data/ora tracciamento/registrazione utilizzando Millis() e PfodApp

Questo Instructable ti mostra come tracciare i dati del sensore Arduino sul tuo cellulare Android e acquisirli per il successivo download sul tuo computer. Queste istruzioni sono disponibili anche su www.pfod.com.au Non è richiesta alcuna programmazione Android e pochissima è necessaria la programmazione Arduino. È un'estensione di Simple Mobile Data Logging utilizzando pfodApp

Passaggio 1: avvio rapido del plottaggio

Avvio rapido del plottaggio
Avvio rapido del plottaggio

a) Procurati una scheda Arduino e un modulo Bluetooth (come Uno e Bluetooth Shield o FioV3+Bluetooth) b) Installa Arduino IDE c) Collega la scheda Arduino (nessun modulo bluetooth collegato) con un cavo USB. d) Copia questo schizzo nell'IDE Arduino e compilalo e caricalo nella scheda Arduino) e) Collega il modulo Bluetooth Shield a Uno (Il Bluetooth Shield è preconfigurato per 9600 baud MA imposta l'interruttore 3V/5V su 5V e imposta l'interruttore To Board/To FT232 nella posizione To Board f) Carica il tuo cellulare Android con pfodApp. g) Configurare una connessione tra il cellulare e il modulo Bluetooth come descritto in pfodAppForAndroidGettingStarted.pdf h) Avviare pfodApp e connettersi alla scheda Arduino tramite il modulo Bluetooth. Ho finito. Il tuo cellulare ora salverà e traccerà i conteggi del convertitore Arduino AtoD per l'input A0

Passaggio 2: lo schizzo di stampa

Lo schizzo di plottaggio
Lo schizzo di plottaggio

La stampa tramite pfodApp richiede due cose:- a) un flusso di dati (in formato CSV) eb) un comando di stampa da pfodDevice (Arduino) Lo schizzo, SimpleDataPlotting.ino, fa solo due cose. Prima legge l'ingresso analogico A0 una volta al secondo e invia i secondi correnti e i conteggi in formato CSV, In secondo luogo quando la pfodApp si connette e richiede il menu principale, lo schizzo risponde con il comando di stampa per iniziare a tracciare le misurazioni. Ecco il codice che viene eseguito una volta al secondo per leggere l'ingresso analogico A0 e scrivere i secondi correnti, conta per la connessione bluetooth. // legge A0 una volta al secondo int val = analogRead(0); // A0 // emette l'ora corrente e la lettura in formato csv parser.print(thisMillis/1000); // il primo campo è l'ora in secondi parser.print(", "); // la virgola separa i campi parser.println(val); // la nuova riga termina il record di dati

Ecco il codice che risponde alla richiesta pfodApp per il menu principale di pfodDevice (Arduino Uno).

byte cmd = parser.parse(); if (cmd != 0) { // hanno analizzato un messaggio completo { to } if ('.' == cmd) { // pfodApp ha richiesto il menu principale // invia indietro "open plotting screen" parser.print(F ("{=Trama analogico A0|Tempo(sec)|Conteggi}")); // questo è il menu principale } else if ('!' == cmd) { // Comando CloseConnection closeConnection(parser.getPfodAppStream()); } else { // comando sconosciuto parser.print(F("{}")); // invia sempre un messaggio pfod altrimenti pfodApp si disconnetterà. } }

Quando la pfodApp del tuo cellulare si connette, chiede automaticamente il menu principale (inviando il messaggio {.}), il parser nello sketch (vedi il codice in fondo allo sketch) analizza il {.} e restituisce il '.' comando. Lo schizzo quindi restituisce un comando grafico{=Plottaggio analogico A0|Tempo(sec)|Conteggi A0} Questo comando indica a pfodApp di aprire una schermata chiamata "Plottaggio analogico A0" e tracciare il tempo rispetto ai conteggi. Il pfodApp quindi scansiona i dati grezzi in arrivo e cerca le linee con due campi e prende il primo campo come valore x e il secondo come valore y e aggiunge quel punto al grafico. Ogni volta che viene aperta una schermata di stampa (o una schermata di dati grezzi), pfodApp inizia a salvare tutti i dati grezzi in un file locale sul tuo telefonino. La pfodApp continua a salvare i dati fino a quando non si esce dalla pfodApp. Puoi scaricare questo file sul tuo computer per un'ulteriore elaborazione (vedi uno dei passaggi successivi). Ci sono una serie di altre opzioni per il comando plot che ti permettono di ignorare alcuni campi, impostare scale di plot, tracciare più grafici su un grafico ecc. Vedi pfodSpecification per dettagli ed esempi. La pfodApp può fare molto di più che semplicemente tracciare, vedi questi esempi. Il grafico sopra è un esempio di due grafici, uno dei quali ha due grafici su di esso. Questa trama è di ArduMower Robot rasaerba fai da te! che utilizza la stessa pfodApp per controllare un robot tagliaerba. La stessa pfodApp viene utilizzata per controllare tutti i pfodDevices. Sono i pfodDevices che determinano completamente quali schermate vengono visualizzate agli utenti.

Passaggio 3: maggiori dettagli

Più dettaglio
Più dettaglio
Più dettaglio
Più dettaglio

L'ultima versione di pfodApp disponibile su Android Market consente di tracciare e salvare in un file i dati grezzi inviati da un pfodDevice (ad es. Arduino) per un uso successivo. Consulta pfodAppForAndroidGettingStarted.pdf per sapere come scaricare il file dal tuo cellulare Android al computer. Il plottaggio richiede due cose:- a) un flusso di dati (in formato CSV) eb) un comando plot dal pfodDevice Il tuo pfodDevice (Arduino) può inviare qualsiasi tipo di dati al di fuori dei messaggi pfod. pfod messaggi racchiusi da { } che li distingue dagli altri dati. Se vuoi tracciare i dati devi inviare i dati in formato CSV. Cioè valori di dati separati da virgole e terminati da una nuova riga (CR o LF o CR LF) Ad esempio105, 680 Quando pfodDevice vuole mostrare un grafico all'utente, pfodDevice invia un comando plot. Il tuo schizzo Arduino ha il controllo completo di ciò che pfodApp traccia. Il comando plot dà un titolo alla schermata di stampa e specifica quale flusso di dati grezzi stampare e quali campi da quel flusso. Diversi flussi di dati grezzi hanno numeri diversi di campi separati da virgole. Il numero di barre | nel comando plot deve corrispondere al numero di campi nel flusso di dati che si desidera tracciare. Le righe di dati con un numero diverso di campi vengono ignorate per questo grafico. Sono disponibili numerose opzioni per il comando di stampa per selezionare i campi da tracciare e impostare scale e unità e per inserire più grafici su un grafico. Il più semplice è inviare i valori x come primo campo e i valori y come campi successivi, quindi nel nome del comando di stampa l'asse x e l'asse y, ad es. {=Trama analogico A0 | Tempo(sec) | A0 Conta } titolo trama | x campo valori | y campo valori Puoi anche visualizzare i dati grezzi inviati al tuo cellulare. La schermata "Raw Data" è accessibile da pfodApp utilizzando il menu del tuo cellulare oppure può essere aperta dal pfodDevice inviando un messaggio streamingRawData, {=Title Of the Screen Goes Here} ovvero una versione troncata del comando di plottaggio. In entrambi i casi viene aperta la schermata dei dati grezzi di pfodApp e verranno visualizzati i dati che sono stati inviati da pfodDevice. All'apertura della schermata, pfodApp inizierà a salvare i dati in un file. Il nome del file viene visualizzato ogni volta che si apre la schermata (o una schermata di stampa). Per evitare che il tuo cellulare si riempia di dati che non volevi, pfodApp non inizia a scrivere dati sulla scheda SD del cellulare fino alla prima volta che viene aperta la schermata Raw Data o la schermata di stampa dopo ogni nuova connessione. La prima volta che la schermata Raw Data viene aperta dopo una nuova connessione, vengono scritti fino a 4K byte di dati ricevuti in precedenza (da quando è stata stabilita la connessione) nel file quando viene aperto. Questi dati sono disponibili anche per la trama. Nella maggior parte dei casi ciò significa che tutti i dati grezzi inviati da quando è stata stabilita la connessione verranno salvati. Quando la connessione viene chiusa, l'ultimo dei dati viene scritto e il file viene chiuso. Se il file esiste già, da una connessione precedente, viene aggiunto da ogni connessione successiva. Puoi scaricare ed eliminare il file dal tuo computer. Vedi pfodAppForAndroidGettingStarted.pdf per come accedere al file dal tuo computer.

Passaggio 4: test con SerialMonitor

Test con SerialMonitor
Test con SerialMonitor
Test con SerialMonitor
Test con SerialMonitor

Prima di connetterti via bluetooth, puoi testare lo schizzo usando l'IDE Arduino SerialMonitor. Rimuovere prima la scheda bluetooth, poiché utilizza le stesse connessioni TX/RX della programmazione USB e della connessione del monitor seriale, quindi copiare e incollare lo sketch (SimpleDataPlotting.ino) nell'IDE Arduino e programmare la scheda Arduino. Quindi apri l'IDE Arduino SerialMonitor Puoi vedere i dati inviati dalla scheda Uno. Quindi digita {.} e fai clic su "Invia" per inviare il comando getMainMenu, {.} Questo è ciò che pfodApp invierà per primo quando si connetterà. Lo schizzo risponde con il comando Stampa. {=Analog A0 Plot|Time(sec)|A0 Counts} che chiederà a pfodApp di aprire una schermata di stampa e iniziare a tracciare i dati. Questo avvia anche il salvataggio dei dati in un file. Vedere la pfodSpecification per i dettagli su tutti i messaggi e le schermate supportati da pfod (Protocol for Operation Discovery).

Passaggio 5: connessione con un cellulare Android

Connessione con un cellulare Android
Connessione con un cellulare Android
Connessione con un cellulare Android
Connessione con un cellulare Android

Tutto è a posto, quindi ora puoi chiudere l'IDE Arduino e SerialMonitor e collegare lo shield Bluetooth, come mostrato in precedenza. Per connetterti con il tuo cellulare Android, installa prima pfodApp da Android Market, quindi segui la guida pfodAppForAndroidGettingStarted.pdf per accoppiare il tuo Bluetooth shield con il tuo cellulare e configurare una connessione Bluetooth pfodApp. Ho chiamato la mia connessione "Registrazione dati semplice". Selezionare quindi la connessione “Simple Data Logging” per connettersi al semplice datalogger. Non appena pfodApp si connette invia il messaggio {.} a cui lo sketch risponde con il messaggio {=Analog A0 Plot|Time(sec)|A0 Counts} che dice alla pfodApp di tracciare i dati e iniziare anche a salvare i dati. In questa trama ho collegato A0 a Gnd e 5,5 V e 3,3 V e l'ho anche lasciato fluttuare solo per rilevare il rumore.

Passaggio 6: trasferimento dei dati sul computer

Trasferimento dei dati al computer
Trasferimento dei dati al computer

Il pfodAppForAndroidGettingStarted.pdf spiega come collegare il cellulare al computer tramite USB e come attivare l'archivio di massa USB in modo da poterlo sfogliare dal computer. Troverai tutti i file di dati grezzi nella cartella pfodAppRawData. Come mostrato sopra, il Simple Data Logger ha salvato i dati in /pfodAppRawData/Simple Data Logging.txt pfodApp utilizza il nome della connessione come nome del file per salvare i dati. Estensioni al Simple Data Logger Ora che hai un semplice data logger che stampa e salva i tuoi dati, puoi modificare lo schizzo per inviare i tuoi dati. Basta scrivere i tuoi dati, in formato CSV, sulla stessa connessione seriale che è collegata al tuo modulo Bluetooth. Se hai più di due campi dati, dovrai modificare il comando di stampa. Vedere la pfodSpecification per dettagli ed esempi.

Consigliato: