Logo SparkFunGuide de connexion OpenLog

Introduction

Attention ! Ce tutoriel concerne l'Open Log pour UART série [DEV-13712]. Si vous utilisez Qwiic OpenLog pour IC [DEV-15164], veuillez consulter le Guide de connexion Qwiic OpenLog.
L'enregistreur de données OpenLog est une solution open source simple d'utilisation pour l'enregistrement des données série de vos projets. OpenLog fournit une interface série simple pour enregistrer les données d'un projet sur une carte microSD.Cartes de développement SparkFun DEV-13712SparkFun OpenLog
• DEV-13712Cartes de développement SparkFun DEV-13712 - PiècesSparkFun OpenLog avec en-têtes
• DEV-13955

aucun produit trouvé
Matériel requis
Pour suivre pleinement ce tutoriel, vous aurez besoin des éléments suivants. Cependant, selon vos ressources, vous n'aurez peut-être pas besoin de tout. Ajoutez-le à votre panier, lisez le guide et ajustez le panier si nécessaire.
Guide de connexion OpenLog Liste de souhaits SparkFun

Cartes de développement SparkFun DEV-13712 - Pièces 1 Arduino Pro Mini 328 – 3.3 V/8 MHz
DEV-11114
Il est bleu ! Il est fin ! C'est l'Arduino Pro Mini ! L'approche minimaliste de SparkFun pour Arduino. Voici un Arduino 3.3 V…
Cartes de développement SparkFun DEV-13712 - Pièces 2 Breakout de base SparkFun FTDI – 3.3 V
DEV-09873
Il s'agit de la dernière révision de notre [FTDI Basic](http://www.sparkfun.com/commerce/product_info.php?products_id= ...
Cartes de développement SparkFun DEV-13712 - Pièces 3 Câble USB SparkFun Cerberus – 6 m
CAB-12016
Vous n'avez pas le bon câble USB. Peu importe lequel, c'est le mauvais. Et si vous pouviez…
Cartes de développement SparkFun DEV-13712 - Pièces 4 SparkFun OpenLog
DEV-13712
SparkFun OpenLog est un enregistreur de données open source qui fonctionne via une simple connexion série et prend en charge mi…
Cartes de développement SparkFun DEV-13712 - Pièces 5 Carte microSD avec adaptateur – 16 Go (Classe 10)
COM-13833
Il s'agit d'une carte mémoire microSD de classe 10 de 16 Go, parfaite pour héberger des systèmes d'exploitation pour ordinateurs monocarte…
Cartes de développement SparkFun DEV-13712 - Pièces 6 Lecteur USB microSD
COM-13004
Voici un super petit lecteur microSD USB. Glissez simplement votre carte microSD dans le connecteur USB,…
Cartes de développement SparkFun DEV-13712 - Pièces 7 Les têtes de file féminines
PRT-00115
Connecteur femelle à une rangée de 40 trous. Découpable à la taille souhaitée avec une pince coupante. Espacement standard de 1 cm. Nous utilisons…
Cartes de développement SparkFun DEV-13712 - Pièces 8 Câbles de raccordement Premium 6″ M/M, paquet de 10
PRT-08431
Exclusivité SparkFun ! Ces cavaliers de 155 mm de long sont équipés de connecteurs mâles à chaque extrémité. Utilisez-les pour…
Cartes de développement SparkFun DEV-13712 - Pièces 9 Embases mâles détachables – Angle droit
PRT-00553
Une rangée d'embases mâles à angle droit, à découper pour s'adapter. 40 broches recoupables à la taille souhaitée. À utiliser avec des circuits imprimés personnalisés ou…

Lectures recommandées
Si vous n'êtes pas familier ou à l'aise avec les concepts suivants, nous vous recommandons de les lire avant de continuer avec le guide de connexion OpenLog.
Comment souder : soudure traversante
Ce tutoriel couvre tout ce que vous devez savoir sur la soudure traversante.
Interface périphérique série (SPI)
SPI est couramment utilisé pour connecter des microcontrôleurs à des périphériques tels que des capteurs, des registres à décalage et des cartes SD.
Communication série
Concepts de communication série asynchrone : paquets, niveaux de signal, débits en bauds, UART et plus encore !
Notions de base sur les terminaux série
Ce tutoriel vous montrera comment communiquer avec vos périphériques série à l'aide de diverses applications d'émulation de terminal.

Matériel terminéview

Pouvoir
OpenLog s'exécute avec les paramètres suivants :
Évaluations de puissance d'OpenLog

Entrée VCC 3.3 V-12 V (recommandé 3.3 V-5 V)
Entrée RXI 2.0V-3.8V
Sortie TXO 3.3V
Consommation de courant au ralenti ~2 mA-5 mA (sans carte microSD), ~5 mA-6 mA (avec carte microSD)
Consommation de courant d'écriture active ~20-23mA (avec carte microSD)

La consommation de courant de l'OpenLog est d'environ 20 à 23 mA lors de l'écriture sur une carte microSD. Selon la taille de la carte microSD et son fabricant, la consommation de courant active peut varier lors de l'écriture de l'OpenLog sur la carte mémoire. L'augmentation du débit en bauds entraîne également une consommation de courant plus importante.
Microcontrôleurs
L'OpenLog fonctionne sur un ATmega328 embarqué, cadencé à 16 MHz grâce au quartz intégré. L'ATmega328 intègre le chargeur de démarrage Optiboot, ce qui permet à l'OpenLog d'être compatible avec la configuration de la carte « Arduino Uno » dans l'IDE Arduino.Cartes de développement SparkFun DEV-13712 - Chargeur de démarrageInterface
UART série
L'interface principale avec l'OpenLog est l'embase FTDI située sur le bord de la carte. Cette embase est conçue pour se connecter directement à un Arduino Pro ou Pro Mini, ce qui permet au microcontrôleur d'envoyer les données à l'OpenLog via une connexion série.Cartes de développement SparkFun DEV-13712 - bord de la carte

Avertissement! En raison de l'ordre des broches qui le rend compatible avec les Arduinos, il ne peut pas se brancher directement sur une carte de dérivation FTDI. Cartes de développement SparkFun DEV-13712 - bord de carte 1Pour plus d’informations, assurez-vous de consulter la section suivante sur le raccordement du matériel.
SPI
Quatre points de test SPI sont également répartis à l'autre extrémité de la carte. Vous pouvez les utiliser pour reprogrammer le chargeur de démarrage de l'ATmega328.Cartes de développement SparkFun DEV-13712 - bord de carte 2La dernière version d'OpenLog (DEV-13712) répartit ces broches sur des trous traversants plus petits. Si vous devez utiliser un FAI pour reprogrammer ou télécharger un nouveau chargeur de démarrage sur l'OpenLog, vous pouvez utiliser des broches Pogo pour vous connecter à ces points de test.
L'interface finale de communication avec OpenLog est la carte microSD elle-même. Pour communiquer, la carte microSD nécessite des broches SPI. C'est là que les données d'OpenLog sont stockées, et vous pouvez également mettre à jour sa configuration via le fichier config.txt. file sur la carte microSD.
carte microSD
Toutes les données enregistrées par OpenLog sont stockées sur la carte microSD. OpenLog est compatible avec les cartes microSD présentant les fonctionnalités suivantes :

  • 64MB à 32GB
  • FAT16 ou FAT32

Cartes de développement SparkFun DEV-13712 - bord de carte 3

LED d'état
Il y a deux LED d'état sur l'OpenLog pour vous aider à résoudre les problèmes.

  • STAT1 – Ce voyant bleu est relié à l'Arduino D5 (ATmega328 PD5) et s'allume et s'éteint à la réception d'un nouveau caractère. Il clignote lorsque la communication série fonctionne.
  • STAT2 – Cette LED verte est connectée à l'Arduino D13 (ligne d'horloge série SPI/ATmega328 PB5). Elle clignote uniquement lorsque l'interface SPI est active. Elle clignote lorsque l'OpenLog enregistre 512 octets sur la carte microSD.

Cartes de développement SparkFun DEV-13712 - bord de carte 4

Branchement du matériel

Il existe deux méthodes principales pour connecter votre OpenLog à un circuit. Vous aurez besoin de connecteurs ou de fils. Assurez-vous de souder le connecteur à la carte pour une connexion sécurisée.
Connexion série de base
Conseil: Si vous avez un connecteur femelle OpenLog et un connecteur femelle sur le FTDI, vous aurez besoin de fils de liaison M/F pour vous connecter.Cartes de développement SparkFun DEV-13712 - Connexion série de base

Cette connexion matérielle est conçue pour s'interfacer avec un OpenLog si vous devez reprogrammer la carte ou enregistrer des données via une connexion série de base.
Effectuez les connexions suivantes :
OpenLog → Breakout FTDI de base 3.3 V

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

Notez qu’il ne s’agit pas d’une connexion directe entre le FTDI et l’OpenLog – vous devez échanger les connexions des broches TXO et RXI.
Vos connexions devraient ressembler à ce qui suit : Cartes de développement SparkFun DEV-13712 - Breakout de baseUne fois que vous avez les connexions entre l'OpenLog et le FTDI Basic, branchez votre carte FTDI sur un câble USB et sur votre ordinateur.
Ouvrez un terminal série, connectez-vous au port COM de votre FTDI Basic et c'est parti !

Connexion matérielle du projet

Conseil: Si vous avez les embases femelles soudées sur l'OpenLog, vous pouvez souder les embases mâles sur l'Arduino Pro Mini pour brancher les cartes ensemble sans avoir besoin de fils.Cartes de développement SparkFun DEV-13712 - Connexion matérielle du projetBien que l'interfaçage avec OpenLog via une connexion série soit important pour la reprogrammation ou le débogage, OpenLog excelle dans les projets embarqués. Ce circuit général est la méthode que nous recommandons pour connecter votre OpenLog à un microcontrôleur (ici, un Arduino Pro Mini) qui écrira des données série dans OpenLog.
Vous devrez d'abord télécharger le code sur le Pro Mini que vous souhaitez utiliser. Consultez les croquis Arduino pour des exemples.ample code que vous pouvez utiliser.
Note: Si vous ne savez pas comment programmer votre Pro Mini, veuillez consulter notre tutoriel ici.
Utilisation de l'Arduino Pro Mini 3.3 V
Ce tutoriel vous guidera à travers tout ce qui concerne l'Arduino Pro Mini. Il explique ce qu'il est, ce qu'il n'est pas et comment commencer à l'utiliser.
Une fois que vous avez programmé votre Pro Mini, vous pouvez retirer la carte FTDI et la remplacer par l'OpenLog.
Assurez-vous de connecter les broches étiquetées BLK sur le Pro Mini et l'OpenLog (les broches étiquetées GRN sur les deux correspondront également si cela est fait correctement).
Si vous ne pouvez pas brancher l'OpenLog directement sur le Pro Mini (en raison d'en-têtes incompatibles ou d'autres cartes sur le chemin), vous pouvez utiliser des fils de liaison et effectuer les connexions suivantes.
OpenLog → Arduino Pro/Arduino Pro Mini

  • Terre → Terre
  • Terre → Terre
  • VCC → VCC
  • TXO → RXI
  • RXI → TXO
  • DTR → DTR

Une fois terminé, vos connexions devraient ressembler à ce qui suit avec l'Arduino Pro Mini et l'Arduino Pro.
Le diagramme de Fritzing montre les OpenLogs avec les en-têtes en miroir. Si vous inversez le support microSD par rapport au dessus de l'Arduino, view, ils doivent correspondre à l'en-tête de programmation comme un FTDI.Cartes de développement SparkFun DEV-13712 - Connexion matérielle du projet 1

Note que la connexion est un tir droit avec l'OpenLog « à l'envers » (avec la microSD vers le haut).
⚡Remarque : Puisque les bornes Vcc et GND entre l'OpenLog et l'Arduino sont occupées par les connecteurs, vous devrez connecter l'alimentation aux autres broches disponibles sur l'Arduino. Sinon, vous pouvez souder des fils aux broches d'alimentation exposées de l'une ou l'autre carte.
Allumez votre système et vous êtes prêt à commencer à enregistrer !

Croquis Arduino

Il existe six ex différentsamples croquis inclus que vous pouvez utiliser sur l'Arduino lorsqu'il est connecté à un OpenLog.

  • OpenLog_Benchmarking — Cet exampLe fichier est utilisé pour tester OpenLog. Ce dernier envoie de très grandes quantités de données à 115200 XNUMX bit/s sur plusieurs files.
  • OpenLog_CommandTest — Cet example montre comment créer et ajouter un file via le contrôle en ligne de commande via l'Arduino.
  • OpenLog_ReadExample — Cet example explique comment contrôler OpenLog via la ligne de commande.
  • OpenLog_ReadExample_LargeFile - Exampcomment ouvrir un grand magasin file sur OpenLog et le signaler via une connexion Bluetooth locale.
  • OpenLog_Test_Sketch — Utilisé pour tester OpenLog avec de nombreuses données série.
  • OpenLog_Test_Sketch_Binary — Utilisé pour tester OpenLog avec des données binaires et des caractères d'échappement.

Micrologiciel

L'OpenLog possède deux principaux logiciels embarqués : le chargeur de démarrage et le micrologiciel.
Chargeur de démarrage Arduino
Note: Si vous utilisez un OpenLog acheté avant mars 2012, le chargeur de démarrage intégré est compatible avec le paramètre « Arduino Pro ou Pro Mini 5V/16MHz avec ATmega328 » dans l'IDE Arduino.
Comme mentionné précédemment, l'OpenLog intègre le chargeur de démarrage série Optiboot. Vous pouvez traiter l'OpenLog comme un Arduino Uno lors du téléchargement d'ex.ample code ou le nouveau firmware de la carte.
Si vous bloquez votre OpenLog et devez réinstaller le chargeur de démarrage, vous devrez également télécharger Optiboot sur la carte. Pour plus d'informations, consultez notre tutoriel sur l'installation d'un chargeur de démarrage Arduino.
Compilation et chargement du firmware sur OpenLog
Note: Si c'est la première fois que vous utilisez Arduino, veuillezview Notre tutoriel sur l'installation de l'IDE Arduino. Si vous n'avez pas encore installé de bibliothèque Arduino, veuillez consulter notre guide d'installation pour installer manuellement les bibliothèques.
Si, pour une raison quelconque, vous devez mettre à jour ou réinstaller le firmware de votre OpenLog, le processus suivant permettra à votre carte d'être opérationnelle.
Tout d'abord, veuillez télécharger l'IDE Arduino v1.6.5. D'autres versions de l'IDE peuvent fonctionner pour compiler le firmware OpenLog, mais nous avons vérifié que cette version est valide.
Ensuite, téléchargez le firmware OpenLog et le bundle de bibliothèques requis.

TÉLÉCHARGER LE MICROLOGICIEL OPENLOG (ZIP)
Une fois les bibliothèques et le firmware téléchargés, installez-les dans Arduino. Si vous ne savez pas comment installer manuellement les bibliothèques dans l'IDE, consultez notre tutoriel : Installation d'une bibliothèque Arduino : Installation manuelle d'une bibliothèque.
Note: Nous utilisons des versions modifiées des bibliothèques SdFat et SerialPort afin de déterminer arbitrairement la taille des tampons TX et RX. OpenLog requiert un tampon TX très petit (0) et un tampon RX aussi grand que possible. L'utilisation conjointe de ces deux bibliothèques modifiées permet d'améliorer les performances d'OpenLog.
Vous recherchez les dernières versions ? Si vous préférez les versions les plus récentes des bibliothèques et du firmware, vous pouvez les télécharger directement depuis les dépôts GitHub dont les liens sont ci-dessous. Les bibliothèques SdFatLib et Serial Port ne sont pas visibles dans le gestionnaire de cartes Arduino ; vous devrez donc les installer manuellement.

  • GitHub : OpenLog > Micrologiciel > OpenLog_Firmware
  • Les bibliothèques Arduino de Bill Greiman
    SdFatLib-bêta
    port série

Ensuite, pour profiter de l'avantagetage des bibliothèques modifiées, modifiez le SerialPort.h file Trouvé dans le répertoire \Arduino\Libraries\SerialPort. Remplacez BUFFERED_TX par 0 et ENABLE_RX_ERROR_CHECKING par 0. Enregistrez le fichier file, et ouvrez l'IDE Arduino.
Si ce n'est pas déjà fait, connectez votre OpenLog à l'ordinateur via une carte FTDI. Veuillez vérifier l'example circuit si vous ne savez pas comment procéder correctement.
Ouvrez le croquis OpenLog que vous souhaitez télécharger sous le menu Outils> Carte, sélectionnez « Arduino/Genuino Uno » et sélectionnez le port COM approprié pour votre carte FTDI sous Outils> Port.
Téléchargez le code.
Et voilà ! Votre OpenLog est maintenant programmé avec le nouveau firmware. Vous pouvez ouvrir un moniteur série et interagir avec l'OpenLog. À la mise sous tension, vous verrez 12> ou 12<. 1 indique que la connexion série est établie, 2 indique que la carte SD a été initialisée avec succès, < indique qu'OpenLog est prêt à enregistrer les données série reçues et > indique qu'OpenLog est prêt à recevoir des commandes.
Croquis du micrologiciel OpenLog
Il existe trois croquis inclus que vous pouvez utiliser sur OpenLog, en fonction de votre application particulière.

  • OpenLog – Ce firmware est fourni par défaut avec OpenLog. L'envoi de la commande ? affichera la version du firmware installée sur l'appareil.
  • OpenLog_Light – Cette version du croquis supprime le mode menu et commande, permettant ainsi d'augmenter la mémoire tampon de réception. C'est une bonne option pour une journalisation à haut débit.
  • OpenLog_Minimal – Le débit en bauds doit être défini dans le code et téléchargé. Ce schéma est recommandé aux utilisateurs expérimentés, mais constitue également la meilleure option pour une journalisation à vitesse maximale.

Jeu de commandes

Vous pouvez interagir avec OpenLog via un terminal série. Les commandes suivantes vous permettront de lire, d'écrire et de supprimer des données. files, ainsi que modifier les paramètres d'OpenLog. Vous devez être en mode Commande pour utiliser les paramètres suivants.
Lorsque l'OpenLog est en mode commande, STAT1 s'active/se désactive à chaque caractère reçu. La LED reste allumée jusqu'à la réception du caractère suivant.

File Manipulation

  • nouveau File – Crée un nouveau file nommé File dans le répertoire courant. Norme 8.3 fileles noms sont pris en charge.
    Par exempleample, « 87654321.123 » est acceptable, tandis que « 987654321.123 » ne l’est pas.
    • Example: nouveau file1.txt
  • ajouter File – Ajouter du texte à la fin de FileLes données série sont ensuite lues à partir de l'UART dans un flux et ajoutées au file. Il n'est pas répercuté sur le terminal série. Si File n'existe pas lorsque cette fonction est appelée, le file sera créé.
    • Example: ajouter un nouveaufile.csv
  • écrire File OFFSET – Écrire du texte sur File à partir de l'emplacement OFFSET dans le fileLe texte est lu ligne par ligne depuis l'UART et renvoyé en retour. Pour quitter cet état, envoyez une ligne vide.
    • Example: écrire logs.txt 516
  • rm File – Supprime File du répertoire courant. Les caractères génériques sont pris en charge.
    • Example:rm README.txt
  • taille File – Taille de sortie de File en octets.
    • Example: taille Log112.csv
    • Sortie : 11
  • lire File + DÉMARRER + TYPE DE LONGUEUR – Affiche le contenu de File en commençant par le DÉBUT et en allant vers la LONGUEUR.
    Si START est omis, l'intégralité file est signalé. Si la longueur est omise, le contenu complet depuis le point de départ est signalé. Si le type est omis, OpenLog affichera par défaut le rapport en ASCII. Il existe trois types de sortie :
    • ASCII = 1
    • HEX = 2
    • BRUT = 3
    Vous pouvez omettre certains arguments de fin. Vérifiez l'exemple suivant.amples.
    Indicateurs de lecture de base + omis :
    • Example: lire LOG00004.txt
    • Sortie : Accéléromètre X=12 Y=215 Z=317
    Lire à partir du début 0 avec une longueur de 5 :
    • Example: lire LOG00004.txt 0 5
    • Sortie : Accél
    Lire à partir de la position 1 avec une longueur de 5 en HEX :
    • Example: lire LOG00004.txt 1 5 2
    • Sortie : 63 63 65 6C
  • Lire à partir de la position 0 avec une longueur de 50 en RAW :
  • • Example: lire LOG00137.txt 0 50 3
  • • Sortie : André– -þ Test de caractères étendu
  • chat File – Rédiger le contenu d’un file en hexadécimal vers le moniteur série pour viewing. Il est parfois utile de voir qu'un file enregistre correctement sans avoir à retirer la carte SD et view le file sur un ordinateur.
    • Example:cat LOG00004.txt
    • Sortie : 00000000: 41 63 65 6c 3a 20 31

Manipulation de répertoire

  • ls – Répertorie tout le contenu du répertoire courant. Les caractères génériques sont pris en charge.
    • Example: ls
    • Sortie : \src
  • Sous-répertoire md – Créer un sous-répertoire dans le répertoire actuel.
    • Example: md Example_Sketches
  • Sous-répertoire cd – Passer au sous-répertoire.
    • Example: cd Hello_World
  • cd .. – Passer à un répertoire inférieur dans l'arborescence. Notez qu'il y a un espace entre « cd » et « .. ». Cela permet à l'analyseur de chaînes de lire la commande cd.
    • Example: cd ..
  • Sous-répertoire rm – Supprime le sous-répertoire. Le répertoire doit être vide pour que cette commande fonctionne.
    • Example:rm temps
  • rm -rf Directory – Supprime le répertoire et tout files'y trouve contenu.
    • Example:rm -rf Bibliothèques

Commandes de fonction de bas niveau

  • ? – Cette commande affichera une liste des commandes disponibles sur OpenLog.
  • disque – Affiche l'identifiant du fabricant de la carte, le numéro de série, la date de fabrication et la taille de la carte. Ex.ample résultat est :
    Type de carte : SD2
    ID du fabricant : 3
    ID OEM : SD
    Produit : SU01G
    Version: 8.0
    Numéro de série : 39723042
    Date de fabrication : 1/2010
    Taille de la carte : 965120 XNUMX Ko
  • init – Réinitialise le système et rouvre la carte SD. Cette option est utile si la carte SD ne répond plus.
  • sync – Synchronise le contenu actuel du tampon avec la carte SD. Cette commande est utile si le tampon contient moins de 512 caractères et que vous souhaitez les enregistrer sur la carte SD.
  • reset – Relance OpenLog à l'emplacement zéro, relance le chargeur de démarrage, puis initialise le code. Cette commande est utile pour modifier la configuration. file, réinitialisez OpenLog et commencez à utiliser la nouvelle configuration. Le redémarrage reste la méthode privilégiée pour réinitialiser la carte, mais cette option est disponible.

Paramètres du système

Ces paramètres peuvent être mis à jour manuellement ou modifiés dans le fichier config.txt file.

  • echo STATE – Modifie l'état de l'écho système et est stocké en mémoire. STATE peut être activé ou désactivé. Lorsqu'il est activé, OpenLog renvoie les données série reçues à l'invite de commande. Lorsqu'il est désactivé, le système ne lit pas les caractères reçus.
    Note: Lors d'une journalisation normale, l'écho est désactivé. Les ressources système nécessaires à la restitution des données reçues sont trop importantes.
  • verbose STATE – Modifie l'état du rapport d'erreur détaillé. STATE peut être activé ou désactivé. Cette commande est stockée en mémoire. En désactivant les erreurs détaillées, OpenLog répondra uniquement par un « ! » en cas d'erreur, plutôt que par une commande inconnue : COMMAND. Le caractère ! est plus facile à analyser pour les systèmes embarqués que l'erreur complète. Si vous utilisez un terminal, laisser « verbose » activé vous permettra de consulter l'intégralité des messages d'erreur.
  • Baud – Cette commande ouvre un menu système permettant de saisir un débit en bauds. Tous les débits compris entre 300 bps et 1 Mbit/s sont pris en charge. La sélection du débit est immédiate et OpenLog nécessite un cycle d'alimentation pour que les paramètres soient pris en compte. Le débit est stocké dans l'EEPROM et chargé à chaque démarrage d'OpenLog. La valeur par défaut est 9600 8N1.

N'oubliez pas : si la carte est bloquée à un débit inconnu, vous pouvez relier RX à la masse et allumer OpenLog. Les LED clignoteront pendant 2 secondes, puis à l'unisson. Mettez OpenLog hors tension et retirez le cavalier. OpenLog est alors réinitialisé à 9600 1 bits/s en appuyant trois fois de suite sur le caractère d'échappement « CTRL-Z ». Cette fonctionnalité peut être désactivée en définissant le bit de priorité d'urgence sur XNUMX.
Voir config.txt pour plus d'informations.

  • set – Cette commande ouvre un menu système permettant de sélectionner le mode de démarrage. Ces réglages s'effectuent à la
    • à la prochaine mise sous tension et sont stockés dans une EEPROM non volatile. Nouveau File Journalisation – Ce mode crée un nouveau file À chaque démarrage d'OpenLog, OpenLog transmet 1 (UART actif), 2 (carte SD initialisée), puis < (OpenLog prêt à recevoir des données). Toutes les données sont enregistrées dans un fichier LOG#####.txt. Le nombre ##### augmente à chaque démarrage d'OpenLog (le maximum est de 65533 XNUMX journaux). Ce nombre est stocké dans l'EEPROM et peut être réinitialisé depuis le menu de configuration.
    Tous les caractères reçus ne sont pas répercutés. Vous pouvez quitter ce mode et passer en mode commande en tapant Ctrl+z (ASCII 26). Toutes les données mises en mémoire tampon seront stockées.

Note: Si trop de journaux ont été créés, OpenLog affichera l'erreur « Trop de journaux ». Quittez ce mode et revenez à l'invite de commandes. La sortie série ressemblera à « 12 ! Trop de journaux ! ».

  • Ajouter File Journalisation – Également connu sous le nom de mode séquentiel, ce mode crée un file appelé SEQLOG.txt s'il n'est pas déjà là, et ajoute toutes les données reçues au fileOpenLog transmettra 12<, moment auquel OpenLog sera prêt à recevoir des données. Les caractères ne sont pas affichés. Vous pouvez quitter ce mode et passer en mode commande en tapant Ctrl+z (ASCII 26). Toutes les données mises en mémoire tampon seront stockées.
  • Invite de commandes : OpenLog transmettra 12>, moment auquel le système sera prêt à recevoir des commandes. Notez que le signe > indique qu'OpenLog est prêt à recevoir des commandes, et non des données. Vous pouvez créer files et ajouter des données à files, mais cela nécessite une analyse sérielle (pour la vérification des erreurs), nous ne définissons donc pas ce mode par défaut.
  • Réinitialiser Nouveau File Numéro – Ce mode réinitialisera le journal file numéro dans LOG000.txt. Ceci est utile si vous avez récemment vidé une carte microSD et souhaitez conserver le journal. file des chiffres à recommencer.
  • Nouveau caractère d'échappement – ​​Cette option permet de saisir un caractère tel que CTRL+z ou $ et de le définir comme nouveau caractère d'échappement. Ce paramètre est réinitialisé à CTRL+z lors d'une réinitialisation d'urgence.
  • Nombre de caractères d'échappement – ​​Cette option permet à l'utilisateur de saisir un caractère (par exemple, 1, 3 ou 17), mettant à jour le nombre de caractères d'échappement nécessaires pour passer en mode commande. Par exempleampEn saisissant 8, l'utilisateur devra appuyer huit fois sur Ctrl+z pour accéder au mode commande. Ce paramètre est réinitialisé à 3 lors d'une réinitialisation d'urgence.

Explication des caractères d'échappement : OpenLog nécessite trois appuis sur « CTRL+z » pour passer en mode commande afin d'éviter toute réinitialisation accidentelle de la carte lors du téléchargement d'un nouveau code depuis l'IDE Arduino. Il est possible que la carte détecte le caractère « CTRL+z » lors du démarrage (un problème rencontré dans les premières versions du firmware OpenLog). Cette solution vise donc à éviter ce problème. Si vous pensez que votre carte a été bloquée à cause de ce problème, vous pouvez toujours effectuer une réinitialisation d'urgence en maintenant la broche RX à la masse lors de la mise sous tension.

Configuration File

Si vous préférez ne pas utiliser le terminal série pour modifier les paramètres de votre OpenLog, vous pouvez également mettre à jour les paramètres en modifiant le fichier CONFIG.TXT file.
Note: Cette fonctionnalité est uniquement disponible avec la version 1.6 ou ultérieure du firmware. Si vous avez acheté un OpenLog après 2012, vous utiliserez la version 1.6 ou ultérieure du firmware.
Pour ce faire, vous aurez besoin d'un lecteur de carte microSD et d'un éditeur de texte. Ouvrez le fichier config.txt. file (la capitalisation du file (le nom n'a pas d'importance) et configurez-le ! Si vous n'avez jamais alimenté votre OpenLog avec la carte SD, vous pouvez également créer manuellement le file. Si vous avez mis sous tension l'OpenLog avec la carte microSD insérée précédemment, vous devriez voir quelque chose comme ce qui suit lorsque vous lisez la carte microSD.Cartes de développement SparkFun DEV-13712 - éditeur de texteOpenLog crée un config.txt et un LOG0000.txt file à la première mise sous tension.
La configuration par défaut file comporte une ligne de paramètres et une ligne de définitions.Cartes de développement SparkFun DEV-13712 - éditeur de texte 1Configuration par défaut file écrit par OpenLog.
Notez qu'il s'agit de caractères visibles normaux (il n'y a pas de valeurs non visibles ou binaires) et que chaque valeur est séparée par une virgule.
Les paramètres sont définis comme suit :

  • Baud : débit de communication. La valeur par défaut est 9600 2400 bps. Les valeurs compatibles avec l'IDE Arduino sont 4800 9600, 19200 38400, 57600 115200, XNUMX XNUMX, XNUMX XNUMX, XNUMX XNUMX et XNUMX XNUMX. Vous pouvez utiliser d'autres débits, mais vous ne pourrez pas communiquer avec OpenLog via le moniteur série de l'IDE Arduino.
  • escape : La valeur ASCII (au format décimal) du caractère d'échappement. 26 est CTRL+z et est la valeur par défaut. 36 est $ et est un caractère d'échappement couramment utilisé.
  • esc# : nombre de caractères d'échappement requis. Par défaut, il est de trois ; vous devez donc appuyer trois fois sur le caractère d'échappement pour passer en mode commande. Les valeurs acceptables sont comprises entre 0 et 254. La valeur 0 désactive complètement la vérification des caractères d'échappement.
  • mode : mode système. OpenLog démarre par défaut en mode Nouveau journal (0). Les valeurs acceptables sont : 0 = Nouveau journal, 1 = Journal séquentiel, 2 = Mode commande.
  • Verbe : Mode verbeux. Les messages d'erreur détaillés sont activés par défaut. La valeur 1 active les messages d'erreur détaillés (comme « commande inconnue : remove ! »). La valeur 0 désactive les erreurs détaillées, mais renvoie un « ! » en cas d'erreur. Désactiver le mode verbeux est pratique pour gérer les erreurs d'un système embarqué.
  • echo : Mode écho. En mode commande, les caractères sont répercutés par défaut. La valeur 0 désactive l'écho des caractères. Cette désactivation est pratique pour gérer les erreurs et éviter que les commandes envoyées soient répercutées dans OpenLog.
  • ignoreRX : Priorité d'urgence. Normalement, OpenLog effectue une réinitialisation d'urgence lorsque la broche RX est mise à l'état bas lors de la mise sous tension. La valeur 1 désactive la vérification de la broche RX lors de la mise sous tension. Cela peut être utile pour les systèmes qui maintiennent la ligne RX à l'état bas pour diverses raisons. Si la priorité d'urgence est désactivée, vous ne pourrez pas forcer le retour de l'unité à 9600 XNUMX bps, ni la configuration. file sera le seul moyen de modifier le débit en bauds.

Comment OpenLog modifie la configuration File
Il existe cinq situations différentes pour que OpenLog modifie le fichier config.txt file.

  • Configuration file trouvé : Lors de la mise sous tension, OpenLog recherchera un fichier config.txt file. Si le file est trouvé, OpenLog utilisera les paramètres inclus et écrasera tous les paramètres système précédemment stockés.
  • Aucune configuration file trouvé : si OpenLog ne trouve pas le fichier config.txt file OpenLog créera ensuite le fichier config.txt et y enregistrera les paramètres système actuellement enregistrés. Ainsi, si vous insérez une carte microSD nouvellement formatée, votre système conservera ses paramètres actuels.
  • Configuration corrompue file trouvé : OpenLog effacera le fichier config.txt corrompu file, et réécrira à la fois les paramètres EEPROM internes et les paramètres config.txt file à l'état connu de 9600,26,3,0,1,1,0 .
  • Valeurs illégales dans la configuration file: Si OpenLog découvre des paramètres contenant des valeurs illégales, OpenLog écrasera les valeurs corrompues dans config.txt file avec les paramètres système EEPROM actuellement stockés.
  • Modifications via l'invite de commande : si les paramètres système sont modifiés via l'invite de commande (soit via une connexion série, soit via les commandes série du microcontrôleur), ces modifications seront enregistrées à la fois dans l'EEPROM du système et dans le fichier config.txt file.
  • Réinitialisation d'urgence : si l'OpenLog est mis sous tension puis sous tension avec un cavalier entre RX et GND, et que le bit de remplacement d'urgence est défini sur 0 (permettant la réinitialisation d'urgence), OpenLog réécrira à la fois les paramètres EEPROM internes et les paramètres config.txt file à l'état connu de 9600,26,3,0,1,1,0 .

Dépannage

Il existe plusieurs options différentes pour vérifier si vous rencontrez des problèmes de connexion via le moniteur série, des problèmes de caractères supprimés dans les journaux ou si vous combattez un OpenLog bloqué.
Vérifier le comportement de la LED STAT1
La LED STAT1 affiche un comportement différent pour deux erreurs courantes différentes.

  • 3 clignotements : Échec de l'initialisation de la carte microSD. Vous devrez peut-être formater la carte en FAT/FAT16 sur un ordinateur.
  • 5 clignotements : OpenLog est passé à un nouveau débit en bauds et doit être redémarré.

Vérifiez la structure des sous-répertoires
Si vous utilisez l'ex OpenLog.ino par défautampOpenLog ne prend en charge que deux sous-répertoires. Vous devrez modifier la valeur de FOLDER_TRACK_DEPTH de 2 pour correspondre au nombre de sous-répertoires à prendre en charge. Une fois cette opération effectuée, recompilez le code et téléchargez le firmware modifié.
Vérifiez le nombre de Files dans le répertoire racine
OpenLog ne prendra en charge que jusqu'à 65,534 XNUMX journaux files dans le répertoire racine. Nous vous recommandons de reformater votre carte microSD pour accélérer la journalisation.
Vérifiez la taille de votre firmware modifié
Si vous écrivez un croquis personnalisé pour OpenLog, vérifiez que votre croquis ne dépasse pas 32,256 500. Dans ce cas, il empiètera sur les XNUMX octets supérieurs de la mémoire Flash, utilisés par le chargeur de démarrage série Optiboot.
Revérifier File Noms
Tous file Les noms doivent être alphanumériques. MyLOG1.txt est correct, mais Hi !e _.txt risque de ne pas fonctionner.
Utiliser 9600 bauds
OpenLog fonctionne sur l'ATmega328 et dispose d'une quantité limitée de RAM (2048 octets). Lorsque vous envoyez des caractères série à OpenLog, ceux-ci sont mis en mémoire tampon. La spécification simplifiée du groupe SD autorise un temps d'enregistrement d'un bloc de données en mémoire flash pouvant atteindre 250 ms (section 4.6.2.2 Écriture).
À 9600 960 bps, cela représente 10 octets (1.04 bits par octet) par seconde, soit 512 ms par octet. OpenLog utilise actuellement un tampon de réception de 50 octets, ce qui lui permet de stocker environ 9600 ms de caractères. Cela lui permet de recevoir tous les caractères arrivant à XNUMX XNUMX bps. Plus le débit en bauds est élevé, plus la durée de la mémoire tampon diminue.
Temps de dépassement de la mémoire tampon OpenLog

Débit en bauds Temps par octet  Temps jusqu'à ce que la mémoire tampon soit dépassée
9600 bps 1.04 ms 532 ms
57600 bps 0.174 ms 88 ms
115200 bps 0.087 ms 44 ms

De nombreuses cartes SD ont un temps d'enregistrement supérieur à 250 ms. Ce temps peut être affecté par la classe de la carte et la quantité de données déjà stockées. La solution consiste à utiliser un débit en bauds inférieur ou à augmenter l'intervalle entre les envois de caractères à un débit supérieur.
Formatez votre carte MicroSD
N'oubliez pas d'utiliser une carte avec peu ou pas de files dessus. Une carte microSD avec 3.1 Go de ZIP fileLes cartes mémoire ou MP3 ont un temps de réponse plus lent qu'une carte vide.
Si vous n'avez pas formaté votre carte microSD sur un système d'exploitation Windows, reformatez la carte microSD et créez un DOS filesystème sur la carte SD.
Échanger des cartes MicroSD
Il existe de nombreux fabricants de cartes, de cartes re-étiquetées, de tailles et de classes de cartes, et elles peuvent toutes ne pas fonctionner correctement. Nous utilisons généralement une carte microSD de classe 8 de 4 Go, qui fonctionne bien à 9600 6 bps. Si vous avez besoin de débits en bauds plus élevés ou d'un espace de stockage plus important, vous pouvez essayer des cartes de classe XNUMX ou supérieure.
Ajouter des délais entre les écritures de caractères
En ajoutant un petit délai entre les instructions Serial.print(), vous pouvez donner à OpenLog une chance d'enregistrer son état actuel.
tampon.
Par exempleample:
Série.begin(115200);
pour(int i = 1 ; i < 10 ; i++) {
Serial.print(i, DEC);
Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”);
}

L'enregistrement peut ne pas être correct, car de nombreux caractères sont envoyés les uns à côté des autres. L'insertion d'un léger délai de 15 ms entre les écritures de caractères volumineux permettra à OpenLog d'enregistrer sans perdre de caractères.
Série.begin(115200);
pour(int i = 1 ; i < 10 ; i++) {
Serial.print(i, DEC);
Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”);
délai(15);
}

Ajout de la compatibilité du moniteur série Arduino
Si vous essayez d'utiliser OpenLog avec la bibliothèque série intégrée ou la bibliothèque SoftwareSerial, vous pourriez rencontrer des problèmes avec le mode commande. Serial.println() envoie à la fois un retour à la ligne et un retour chariot. Il existe deux commandes alternatives pour résoudre ce problème.
La première consiste à utiliser la commande \r (retour chariot ASCII) :
Serial.print(“TEXTE\r”);
Alternativement, vous pouvez envoyer la valeur 13 (retour chariot décimal) :
Serial.print(“TEXTE”);
Serial.write(13);

Réinitialisation d'urgence
N'oubliez pas que si vous devez réinitialiser l'OpenLog à un état par défaut, vous pouvez réinitialiser la carte en reliant la broche RX à GND, en mettant l'OpenLog sous tension, en attendant que les LED commencent à clignoter à l'unisson, puis en mettant l'OpenLog hors tension et en retirant le cavalier.
Si vous avez modifié le bit de remplacement d'urgence à 1, vous devrez modifier la configuration file, car la réinitialisation d'urgence ne fonctionnera pas.
Vérifiez auprès de la communauté
Si vous rencontrez toujours des problèmes avec OpenLog, veuillez consulter les problèmes actuels et résolus sur notre dépôt GitHub ici. Une large communauté travaille sur OpenLog ; il est donc probable que quelqu'un ait trouvé une solution au problème que vous rencontrez.

Ressources et aller plus loin

Maintenant que vous avez enregistré vos données avec OpenLog, vous pouvez configurer des projets à distance et surveiller toutes les données entrantes. Pensez à créer votre propre projet de science citoyenne, ou même un système de suivi pour animaux de compagnie pour voir ce que fait Fluffy lorsqu'il est en déplacement !
Consultez ces ressources supplémentaires pour le dépannage, l’aide ou l’inspiration pour votre prochain projet.

  • OpenLog GitHub
  • Projet Illumitune
  • Connexion du capteur de lumière LilyPad
  • BadgerHack : module complémentaire pour capteur de sol
  • Premiers pas avec OBD-II
  • Vernier Photogate

Besoin d'inspiration ? Découvrez quelques tutoriels similaires :
Capteur de niveau d'eau à distance Photon
Apprenez à construire un capteur de niveau d'eau à distance pour un réservoir de stockage d'eau et à automatiser une pompe en fonction des lectures !
Capteur de niveau d'eau à distance Photon
Apprenez à construire un capteur de niveau d'eau à distance pour un réservoir de stockage d'eau et à automatiser une pompe en fonction des lectures !
Enregistrement des données dans Google Sheets avec Tessel 2
Ce projet explique comment enregistrer des données dans Google Sheets de deux manières : en utilisant IFTTT avec un web connexion ou une clé USB et « sneakernet » sans.
Graphique des données des capteurs avec Python et Matplotlib
Utilisez matplotlib pour créer un graphique en temps réel des données de température collectées à partir d'un capteur TMP102 connecté à un Raspberry Pi.
Si vous avez des commentaires sur le tutoriel, veuillez visiter les commentaires ou contacter notre équipe d'assistance technique à TechSupport@sparkfun.com.

Logo SparkFun

Documents / Ressources

Cartes de développement SparkFun DEV-13712 [pdf] Guide de l'utilisateur
Cartes de développement SparkFun DEV-13712, DEV-11114, DEV-09873, CAB-12016, COM-13833, COM-13004, PRT-00115, PRT-08431, DEV-13712, DEV-13712, Cartes de développement SparkFun, Cartes de développement, Cartes

Références

Laisser un commentaire

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués *