SparkFun DEV-13712 Fotó de partícules amb forats per soldar
Especificacions
- Nom del producte: Registrador de dades OpenLog
- Model: DEV-13712
- Entrada d'alimentació: 3.3 V-12 V (es recomana 3.3 V-5 V)
- Volum d'entrada RXItage: 2.0V-3.8V
- Volum de sortida TXOtage: 3.3V
- Consum de corrent en repòs: ~2mA-5mA (sense targeta microSD), ~5mA-6mA (amb targeta microSD)
- Consum de corrent d'escriptura activa: ~20-23mA (amb targeta microSD)
Instruccions d'ús del producte
Materials necessaris:
- Arduino Pro Mini 328 – 3.3 V/8 MHz
- Circuit de distribució bàsic SparkFun FTDI – 3.3V
- Cable USB SparkFun Cerberus – 6 m
- Targeta microSD amb adaptador: 16 GB (classe 10)
- Lector USB microSD
- Capçaleres femenines
- Cables de connexió Premium 6 M/M, paquet de 10
- Capçaleres masculines separables – Angle recte
Lectura recomanada:
- Com soldar: soldadura per forats
- Conceptes bàsics de la comunicació en sèrie
- Interfície perifèrica sèrie (SPI)
- Conceptes bàsics del terminal sèrie
S'ha acabat el maquinariview:
L'OpenLog s'executa amb la configuració següent:
Entrada VCC | Entrada RXI | Sortida TXO | Consum de corrent inactiu | Consum actual d'escriptura activa |
---|---|---|---|---|
3.3 V-12 V (recomanat 3.3 V-5 V) | 2.0V-3.8V | 3.3 V | ~2mA-5mA (sense targeta microSD), ~5mA-6mA (amb targeta microSD) | ~20-23mA (amb targeta microSD) |
Introducció
Atenció! Aquest tutorial és per a l'Open Log per a UART sèrie [DEV-13712]. Si feu servir l'OpenLog de Qwiic per a IC [DEV-15164], consulteu la Guia de connexió de l'OpenLog de Qwiic.
L'enregistrador de dades OpenLog és una solució de codi obert i fàcil d'utilitzar per registrar dades en sèrie dels vostres projectes. L'OpenLog proporciona una interfície en sèrie senzilla per registrar dades d'un projecte a una targeta microSD.
SparkFun OpenLog
DEV-13712
SparkFun OpenLog amb capçaleres
DEV-13955
No s'ha trobat cap producte
Materials necessaris
Per poder seguir completament aquest tutorial, necessitareu les parts següents. Tot i això, és possible que no ho necessiteu tot, depenent del que tingueu. Afegiu-ho al carretó, llegiu la guia i ajusteu el carretó segons calgui.
Guia de connexió OpenLog
Llista de desitjos de SparkFun
Lectura recomanada
Si no esteu familiaritzats o no us sentiu còmodes amb els conceptes següents, us recomanem que els llegiu abans de continuar amb la Guia de connexions d'OpenLog.
- Com soldar: Soldadura per forats. Aquest tutorial cobreix tot el que cal saber sobre la soldadura per forats.
- Comunicació en sèrie Conceptes de comunicació sèrie asíncrona: paquets, nivells de senyal, velocitats de transmissió, UART i més!
- Interfície perifèrica sèrie (SPI) L'SPI s'utilitza habitualment per connectar microcontroladors a perifèrics com ara sensors, registres de desplaçament i targetes SD.
- Conceptes bàsics del terminal sèrie Aquest tutorial us mostrarà com comunicar-vos amb els vostres dispositius sèrie mitjançant diverses aplicacions d'emulador de terminal.
S'ha acabat el maquinariview
Poder
L'OpenLog s'executa amb la configuració següent:
Classificacions de potència d'OpenLog
El consum de corrent de l'OpenLog és d'uns 20 mA a 23 mA quan s'escriu a una microSD. Depenent de la mida de la targeta microSD i del seu fabricant, el consum de corrent actiu pot variar quan l'OpenLog escriu a la targeta de memòria. Augmentar la velocitat de transmissió en bauds també consumirà més corrent.
Microcontrolador
L'OpenLog funciona amb un ATmega328 integrat, que funciona a 16 MHz, gràcies al cristall integrat. L'ATmega328 té carregat el carregador d'arrencada Optiboot, que permet que l'OpenLog sigui compatible amb
Configuració de la placa "Arduino Uno" a l'IDE d'Arduino.
Interfície
UART sèrie
La interfície principal amb l'OpenLog és la capçalera FTDI a la vora de la placa. Aquesta capçalera està dissenyada per connectar-se directament a un Arduino Pro o Pro Mini, cosa que permet al microcontrolador enviar les dades a través d'una connexió sèrie a l'OpenLog.
Avís! A causa de l'ordre dels pins que el fa compatible amb els Arduinos, no es pot connectar directament a una placa de connexió FTDI.
Per obtenir més informació, assegureu-vos de consultar la secció següent sobre la connexió de maquinari.
SPI
També hi ha quatre punts de prova SPI a l'extrem oposat de la placa. Podeu utilitzar-los per reprogramar el carregador d'arrencada de l'ATmega328.
L'últim OpenLog (DEV-13712) utilitza aquests pins en forats més petits i xapats. Si necessiteu utilitzar un proveïdor d'Internet per reprogramar o carregar un nou carregador d'arrencada a l'OpenLog, podeu utilitzar pins pogo per connectar-vos a aquests punts de prova.
- La interfície final per comunicar-se amb l'OpenLog és la mateixa targeta microSD. Per comunicar-se, la targeta microSD requereix pins SPI. No només és aquí on l'OpenLog emmagatzema les dades, sinó que també podeu actualitzar la configuració de l'OpenLog mitjançant el fitxer config.txt. file a la targeta microSD.
targeta microSD
Totes les dades registrades per l'OpenLog s'emmagatzemen a la targeta microSD. L'OpenLog funciona amb targetes microSD que tenen les característiques següents:
- De 64 MB a 32 GB
- FAT16 o FAT32
Hi ha dos LED d'estat a l'OpenLog per ajudar-vos a resoldre problemes.
- STAT1 – Aquest LED indicador blau està connectat a l'Arduino D5 (ATmega328 PD5) i s'activa/desactiva quan es rep un caràcter nou. Aquest LED parpelleja quan la comunicació sèrie funciona.
- STAT2 – Aquest LED verd està connectat a l'Arduino D13 (línia de rellotge sèrie SPI/ATmega328 PB5). Aquest LED només parpelleja quan la interfície SPI està activa. El veureu parpellejar quan l'OpenLog registri 512 bytes a la targeta microSD.
Connexió de maquinari
Hi ha dos mètodes principals per connectar el vostre OpenLog a un circuit. Necessitareu alguns connectors o cables per connectar-los. Assegureu-vos de soldar-los a la placa per a una connexió segura.
Connexió sèrie bàsica
ConsellSi teniu un capçalera femella a l'OpenLog i un capçalera femella a l'FTDI, necessitareu cables de connexió M/F per connectar-los.
Aquesta connexió de maquinari està dissenyada per a la interfície amb un OpenLog si necessiteu reprogramar la placa o registrar dades a través d'una connexió sèrie bàsica.
Feu les connexions següents:
OpenLog → Circuit bàsic FTDI de 3.3 V
- GND → GND
- GND → GND
- VCC → 3.3 V
- TXO → RXI
- RXI → TXO
- DTR → DTR
Tingueu en compte que no és una connexió directa entre l'FTDI i l'OpenLog; heu d'intercanviar les connexions de pins TXO i RXI.
Les vostres connexions haurien de tenir aquest aspecte:
Un cop hàgiu connectat l'OpenLog i l'FTDI Basic, connecteu la placa FTDI a un cable USB i a l'ordinador. Obriu un terminal sèrie, connecteu-lo al port COM de l'FTDI Basic i ja està!
Connexió del maquinari del projecte
Consell: Si teniu els connectors femella soldats a l'OpenLog, podeu soldar connectors mascle a l'Arduino Pro Mini per connectar les plaques sense necessitat de cables.
Tot i que la interfície amb l'OpenLog a través d'una connexió sèrie és important per a la reprogramació o la depuració, el lloc on l'OpenLog destaca és en un projecte integrat. Aquest circuit general és la manera com us recomanem que connecteu el vostre OpenLog a un microcontrolador (en aquest cas, un Arduino Pro Mini) que escriurà dades sèrie a l'OpenLog.
Primer, haureu de pujar el codi al vostre Pro Mini que voleu executar. Consulteu els esbossos d'Arduino per obtenir alguns exemples.ampel codi que podeu utilitzar.
Nota: Si no esteu segur de com programar el vostre Pro Mini, consulteu el nostre tutorial aquí.
Ús de l'Arduino Pro Mini 3.3V
- Aquest tutorial és la teva guia per a tot allò relacionat amb l'Arduino Pro Mini. Explica què és, què no és i com començar a utilitzar-lo.
- Un cop hàgiu programat el vostre Pro Mini, podeu treure la placa FTDI i substituir-la per l'OpenLog. Assegureu-vos de connectar els pins etiquetats amb BLK tant al Pro Mini com a l'OpenLog (els pins etiquetats amb GRN a tots dos també coincidiran si es fa correctament).
- Si no podeu connectar l'OpenLog directament al Pro Mini (a causa de capçaleres no coincidents o altres plaques que s'interposen), podeu utilitzar cables de connexió i fer les connexions següents.
OpenLog → Arduino Pro/Arduino Pro Mini
- GND → GND
- GND → GND
- VCC → VCC
- TXO → RXI
- RXI → TXO
- DTR → DTR
Un cop hàgiu acabat, les connexions haurien de tenir aquest aspecte amb l'Arduino Pro Mini i l'Arduino Pro. El diagrama de Fritzing mostra els OpenLogs amb les capçaleres reflectides. Si gireu el sòcol microSD respecte a la part superior de l'Arduino view, haurien de coincidir amb la capçalera de programació com un FTDI.
Tingueu en compte que la connexió és directa amb l'OpenLog "cap per avall" (amb la microSD cap amunt).
Nota: Com que els ports Vcc i GND entre l'OpenLog i l'Arduino estan ocupats pels headers, haureu de connectar l'alimentació als altres pins disponibles a l'Arduino. En cas contrari, podeu soldar cables als pins d'alimentació exposats de qualsevol de les plaques.
Engegueu el sistema i ja estareu a punt per començar a registrar!
Esbossos d'Arduino
Hi ha sis ex diferentsampels sketchs inclosos que podeu utilitzar a l'Arduino quan esteu connectats a un OpenLog.
- OpenLog_Benchmarking — Aquest example s'utilitza per provar OpenLog. Això envia grans quantitats de dades a 115200 bps a través de múltiples files.
- OpenLog_CommandTest — Aquest example mostra com crear i afegir un file mitjançant el control de línia d'ordres a través de l'Arduino.
- OpenLog_ReadExample — Aquest example explica com controlar l'OpenLog a través de la línia d'ordres.
- OpenLog_ReadExample_LargeFile —Exampexemple de com obrir un emmagatzematge gran file a OpenLog i informar-ne a través d'una connexió Bluetooth local.
- OpenLog_Test_Sketch — S'utilitza per provar OpenLog amb moltes dades en sèrie.
- OpenLog_Test_Sketch_Binary — S'utilitza per provar OpenLog amb dades binàries i caràcters d'escapament.
Firmware
L'OpenLog té dues peces principals de programari integrades: el carregador d'arrencada i el firmware.
Arduino Bootloader
Nota: Si feu servir un OpenLog que es va comprar abans del març del 2012, el carregador d'arrencada integrat és compatible amb la configuració "Arduino Pro o Pro Mini 5V/16MHz amb ATmega328" a l'IDE d'Arduino.
- Com s'ha esmentat anteriorment, l'OpenLog té el carregador d'arrencada sèrie Optiboot integrat. Podeu tractar l'OpenLog com un Arduino Uno quan pugeu ex.ampcodi o nou firmware a la placa.
- Si acabes instal·lant el teu OpenLog en un brik i necessites reinstal·lar el carregador d'arrencada, també voldràs carregar Optiboot a la placa. Si us plau, consulta el nostre tutorial sobre com instal·lar un carregador d'arrencada d'Arduino per obtenir més informació.
Compilació i càrrega de firmware a l'OpenLog
Nota: Si és la primera vegada que fas servir Arduino, si us plau, torna a...view el nostre tutorial sobre com instal·lar l'IDE d'Arduino. Si no heu instal·lat anteriorment una biblioteca d'Arduino, consulteu la nostra guia d'instal·lació per instal·lar manualment les biblioteques.
- Si per qualsevol motiu necessiteu actualitzar o reinstal·lar el firmware del vostre OpenLog, el procés següent farà que la placa funcioni.
- Primer, descarregueu l'IDE d'Arduino v1.6.5. Altres versions de l'IDE poden funcionar per compilar el firmware d'OpenLog, però hem verificat que aquesta és una versió correcta.
- A continuació, descarregueu el firmware de l'OpenLog i el paquet de biblioteques necessari.
DESCARREGA EL PAQUET DE FIRMWARE D'OPENLOG (ZIP)
- Un cop hàgiu descarregat les biblioteques i el firmware, instal·leu-les a Arduino. Si no esteu segur de com instal·lar manualment les biblioteques a l'IDE, consulteu el nostre tutorial: Instal·lació d'una biblioteca d'Arduino: Instal·lació manual d'una biblioteca.
Nota:
- Estem utilitzant versions modificades de les biblioteques SdFat i SerialPort per declarar arbitràriament la mida que han de tenir els buffers TX i RX. L'OpenLog requereix que el buffer TX sigui molt petit (0) i el buffer RX ha de ser tan gran com sigui possible.
- L'ús conjunt d'aquestes dues biblioteques modificades permet un major rendiment de l'OpenLog.
Busques les darreres versions?
Si preferiu les versions més actualitzades de les biblioteques i el firmware, podeu descarregar-los directament des dels repositoris de GitHub enllaçats a continuació. Les biblioteques SdFatLib i Serial Port no són visibles al gestor de plaques Arduino, de manera que haureu d'instal·lar la biblioteca manualment.
- GitHub: OpenLog > Firmware > OpenLog_Firmware
- Biblioteques d'Arduino de Bill Greiman
- SdFatLib-beta
- Port sèrie
- A continuació, per aprofitartage de les biblioteques modificades, modifiqueu el fitxer SerialPort.hh file es troba al directori \Arduino\Libraries\SerialPort. Canvieu BUFFERED_TX a 0 i ENABLE_RX_ERROR_CHECKING a 0. Deseu el filei obriu l'IDE d'Arduino.
- Si encara no ho heu fet, connecteu el vostre OpenLog a l'ordinador mitjançant una placa FTDI. Si us plau, comproveu dues vegades l'ex.ample circuit si no esteu segur de com fer-ho correctament.
- Obriu l'esbós d'OpenLog que voleu carregar al menú Eines>Placa, seleccioneu "Arduino/Genuino Uno" i seleccioneu el port COM adequat per a la vostra placa FTDI a Eines>Port.
- Puja el codi.
- Això és tot! El vostre OpenLog ja està programat amb un nou firmware. Ara podeu obrir un monitor sèrie i interactuar amb l'OpenLog. En engegar-lo, veureu 12> o 12<. 1 indica que la connexió sèrie s'ha establert, 2 indica que la targeta SD s'ha inicialitzat correctament, < indica que l'OpenLog està llest per registrar qualsevol dada sèrie rebuda i > indica que l'OpenLog està llest per rebre ordres.
Esbossos de firmware d'OpenLog
Hi ha tres esbossos inclosos que podeu utilitzar a l'OpenLog, segons la vostra aplicació en particular.
- OpenLog: aquest firmware s'envia per defecte a l'OpenLog. Si envieu l'ordre ?, es mostrarà la versió del firmware carregada a la unitat.
- OpenLog_Light: aquesta versió de l'esbós elimina el menú i el mode d'ordres, cosa que permet augmentar la memòria intermèdia de recepció. Aquesta és una bona opció per al registre d'alta velocitat.
- OpenLog_Minimal: la velocitat de transmissió s'ha de definir al codi i s'ha de carregar. Aquest esbós es recomana per a usuaris experimentats, però també és la millor opció per al registre de màxima velocitat.
Conjunt d'ordres
Podeu interactuar amb l'OpenLog a través d'un terminal sèrie. Les ordres següents us ajudaran a llegir, escriure i suprimir files, així com canviar la configuració de l'OpenLog. Haureu d'estar en mode de comandament per utilitzar la configuració següent.
Mentre l'OpenLog està en mode de comandament, STAT1 s'activarà/desactivarà per a cada caràcter rebut. El LED romandrà encès fins que es rebi el següent caràcter.
- Nou File – Crea un nou file nomenat File al directori actual. Estàndard 8.3 fileels noms són compatibles. Per exempleampés a dir, «87654321.123» és acceptable, mentre que «987654321.123» no ho és.
- Example: nou file1.txt
- Adjuntar File – Afegeix text al final de la FileLes dades en sèrie es llegeixen de l'UART en un flux i s'afegeixen a la fileNo es fa ressò pel terminal sèrie. Si el File no existeix quan es crida aquesta funció, el file es crearà.
- Example: afegir noufile.csv
- Escriu File DESPLAÇAMENT – Escriu text a File des de la ubicació OFFSET dins de fileEl text es llegeix des de la UART, línia per línia, i es retorna. Per sortir d'aquest estat, envieu una línia buida.
- Example: escriu logs.txt 516
- rm File – Elimina el File del directori actual. S'admeten comodins.
- Example: rm README.txt
- mida File – Mida de sortida de File en bytes.
- Example: mida Log112.csv
- Sortida: 11
- Llegeix File + INICI + TIPUS DE LONGITUD – Mostra el contingut de File començant des de START i anant per LENGTH. Si s'omet START, tot el file es reporta. Si s'omet LENGTH, es reporta tot el contingut des del punt d'inici. Si s'omet TYPE, l'OpenLog per defecte informarà en ASCII. Hi ha tres TYPES de sortida:
- ASCII = 1
- HEX = 2
- RAW = 3
- Podeu ometre alguns arguments finals. Consulteu el següent exempleamples.
- Lectura bàsica + banderes omeses:
- Example: llegir LOG00004.txt
- Sortida: Acceleròmetre X=12 Y=215 Z=317
- Llegiu des del principi 0 amb una longitud de 5:
- Example: llegir LOG00004.txt 0 5
- Sortida: Accel·
- Llegiu des de la posició 1 amb una longitud de 5 en HEX:
- Example: llegeix LOG00004.txt 1 5 2
- Sortida: 63 63 65 6C
- Llegiu des de la posició 0 amb una longitud de 50 en RAW:
- Example: llegeix LOG00137.txt 0 50 3
- Sortida: André– -tch Prova de caràcter ampliada
- gat File – Escriure el contingut d'un file en hexadecimal al monitor sèrie per a viewing. De vegades és útil veure que un file està gravant correctament sense haver de treure la targeta SD i view el file en un ordinador.
- Exampfitxer: cat LOG00004.txt
- Sortida: 00000000: 41 63 65 6c 3a 20 31
Manipulació de directoris
- ls – Llista tot el contingut del directori actual. S'admeten comodins.
- Example: ls
- Sortida: \src
- Subdirectori md: crea un subdirectori al directori actual.
- Example: md Example_Sketches
- cd Subdirectori – Canvia al subdirectori.
- Example: cd Hola_Món
- cd .. – Canvia a un directori inferior a l'arbre. Tingueu en compte que hi ha un espai entre 'cd' i '..'. Això permet que l'analitzador de cadenes vegi l'ordre CD.
- Example: cd ..
- rm Subdirectori – Elimina el subdirectori. El directori ha d'estar buit perquè aquesta ordre funcioni.
- Example: temperatures rm
- rm -rf Directory – Elimina el directori i qualsevol files contingut dins d'ell.
- Example: rm -rf Biblioteques
Comandes de funció de baix nivell
- ? – Aquesta ordre mostrarà una llista de les ordres disponibles a l'OpenLog.
- Disc: mostra l'ID del fabricant de la targeta, el número de sèrie, la data de fabricació i la mida de la targeta. Ex.ampLa sortida és:
- Tipus de targeta: SD2 ID del fabricant: 3
- ID del fabricant d'equips originals: SD
- Producte: SU01G
- Versió: 8.0
- Número de sèrie: 39723042 Data de fabricació: 1/2010 Mida de la targeta: 965120 KB
- init – Reinicialitza el sistema i torna a obrir la targeta SD. Això és útil si la targeta SD deixa de respondre.
- Sincronitza: sincronitza el contingut actual de la memòria intermèdia amb la targeta SD. Aquesta ordre és útil si teniu menys de 512 caràcters a la memòria intermèdia i voleu enregistrar-los a la targeta SD.
- Reinicialitzar: salta OpenLog a la ubicació zero, torna a executar el carregador d'arrencada i després el codi d'inici. Aquesta ordre és útil si necessiteu editar la configuració. file, reinicieu l'OpenLog i comenceu a utilitzar la nova configuració. El mètode preferit per reiniciar la placa continua sent el reinici, però aquesta opció està disponible.
Configuració del sistema
Aquests paràmetres es poden actualitzar o editar manualment al fitxer config.txt. file.
- Echo STATE: canvia l'estat del sistema i s'emmagatzema a la memòria del sistema. STATE pot estar activat o desactivat. Mentre està activat, OpenLog mostrarà les dades sèrie rebudes a la línia d'ordres. Mentre està desactivat, el sistema no llegeix els caràcters rebuts.
Nota: Durant el registre normal, l'eco es desactivarà. Les demandes de recursos del sistema per fer ressò de les dades rebudes són massa altes durant el registre.
- ESTAT detallat: canvia l'estat de l'informe d'errors detallat. L'ESTAT pot estar activat o desactivat. Aquesta ordre s'emmagatzema a la memòria. En desactivar els errors detallats, OpenLog respondrà només amb un ! si hi ha un error, en lloc d'una ordre desconeguda: C OMMAND.D..T Els caràcters són més fàcils d'analitzar per als sistemes integrats que l'error complet. Si utilitzeu un terminal, deixar l'opció detallada activada us permetrà veure els missatges d'error complets.
- baud – Aquesta ordre obrirà un menú del sistema que permetrà a l'usuari introduir una velocitat en bauds. S'admet qualsevol velocitat en bauds entre 300 bps i 1 Mbps. La selecció de la velocitat en bauds és immediata i l'OpenLog requereix un cicle d'encesa perquè la configuració tingui efecte. La velocitat en bauds s'emmagatzema a l'EEPROM i es carrega cada vegada que l'OpenLog s'engega. El valor per defecte és 9600 8N1.
Recordeu: Si la placa es queda encallada en una velocitat de baud desconeguda, podeu connectar RX a GND i engegar OpenLog. Els LED parpellejaran durant 2 segons i després parpellejaran a l'uníson. Apagueu OpenLog i traieu el pont. OpenLog ara es reinicia a 9600 bps amb un caràcter d'escapament de `CTRL-Z` premut tres vegades consecutives. Aquesta funció es pot anul·lar establint el bit de sobreemergència a 1. Vegeu config.txt per obtenir més informació.
- Set – Aquesta ordre obre un menú del sistema per seleccionar el mode d'arrencada. Aquests paràmetres es faran servir a la propera engegada i s'emmagatzemen a l'EEPROM no volàtil.
- Nou File Registre: aquest mode crea un nou file cada vegada que s'encén l'OpenLog, l'OpenLog transmetrà 1 (l'UART està actiu), 2 (la targeta SD s'ha inicialitzat) i després < (l'OpenLog està a punt per rebre dades). Totes les dades s'enregistraran en un fitxer LOG#####.txt. El número ##### augmenta cada vegada que s'encén l'OpenLog (el màxim és de 65533 registres). El número s'emmagatzema a l'EEPROM i es pot reiniciar des del menú de configuració. No es reprodueixen tots els caràcters rebuts. Podeu sortir d'aquest mode i entrar en el mode d'ordres enviant CTRL+z (ASCII 26). S'emmagatzemaran totes les dades emmagatzemades a la memòria intermèdia.
- Nota: Si s'han creat massa registres, OpenLog mostrarà l'error **Massa registres**, sortiu d'aquest mode i aneu a la línia d'ordres. La sortida sèrie tindrà un aspecte semblant a `12!Massa registres!
- Adjuntar File Registre: també conegut com a mode seqüencial, aquest mode crea un file s'anomena SEQLOG.txt si encara no hi és, i afegeix les dades rebudes a fileL'OpenLog transmetrà 12<, moment en què l'OpenLog estarà a punt per rebre dades. Els caràcters no es repeteixen. Podeu sortir d'aquest mode i entrar en mode d'ordres enviant CTRL+z (ASCII 26). Totes les dades emmagatzemades a la memòria intermèdia s'emmagatzemaran.
- Símbol d'ordres: OpenLog transmetrà 12>, moment en què el sistema estarà llest per rebre ordres. Tingueu en compte que el signe > indica que OpenLog està llest per rebre ordres, no dades. Podeu crear files i afegeix dades a files, però això requereix una anàlisi en sèrie (per a la comprovació d'errors), per la qual cosa no configurem aquest mode per defecte.
- Restableix Nou File Número: aquest mode reiniciarà el registre. file número a LOG000.txt. Això és útil si heu buidat recentment una targeta microSD i voleu el registre file números per tornar a començar.
- Nou caràcter d'escapada: aquesta opció permet a l'usuari introduir un caràcter, com ara CTRL+z o $, i definir-lo com a nou caràcter d'escapada. Aquesta configuració es restableix a CTRL+z durant un restabliment d'emergència.
- Nombre de caràcters d'escapada: aquesta opció permet a l'usuari introduir un caràcter (com ara 1, 3 o 17), actualitzant el nou nombre de caràcters d'escapada necessaris per passar al mode d'ordres. Per exempleampÉs a dir, si s'introdueix un 8, l'usuari haurà de prémer CTRL+z vuit vegades per entrar al mode d'ordres. Aquest paràmetre es restableix a 3 durant un restabliment d'emergència.
- Caràcters d'escapada Explicació: El motiu pel qual OpenLog requereix prémer `CTRL+z` 3 vegades per entrar en mode d'ordres és per evitar que la placa es reiniciï accidentalment durant la càrrega de codi nou des de l'IDE d'Arduino. Hi ha la possibilitat que la placa vegi el caràcter `CTRL+z` durant l'arrencada (un problema que vam veure a les primeres versions del firmware d'OpenLog), per la qual cosa això pretén evitar-ho. Si alguna vegada sospiteu que la vostra placa s'ha bloquejat a causa d'això, sempre podeu fer un reinici d'emergència mantenint el pin RX a terra durant l'encesa.
Configuració File
Si preferiu no utilitzar el terminal sèrie per modificar la configuració de l'OpenLog, també podeu actualitzar la configuració modificant el fitxer CONFIG.TXT. file.
Nota: Aquesta funció només funciona amb la versió de firmware 1.6 o posterior. Si heu comprat un OpenLog després del 2012, utilitzareu la versió de firmware 1.6+
- Per fer això, necessitareu un lector de targetes microSD i un editor de text. Obriu el fitxer config.txt file (la majúscula de la file el nom no importa), i configureu-ho tot! Si mai no heu engegat l'OpenLog amb la targeta SD, també podeu crear-lo manualment fileSi heu engegat l'OpenLog amb la targeta microSD inserida prèviament, hauríeu de veure alguna cosa semblant a la següent quan llegiu la targeta microSD.
L'OpenLog crea un fitxer config.txt i un fitxer LOG0000.txt. file en la primera engegada.
- La configuració per defecte file té una línia de configuració i una línia de definicions.
La configuració per defecte file va ser escrit per OpenLog.
- Tingueu en compte que aquests són caràcters visibles normals (no hi ha valors no visibles ni binaris) i cada valor està separat per una coma.
Els paràmetres es defineixen de la manera següent:
- baud: La velocitat de transmissió en bauds de la comunicació. 9600 bps és el valor per defecte. Els valors acceptables que són compatibles amb l'Arduino IDE són 2400, 4800, 9600, 19200, 38400, 57600 i 115200. Podeu utilitzar altres velocitats de transmissió en bauds, però no podreu comunicar-vos amb l'OpenLog a través del monitor sèrie de l'Arduino IDE.
- Escap:e El valor ASCII (en format decimal) del caràcter d'escapada. 26 és CTRL+z i és el valor per defecte. 36 és $ i és un caràcter d'escapada que s'utilitza habitualment.
- Esc #: El nombre de caràcters d'escapada necessaris. Per defecte, és tres, de manera que heu de prémer el caràcter d'escapada tres vegades per passar al mode d'ordres. Els valors acceptables són de 0 a 254. Si definiu aquest valor a 0, la comprovació de caràcters d'escapada es desactivarà completament.
- Mode Mode del sistema. L'OpenLog s'inicia per defecte en mode Registre nou (0). Els valors acceptables són 0 = Registre nou, 1 = Registre seqüencial, 2 = Mode de comandament.
- Verb: Mode detallat. Els missatges d'error estesos (detallats) estan activats per defecte. Si es defineix a 1, s'activen els missatges d'error detallats (com ara l'ordre desconeguda: remove !). Si es defineix a 0, es desactiven els errors detallats, però es respondrà amb un ! si hi ha un error. Desactivar el mode detallat és útil si intenteu gestionar errors d'un sistema integrat.
- Eco: Mode Eco. Quan esteu en mode d'ordres, els caràcters es reprodueixen per defecte. Establir-ho a 0 desactiva l'eco de caràcters. Desactivar-ho és útil si gestioneu errors i no voleu que les ordres enviades es reprodueixin de tornada a l'OpenLog.II.
- iignoreRXEmergency Override. Normalment, OpenLog es reiniciarà d'emergència quan el pin RX es desactiva durant l'engegada. Si es configura a 1, es desactivarà la comprovació del pin RX durant l'engegada. Això pot ser útil per a sistemes que mantindran la línia RX baixa per diversos motius. Si l'emergència override està desactivada, no podreu forçar la unitat a tornar a 9600 bps i la configuració... file serà l'única manera de modificar la velocitat en bauds.
Com modifica OpenLog la configuració File
Hi ha cinc situacions diferents perquè l'OpenLog modifiqui el fitxer config.txt file.
- Config file trobat: Durant l'engegada, OpenLog buscarà un fitxer config.txt file. Si el file es troba, OpenLog utilitzarà la configuració inclosa i sobreescriurà qualsevol configuració del sistema emmagatzemada anteriorment.
- Sense configuració file trobat: Si OpenLog no pot trobar el fitxer config.txt file Aleshores, OpenLog crearà un fitxer config.txt i hi enregistrarà la configuració del sistema actualment emmagatzemada. Això vol dir que si inseriu una targeta microSD recentment formatada, el sistema mantindrà la configuració actual.
- Configuració corrupta file trobat: OpenLog esborrarà el fitxer config.txt corrupte file, i reescriurà tant la configuració interna de l'EEPROM com la configuració del fitxer config.txt file al bon estat conegut de 9600,26,3,0,1,1,0.
- Valors il·legals a la configuració fileSi l'OpenLog descobreix alguna configuració que contingui valors il·legals, l'OpenLog sobreescriurà els valors corruptes a config.txt. file amb la configuració del sistema EEPROM emmagatzemada actualment.
- Canvis a través de la línia d'ordres: si la configuració del sistema es modifica a través de la línia d'ordres (ja sigui a través d'una connexió sèrie o mitjançant ordres sèrie del microcontrolador), aquests canvis es registraran tant a l'EEPROM del sistema com al fitxer config.txt. file.
- Restabliment d'emergència: si l'OpenLog s'apaga i s'encén amb un pont entre RX i GND, i el bit de sobreemergència està establert en 0 (permetent el restabliment d'emergència), l'OpenLog reescriurà tant la configuració interna de l'EEPROM com la configuració del fitxer config.txt. file al bon estat conegut de 9600,26,3,0,1,1,0.
Resolució de problemes
Hi ha diverses opcions per comprovar si teniu problemes per connectar-vos a través del monitor sèrie, problemes amb caràcters perduts als registres o si lluiteu contra un OpenLog bloquejat.
Comprovació del comportament del LED STAT1
El LED STAT1 mostra un comportament diferent per a dos errors comuns diferents.
- 3 parpelleigs: No s'ha pogut inicialitzar la targeta microSD. Potser haureu de formatar la targeta amb FAT/FAT16 en un ordinador.
- 5 parpelleigs: OpenLog ha canviat a una nova velocitat de bauds i cal tornar a apagar-lo.
Comproveu l'estructura de subdirectoris
- Si esteu utilitzant l'ex OpenLog.ino per defecteampÉs a dir, OpenLog només admetrà dos subdirectoris. Haureu de canviar FOLDER_TRACK_DEPTH de 2 al nombre de subdirectoris que necessiteu admetre. Un cop fet això, torneu a compilar el codi i pengeu el firmware modificat.
- Verifica el nombre de Files al directori arrel
- OpenLog només admetrà fins a 65,534 registres. files al directori arrel. Us recomanem que reformateu la targeta microSD per millorar la velocitat de registre.
- Verifiqueu la mida del vostre firmware modificat
- Si esteu escrivint un esbós personalitzat per a l'OpenLog, verifiqueu que l'esbós no sigui més gran de 32,256. Si és així, tallarà els 500 bytes superiors de la memòria flash, que utilitza el carregador d'arrencada sèrie Optiboot.
- Comprovació doble File Noms
- Tots file Els noms han de ser alfanumèrics. MyLOG1.txt està bé, però potser Hi !e _ .txtt no funciona.
- Utilitza 9600 bauds
- L'OpenLog funciona amb l'ATmega328 i té una quantitat limitada de RAM (2048 bytes). Quan envieu caràcters en sèrie a l'OpenLog, aquests caràcters s'emmagatzemen a la memòria intermèdia. L'especificació simplificada del grup SD permet que una targeta SD trigui fins a 250 ms (secció 4.6.2.2 Escriptura) a enregistrar un bloc de dades a la memòria flash.
- A 9600 bps, això són 960 bytes (10 bits per byte) per segon. Això és 1.04 ms per byte. Actualment, OpenLog utilitza una memòria intermèdia de recepció de 512 bytes, de manera que pot emmagatzemar uns 50 ms de caràcters. Això permet que OpenLog rebi correctament tots els caràcters que arriben a 9600 bps. A mesura que augmenteu la velocitat de transmissió en bauds, la memòria intermèdia durarà menys temps.
Temps de sobreexecució de la memòria intermèdia d'OpenLog
Velocitat de transmissió | Temps per byte | Temps fins que la memòria intermèdia s'hagi desbordat |
9600 bps | 1.04 ms | 532 ms |
57600 bps | 0.174 ms | 88 ms |
115200 bps | 0.087 ms | 44 ms |
Moltes targetes SD tenen un temps d'enregistrament més ràpid que 250 ms. Això pot veure's afectat per la "classe" de la targeta i la quantitat de dades que ja hi ha emmagatzemades. La solució és utilitzar una velocitat de transmissió més baixa o augmentar la quantitat de temps entre els caràcters enviats a la velocitat de transmissió més alta.
Recorda utilitzar una targeta amb poques o cap files'hi ha a sobre. Una targeta microSD amb 3.1 GB de ZIP fileEls arxius de música o MP3 tenen un temps de resposta més lent que una targeta buida. Si no heu formatat la targeta microSD en un sistema operatiu Windows, reformateu-la i creeu un fitxer DOS. filesistema a la targeta SD.
Hi ha molts tipus diferents de fabricants de targetes, targetes reetiquetades, mides de targetes i classes de targetes, i és possible que no totes funcionin correctament. Normalment fem servir una targeta microSD de classe 8 de 4 GB, que funciona bé a 9600 bps. Si necessiteu velocitats de transmissió més altes o un espai d'emmagatzematge més gran, podeu provar targetes de classe 6 o superior.
Afegint un petit retard entre les instruccions Serial.print(), podeu donar a OpenLog l'oportunitat de registrar el seu buffer actual.
- Serial.begin(115200);
per a (int i = 1; i < 10; i++) { Serial.print(i, DEC); Serial.println(":abcdefghijklmnopqrstuvwxyz-!#"); }
Pot ser que no es registri correctament, ja que s'envien molts caràcters just un al costat de l'altre. Inserir un petit retard de 15 ms entre les escriptures de caràcters llargs ajudarà l'OpenLog a registrar sense perdre caràcters.
- Serial.begin(115200);
per a (int i = 1; i < 10; i++) { Serial.print(i, DEC); Serial.println(":abcdefghijklmnopqrstuvwxyz-!#"); retard (15); }
Afegir compatibilitat amb el monitor sèrie Arduino
Si intenteu utilitzar l'OpenLog amb la biblioteca serial integrada o la biblioteca SoftwareSerial, és possible que observeu problemes amb el mode d'ordres. Serial.println() envia tant un salt de línia com un retorn de carro. Hi ha dues ordres alternatives per solucionar-ho.
El primer és utilitzar l'ordre \r (retorn de carro ASCII):
Serial.print("TEXT\r");
Alternativament, podeu enviar el valor 13 (retorn de carro decimal):
- Serial.print("TEXT");
- Serial.write(13);
Reinici d'emergència
Recordeu que si necessiteu restablir l'OpenLog a un estat predeterminat, podeu restablir la placa connectant el pin RX a GND, encenent l'OpenLog, esperant fins que els LED comencin a parpellejar a l'uníson i, a continuació, apagant l'OpenLog i traient el pont.
Si heu canviat el bit de sobreescriptura d'emergència a 1, haureu de modificar la configuració file, ja que el reinici d'emergència no funcionarà.
Consulteu amb la Comunitat
Si encara teniu problemes amb el vostre OpenLog, consulteu els problemes actuals i tancats al nostre repositori de GitHub aquí. Hi ha una gran comunitat que treballa amb OpenLog, així que és probable que algú hagi trobat una solució per al problema que esteu veient.
Recursos i anar més enllà
Ara que has registrat correctament les dades amb el teu OpenLog, pots configurar projectes remots i supervisar totes les dades possibles que arribin. Considera la possibilitat de crear el teu propi projecte de Ciència Ciutadana o fins i tot un rastrejador d'animals de companyia per veure què fa Fluffy quan és fora!
Consulteu aquests recursos addicionals per resoldre problemes, obtenir ajuda o inspiració per al vostre proper projecte.
- OpenLog GitHub
- Projecte Illumitune
- Connexió del sensor de llum LilyPad
- BadgerHack: Complement de sensor de sòl
- Introducció a l'OBD-II
- Fotoporta Vernier
Necessites més inspiració? Fes una ullada a alguns d'aquests tutorials relacionats:
- Sensor de nivell d'aigua remot de fotons
Apreneu a construir un sensor remot de nivell d'aigua per a un dipòsit d'emmagatzematge d'aigua i a automatitzar una bomba en funció de les lectures! - Guia del projecte Blynk Board
Una sèrie de projectes Blynk que podeu configurar a la placa Blynk sense haver-la de reprogramar mai. - Registre de dades a Fulls de càlcul de Google amb el Tessel 2
Aquest projecte explica com registrar dades a Fulls de càlcul de Google de dues maneres: utilitzant IFTTT amb un web connexió o una unitat de llapis USB i “sneakernet” sense. - Dades de sensors gràfics amb Python i Matplotlib
Utilitzeu matplotlib per crear un gràfic en temps real de les dades de temperatura recollides d'un sensor TMP102 connectat a una Raspberry Pi.
Si teniu comentaris sobre el tutorial, visiteu els comentaris o poseu-vos en contacte amb el nostre equip d'assistència tècnica a Suport tècnic@sparkfun.com.
Preguntes freqüents
Quina és l'entrada d'energia recomanada per a l'OpenLog?
L'entrada d'alimentació recomanada per a l'OpenLog és entre 3.3 V i 5 V.
Quant corrent consumeix l'OpenLog quan està inactiu?
L'OpenLog consumeix aproximadament entre 2 mA i 5 mA quan està inactiu sense una targeta microSD, i entre 5 mA i 6 mA quan hi ha una targeta microSD inserida.
Quin és el propòsit de la connexió microSD USB a l'OpenLog?
El lector USB microSD permet la transferència fàcil de dades des de la targeta microSD utilitzada amb l'OpenLog a un ordinador.
Documents/Recursos
![]() |
SparkFun DEV-13712 Fotó de partícules amb forats per soldar [pdfGuia de l'usuari DEV-13712, DEV-13955, DEV-13712 Fotó de partícules amb forats per soldar, DEV-13712, Fotó de partícules amb forats per soldar, Forats per soldar, Per soldar, Soldar |