SparkFun DEV-13712 Particle Photon con fori per saldatura
Specifiche
- Nome prodotto: OpenLog Data Logger
- Modello: DEV-13712
- Ingresso alimentazione: 3.3 V-12 V (consigliato 3.3 V-5 V)
- Volume di ingresso RXItage: 2.0 V-3.8 V
- Volume di uscita TXOtage: 3.3 V
- Assorbimento di corrente a riposo: ~2mA-5mA (senza scheda microSD), ~5mA-6mA (con scheda microSD)
- Assorbimento di corrente in scrittura attiva: ~20-23 mA (con scheda microSD)
Istruzioni per l'uso del prodotto
Materiali richiesti:
- Arduino Pro Mini 328 – 3.3 V/8 MHz
- Breakout di base FTDI SparkFun – 3.3 V
- Cavo USB SparkFun Cerberus – 6 piedi
- Scheda microSD con adattatore – 16 GB (classe 10)
- Lettore microSD USB
- Intestazioni femminili
- Cavi Jumper Premium 6 M/M Confezione da 10
- Intestazioni maschili Break Away – Angolo retto
Letture consigliate:
- Come saldare: saldatura passante
- Nozioni di base sulla comunicazione seriale
- Interfaccia periferica seriale (SPI)
- Nozioni di base sul terminale seriale
Hardware finitoview:
OpenLog funziona con le seguenti impostazioni:
Ingresso VCC | Ingresso RXI | Uscita TXO | Assorbimento di corrente inattivo | Assorbimento di corrente in scrittura attiva |
---|---|---|---|---|
3.3 V-12 V (consigliato 3.3 V-5 V) | 2.0V-3.8V | 3.3V | ~2mA-5mA (senza scheda microSD), ~5mA-6mA (con scheda microSD) | ~20-23mA (con scheda microSD) |
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.
SparkFun OpenLog
DEV-13712
SparkFun 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 di SparkFun
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 a foro passante. Questo tutorial spiega tutto ciò che devi sapere sulla saldatura a foro passante.
- Comunicazione seriale Concetti di comunicazione seriale asincrona: pacchetti, livelli di segnale, velocità in baud, UART e molto altro!
- Interfaccia periferica seriale (SPI) SPI è comunemente utilizzato per collegare i microcontrollori a periferiche come sensori, registri a scorrimento e schede SD.
- 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
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 consente a OpenLog di essere compatibile con
Impostazioni della scheda “Arduino Uno” nell’IDE Arduino.
Interfaccia
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.
Avvertimento! A causa dell'ordinamento dei pin che lo rende compatibile con gli Arduino, non può essere collegato direttamente a una scheda breakout FTDI.
Per 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.
L'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
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.
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 la connessione.
Questa connessione hardware è progettata per l'interfacciamento con un OpenLog nel caso in cui sia necessario riprogrammare la scheda o registrare i 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:
Una volta stabilite le connessioni tra OpenLog e FTDI Basic, collegate la scheda FTDI a un cavo USB e al computer. Aprite un terminale seriale, collegatelo alla porta COM del vostro 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.
Sebbene 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.
- Una volta programmato il Pro Mini, puoi rimuovere la scheda FTDI e sostituirla con l'OpenLog. Assicurati di collegare i pin etichettati BLK sia sul Pro Mini che sull'OpenLog (anche i pin etichettati GRN su entrambi i dispositivi corrisponderanno se collegati 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 dovrebbero apparire come segue con Arduino Pro Mini e Arduino Pro. Il diagramma di Fritzing mostra gli OpenLog con gli header speculari. Se si capovolge il socket microSD rispetto alla parte superiore di Arduino viewdovrebbero corrispondere all'intestazione di programmazione come un FTDI.
Si noti che la connessione avviene in modo diretto 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 gli 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 la 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 di librerie richiesto.
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 congiunto di queste due librerie modificate consente di aumentare le prestazioni di OpenLog.
Cerchi le ultime versioni?
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.hh file Si trova 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 un 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à mostrata 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.
- Nuovo File – Crea un nuovo file nominato File nella directory corrente. Standard 8.3 filesono supportati i nomi. Ad esempioampad esempio, “87654321.123” è accettabile, mentre “987654321.123” non lo è.
- Example: nuovo file1.txt
- Aggiungere File – Aggiungere il testo alla fine del FileI dati seriali vengono quindi letti dall'UART in un flusso e aggiunti al fileNon viene riprodotto sul terminale seriale. Se il File non esiste quando questa funzione viene chiamata, il file verrà creato.
- Example: aggiungi nuovofile.csv
- Scrivere File OFFSET – Scrivi il testo sul 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.
- Example: scrivi logs.txt 516
- rm File – Elimina il File dalla directory corrente. Sono supportati i caratteri jolly.
- Example: rm README.txt
- misurare File – Dimensioni di output di File in byte.
- Example: dimensione Log112.csv
- Uscita: 11
- Leggere File + START+ LENGTH TYPE – Visualizza il contenuto di File partendo da START e proseguendo per LENGTH. 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:
- Example: leggi LOG00004.txt
- Uscita: Accelerometro X=12 Y=215 Z=317
- Leggi dall'inizio 0 con una lunghezza di 5:
- Example: leggi LOG00004.txt 0 5
- Uscita: Accel
- Leggere dalla posizione 1 con una lunghezza di 5 in HEX:
- Example: leggi LOG00004.txt 1 5 2
- Uscita: 63 63 65 6C
- Leggere dalla posizione 0 con una lunghezza di 50 in RAW:
- Example: 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.
- Example: 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.
- Example: ls
- Risultato: \src
- md Sottodirectory – Crea una sottodirectory nella directory corrente.
- Example: md Exampgli_schizzi
- cd Sottodirectory – Passa alla sottodirectory.
- Example: 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.
- Example: cd ..
- rm Sottodirectory – Elimina la sottodirectory. La directory deve essere vuota affinché questo comando funzioni.
- Example: temperature medie
- rm -rf Directory – Elimina la directory e qualsiasi fileè contenuto al suo interno.
- Example: 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 scheda: 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.
- Sincronizza – 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 o modificate manualmente nel file config.txt file.
- Echo STATE – Modifica lo stato del sistema e viene memorizzato nella memoria di sistema. STATE può essere attivo o disattivo. Quando è attivo, OpenLog visualizza i dati seriali ricevuti sul prompt dei comandi. Quando è disattivo, 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.
- Stato dettagliato: modifica lo stato della segnalazione degli errori dettagliati. Lo stato può essere attivato o disattivato. Questo comando viene memorizzato in memoria. Disattivando gli errori dettagliati, OpenLog risponderà solo con un punto e virgola (!) in caso di errore, anziché con un comando sconosciuto: COMANDO.D..I caratteri sono più facili da analizzare per i sistemi embedded rispetto all'errore completo. Se si utilizza un terminale, lasciando attivo il messaggio dettagliato 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.
Ricordare: Se la scheda rimane bloccata a una velocità di trasmissione sconosciuta, è possibile collegare RX a GND e accendere OpenLog. I LED lampeggeranno avanti e indietro per 2 secondi e poi lampeggeranno all'unisono. Spegnere OpenLog e rimuovere 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. Consultare il file config.txt per maggiori informazioni.
- Imposta – Questo comando apre un menu di sistema per selezionare la modalità di avvio. Queste impostazioni verranno applicate alla successiva accensione e sono memorizzate 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 ogni volta che OpenLog si accende (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à ed entrare in modalità comando inviando CTRL+z (ASCII 26). Tutti i dati bufferizzati 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 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 superiore.
- 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.
OpenLog 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.
La configurazione predefinita file è stato 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.
- Escap:e 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à 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.
- Verbo: 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.
- Eco: Modalità eco. In modalità comando, i caratteri vengono riprodotti per impostazione predefinita. Impostando questo valore su 0, l'eco dei caratteri viene disattivato. Disattivarlo è utile per gestire gli errori e non si desidera che i comandi inviati vengano riprodotti in OpenLog.II.
- iignoreRXEmergency Override. Normalmente, OpenLog esegue un reset di emergenza quando il pin RX viene portato a livello basso durante l'accensione. Impostando questo valore su 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'Emergency Override è 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 _ .txtt 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.
Ricordati di usare una carta con poche o nessuna files su di esso. Una scheda microSD con 3.1 GB di ZIP fileI file s o 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, riformattala e crea un'istanza DOS. filesistema sulla scheda SD.
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.
Aggiungendo un piccolo ritardo tra le istruzioni Serial.print(), puoi dare a OpenLog la possibilità di registrare il suo buffer corrente.
- 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! - Guida al progetto Blynk Board
Una serie di progetti Blynk che puoi impostare sulla Blynk Board senza mai riprogrammarla. - 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.
Domande frequenti
Qual è la potenza in ingresso consigliata per OpenLog?
La potenza in ingresso consigliata per OpenLog è compresa tra 3.3 V e 5 V.
Quanta corrente assorbe l'OpenLog quando è inattivo?
L'OpenLog assorbe circa 2-5 mA quando è inattivo senza una scheda microSD e circa 5-6 mA quando è inserita una scheda microSD.
Qual è lo scopo della microSD USB Reaaboutn per OpenLog?
Il lettore microSD USB consente di trasferire facilmente i dati dalla scheda microSD utilizzata con OpenLog a un computer.
Documenti / Risorse
![]() |
SparkFun DEV-13712 Particle Photon con fori per saldatura [pdf] Guida utente DEV-13712, DEV-13955, DEV-13712 Fotone di particelle con fori per saldatura, DEV-13712, Fotone di particelle con fori per saldatura, Fori per saldatura, Per saldatura, Saldatura |