Logo di SparkFunGuida al collegamento OpenLog

Introduzione

Attenzione! Questo tutorial è per l'Open Log per UART seriale [DEV-13712]. Se si utilizza l'OpenLog Qwiic per IC [DEV-15164], consultare la Guida all'installazione di OpenLog Qwiic.
OpenLog Data Logger è una soluzione open source e semplice da usare per la registrazione di dati seriali dai vostri progetti. OpenLog fornisce una semplice interfaccia seriale per registrare i dati da un progetto a una scheda microSD.DEV-13712 Schede di sviluppo SparkFunSparkFun OpenLog
• DEV-13712DEV-13712 Schede di sviluppo SparkFun - PartiSparkFun OpenLog con intestazioni
• DEV-13955

nessun prodotto trovato
Materiali richiesti
Per completare questo tutorial, avrai bisogno dei seguenti componenti. Potrebbe non servirti tutto, a seconda di ciò che possiedi. Aggiungilo al carrello, leggi la guida e modifica il carrello se necessario.
Guida al collegamento OpenLog Lista dei desideri SparkFun

DEV-13712 Schede di sviluppo SparkFun - Parti 1 Arduino Pro Mini 328 – 3.3 V/8 MHz
DEV-11114
È blu! È sottile! È l'Arduino Pro Mini! L'approccio minimalista di SparkFun ad Arduino. Questo è un Arduino da 3.3 V...
DEV-13712 Schede di sviluppo SparkFun - Parti 2 Breakout di base FTDI SparkFun – 3.3 V
DEV-09873
Questa è la revisione più recente del nostro [FTDI Basic](http://www.sparkfun.com/commerce/product_info.php?products_id= ...
DEV-13712 Schede di sviluppo SparkFun - Parti 3 Cavo USB SparkFun Cerberus – 6 piedi
Codice CAB-12016
Hai il cavo USB sbagliato. Non importa quale hai, è quello sbagliato. Ma cosa succederebbe se potessi...
DEV-13712 Schede di sviluppo SparkFun - Parti 4 SparkFun OpenLog
DEV-13712
SparkFun OpenLog è un data logger open source che funziona tramite una semplice connessione seriale e supporta mi…
DEV-13712 Schede di sviluppo SparkFun - Parti 5 Scheda microSD con adattatore – 16 GB (classe 10)
COM-13833
Questa è una scheda di memoria microSD da 10 GB di classe 16, perfetta per ospitare sistemi operativi per computer a scheda singola.
DEV-13712 Schede di sviluppo SparkFun - Parti 6 Lettore microSD USB
COM-13004
Questo è un fantastico piccolo lettore USB per microSD. Basta inserire la scheda microSD all'interno del connettore USB e...
DEV-13712 Schede di sviluppo SparkFun - Parti 7 Intestazioni femminili
PRT-00115
Singola fila di 40 fori, testa femmina. Può essere tagliata a misura con un paio di tronchesi. Spaziatura standard di 1 mm (XNUMX"). Utilizziamo...
DEV-13712 Schede di sviluppo SparkFun - Parti 8 Cavi Jumper Premium da 6″ M/M, confezione da 10
PRT-08431
Questa è un'esclusiva di SparkFun! Sono ponticelli lunghi 155 mm con connettori maschio su entrambe le estremità. Usateli per...
DEV-13712 Schede di sviluppo SparkFun - Parti 9 Intestazioni maschili Break Away – Angolo retto
PRT-00553
Una fila di connettori maschio ad angolo retto, da spezzare a misura. 40 pin che possono essere tagliati a qualsiasi dimensione. Utilizzabili con PCB personalizzati o gen…

Letture consigliate
Se non hai familiarità o non ti senti a tuo agio con i seguenti concetti, ti consigliamo di leggerli attentamente prima di proseguire con la Guida ai collegamenti OpenLog.
Come saldare: saldatura passante
In questo tutorial troverai tutto ciò che devi sapere sulla saldatura passante.
Interfaccia periferica seriale (SPI)
SPI è comunemente utilizzato per collegare i microcontrollori a periferiche come sensori, registri a scorrimento e schede SD.
Comunicazione seriale
Concetti di comunicazione seriale asincrona: pacchetti, livelli di segnale, velocità in baud, UART e molto altro!
Nozioni di base sul terminale seriale
Questo tutorial ti mostrerà come comunicare con i tuoi dispositivi seriali utilizzando diverse applicazioni di emulazione di terminale.

Hardware finitoview

Energia
OpenLog funziona con le seguenti impostazioni:
Valori di potenza OpenLog

Ingresso VCC 3.3 V-12 V (consigliato 3.3 V-5 V)
Ingresso RXI 2.0V-3.8V
Uscita TXO 3.3V
Assorbimento di corrente inattivo ~2mA-5mA (senza scheda microSD), ~5mA-6mA (con scheda microSD)
Assorbimento di corrente in scrittura attiva ~20-23 mA (con scheda microSD)

L'assorbimento di corrente dell'OpenLog è compreso tra 20 e 23 mA durante la scrittura su una microSD. A seconda delle dimensioni della scheda microSD e del produttore, l'assorbimento di corrente attivo può variare durante la scrittura dell'OpenLog sulla scheda di memoria. Anche l'aumento della velocità di trasmissione (baud rate) comporta un consumo di corrente maggiore.
Microcontrollori
OpenLog funziona con un ATmega328 integrato, che opera a 16 MHz grazie al quarzo integrato. L'ATmega328 ha il bootloader Optiboot installato, che permette a OpenLog di essere compatibile con l'impostazione "Arduino Uno" della scheda nell'IDE Arduino.DEV-13712 Schede di sviluppo SparkFun - bootloaderInterfaccia
UART seriale
L'interfaccia principale con OpenLog è il connettore FTDI sul bordo della scheda. Questo connettore è progettato per essere collegato direttamente a un Arduino Pro o Pro Mini, consentendo al microcontrollore di inviare i dati tramite una connessione seriale a OpenLog.DEV-13712 Schede di sviluppo SparkFun - bordo della scheda

Avvertimento! A causa dell'ordinamento dei pin che lo rende compatibile con gli Arduino, non può essere collegato direttamente a una scheda breakout FTDI. DEV-13712 Schede di sviluppo SparkFun - bordo scheda 1Per ulteriori informazioni, consultare la sezione successiva sul collegamento hardware.
SPI
Ci sono anche quattro punti di test SPI separati all'estremità opposta della scheda. È possibile utilizzarli per riprogrammare il bootloader dell'ATmega328.DEV-13712 Schede di sviluppo SparkFun - bordo scheda 2L'ultimo OpenLog (DEV-13712) suddivide questi pin in fori passanti placcati più piccoli. Se è necessario utilizzare un ISP per riprogrammare o caricare un nuovo bootloader su OpenLog, è possibile utilizzare i pin pogo per connettersi a questi punti di test.
L'interfaccia finale per comunicare con OpenLog è la scheda microSD stessa. Per comunicare, la scheda microSD richiede pin SPI. Non solo è qui che OpenLog memorizza i dati, ma è anche possibile aggiornare la configurazione di OpenLog tramite il file config.txt. file sulla scheda microSD.
scheda microSD
Tutti i dati registrati da OpenLog vengono memorizzati sulla scheda microSD. OpenLog funziona con schede microSD che presentano le seguenti caratteristiche:

  • 64MB a 32GB
  • FAT16 o FAT32

DEV-13712 Schede di sviluppo SparkFun - bordo scheda 3

LED di stato
Per facilitare la risoluzione dei problemi, OpenLog è dotato di due LED di stato.

  • STAT1 – Questo LED indicatore blu è collegato ad Arduino D5 (ATmega328 PD5) e si accende/spegne alla ricezione di un nuovo carattere. Questo LED lampeggia quando la comunicazione seriale è attiva.
  • STAT2 – Questo LED verde è collegato ad Arduino D13 (linea di clock seriale SPI/ATmega328 PB5). Questo LED lampeggia solo quando l'interfaccia SPI è attiva. Lo vedrai lampeggiare quando OpenLog registra 512 byte sulla scheda microSD.

DEV-13712 Schede di sviluppo SparkFun - bordo scheda 4

Collegamento hardware

Esistono due metodi principali per collegare il tuo OpenLog a un circuito. Avrai bisogno di connettori o fili per il collegamento. Assicurati di saldare alla scheda per una connessione sicura.
Connessione seriale di base
Mancia: Se si dispone di un connettore femmina sull'OpenLog e di un connettore femmina sull'FTDI, saranno necessari cavi jumper M/F per il collegamento.DEV-13712 Schede di sviluppo SparkFun - Connessione seriale di base

Questa connessione hardware è progettata per l'interfacciamento con un OpenLog nel caso in cui sia necessario riprogrammare la scheda o registrare dati tramite una connessione seriale di base.
Effettuare i seguenti collegamenti:
OpenLog → Breakout di base FTDI da 3.3 V

  • Terra → Terra
  • Terra → Terra
  • VCC → 3.3 V
  • TXO → RXI
  • RXI → TXO
  • DTR → DTR

Si noti che non si tratta di una connessione diretta tra FTDI e OpenLog: è necessario invertire le connessioni dei pin TXO e RXI.
Le tue connessioni dovrebbero apparire come segue: DEV-13712 Schede di sviluppo SparkFun - Breakout di baseUna volta stabilite le connessioni tra OpenLog e FTDI Basic, collega la scheda FTDI a un cavo USB e al computer.
Apri un terminale seriale, connettiti alla porta COM del tuo FTDI Basic e via!

Collegamento hardware del progetto

Mancia: Se hai saldato i connettori femmina sull'OpenLog, puoi saldare i connettori maschio all'Arduino Pro Mini per collegare le schede senza bisogno di fili.DEV-13712 Schede di sviluppo SparkFun - Collegamento hardware del progettoSebbene l'interfacciamento con OpenLog tramite una connessione seriale sia importante per la riprogrammazione o il debug, OpenLog dà il meglio di sé in un progetto embedded. Questo circuito generale è il modo in cui consigliamo di collegare OpenLog a un microcontrollore (in questo caso, un Arduino Pro Mini) che scriverà i dati seriali su OpenLog.
Per prima cosa dovrai caricare il codice sul tuo Pro Mini che intendi utilizzare. Dai un'occhiata agli sketch di Arduino per alcuni esempi.ampil codice che puoi utilizzare.
Nota: Se non sai come programmare il tuo Pro Mini, dai un'occhiata al nostro tutorial qui.
Utilizzo di Arduino Pro Mini 3.3V
Questo tutorial è la tua guida completa a tutto ciò che riguarda Arduino Pro Mini. Spiega cos'è, cosa non è e come iniziare a usarlo.
Dopo aver programmato il Pro Mini, puoi rimuovere la scheda FTDI e sostituirla con OpenLog.
Assicuratevi di collegare i pin etichettati BLK sia sul Pro Mini che sull'OpenLog (anche i pin etichettati GRN su entrambi corrisponderanno se eseguiti correttamente).
Se non è possibile collegare l'OpenLog direttamente al Pro Mini (a causa di connettori non corrispondenti o di altre schede che ostacolano il collegamento), è possibile utilizzare dei cavi jumper ed effettuare le seguenti connessioni.
OpenLog → Arduino Pro/Arduino Pro Mini

  • Terra → Terra
  • Terra → Terra
  • VCC → VCC
  • TXO → RXI
  • RXI → TXO
  • DTR → DTR

Una volta terminato, i collegamenti con Arduino Pro Mini e Arduino Pro dovrebbero apparire come quelli seguenti.
Il diagramma di Fritzing mostra gli OpenLog con gli header speculari. Se si capovolge lo slot microSD rispetto alla parte superiore dell'Arduino viewdovrebbero corrispondere all'intestazione di programmazione come un FTDI.DEV-13712 Schede di sviluppo SparkFun - Collegamento hardware del progetto 1

Nota che la connessione sia diretta con l'OpenLog "capovolto" (con la microSD rivolta verso l'alto).
⚡Nota: Poiché Vcc e GND tra OpenLog e Arduino sono occupati dagli header, sarà necessario collegare l'alimentazione agli altri pin disponibili su Arduino. In alternativa, è possibile saldare i fili ai pin di alimentazione esposti su entrambe le schede.
Accendi il sistema e sarai pronto per iniziare la registrazione!

Schizzi Arduino

Ci sono sei ex diversiampSono inclusi alcuni sketch che puoi utilizzare su Arduino quando connesso a un OpenLog.

  • OpenLog_Benchmarking — Questo esempioample viene utilizzato per testare OpenLog. Questo invia grandi quantità di dati a 115200 bps su più files.
  • OpenLog_CommandTest — Questo esempioample mostra come creare e aggiungere un file tramite controllo da riga di comando tramite Arduino.
  • OpenLog_ReadExample — Questo example spiega come controllare OpenLog tramite riga di comando.
  • OpenLog_ReadExample_LargeFile —Esampcome aprire un archivio di grandi dimensioni file su OpenLog e segnalarlo tramite una connessione Bluetooth locale.
  • OpenLog_Test_Sketch — Utilizzato per testare OpenLog con molti dati seriali.
  • OpenLog_Test_Sketch_Binary — Utilizzato per testare OpenLog con dati binari e caratteri di escape.

Firmware

OpenLog ha due software principali a bordo: il bootloader e il firmware.
Bootloader Arduino
Nota: Se si utilizza un OpenLog acquistato prima di marzo 2012, il bootloader integrato è compatibile con l'impostazione "Arduino Pro o Pro Mini 5V/16MHz w/ ATmega328" nell'IDE Arduino.
Come accennato in precedenza, OpenLog ha il bootloader seriale Optiboot integrato. È possibile utilizzare OpenLog come un Arduino Uno quando si caricano dati.ampil codice o il nuovo firmware sulla scheda.
Se OpenLog dovesse bloccarsi e dovessi reinstallare il bootloader, ti consigliamo di caricare Optiboot sulla scheda. Per ulteriori informazioni, consulta il nostro tutorial sull'installazione di un bootloader Arduino.
Compilazione e caricamento del firmware su OpenLog
Nota: Se è la prima volta che usi Arduino, ti preghiamo di ripetereview Il nostro tutorial sull'installazione dell'IDE Arduino. Se non hai ancora installato una libreria Arduino, consulta la nostra guida all'installazione per installarla manualmente.
Se per qualsiasi motivo è necessario aggiornare o reinstallare il firmware sul tuo OpenLog, la seguente procedura ripristinerà il funzionamento della tua scheda.
Per prima cosa, scarica l'IDE Arduino v1.6.5. Altre versioni dell'IDE potrebbero funzionare per compilare il firmware OpenLog, ma abbiamo verificato che questa è una versione valida.
Successivamente, scarica il firmware OpenLog e il bundle delle librerie necessarie.

SCARICA IL BUNDLE FIRMWARE OPENLOG (ZIP)
Una volta scaricate le librerie e il firmware, installale in Arduino. Se non sei sicuro di come installare manualmente le librerie nell'IDE, consulta il nostro tutorial: Installazione di una libreria Arduino: Installazione manuale di una libreria.
Nota: Stiamo utilizzando versioni modificate delle librerie SdFat e SerialPort per dichiarare arbitrariamente la dimensione dei buffer TX e RX. OpenLog richiede che il buffer TX sia molto piccolo (0) e che il buffer RX sia il più grande possibile. L'utilizzo combinato di queste due librerie modificate consente di migliorare le prestazioni di OpenLog.
Cerchi le versioni più recenti? Se preferisci le versioni più aggiornate delle librerie e del firmware, puoi scaricarle direttamente dai repository GitHub linkati di seguito. Le librerie SdFatLib e Serial Port non sono visibili nel gestore della scheda Arduino, quindi dovrai installarle manualmente.

  • GitHub: OpenLog > Firmware > OpenLog_Firmware
  • Librerie Arduino di Bill Greiman
    SdFatLib-beta
    Porta seriale

Successivamente, per prendere vantaggiotage delle librerie modificate, modificare SerialPort.h file Trovata nella directory \Arduino\Libraries\SerialPort. Modificare BUFFERED_TX a 0 e ENABLE_RX_ERROR_CHECKING a 0. Salvare filee apri l'IDE Arduino.
Se non l'hai ancora fatto, collega il tuo OpenLog al computer tramite una scheda FTDI. Controlla attentamente l'esempioampil circuito se non sei sicuro di come farlo correttamente.
Apri lo sketch OpenLog che desideri caricare nel menu Strumenti>Scheda, seleziona "Arduino/Genuino Uno" e seleziona la porta COM corretta per la tua scheda FTDI in Strumenti>Porta.
Carica il codice.
Ecco fatto! Il tuo OpenLog è ora programmato con il nuovo firmware. Ora puoi aprire un monitor seriale e interagire con OpenLog. All'accensione, vedrai 12> o 12<. 1 indica che la connessione seriale è stata stabilita, 2 indica che la scheda SD è stata inizializzata correttamente, < indica che OpenLog è pronto a registrare i dati seriali ricevuti e > indica che OpenLog è pronto a ricevere comandi.
Schizzi del firmware OpenLog
Sono inclusi tre sketch che puoi utilizzare su OpenLog, a seconda della tua specifica applicazione.

  • OpenLog – Questo firmware è fornito di default su OpenLog. Inviando il comando ? verrà visualizzata la versione del firmware caricata su un'unità.
  • OpenLog_Light – Questa versione dello sketch rimuove la modalità menu e comando, consentendo di aumentare il buffer di ricezione. Questa è una buona opzione per il logging ad alta velocità.
  • OpenLog_Minimal – La velocità in baud deve essere impostata nel codice e caricata. Questo sketch è consigliato per utenti esperti, ma è anche l'opzione migliore per la massima velocità di registrazione.

Set di comandi

È possibile interfacciarsi con OpenLog tramite un terminale seriale. I seguenti comandi consentono di leggere, scrivere ed eliminare i dati. files, oltre a modificare le impostazioni di OpenLog. È necessario essere in modalità comando per utilizzare le seguenti impostazioni.
Mentre OpenLog è in modalità comando, STAT1 si accenderà/spegnerà per ogni carattere ricevuto. Il LED rimarrà acceso fino alla ricezione del carattere successivo.

File Manipolazione

  • nuovo File – Crea un nuovo file nominato File nella directory corrente. Standard 8.3 filesono supportati i nomi.
    Per esempioampad esempio, “87654321.123” è accettabile, mentre “987654321.123” non lo è.
    • Esample: nuovo file1.txt
  • aggiungere File – Aggiungi testo alla fine di FileI dati seriali vengono quindi letti dall'UART in un flusso e aggiunti al fileNon viene riprodotto sul terminale seriale. Se File non esiste quando questa funzione viene chiamata, il file verrà creato.
    • Esample: aggiungi nuovofile.csv
  • scrivere File OFFSET – Scrivi il testo su File dalla posizione OFFSET all'interno del fileIl testo viene letto dall'UART riga per riga e ritrasmesso. Per uscire da questo stato, inviare una riga vuota.
    • Esample: scrivi logs.txt 516
  • rm File – Elimina File dalla directory corrente. Sono supportati i caratteri jolly.
    • Esample: rm README.txt
  • misurare File – Dimensioni di output di File in byte.
    • Esample: dimensione Log112.csv
    • Uscita: 11
  • Leggere File + START+ LENGTH TYPE – Visualizza il contenuto di File partendo dall'INIZIO e arrivando alla LUNGHEZZA.
    Se START viene omesso, l'intero file viene riportato. Se LENGTH viene omesso, viene riportato l'intero contenuto dal punto di partenza. Se TYPE viene omesso, OpenLog utilizzerà per impostazione predefinita il formato ASCII. Sono disponibili tre tipi di output:
    • ASCII = 1
    • ESADECIMALE = 2
    • GREZZO = 3
    Puoi omettere alcuni argomenti finali. Controlla il seguente esempioampmeno.
    Lettura di base + flag omessi:
    • Esample: leggi LOG00004.txt
    • Uscita: Accelerometro X=12 Y=215 Z=317
    Leggere dall'inizio 0 con lunghezza 5:
    • Esample: leggi LOG00004.txt 0 5
    • Uscita: Accel
    Leggere dalla posizione 1 con una lunghezza di 5 in HEX:
    • Esample: leggi LOG00004.txt 1 5 2
    • Uscita: 63 63 65 6C
  • Leggere dalla posizione 0 con una lunghezza di 50 in RAW:
  • • Esample: leggi LOG00137.txt 0 50 3
  • • Output: André– -þ Test del carattere esteso
  • gatto File – Scrivere il contenuto di un file in esadecimale al monitor seriale per viewing. A volte è utile vedere che un file registra correttamente senza dover estrarre la scheda SD e view IL file su un computer.
    • Esample: cat LOG00004.txt
    • Uscita: 00000000: 41 63 65 6c 3a 20 31

Manipolazione delle directory

  • ls – Elenca tutto il contenuto della directory corrente. Sono supportati i caratteri jolly.
    • Esample: ls
    • Uscita: \src
  • md Sottodirectory – Crea una sottodirectory nella directory corrente.
    • Esample: md Exampgli_schizzi
  • cd Sottodirectory – Passa alla sottodirectory.
    • Esample: cd Ciao_Mondo
  • cd .. – Passa a una directory inferiore nell'albero. Nota che c'è uno spazio tra 'cd' e '..'. Questo permette al parser di stringhe di vedere il comando cd.
    • Esample: cd ..
  • rm Sottodirectory – Elimina la sottodirectory. La directory deve essere vuota affinché questo comando funzioni.
    • Esample: temperature medie
  • rm -rf Directory – Elimina la directory e qualsiasi fileè contenuto al suo interno.
    • Esample: rm -rf Librerie

Comandi di funzione di basso livello

  • ? – Questo comando visualizzerà un elenco dei comandi disponibili su OpenLog.
  • disco – Mostra l'ID del produttore della scheda, il numero di serie, la data di fabbricazione e la dimensione della scheda. Esempioampl'output è:
    Tipo di carta: SD2
    ID produttore: 3
    ID OEM: SD
    Prodotto: SU01G
    Versione: 8.0
    Numero di serie: 39723042
    Data di produzione: 1/2010
    Dimensione della scheda: 965120 KB
  • init – Reinizializza il sistema e riapre la scheda SD. Questo è utile se la scheda SD smette di rispondere.
  • sync – Sincronizza il contenuto corrente del buffer con la scheda SD. Questo comando è utile se il buffer contiene meno di 512 caratteri e si desidera registrarli sulla scheda SD.
  • reset – Porta OpenLog alla posizione zero, riesegue il bootloader e quindi il codice di inizializzazione. Questo comando è utile se è necessario modificare la configurazione. file, reimpostare OpenLog e iniziare a utilizzare la nuova configurazione. Spegnere e riaccendere la scheda è ancora il metodo preferito per resettarla, ma questa opzione è disponibile.

Impostazioni di sistema

Queste impostazioni possono essere aggiornate manualmente o modificate nel file config.txt file.

  • echo STATE – Modifica lo stato dell'eco di sistema e viene memorizzato nella memoria di sistema. STATE può essere acceso o spento. Quando è acceso, OpenLog eseguirà l'eco dei dati seriali ricevuti sul prompt dei comandi. Quando è spento, il sistema non rilegge i caratteri ricevuti.
    Nota: Durante la registrazione normale, l'eco verrà disattivato. Le risorse di sistema richieste per l'eco dei dati ricevuti sono troppo elevate durante la registrazione.
  • verbose STATE – Modifica lo stato della segnalazione di errori dettagliati. STATE può essere on o off. Questo comando viene memorizzato in memoria. Disattivando gli errori dettagliati, OpenLog risponderà solo con un ! in caso di errore anziché con un comando sconosciuto: COMANDO. Il carattere ! è più facile da analizzare per i sistemi embedded rispetto all'errore completo. Se si utilizza un terminale, lasciando verbose attivo sarà possibile visualizzare i messaggi di errore completi.
  • baud – Questo comando aprirà un menu di sistema che permetterà all'utente di inserire una velocità di trasmissione (baud rate). È supportata qualsiasi velocità di trasmissione compresa tra 300 bps e 1 Mbps. La selezione della velocità di trasmissione è immediata e OpenLog richiede un ciclo di accensione e spegnimento affinché le impostazioni abbiano effetto. La velocità di trasmissione viene memorizzata nella EEPROM e caricata a ogni accensione di OpenLog. Il valore predefinito è 9600 8N1.

Ricorda: se la scheda rimane bloccata a una velocità di trasmissione sconosciuta, puoi collegare RX a GND e accendere OpenLog. I LED lampeggeranno avanti e indietro per 2 secondi e poi lampeggeranno all'unisono. Spegni OpenLog e rimuovi il jumper. OpenLog viene ora ripristinato a 9600 bps con un carattere di escape `CTRL-Z` premuto tre volte consecutive. Questa funzione può essere ignorata impostando il bit di Emergency Override a 1.
Per maggiori informazioni, vedere config.txt.

  • set – Questo comando apre un menu di sistema per selezionare la modalità di avvio. Queste impostazioni verranno eseguite al
    • alla successiva accensione e vengono memorizzati nella EEPROM non volatile. Nuovo File Registrazione – Questa modalità crea un nuovo file Ogni volta che OpenLog si accende, trasmetterà 1 (UART attivo), 2 (scheda SD inizializzata), quindi < (OpenLog pronto a ricevere dati). Tutti i dati verranno registrati in un file LOG#####.txt. Il numero ##### aumenta a ogni accensione di OpenLog (il massimo è 65533 log). Il numero è memorizzato nella EEPROM e può essere azzerato dal menu di configurazione.
    Non tutti i caratteri ricevuti vengono riprodotti. È possibile uscire da questa modalità e accedere alla modalità comando premendo CTRL+z (ASCII 26). Tutti i dati memorizzati nel buffer verranno memorizzati.

Nota: Se sono stati creati troppi log, OpenLog restituirà l'errore **Troppi log**, uscirà da questa modalità e tornerà al Prompt dei comandi. L'output seriale sarà simile a `12!Troppi log!`.

  • Aggiungere File Registrazione – Nota anche come modalità sequenziale, questa modalità crea un file chiamato SEQLOG.txt se non è già presente e aggiunge tutti i dati ricevuti al fileOpenLog trasmetterà 12<, momento in cui sarà pronto a ricevere dati. I caratteri non vengono riprodotti. È possibile uscire da questa modalità ed entrare in modalità comando inviando CTRL+z (ASCII 26). Tutti i dati bufferizzati verranno memorizzati.
  • Prompt dei comandi: OpenLog trasmetterà 12>, momento in cui il sistema sarà pronto a ricevere comandi. Si noti che il simbolo > indica che OpenLog è pronto a ricevere comandi, non dati. È possibile creare files e aggiungere dati a files, ma ciò richiede un'analisi seriale (per il controllo degli errori), quindi non impostiamo questa modalità per impostazione predefinita.
  • Reimposta nuovo File Numero – Questa modalità reimposterà il registro file numero in LOG000.txt. Questo è utile se hai recentemente svuotato una scheda microSD e desideri il registro file numeri per ricominciare da capo.
  • Nuovo carattere di escape: questa opzione consente all'utente di inserire un carattere come CTRL+z o $ e di impostarlo come nuovo carattere di escape. Questa impostazione viene reimpostata su CTRL+z durante un ripristino di emergenza.
  • Numero di caratteri di escape: questa opzione consente all'utente di immettere un carattere (ad esempio 1, 3 o 17), aggiornando il nuovo numero di caratteri di escape necessari per passare alla modalità comando. Ad esempioampSe si immette il valore 8, l'utente dovrà premere CTRL+z otto volte per accedere alla modalità comando. Questa impostazione viene reimpostata a 3 durante un ripristino di emergenza.

Spiegazione dei caratteri di escape: il motivo per cui OpenLog richiede la pressione di `CTRL+z` 3 volte per entrare in modalità comando è per evitare che la scheda venga resettata accidentalmente durante il caricamento di nuovo codice dall'IDE Arduino. C'è la possibilità che la scheda veda il carattere `CTRL+z` durante il bootloader (un problema che abbiamo riscontrato nelle prime versioni del firmware OpenLog), quindi questo mira a evitarlo. Se sospetti che la tua scheda sia stata bloccata per questo motivo, puoi sempre eseguire un reset di emergenza tenendo il pin RX a massa durante l'accensione.

Configurazione File

Se preferisci non utilizzare il terminale seriale per modificare le impostazioni su OpenLog, puoi anche aggiornare le impostazioni modificando il file CONFIG.TXT file.
Nota: Questa funzione è disponibile solo con firmware versione 1.6 o successive. Se hai acquistato un OpenLog dopo il 2012, utilizzerai il firmware versione 1.6 o successiva.
Per farlo, avrai bisogno di un lettore di schede microSD e di un editor di testo. Apri il file config.txt. file (la capitalizzazione del file il nome non importa) e configuralo subito! Se non hai mai acceso OpenLog con la scheda SD prima, puoi anche creare manualmente il file fileSe hai acceso OpenLog con la scheda microSD inserita in precedenza, dovresti vedere qualcosa di simile a quanto segue quando leggi la scheda microSD.DEV-13712 Schede di sviluppo SparkFun - editor di testoOpenLog crea un file config.txt e LOG0000.txt file alla prima accensione.
La configurazione predefinita file ha una riga di impostazioni e una riga di definizioni.DEV-13712 Schede di sviluppo SparkFun - editor di testo 1Configurazione predefinita file scritto da OpenLog.
Si noti che questi sono caratteri visibili regolari (non ci sono valori non visibili o binari) e ogni valore è separato da una virgola.
Le impostazioni sono definite come segue:

  • baud: la velocità di comunicazione in baud. Il valore predefinito è 9600 bps. I valori accettabili e compatibili con l'IDE Arduino sono 2400, 4800, 9600, 19200, 38400, 57600 e 115200. È possibile utilizzare altre velocità di trasmissione, ma non sarà possibile comunicare con OpenLog tramite il monitor seriale dell'IDE Arduino.
  • escape: valore ASCII (in formato decimale) del carattere di escape. 26 è CTRL+z ed è il valore predefinito. 36 è $ ed è un carattere di escape comunemente utilizzato.
  • esc#: Numero di caratteri di escape richiesti. Per impostazione predefinita, è tre, quindi è necessario premere il carattere di escape tre volte per passare alla modalità comando. I valori accettabili sono compresi tra 0 e 254. Impostando questo valore su 0, il controllo dei caratteri di escape verrà completamente disabilitato.
  • modalità: modalità di sistema. OpenLog si avvia in modalità Nuovo registro (0) per impostazione predefinita. I valori accettabili sono 0 = Nuovo registro, 1 = Registro sequenziale, 2 = Modalità comando.
  • verb : Modalità dettagliata. I messaggi di errore estesi (dettagliati) sono attivati ​​per impostazione predefinita. Impostando questo parametro a 1 si attivano i messaggi di errore dettagliati (ad esempio, comando sconosciuto: rimuovi !). Impostando questo parametro a 0 si disattivano gli errori dettagliati, ma in caso di errore verrà visualizzato un !. Disattivare la modalità dettagliata è utile se si sta cercando di gestire gli errori provenienti da un sistema embedded.
  • echo: Modalità eco. In modalità comando, i caratteri vengono riprodotti per impostazione predefinita. Impostando questo valore su 0, si disattiva l'eco dei caratteri. Disattivare questa opzione è utile se si gestiscono errori e non si desidera che i comandi inviati vengano riprodotti in OpenLog.
  • ignoreRX: Override di emergenza. Normalmente, OpenLog esegue un reset di emergenza quando il pin RX viene portato a livello basso durante l'accensione. Impostando questo valore a 1, il controllo del pin RX viene disabilitato durante l'accensione. Questo può essere utile per i sistemi che mantengono la linea RX a livello basso per vari motivi. Se l'override di emergenza è disabilitato, non sarà possibile forzare il ritorno dell'unità a 9600 bps e la configurazione file sarà l'unico modo per modificare la velocità in baud.

Come OpenLog modifica la configurazione File
Esistono cinque diverse situazioni in cui OpenLog può modificare il file config.txt file.

  • Configurazione file trovato: Durante l'accensione, OpenLog cercherà un file config.txt fileSe il file viene trovato, OpenLog utilizzerà le impostazioni incluse e sovrascriverà tutte le impostazioni di sistema memorizzate in precedenza.
  • Nessuna configurazione file trovato: se OpenLog non riesce a trovare il file config.txt file OpenLog creerà quindi un file config.txt e registrerà le impostazioni di sistema attualmente memorizzate. Ciò significa che se si inserisce una scheda microSD appena formattata, il sistema manterrà le impostazioni correnti.
  • Configurazione corrotta file trovato: OpenLog cancellerà il file config.txt corrotto filee riscriverà sia le impostazioni EEPROM interne che le impostazioni config.txt file allo stato buono noto di 9600,26,3,0,1,1,0 .
  • Valori illegali nella configurazione file: Se OpenLog rileva impostazioni contenenti valori illegali, OpenLog sovrascriverà i valori corrotti in config.txt file con le impostazioni di sistema EEPROM attualmente memorizzate.
  • Modifiche tramite prompt dei comandi: se le impostazioni di sistema vengono modificate tramite prompt dei comandi (tramite una connessione seriale o tramite comandi seriali del microcontrollore), tali modifiche verranno registrate sia nella EEPROM di sistema che nel file config.txt file.
  • Ripristino di emergenza: se OpenLog viene spento e riacceso con un ponticello tra RX e GND e il bit di override di emergenza è impostato su 0 (consentendo il ripristino di emergenza), OpenLog riscriverà sia le impostazioni EEPROM interne che le impostazioni config.txt file allo stato buono noto di 9600,26,3,0,1,1,0 .

Risoluzione dei problemi

Esistono diverse opzioni per verificare se si verificano problemi di connessione tramite monitor seriale, problemi con caratteri persi nei log o se si sta combattendo contro un OpenLog bloccato.
Controllare il comportamento del LED STAT1
Il LED STAT1 mostra un comportamento diverso per due diversi errori comuni.

  • 3 lampeggi: la scheda microSD non è riuscita a inizializzarsi. Potrebbe essere necessario formattarla con FAT/FAT16 su un computer.
  • 5 lampeggiamenti: OpenLog ha modificato la velocità in baud e deve essere spento e riacceso.

Controlla due volte la struttura delle sottodirectory
Se si utilizza l'esempio OpenLog.ino predefinitoample, OpenLog supporterà solo due sottodirectory. Dovrai modificare FOLDER_TRACK_DEPTH da 2 al numero di sottodirectory che desideri supportare. Una volta fatto questo, ricompila il codice e carica il firmware modificato.
Verificare il numero di Files nella directory radice
OpenLog supporterà solo fino a 65,534 log files nella directory principale. Consigliamo di riformattare la scheda microSD per migliorare la velocità di registrazione.
Verifica le dimensioni del tuo firmware modificato
Se si sta scrivendo uno sketch personalizzato per OpenLog, verificare che non sia più grande di 32,256 byte. In tal caso, taglierà i 500 byte superiori della memoria Flash, utilizzati dal bootloader seriale Optiboot.
Doppio controllo File Nomi
Tutto file I nomi devono essere alfanumerici. MyLOG1.txt va bene, ma Hi !e _.txt potrebbe non funzionare.
Utilizzare 9600 Baud
OpenLog funziona con l'ATmega328 e ha una quantità di RAM limitata (2048 byte). Quando si inviano caratteri seriali a OpenLog, questi vengono bufferizzati. La specifica semplificata del gruppo SD consente a una scheda SD di impiegare fino a 250 ms (sezione 4.6.2.2 Scrittura) per registrare un blocco di dati nella memoria flash.
A 9600 bps, si tratta di 960 byte (10 bit per byte) al secondo. Ovvero 1.04 ms per byte. OpenLog attualmente utilizza un buffer di ricezione da 512 byte, in modo da poter memorizzare circa 50 ms di caratteri. Questo consente a OpenLog di ricevere correttamente tutti i caratteri in arrivo a 9600 bps. Aumentando la velocità in baud, il buffer durerà meno.
Tempo di sovraccarico del buffer OpenLog

Velocità in baud Tempo per byte  Tempo fino al superamento del buffer
9600 bps 1.04 millisecondo 532 millisecondo
57600 bps 0.174 millisecondo 88 millisecondo
115200 bps 0.087 millisecondo 44 millisecondo

Molte schede SD hanno un tempo di registrazione inferiore a 250 ms. Questo può essere influenzato dalla "classe" della scheda e dalla quantità di dati già memorizzati sulla scheda. La soluzione è utilizzare una velocità di trasmissione inferiore o aumentare l'intervallo di tempo tra i caratteri inviati alla velocità di trasmissione più elevata.
Formatta la tua scheda MicroSD
Ricordati di usare una carta con poche o nessuna files su di esso. Una scheda microSD con 3.1 GB di ZIP fileI file MP3 hanno un tempo di risposta più lento rispetto a una scheda vuota.
Se non hai formattato la scheda microSD su un sistema operativo Windows, riformatta la scheda microSD e crea un DOS filesistema sulla scheda SD.
Sostituisci le schede MicroSD
Esistono molti tipi diversi di schede, schede rietichettate, dimensioni e classi di schede, e potrebbero non funzionare tutte correttamente. In genere utilizziamo una scheda microSD di classe 8 da 4 GB, che funziona bene a 9600 bps. Se hai bisogno di velocità di trasmissione più elevate o di maggiore spazio di archiviazione, potresti provare schede di classe 6 o superiore.
Aggiungere ritardi tra le scritture dei caratteri
Aggiungendo un piccolo ritardo tra le istruzioni Serial.print(), puoi dare a OpenLog la possibilità di registrare il suo valore corrente
respingente.
Per esempioampon:
Inizio seriale(115200);
per(int i = 1 ; i < 10 ; i++) {
Serial.print(i, DEC);
Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”);
}

Potrebbe non registrare correttamente, poiché molti caratteri vengono inviati uno accanto all'altro. L'inserimento di un piccolo ritardo di 15 ms tra le scritture di caratteri di grandi dimensioni aiuterà OpenLog a registrare senza perdere caratteri.
Inizio seriale(115200);
per(int i = 1 ; i < 10 ; i++) {
Serial.print(i, DEC);
Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”);
ritardo(15);
}

Aggiungi compatibilità con il monitor seriale Arduino
Se si tenta di utilizzare OpenLog con la libreria seriale integrata o la libreria SoftwareSerial, si potrebbero riscontrare problemi con la modalità comando. Serial.println() invia sia un carattere di nuova riga che un ritorno a capo. Esistono due comandi alternativi per risolvere questo problema.
Il primo metodo consiste nell'utilizzare il comando \r (ritorno a capo ASCII):
Serial.print("TESTO\r");
In alternativa, è possibile inviare il valore 13 (ritorno a capo decimale):
Serial.print(“TESTO”);
Serial.write(13);

Ripristino di emergenza
Ricorda che se devi ripristinare l'OpenLog a uno stato predefinito, puoi ripristinare la scheda collegando il pin RX a GND, accendendo l'OpenLog, attendendo che i LED inizino a lampeggiare all'unisono, quindi spegnendo l'OpenLog e rimuovendo il ponticello.
Se hai modificato il bit di Emergency Override su 1, dovrai modificare la configurazione file, poiché il ripristino di emergenza non funzionerà.
Verificare con la comunità
Se riscontri ancora problemi con OpenLog, dai un'occhiata ai problemi aperti e chiusi sul nostro repository GitHub qui. Esiste una vasta community che lavora con OpenLog, quindi è probabile che qualcuno abbia trovato una soluzione al problema che stai riscontrando.

Risorse e approfondimenti

Ora che hai registrato correttamente i dati con OpenLog, puoi impostare progetti remoti e monitorare tutti i possibili dati in arrivo. Prendi in considerazione la possibilità di creare il tuo progetto di Citizen Science, o persino un localizzatore per animali domestici per vedere cosa fa Fluffy quando è in giro!
Dai un'occhiata a queste risorse aggiuntive per la risoluzione dei problemi, per ricevere assistenza o trovare ispirazione per il tuo prossimo progetto.

  • OpenLog GitHub
  • Progetto Illumitune
  • Collegamento del sensore di luce LilyPad
  • BadgerHack: componente aggiuntivo per il sensore del terreno
  • Introduzione all'OBD-II
  • Vernier Photogate

Hai bisogno di ulteriore ispirazione? Dai un'occhiata ad alcuni di questi tutorial correlati:
Sensore remoto di livello dell'acqua Photon
Scopri come costruire un sensore remoto del livello dell'acqua per un serbatoio di stoccaggio dell'acqua e come automatizzare una pompa in base alle letture!
Sensore remoto di livello dell'acqua Photon
Scopri come costruire un sensore remoto del livello dell'acqua per un serbatoio di stoccaggio dell'acqua e come automatizzare una pompa in base alle letture!
Registrazione dei dati su Fogli Google con Tessel 2
Questo progetto spiega come registrare i dati su Google Sheets in due modi: utilizzando IFTTT con un web connessione o una chiavetta USB e “sneakernet” senza.
Rappresenta graficamente i dati dei sensori con Python e Matplotlib
Utilizzare matplotlib per creare un grafico in tempo reale dei dati di temperatura raccolti da un sensore TMP102 collegato a un Raspberry Pi.
Se hai feedback sul tutorial, visita i commenti o contatta il nostro team di supporto tecnico all'indirizzo TechSupport@sparkfun.com.

Logo di SparkFun

Documenti / Risorse

SparkFun DEV-13712 Schede di sviluppo SparkFun [pdf] Guida utente
DEV-13712, DEV-11114, DEV-09873, CAB-12016, COM-13833, COM-13004, PRT-00115, PRT-08431, DEV-13712 Schede di sviluppo SparkFun, DEV-13712, Schede di sviluppo SparkFun, Schede di sviluppo, Schede

Riferimenti

Lascia un commento

Il tuo indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *