Guía de conexións de OpenLog
Introdución
Atención! Este tutorial é para o Open Log para UART serie [DEV-13712]. Se estás a usar o Qwiic OpenLog para IC [DEV-15164], consulta a Guía de conexión de Qwiic OpenLog.
O rexistrador de datos OpenLog é unha solución de código aberto e sinxela de usar para rexistrar datos en serie dos teus proxectos. OpenLog proporciona unha interface en serie sinxela para rexistrar datos dun proxecto nunha tarxeta microSD.Rexistro aberto de SparkFun
• DEV-13712SparkFun OpenLog con cabeceiras
• DEV-13955
non se atopou ningún produto
Materiais necesarios
Para poder seguir este tutorial por completo, necesitarás as seguintes pezas. Non obstante, pode que non as necesites todo dependendo do que teñas. Engádeo ao teu carriño, le a guía e axusta o carriño segundo sexa necesario.
Guía de conexións de OpenLog Lista de desexos de SparkFun
![]() |
Arduino Pro Mini 328 - 3.3V/8MHz DEV-11114 É azul! É delgado! É o Arduino Pro Mini! O deseño minimalista de SparkFun para Arduino. Este é un Arduino de 3.3 V... |
![]() |
Circuito de expansión básico SparkFun FTDI: 3.3 V DEV-09873 Esta é a revisión máis recente do noso [FTDI Basic](http://www.sparkfun.com/commerce/product_info.php?products_id=… |
![]() |
Cable USB SparkFun Cerberus – 6 pés CAB-12016 Tes o cable USB incorrecto. Non importa cal teñas, é o incorrecto. Pero que pasaría se puideses telo...? |
![]() |
Rexistro aberto de SparkFun DEV-13712 O SparkFun OpenLog é un rexistrador de datos de código aberto que funciona a través dunha conexión en serie simple e admite mi… |
![]() |
Tarxeta microSD con adaptador: 16 GB (clase 10) COM-13833 Esta é unha tarxeta de memoria microSD de clase 10 de 16 GB, perfecta para aloxar sistemas operativos para ordenadores de placa única… |
![]() |
Lector USB microSD COM-13004 Este é un pequeno lector USB microSD incrible. Só tes que deslizar a tarxeta microSD no interior do conector USB… |
![]() |
Cabeceiras Femininas PRT-00115 Fileira única de conectores femia de 40 orificios. Pódese cortar á medida cun par de alicates. Espazado estándar de 1″. Usamos … |
![]() |
Cables de puente Premium 6″ M/M Paquete de 10 PRT-08431 Esta é unha exclusiva de SparkFun! Estes son conectores de conexión de 155 mm de lonxitude con conectores macho en ambos extremos. Úsaos para... |
![]() |
Cabeceiras masculinas separadas: ángulo recto PRT-00553 Unha fileira de conectores macho en ángulo recto: cortables para axustar. 40 pines que se poden cortar a calquera tamaño. Úsanse con placas de circuíto impreso personalizadas ou xerais... |
Lecturas recomendadas
Se non estás familiarizado ou non te sentes cómodo cos seguintes conceptos, recomendámosche que os leas antes de continuar coa Guía de conexións de OpenLog.
Como soldar: Soldadura por orificio pasante
Este tutorial abrangue todo o que precisa saber sobre a soldadura por orificios pasantes.
Interfaz periférica en serie (SPI)
O SPI úsase habitualmente para conectar microcontroladores a periféricos como sensores, rexistros de desprazamento e tarxetas SD.
Comunicación en serie
Conceptos de comunicación serial asíncrona: paquetes, niveis de sinal, velocidades de transmisión, UART e moito máis!
Conceptos básicos de terminal serie
Este tutorial mostrarache como comunicarte cos teus dispositivos serie usando unha variedade de aplicacións de emulación de terminal.
Hardware acabadoview
Poder
OpenLog execútase coas seguintes configuracións:
Potencia nominal de OpenLog
Entrada VCC | 3.3 V-12 V (recomendado 3.3 V-5 V) |
Entrada RXI | 2.0 V-3.8 V |
Saída TXO | 3.3 V |
Consumo de corrente en repouso | ~2mA-5mA (sen tarxeta microSD), ~5mA-6mA (con tarxeta microSD) |
Escritura activa Consumo actual | ~20-23 mA (con tarxeta microSD) |
O consumo de corrente do OpenLog é duns 20 mA a 23 mA ao escribir nunha microSD. Dependendo do tamaño da tarxeta microSD e do seu fabricante, o consumo de corrente activo pode variar cando o OpenLog escribe na tarxeta de memoria. Aumentar a velocidade en baudios tamén consumirá máis corrente.
Microcontrolador
O OpenLog funciona cunha ATmega328 integrada, que funciona a 16 MHz grazas ao cristal integrado. A ATmega328 ten o cargador de arranque Optiboot cargado, o que permite que o OpenLog sexa compatible coa configuración da placa "Arduino Uno" no IDE de Arduino.Interface
UART serie
A interface principal co OpenLog é o conector FTDI no bordo da placa. Este conector está deseñado para conectarse directamente a un Arduino Pro ou Pro Mini, o que permite que o microcontrolador envíe os datos a través dunha conexión en serie ao OpenLog.
Aviso! Debido á orde de pines que o fai compatible cos Arduinos, non se pode conectar directamente a unha placa de conexión FTDI. Para obter máis información, asegúrate de consultar a seguinte sección sobre a conexión de hardware.
SPI
Tamén hai catro puntos de proba SPI no extremo oposto da placa. Podes usalos para reprogramar o cargador de arranque do ATmega328.O último OpenLog (DEV-13712) divide estes pines en orificios pasantes chapados máis pequenos. Se precisa usar un ISP para reprogramar ou cargar un novo cargador de arranque no OpenLog, pode usar pines pogo para conectarse a estes puntos de proba.
A interface final para comunicarse co OpenLog é a propia tarxeta microSD. Para comunicarse, a tarxeta microSD require pines SPI. Non só é onde o OpenLog almacena os datos, senón que tamén podes actualizar a configuración do OpenLog a través do ficheiro config.txt. file na tarxeta microSD.
tarxeta microSD
Todos os datos rexistrados polo OpenLog almacénanse na tarxeta microSD. O OpenLog funciona con tarxetas microSD que inclúen as seguintes características:
- De 64 MB a 32 GB
- FAT16 ou FAT32
LED estado
Hai dous LED de estado no OpenLog para axudarche coa resolución de problemas.
- STAT1: este LED indicador azul está conectado ao Arduino D5 (ATmega328 PD5) e acende/apaga cando se recibe un novo carácter. Este LED parpadea cando a comunicación en serie funciona.
- STAT2: este LED verde está conectado ao Arduino D13 (liña de reloxo serie SPI/ATmega328 PB5). Este LED só parpadea cando a interface SPI está activa. Verás que parpadea cando o OpenLog rexistre 512 bytes na tarxeta microSD.
Conexión de hardware
Hai dous métodos principais para conectar o teu OpenLog a un circuíto. Necesitarás algúns conectores ou cables para conectar. Asegúrate de soldar á placa para unha conexión segura.
Conexión en serie básica
Consello: Se tes un cabeceiro femia, o OpenLog e o cabeceiro femia no FTDI, necesitarás cables de ponte M/F para conectar.
Esta conexión de hardware está deseñada para interactuar cun OpenLog se precisa reprogramar a placa ou rexistrar datos a través dunha conexión serie básica.
Fai as seguintes conexións:
OpenLog → Circuito de conexión básico FTDI de 3.3 V
- GND → GND
- GND → GND
- VCC → 3.3 V
- TXO → RXI
- RXI → TXO
- DTR → DTR
Ten en conta que non se trata dunha conexión directa entre o FTDI e o OpenLog; debes intercambiar as conexións dos pines TXO e RXI.
As túas conexións deberían ter o seguinte aspecto: Unha vez que teñas as conexións entre o OpenLog e o FTDI Basic, conecta a túa placa FTDI a un cable USB e ao teu ordenador.
Abre un terminal serie, conéctate ao porto COM do teu FTDI Basic e ponte mans á obra!
Conexión do hardware do proxecto
Consello: Se tes os conectores femia soldados no OpenLog, podes soldar conectores macho ao Arduino Pro Mini para conectar as placas sen necesidade de cables.Aínda que a interface co OpenLog a través dunha conexión serie é importante para a reprogramación ou a depuración, o lugar onde OpenLog destaca é nun proxecto integrado. Este circuíto xeral é o xeito no que recomendamos conectar o OpenLog a un microcontrolador (neste caso, un Arduino Pro Mini) que escribirá datos serie no OpenLog.
Primeiro terás que subir o código ao teu Pro Mini que pretendes executar. Consulta os bosquexos de Arduino para obter algúns exemplos.ampo código que podes usar.
Nota: Se non tes claro como programar o teu Pro Mini, consulta o noso tutorial aquí.
Usando o Arduino Pro Mini de 3.3 V
Este tutorial é a túa guía para todo o relacionado co Arduino Pro Mini. Explica que é, que non é e como comezar a usalo.
Unha vez programado o Pro Mini, podes retirar a placa FTDI e substituíla polo OpenLog.
Asegúrate de conectar os pines etiquetados como BLK tanto no Pro Mini como no OpenLog (os pines etiquetados como GRN en ambos tamén coincidirán se se fai correctamente).
Se non podes conectar o OpenLog directamente ao Pro Mini (debido a conectores non coincidentes ou outras placas que se interpoñan), podes usar cables de ponte e facer as seguintes conexións.
OpenLog → Arduino Pro/Arduino Pro Mini
- GND → GND
- GND → GND
- VCC → VCC
- TXO → RXI
- RXI → TXO
- DTR → DTR
Unha vez que remates, as túas conexións deberían ter o seguinte aspecto co Arduino Pro Mini e o Arduino Pro.
O diagrama de Fritzing mostra os OpenLogs coas cabeceiras reflectidas. Se invertes o socket microSD en relación coa parte superior do Arduino view, deberían coincidir coa cabeceira de programación como un FTDI.
Nota que a conexión sexa en liña recta co OpenLog "ao revés" (coa microSD cara arriba).
⚡Nota: Dado que os conectores Vcc e GND entre o OpenLog e o Arduino están ocupados polos conectores, terás que conectar á alimentación os outros pines dispoñibles no Arduino. Se non, poderías soldar cables aos pines de alimentación expostos de calquera das placas.
Acenda o seu sistema e estará listo para comezar a rexistrar!
Bosquexos de Arduino
Hai seis ex diferentesampInclúense bosquexos que podes usar no Arduino cando esteas conectado a un OpenLog.
- OpenLog_Benchmarking — Este exemploample úsase para probar OpenLog. Isto envía grandes cantidades de datos a 115200 bps a través de múltiples files.
- OpenLog_CommandTest — Este exemploampmostra como crear e engadir un file mediante o control por liña de comandos a través do Arduino.
- OpenLog_ReadExample — Este example explica como controlar OpenLog a través da liña de comandos.
- OpenLog_ReadExample_LargeFile —Exampexemplo de como abrir un almacenamento grande file en OpenLog e infórmao a través dunha conexión Bluetooth local.
- OpenLog_Test_Sketch — Úsase para probar OpenLog con moitos datos en serie.
- OpenLog_Test_Sketch_Binary — Úsase para probar OpenLog con datos binarios e caracteres de escape.
Firmware
O OpenLog ten dúas pezas principais de software integradas: o bootloader e o firmware.
Cargador de arranque de Arduino
Nota: Se estás a usar un OpenLog comprado antes de marzo de 2012, o cargador de arranque integrado é compatible coa configuración "Arduino Pro ou Pro Mini 5V/16MHz con ATmega328" no IDE de Arduino.
Como se mencionou anteriormente, o OpenLog ten o cargador de arranque serie Optiboot integrado. Podes tratar o OpenLog coma un Arduino Uno ao cargar exemplos.ampcódigo ou novo firmware para a placa.
Se acabas instalando o teu OpenLog en bloques e necesitas reinstalar o bootloader, tamén quererás cargar Optiboot na placa. Consulta o noso tutorial sobre a instalación dun bootloader de Arduino para obter máis información.
Compilando e cargando o firmware no OpenLog
Nota: Se é a primeira vez que usas Arduino, por favor, lembra...view o noso tutorial sobre a instalación do IDE de Arduino. Se non instalaches previamente unha biblioteca de Arduino, consulta a nosa guía de instalación para instalar as bibliotecas manualmente.
Se por calquera razón precisa actualizar ou reinstalar o firmware do seu OpenLog, o seguinte proceso porá a placa en funcionamento.
Primeiro, descarga o IDE de Arduino v1.6.5. Outras versións do IDE poden funcionar para compilar o firmware de OpenLog, pero verificamos que se sabe que é unha versión correcta.
A continuación, descarga o firmware de OpenLog e o paquete de bibliotecas requiridas.
DESCARGA O PAQUETE DE FIRMWARE DE OPENLOG (ZIP)
Unha vez descargadas as bibliotecas e o firmware, instálaas en Arduino. Se non estás seguro de como instalar manualmente as bibliotecas no IDE, consulta o noso tutorial: Instalación dunha biblioteca de Arduino: Instalación manual dunha biblioteca.
Nota: Estamos a usar versións modificadas das bibliotecas SdFat e SerialPort para declarar arbitrariamente o tamaño que deben ter os búferes TX e RX. OpenLog require que o búfere TX sexa moi pequeno (0) e o búfere RX debe ser o máis grande posible. O uso conxunto destas dúas bibliotecas modificadas permite un maior rendemento de OpenLog.
Buscas as últimas versións? Se prefires as versións máis actualizadas das bibliotecas e do firmware, podes descargalas directamente desde os repositorios de GitHub aos que se fai referencia a continuación. As bibliotecas SdFatLib e Serial Port non son visibles no xestor de placas Arduino, polo que terás que instalar a biblioteca manualmente.
- GitHub: OpenLog > Firmware > OpenLog_Firmware
- Bibliotecas de Arduino de Bill Greiman
SdFatLib-beta
Porto serie
A continuación, para aproveitartage das bibliotecas modificadas, modifique o ficheiro SerialPort.h file atopado no directorio \Arduino\Libraries\SerialPort. Cambie BUFFERED_TX a 0 e ENABLE_RX_ERROR_CHECKING a 0. Garde o filee abre o IDE de Arduino.
Se aínda non o fixeches, conecta o teu OpenLog ao ordenador mediante unha placa FTDI. Comproba dúas veces o exampo circuíto se non estás seguro de como facelo correctamente.
Abre o bosquexo de OpenLog que queres cargar no menú Ferramentas>Placa, selecciona "Arduino/Genuino Uno" e selecciona o porto COM axeitado para a túa placa FTDI en Ferramentas>Porto.
Carga o código.
Iso é todo! O teu OpenLog xa está programado cun novo firmware. Agora podes abrir un monitor serie e interactuar co OpenLog. Ao acender, verás 12> ou 12<. 1 indica que a conexión serie está establecida, 2 indica que a tarxeta SD se inicializou correctamente, < indica que OpenLog está listo para rexistrar calquera dato serie recibido e > indica que OpenLog está listo para recibir comandos.
Bosquexos de firmware de OpenLog
Hai tres bosquexos incluídos que podes usar en OpenLog, dependendo da túa aplicación particular.
- OpenLog: este firmware inclúese por defecto no OpenLog. Ao enviar o comando ?, mostrarase a versión do firmware cargada nunha unidade.
- OpenLog_Light: esta versión do sketch elimina o menú e o modo de comandos, o que permite aumentar o búfer de recepción. Esta é unha boa opción para o rexistro de alta velocidade.
- OpenLog_Minimal: a velocidade en baudios debe configurarse no código e cargarse. Este bosquexo recoméndase para usuarios experimentados, pero tamén é a mellor opción para o rexistro de maior velocidade.
Conxunto de comandos
Podes interactuar co OpenLog a través dun terminal serie. Os seguintes comandos axudarante a ler, escribir e eliminar files, así como cambiar a configuración do OpenLog. Deberá estar no modo de comando para usar a seguinte configuración.
Mentres o OpenLog está en modo de comando, STAT1 alternará entre activar e desactivar cada carácter recibido. O LED permanecerá aceso ata que se reciba o seguinte carácter.
File Manipulación
- novo File – Crea unha nova file nomeado File no directorio actual. Estándar 8.3 fileAdmítense os nomes.
Por exampé dicir, “87654321.123” é aceptable, mentres que “987654321.123” non o é.
• Example: novo file1.txt - engadir File – Engadir texto ao final de FileOs datos en serie lense entón desde o UART nun fluxo e engádense ao fileNon se repite polo terminal serie. Se File non existe cando se chama esta función, o file crearase.
• Example: engadir novofile.csv - escribir File DESPRAZAMENTO – Escribir texto en File desde a localización OFFSET dentro do fileO texto lese desde o UART, liña por liña, e repítese de volta. Para saír deste estado, envía unha liña baleira.
• Example: escribir rexistros.txt 516 - rm File – Elimina File do directorio actual. Admítense comodíns.
• Example: rm README.txt - tamaño File – Tamaño de saída de File en bytes.
• Example: tamaño Log112.csv
• Saída: 11 - ler File + INICIO+ LONXITUDE TIPO – Mostra o contido de File comezando desde INICIO e indo cara a LONXITUDE.
Se se omite START, todo o file infórmase. Se se omite LONXITUDE, infórmase todo o contido desde o punto de inicio. Se se omite TIPO, o OpenLog informará por defecto en ASCII. Hai tres TIPOS de saída:
• ASCII = 1
• HEX = 2
• CRÚ = 3
Podes omitir algúns argumentos finais. Consulta o seguinte exemploamples.
Lectura básica + indicadores omitidos:
• Example: ler LOG00004.txt
• Saída: acelerómetro X=12 Y=215 Z=317
Ler desde o inicio 0 cunha lonxitude de 5:
• Example: ler LOG00004.txt 0 5
• Saída: Acelerar
Ler desde a posición 1 cunha lonxitude de 5 en HEX:
• Example: ler LOG00004.txt 1 5 2
• Saída: 63 63 65 6 °C - Ler desde a posición 0 cunha lonxitude de 50 en RAW:
- • Example: ler LOG00137.txt 0 50 3
- • Saída: André– -tch Proba de caracteres ampliada
- gato File – Escribir o contido dun file en hexadecimal ao monitor serie para viewing. Isto ás veces é útil para ver que un file está gravando correctamente sen ter que sacar a tarxeta SD e view o file nun ordenador.
• Exampficheiro: cat LOG00004.txt
• Saída: 00000000: 41 63 65 6c 3a 20 31
Manipulación de directorios
- ls: Lista todos os contidos do directorio actual. Admítense comodíns.
• Example: ls
• Saída: \src - Subdirectorio md: crea un subdirectorio no directorio actual.
• Example: md Example_Sketches - cd Subdirectorio: Cambia ao subdirectorio.
• Example: cd Ola_mundo - cd .. – Cambia a un directorio inferior na árbore. Ten en conta que hai un espazo entre «cd» e «..». Isto permite que o analizador de cadeas vexa o comando cd.
• Example: cd .. - Subdirectorio rm: elimina o subdirectorio. O directorio debe estar baleiro para que este comando funcione.
• Example: temperaturas rm - rm -rf Directorio: elimina o directorio e calquera files contidos nel.
• Example: rm -rf Bibliotecas
Comandos de función de baixo nivel
- ? – Este comando mostrará unha lista dos comandos dispoñibles no OpenLog.
- disco: Mostra o ID do fabricante da tarxeta, o número de serie, a data de fabricación e o tamaño da tarxeta. Ex.ampA saída é:
Tipo de tarxeta: SD2
ID do fabricante: 3
ID do fabricante do equipo orixinal: SD
Produto: SU01G
Versión: 8.0
Número de serie: 39723042
Data de fabricación: 1/2010
Tamaño da tarxeta: 965120 KB - init: reinicia o sistema e volve abrir a tarxeta SD. Isto resulta útil se a tarxeta SD deixa de responder.
- sync: sincroniza o contido actual do búfer coa tarxeta SD. Este comando é útil se tes menos de 512 caracteres no búfer e queres gravalos na tarxeta SD.
- reset: salta OpenLog á localización cero, volve executar o cargador de arranque e despois inicia o código. Este comando é útil se precisa editar a configuración. file, reinicie o OpenLog e comece a usar a nova configuración. O reinicio e a reinicio seguen sendo o método preferido para reiniciar a placa, pero esta opción está dispoñible.
Configuración do sistema
Esta configuración pódese actualizar manualmente ou editar no ficheiro config.txt file.
- echo STATE: cambia o estado do eco do sistema e almacénase na memoria do sistema. STATE pode estar activado ou desactivado. Mentres está activado, OpenLog mostrará os datos serie recibidos na liña de comandos. Mentres está desactivado, o sistema non lee os caracteres recibidos.
Nota: Durante o rexistro normal, o eco desactivarase. As demandas de recursos do sistema para facer eco dos datos recibidos son demasiado altas durante o rexistro. - STATE detallado: cambia o estado da notificación de erros detallada. STATE pode estar activado ou desactivado. Este comando almacénase na memoria. Ao desactivar os erros detalladas, OpenLog responderá só cun ! se hai un erro en lugar dun comando descoñecido: COMMAND. O carácter ! é máis doado de analizar para os sistemas integrados que o erro completo. Se estás a usar un terminal, deixar a opción detallada activada permitirache ver as mensaxes de erro completas.
- baudios: este comando abrirá un menú do sistema que lle permitirá ao usuario introducir unha velocidade en baudios. Admítese calquera velocidade en baudios entre 300 bps e 1 Mbps. A selección da velocidade en baudios é inmediata e o OpenLog require un ciclo de acendido e apagado para que a configuración teña efecto. A velocidade en baudios almacénase na EEPROM e cárgase cada vez que se acende OpenLog. O valor predeterminado é 9600 8N1.
Lembra: se a placa se atasca nunha velocidade de baudios descoñecida, podes conectar RX a GND e acender OpenLog. Os LED parpadearán durante 2 segundos e despois parpadearán ao unísono. Apaga OpenLog e retira o jumper. OpenLog agora está restablecido a 9600 bps ao premer o carácter de escape `CTRL-Z` tres veces consecutivas. Esta función pódese anular configurando o bit de anulación de emerxencia en 1.
Consulta o ficheiro config.txt para obter máis información.
- set: este comando abre un menú do sistema para seleccionar o modo de arranque. Estas configuracións ocorrerán no
• seguinte acendido e almacénanse nunha EEPROM non volátil. Novo File Rexistro: este modo crea un novo file cada vez que se acenda OpenLog, OpenLog transmitirá 1 (o UART está activo), 2 (a tarxeta SD está inicializada) e despois < (OpenLog está listo para recibir datos). Todos os datos gravaranse nun ficheiro LOG#####.txt. O número ##### aumenta cada vez que se acenda OpenLog (o máximo é de 65533 rexistros). O número almacénase na EEPROM e pódese restablecer desde o menú de configuración.
Non se repiten todos os caracteres recibidos. Podes saír deste modo e entrar no modo de comandos enviando CTRL+z (ASCII 26). Gardaranse todos os datos almacenados no búfer.
Nota: Se se crearon demasiados rexistros, OpenLog mostrará o erro **Demasiados rexistros**, saia deste modo e acceda á liña de comandos. A saída serie terá un aspecto similar a `12!Demasiados rexistros!`.
- Anexo File Rexistro: tamén coñecido como modo secuencial, este modo crea un file chamado SEQLOG.txt se aínda non está alí e engade calquera dato recibido ao fileOpenLog transmitirá 12<, momento no que OpenLog estará listo para recibir datos. Os caracteres non se reproducen. Podes saír deste modo e entrar no modo de comandos enviando CTRL+z (ASCII 26). Todos os datos almacenados no búfer almacenaranse.
- Indicación de comandos: OpenLog transmitirá 12>, momento no que o sistema estará listo para recibir comandos. Teña en conta que o signo > indica que OpenLog está listo para recibir comandos, non datos. Pode crear files e engadir datos a files, pero isto require algunha análise serial (para a comprobación de erros), polo que non configuramos este modo por defecto.
- Restablecer Novo File Número: este modo restablecerá o rexistro file número en LOG000.txt. Isto é útil se baleiraches recentemente unha tarxeta microSD e queres o rexistro file números para comezar de novo.
- Novo carácter de escape: esta opción permite ao usuario introducir un carácter como CTRL+z ou $ e configuralo como o novo carácter de escape. Esta configuración restablécese a CTRL+z durante un reinicio de emerxencia.
- Número de caracteres de escape: esta opción permite ao usuario introducir un carácter (como 1, 3 ou 17), actualizando o novo número de caracteres de escape necesarios para pasar ao modo de comando. Por exemplo,ampÉ dicir, ao introducir 8, o usuario terá que premer CTRL+z oito veces para acceder ao modo de comandos. Esta configuración restablécese a 3 durante un reinicio de emerxencia.
Caracteres de escape Explicación: A razón pola que OpenLog require premer `CTRL+z` 3 veces para entrar no modo de comandos é para evitar que a placa se reinicie accidentalmente durante a carga de código novo desde o IDE de Arduino. Existe a posibilidade de que a placa vexa o carácter `CTRL+z` durante o arranque (un problema que vimos nas primeiras versións do firmware OpenLog), polo que isto ten como obxectivo evitalo. Se algunha vez sospeitas que a túa placa quedou bloqueada debido a isto, sempre podes facer un reinicio de emerxencia mantendo o pin RX conectado a terra durante o acendido.
Configuración File
Se prefire non usar o terminal serie para modificar a configuración do seu OpenLog, tamén pode actualizar a configuración modificando o ficheiro CONFIG.TXT. file.
Nota: Esta funcionalidade só funciona na versión de firmware 1.6 ou posterior. Se compraches un OpenLog despois de 2012, executarás a versión de firmware 1.6+
Para facer isto, necesitarás un lector de tarxetas microSD e un editor de texto. Abre o ficheiro config.txt file (a maiúscula do file o nome non importa) e configuralo! Se nunca antes acendeches o teu OpenLog coa tarxeta SD, tamén podes crear manualmente o fileSe xa acendeches o OpenLog coa tarxeta microSD inserida previamente, deberías ver algo semellante ao seguinte ao ler a tarxeta microSD.O OpenLog crea un ficheiro config.txt e un ficheiro LOG0000.txt. file ao primeiro acendido.
A configuración predeterminada file ten unha liña de configuracións e unha liña de definicións.Configuración predeterminada file escrito por OpenLog.
Ten en conta que estes son caracteres visibles normais (non hai valores non visibles ou binarios) e cada valor está separado por unha coma.
Os axustes defínense do seguinte xeito:
- baud: A velocidade en baudios da comunicación. 9600 bps é o valor predeterminado. Os valores aceptables que son compatibles co Arduino IDE son 2400, 4800, 9600, 19200, 38400, 57600 e 115200. Podes usar outras velocidades en baudios, pero non poderás comunicarte co OpenLog a través do monitor serie do Arduino IDE.
- escape: O valor ASCII (en formato decimal) do carácter de escape. 26 é CTRL+z e é o predeterminado. 36 é $ e é un carácter de escape de uso común.
- esc#: O número de caracteres de escape necesarios. Por defecto, é tres, polo que debes premer o carácter de escape tres veces para pasar ao modo de comandos. Os valores aceptables son de 0 a 254. Se se define este valor en 0, a comprobación de caracteres de escape quedará desactivada por completo.
- modo: Modo do sistema. OpenLog comeza no modo Novo rexistro (0) por defecto. Os valores aceptables son 0 = Novo rexistro, 1 = Rexistro secuencial e 2 = Modo de comandos.
- verbo: Modo detallado. As mensaxes de erro estendidas (detalladas) están activadas por defecto. Se se configura en 1, móstranse as mensaxes de erro detalladas (como o comando descoñecido: remove !). Se se configura en 0, desactivanse os erros detallados, pero responderase cun ! se hai algún erro. Desactivar o modo detallado é útil se se está a tentar xestionar erros dun sistema integrado.
- eco: Modo de eco. En modo de comando, os caracteres repítense por defecto. Ao definir isto en 0, desactívase o eco dos caracteres. Desactivar isto é útil se se xestionan erros e non se quere que os comandos enviados se volvan a enviar ao OpenLog.
- ignoreRX: Anulación de emerxencia. Normalmente, OpenLog reiniciarase de emerxencia cando o pin RX se baixa durante o acendido. Se se configura en 1, desactivarase a comprobación do pin RX durante o acendido. Isto pode ser útil para sistemas que manterán a liña RX baixa por varias razóns. Se a Anulación de emerxencia está desactivada, non poderás forzar a unidade a volver aos 9600 bps e a configuración... file será a única maneira de modificar a velocidade en baudios.
Como modifica OpenLog a configuración File
Hai cinco situacións diferentes para que OpenLog modifique o ficheiro config.txt file.
- Config file atopado: Durante o acendido, OpenLog buscará un ficheiro config.txt file. Se o file se atopa, OpenLog empregará a configuración incluída e sobrescribirá calquera configuración do sistema almacenada previamente.
- Sen configuración file atopado: Se OpenLog non pode atopar o ficheiro config.txt file entón OpenLog creará o ficheiro config.txt e rexistrará nel a configuración do sistema almacenada actualmente. Isto significa que se insire unha tarxeta microSD recentemente formateada, o sistema manterá a súa configuración actual.
- Configuración corrupta file atopado: OpenLog borrará o ficheiro config.txt corrupto file, e reescribirá tanto a configuración interna da EEPROM como a configuración do ficheiro config.txt file ao estado bo coñecido de 9600,26,3,0,1,1,0.
- Valores ilegais na configuración fileSe OpenLog descobre algunha configuración que conteña valores ilegais, OpenLog sobrescribirá os valores corruptos en config.txt file coa configuración do sistema EEPROM almacenada actualmente.
- Cambios a través da liña de comandos: Se a configuración do sistema se modifica a través da liña de comandos (xa sexa a través dunha conexión en serie ou mediante comandos en serie do microcontrolador), eses cambios rexistraranse tanto na EEPROM do sistema como no ficheiro config.txt. file.
- Reinicio de emerxencia: se o OpenLog se apaga e reinicia cun jumper entre RX e GND, e o bit de anulación de emerxencia está definido en 0 (o que permite o reinicio de emerxencia), OpenLog reescribirá tanto a configuración interna da EEPROM como a configuración do ficheiro config.txt. file ao estado bo coñecido de 9600,26,3,0,1,1,0.
Resolución de problemas
Hai varias opcións diferentes para comprobar se tes problemas para conectarte a través do monitor serie, se tes problemas con caracteres perdidos nos rexistros ou se tes problemas cun OpenLog bloqueado.
Comprobar o comportamento do LED STAT1
O LED STAT1 mostra un comportamento diferente para dous erros comúns distintos.
- 3 pestanexos: Non se puido inicializar a tarxeta microSD. Pode que teñas que formatar a tarxeta con FAT/FAT16 nun ordenador.
- 5 intermitencias: OpenLog cambiou a unha nova velocidade en baudios e é necesario reiniciar a alimentación.
Comprobar dúas veces a estrutura dos subdirectorios
Se estás a usar o ficheiro predeterminado de OpenLog.ino exampPor exemplo, OpenLog só admitirá dous subdirectorios. Terás que cambiar FOLDER_TRACK_DEPTH de 2 ao número de subdirectorios que necesitas admitir. Unha vez feito isto, recompila o código e carga o firmware modificado.
Verificar o número de Files no directorio raíz
OpenLog só admitirá ata 65,534 rexistros files no directorio raíz. Recomendámosche reformatar a tarxeta microSD para mellorar a velocidade de rexistro.
Verifica o tamaño do teu firmware modificado
Se estás a escribir un bosquexo personalizado para OpenLog, verifica que o teu bosquexo non sexa maior de 32,256. Se é así, cortará os 500 bytes superiores da memoria Flash, que usa o cargador de arranque serie Optiboot.
Dobre comprobación File Nomes
Todos file Os nomes deben ser alfanuméricos. MyLOG1.txt está ben, pero pode que Hi !e _.txt non funcione.
Usar 9600 baudios
OpenLog execútase co ATmega328 e ten unha cantidade limitada de RAM (2048 bytes). Cando se envían caracteres en serie a OpenLog, estes caracteres almacénanse no búfer. A especificación simplificada do grupo SD permite que unha tarxeta SD tarde ata 250 ms (sección 4.6.2.2 Escritura) en gravar un bloque de datos na memoria flash.
A 9600 bps, iso son 960 bytes (10 bits por byte) por segundo. Iso é 1.04 ms por byte. OpenLog usa actualmente un búfer de recepción de 512 bytes, polo que pode almacenar uns 50 ms de caracteres. Isto permite que OpenLog reciba correctamente todos os caracteres que chegan a 9600 bps. A medida que aumentas a velocidade en baudios, o búfer durará menos tempo.
Tempo de sobrecarga do búfer de OpenLog
Velocidade en baudios | Tempo por byte | Tempo ata que o búfer estea desbordado |
9600 bps | 1.04 ms | 532 ms |
57600 bps | 0.174 ms | 88 ms |
115200 bps | 0.087 ms | 44 ms |
Moitas tarxetas SD teñen un tempo de gravación máis rápido que 250 ms. Isto pode verse afectado pola "clase" da tarxeta e pola cantidade de datos que xa hai almacenados nela. A solución é usar unha velocidade de transmisión máis baixa ou aumentar a cantidade de tempo entre os caracteres enviados á velocidade de transmisión máis alta.
Formata a túa tarxeta MicroSD
Lembra usar unha tarxeta con poucas ou ningunha files nel. Unha tarxeta microSD con 3.1 GB de ZIP fileOs reprodutores de audio ou MP3 teñen un tempo de resposta máis lento que unha tarxeta baleira.
Se non formateou a tarxeta microSD nun sistema operativo Windows, reformatea e cree un disco DOS. filesistema na tarxeta SD.
Intercambiar tarxetas MicroSD
Hai moitos tipos diferentes de fabricantes de tarxetas, tarxetas renomeadas, tamaños de tarxetas e clases de tarxetas, e pode que non todas funcionen correctamente. Normalmente usamos unha tarxeta microSD de clase 8 de 4 GB, que funciona ben a 9600 bps. Se necesitas taxas de baudios máis altas ou un maior espazo de almacenamento, podes probar tarxetas de clase 6 ou superior.
Engadir atrasos entre escrituras de caracteres
Engadindo un pequeno atraso entre as instrucións Serial.print(), podes darlle a OpenLog a oportunidade de rexistrar a súa corrente
tampón.
Por exampLe:
Serial.begin(115200);
para (int i = 1 ; i < 10 ; i++) {
Impresión serial.(i, DEC);
Serial.println(":abcdefghijklmnopqrstuvwxyz-!#");
}
pode que non se rexistre correctamente, xa que hai moitos caracteres que se envían xusto uns ao lado dos outros. Inserir un pequeno atraso de 15 ms entre as escrituras de caracteres longos axudará a que OpenLog rexistre sen perder caracteres.
Serial.begin(115200);
para (int i = 1 ; i < 10 ; i++) {
Impresión serial.(i, DEC);
Serial.println(":abcdefghijklmnopqrstuvwxyz-!#");
atraso (15);
}
Engadir compatibilidade co monitor serie de Arduino
Se estás a tentar usar OpenLog coa biblioteca serial integrada ou coa biblioteca SoftwareSerial, podes notar problemas co modo de comandos. Serial.println() envía tanto un salto de liña COMO un retorno de carro. Hai dous comandos alternativos para solucionar isto.
O primeiro é usar o comando \r (retorno de carro ASCII):
Serie.imprimir("TEXTO\r");
Como alternativa, podes enviar o valor 13 (retorno de carro decimal):
Serie.imprimir("TEXTO");
Serie.escritura(13);
Reinicio de emerxencia
Lembra que, se necesitas restablecer o OpenLog ao estado predeterminado, podes restablecer a placa conectando o pin RX a GND, acendendo o OpenLog, agardando a que os LED comecen a parpadear ao unísono e, a continuación, apagando o OpenLog e retirando o jumper.
Se cambiou o bit de anulación de emerxencia a 1, terá que modificar a configuración. file, xa que o reinicio de emerxencia non funcionará.
Consulta coa Comunidade
Se aínda tes problemas co teu OpenLog, consulta as incidencias actuais e pechadas no noso repositorio de GitHub aquí. Hai unha gran comunidade que traballa con OpenLog, polo que é probable que alguén atopase unha solución para o problema que estás a ver.
Recursos e ir máis alá
Agora que rexistraches os datos correctamente co teu OpenLog, podes configurar proxectos remotos e monitorizar todos os posibles datos que cheguen. Considera a posibilidade de crear o teu propio proxecto de Ciencia Cidadá ou mesmo un rastreador de mascotas para ver que fai Fluffy cando está fóra!
Consulta estes recursos adicionais para a resolución de problemas, axuda ou inspiración para o teu próximo proxecto.
- OpenLog GitHub
- Proxecto Illumitune
- Conexión do sensor de luz LilyPad
- BadgerHack: Complemento de sensor de solo
- Introdución ao OBD-II
- Fotoporta Vernier
Necesitas máis inspiración? Consulta algúns destes tutoriais relacionados:
Sensor remoto de nivel de auga de fotones
Aprende a construír un sensor remoto do nivel de auga para un tanque de almacenamento de auga e a automatizar unha bomba en función das lecturas!
Sensor remoto de nivel de auga de fotones
Aprende a construír un sensor remoto do nivel de auga para un tanque de almacenamento de auga e a automatizar unha bomba en función das lecturas!
Rexistro de datos en Follas de cálculo de Google con Tessel 2
Este proxecto abrangue como rexistrar datos en Follas de cálculo de Google de dúas maneiras: usando IFTTT cun web conexión ou unha unidade USB e “sneakernet” sen ela.
Datos de sensores gráficos con Python e Matplotlib
Usa matplotlib para crear unha gráfica en tempo real dos datos de temperatura recollidos dun sensor TMP102 conectado a unha Raspberry Pi.
Se tes algún comentario sobre o tutorial, visita os comentarios ou ponte en contacto co noso equipo de asistencia técnica en Soporte técnico@sparkfun.com.
Documentos/Recursos
![]() |
Placas de desenvolvemento SparkFun DEV-13712 SparkFun [pdfGuía do usuario DEV-13712, DEV-11114, DEV-09873, CAB-12016, COM-13833, COM-13004, PRT-00115, PRT-08431, DEV-13712 Placas de desenvolvemento SparkFun, DEV-13712, Placas de desenvolvemento SparkFun, Placas de desenvolvemento, Placas |