Logo SparkFun

SparkFun DEV-13712 Particules photoniques avec trous pour soudure

SparkFun-DEV-13712-Particule-Photon-Avec-Trous-Pour-Soudure-produit

Caractéristiques

  • Nom du produit : Enregistreur de données OpenLog
  • Modèle : DEV-13712
  • Entrée d'alimentation : 3.3 V-12 V (recommandé 3.3 V-5 V)
  • Volume d'entrée RXItage : 2.0 V-3.8 V
  • Volume de sortie TXOtage : 3.3 V
  • Consommation de courant au repos : environ 2 mA à 5 mA (sans carte microSD), environ 5 mA à 6 mA (avec carte microSD)
  • Consommation de courant d'écriture active : environ 20 à 23 mA (avec carte microSD)

Instructions d'utilisation du produit

Matériel requis :

  • Arduino Pro Mini 328 – 3.3 V/8 MHz
  • Breakout de base SparkFun FTDI – 3.3 V
  • Câble USB SparkFun Cerberus – 6 m
  • Carte microSD avec adaptateur – 16 Go (Classe 10)
  • Lecteur USB microSD
  • Les têtes de file féminines
  • Câbles de démarrage Premium 6 M/M, paquet de 10
  • Embases mâles détachables – Angle droit

Lectures recommandées :

Matériel terminéview:
OpenLog s'exécute avec les paramètres suivants :

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

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.

SparkFun OpenLog
DEV-13712

SparkFun-DEV-13712-Particule-Photon-Avec-Trous-Pour-Soudure-fig- (1)

SparkFun 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

SparkFun-DEV-13712-Particule-Photon-Avec-Trous-Pour-Soudure-fig- (2)SparkFun-DEV-13712-Particule-Photon-Avec-Trous-Pour-Soudure-fig- (3)

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.
  • Communication série Concepts de communication série asynchrone : paquets, niveaux de signal, débits en bauds, UART et plus encore !
  • 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.
  • 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

SparkFun-DEV-13712-Particule-Photon-Avec-Trous-Pour-Soudure-fig- (4)

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 cristal intégré. L'ATmega328 intègre le chargeur de démarrage Optiboot, ce qui assure la compatibilité de l'OpenLog avec le
Paramètres de la carte « Arduino Uno » dans l’IDE ​​Arduino.

SparkFun-DEV-13712-Particule-Photon-Avec-Trous-Pour-Soudure-fig- (5)

Interface

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.

SparkFun-DEV-13712-Particule-Photon-Avec-Trous-Pour-Soudure-fig- (6)

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.

SparkFun-DEV-13712-Particule-Photon-Avec-Trous-Pour-Soudure-fig- (7)

Pour 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.

  • SparkFun-DEV-13712-Particule-Photon-Avec-Trous-Pour-Soudure-fig- (8)La 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 l'OpenLog sont stockées sur la carte microSD. L'OpenLog est compatible avec les cartes microSD présentant les caractéristiques suivantes :

  • 64MB à 32GB
  • FAT16 ou FAT32

SparkFun-DEV-13712-Particule-Photon-Avec-Trous-Pour-Soudure-fig- (9)

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.

SparkFun-DEV-13712-Particule-Photon-Avec-Trous-Pour-Soudure-fig- (10)

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 sur l'OpenLog et un connecteur femelle sur le FTDI, vous aurez besoin de fils de liaison M/F pour vous connecter.

SparkFun-DEV-13712-Particule-Photon-Avec-Trous-Pour-Soudure-fig- (11)

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 :

SparkFun-DEV-13712-Particule-Photon-Avec-Trous-Pour-Soudure-fig- (12)

Une fois les connexions établies entre l'OpenLog et le FTDI Basic, branchez votre carte FTDI à un câble USB et à votre ordinateur. Ouvrez un terminal série, connectez-le 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.

SparkFun-DEV-13712-Particule-Photon-Avec-Trous-Pour-Soudure-fig- (13)

Bien 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.

Tout d'abord, vous devrez 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 votre Pro Mini programmé, vous pouvez retirer la carte FTDI et la remplacer par l'OpenLog. Assurez-vous de connecter les broches BLK sur le Pro Mini et l'OpenLog (les broches GRN des deux modèles correspondront également si tout 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 avec l'Arduino Pro Mini et l'Arduino Pro devraient ressembler à ceci : 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.

SparkFun-DEV-13712-Particule-Photon-Avec-Trous-Pour-Soudure-fig- (14)

Notez que la connexion est directe avec l'OpenLog « à l'envers » (avec la microSD vers le haut).

Note: 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 exige que le tampon TX soit très petit (0) et que le tampon RX soit le plus grand 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.hh file se trouve 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.

  • 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 du 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 le 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 le File à partir de l'emplacement OFFSET dans le fileLe texte est lu ligne par ligne depuis l'UART et renvoyé. Pour quitter cet état, envoyez une ligne vide.
    • Example: écrire logs.txt 516
  • rm File – Supprime le 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 DÉPART et en poursuivant sur la LONGUEUR. Si DÉPART est omis, la totalité 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 : Accel
  • 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ère é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ée 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.
  • Synchroniser – 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.
  • Réinitialiser – Relance OpenLog à l'emplacement zéro, réexécute le chargeur de démarrage, puis le code d'initialisation. Cette commande est utile si vous devez 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 ou modifiés manuellement dans le fichier config.txt file.

  • Écho d'ÉTAT – Modifie l'état du système et est stocké en mémoire. L'état 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.

  • ÉTAT détaillé – Modifie l'état du rapport d'erreur détaillé. ÉTAT 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 : COMMANDE.D..TLes caractères he sont plus faciles à analyser pour les systèmes embarqués que l'erreur complète. Si vous utilisez un terminal, laisser l'option détaillée activée vous permettra de voir 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.

Souviens-toi: Si la carte est bloquée à un débit inconnu, vous pouvez relier RX à GND 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 bps en appuyant trois fois de suite sur le caractère d'échappement « CTRL-Z ». Cette fonctionnalité peut être annulée en définissant le bit de priorité d'urgence sur XNUMX. Consultez le fichier config.txt pour plus d'informations.

  • Définir – Cette commande ouvre un menu système permettant de sélectionner le mode de démarrage. Ces paramètres seront appliqués au prochain démarrage et sont stockés dans une mémoire 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 (maximum : 65533 26 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 reproduits. Vous pouvez quitter ce mode et passer en mode commande en tapant CTRL+z (ASCII XNUMX). Toutes les données mises en mémoire tampon sont 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.SparkFun-DEV-13712-Particule-Photon-Avec-Trous-Pour-Soudure-fig- (15)OpenLog 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.SparkFun-DEV-13712-Particule-Photon-Avec-Trous-Pour-Soudure-fig- (16)La configuration par défaut file a été é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 bits/s. 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.
  • Échap : e La valeur ASCII (au format décimal) du caractère d'échappement. 26 correspond à CTRL + z et est la valeur par défaut. 36 correspond à $ et est un caractère d'échappement couramment utilisé.
  • Échap # : 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 acceptées sont comprises entre 0 et 254. La valeur 0 désactive complètement la vérification des caractères d'échappement.
  • 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é.
  • Écho : Mode écho. En mode commande, les caractères sont répercutés par défaut. Régler ce paramètre à 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.II.
  • iignoreRX - Remplacement 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. Régler ce paramètre à 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 le remplacement d'urgence est désactivé, vous ne pourrez pas forcer l'unité à revenir à 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 _ .txtt 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 fichiers .s ou MP3 ont un temps de réponse plus lent qu'une carte vide. Si vous n'avez pas formaté votre carte microSD sous Windows, reformatez-la et créez un fichier 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 tampon actuel.
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);
    for(int i = 1 ; i < 10 ; i++) { Serial.print(i, DEC); Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”); delay(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 !
  • Guide du projet Blynk Board
    Une série de projets Blynk que vous pouvez configurer sur la carte Blynk sans jamais la reprogrammer.
  • 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.

Questions fréquemment posées

Quelle est la puissance d'entrée recommandée pour l'OpenLog ?

L'alimentation d'entrée recommandée pour l'OpenLog est comprise entre 3.3 V et 5 V.

Quelle quantité de courant l'OpenLog consomme-t-il lorsqu'il est inactif ?

L'OpenLog consomme environ 2 mA à 5 mA lorsqu'il est inactif sans carte microSD, et environ 5 mA à 6 mA lorsqu'une carte microSD est insérée.

Quel est le but de la carte microSD USB Reaaboutn pour OpenLog ?

Le lecteur USB microSD permet un transfert facile des données de la carte microSD utilisée avec l'OpenLog vers un ordinateur.

Documents / Ressources

SparkFun DEV-13712 Particules photoniques avec trous pour soudure [pdf] Guide de l'utilisateur
DEV-13712, DEV-13955, DEV-13712 Particules photoniques avec trous pour soudure, DEV-13712, Particules photoniques avec trous pour soudure, Trous pour soudure, Pour soudure, Soudure

Références

Laisser un commentaire

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