SparkFun-Logo

SparkFun DEV-13712 Partikelphoton mit Löchern zum Löten

SparkFun-DEV-13712-Particle-Photon-With-Löcher-For-Solding-Produkt

Technische Daten

  • Produktname: OpenLog-Datenlogger
  • Modell: DEV-13712
  • Stromeingang: 3.3 V – 12 V (empfohlen 3.3 V – 5 V)
  • RXI-Eingangslautstärketage: 2.0V-3.8V
  • TXO-Ausgangslautstärketage: 3.3 V
  • Stromaufnahme im Leerlauf: ~2 mA–5 mA (ohne microSD-Karte), ~5 mA–6 mA (mit microSD-Karte)
  • Stromaufnahme beim aktiven Schreiben: ~20–23 mA (mit microSD-Karte)

Anweisungen zur Produktverwendung

Benötigte Materialien:

  • Arduino Pro Mini 328 – 3.3 V/8 MHz
  • SparkFun FTDI Basic Breakout – 3.3 V
  • SparkFun Cerberus USB-Kabel – 6 Fuß
  • microSD-Karte mit Adapter – 16 GB (Klasse 10)
  • microSD-USB-Lesegerät
  • Buchsenleisten
  • Überbrückungskabel Premium 6 M/M 10er-Pack
  • Abreißbare Stiftleisten – rechtwinklig

Leseempfehlungen:

Hardware überview:
Das OpenLog läuft mit den folgenden Einstellungen:

VCC-Eingang RXI-Eingang TXO-Ausgabe Leerlaufstromaufnahme Stromverbrauch beim aktiven Schreiben
3.3 V – 12 V (empfohlen 3.3 V – 5 V) 2.0 V bis 3.8 V 3.3 V ~2 mA–5 mA (ohne microSD-Karte), ~5 mA–6 mA (mit microSD-Karte) ~20–23 mA (mit/microSD-Karte)

Einführung

Achtung! Dieses Tutorial behandelt das OpenLog für serielles UART [DEV-13712]. Wenn Sie Qwiic OpenLog für IC [DEV-15164] verwenden, lesen Sie bitte den Qwiic OpenLog Hookup Guide.

Der OpenLog Data Logger ist eine benutzerfreundliche Open-Source-Lösung zur Protokollierung serieller Daten aus Ihren Projekten. OpenLog bietet eine einfache serielle Schnittstelle zum Protokollieren von Daten aus einem Projekt auf einer microSD-Karte.

SparkFun OpenLog
DEV-13712

SparkFun-DEV-13712-Particle-Photon-Mit-Löchern-Zum-Löten-Abb.- (1)

SparkFun OpenLog mit Headern
DEV-13955

Kein Produkt gefunden

Benötigte Materialien
Um dieses Tutorial vollständig durcharbeiten zu können, benötigst du die folgenden Teile. Je nachdem, was du bereits hast, benötigst du möglicherweise nicht alles. Lege die Teile in deinen Warenkorb, lies die Anleitung durch und passe den Warenkorb gegebenenfalls an.

OpenLog-Anschlusshandbuch

SparkFun-Wunschliste

SparkFun-DEV-13712-Particle-Photon-Mit-Löchern-Zum-Löten-Abb.- (2)SparkFun-DEV-13712-Particle-Photon-Mit-Löchern-Zum-Löten-Abb.- (3)

Empfohlene Lektüre
Wenn Sie mit den folgenden Konzepten nicht vertraut sind oder sich damit nicht auskennen, empfehlen wir Ihnen, diese durchzulesen, bevor Sie mit dem OpenLog Hookup Guide fortfahren.

  • So löten Sie: Durchstecklöten. Dieses Tutorial behandelt alles, was Sie über das Durchstecklöten wissen müssen.
  • Serielle Kommunikation Konzepte der asynchronen seriellen Kommunikation: Pakete, Signalpegel, Baudraten, UARTs und mehr!
  • Serielle Peripherieschnittstelle (SPI) SPI wird häufig verwendet, um Mikrocontroller mit Peripheriegeräten wie Sensoren, Schieberegistern und SD-Karten zu verbinden.
  • Grundlagen serieller Terminals Dieses Tutorial zeigt Ihnen, wie Sie mithilfe verschiedener Terminalemulatoranwendungen mit Ihren seriellen Geräten kommunizieren.

Hardware überview

Leistung
Das OpenLog läuft mit den folgenden Einstellungen:

OpenLog-Leistungsbewertungen

SparkFun-DEV-13712-Particle-Photon-Mit-Löchern-Zum-Löten-Abb.- (4)

Die Stromaufnahme des OpenLog beträgt beim Schreiben auf eine microSD-Karte etwa 20 mA bis 23 mA. Je nach Größe der microSD-Karte und Hersteller kann die aktive Stromaufnahme beim Schreiben auf die Speicherkarte variieren. Eine Erhöhung der Baudrate erhöht ebenfalls den Stromverbrauch.

Mikrocontroller
Das OpenLog läuft auf einem integrierten ATmega328 mit 16 MHz, dank des integrierten Quarzes. Der ATmega328 ist mit dem Optiboot-Bootloader ausgestattet, wodurch das OpenLog kompatibel ist mit dem
„Arduino Uno“-Boardeinstellungen in der Arduino IDE.

SparkFun-DEV-13712-Particle-Photon-Mit-Löchern-Zum-Löten-Abb.- (5)

Schnittstelle

Serieller UART
Die primäre Schnittstelle zum OpenLog ist der FTDI-Header am Platinenrand. Dieser Header ist für den direkten Anschluss an einen Arduino Pro oder Pro Mini vorgesehen, sodass der Mikrocontroller die Daten über eine serielle Verbindung an das OpenLog senden kann.

SparkFun-DEV-13712-Particle-Photon-Mit-Löchern-Zum-Löten-Abb.- (6)

Warnung! Aufgrund der Pin-Anordnung, die es mit den Arduinos kompatibel macht, kann es nicht direkt an eine FTDI-Breakout-Platine angeschlossen werden.

SparkFun-DEV-13712-Particle-Photon-Mit-Löchern-Zum-Löten-Abb.- (7)

Weitere Informationen finden Sie im nächsten Abschnitt zum Hardwareanschluss.

SPI

Am gegenüberliegenden Ende der Platine befinden sich außerdem vier herausgeführte SPI-Testpunkte. Mit diesen können Sie den Bootloader des ATmega328 neu programmieren.

  • SparkFun-DEV-13712-Particle-Photon-Mit-Löchern-Zum-Löten-Abb.- (8)Das neueste OpenLog (DEV-13712) führt diese Pins in kleineren, durchkontaktierten Löchern aus. Wenn Sie einen ISP zum Neuprogrammieren oder Hochladen eines neuen Bootloaders in das OpenLog benötigen, können Sie Pogo-Pins zur Verbindung mit diesen Testpunkten verwenden.
  • Die letzte Schnittstelle für die Kommunikation mit OpenLog ist die microSD-Karte selbst. Für die Kommunikation benötigt die microSD-Karte SPI-Pins. Hier werden nicht nur die Daten von OpenLog gespeichert, sondern Sie können auch die OpenLog-Konfiguration über die Datei config.txt aktualisieren. file auf der microSD-Karte.
    Micro SD Karte

Alle vom OpenLog aufgezeichneten Daten werden auf der microSD-Karte gespeichert. OpenLog funktioniert mit microSD-Karten, die über folgende Funktionen verfügen:

  • 64MB zu 32GB
  • FAT16 oder FAT32

SparkFun-DEV-13712-Particle-Photon-Mit-Löchern-Zum-Löten-Abb.- (9)

Auf dem OpenLog befinden sich zwei Status-LEDs, die Sie bei der Fehlerbehebung unterstützen.

  • STAT1 – Diese blaue Anzeige-LED ist am Arduino D5 (ATmega328 PD5) angeschlossen und schaltet sich ein bzw. aus, wenn ein neues Zeichen empfangen wird. Diese LED blinkt, wenn die serielle Kommunikation funktioniert.
  • STAT2 – Diese grüne LED ist mit dem Arduino D13 (SPI Serial Clock Line/ ATmega328 PB5) verbunden. Sie blinkt nur, wenn die SPI-Schnittstelle aktiv ist. Sie blinkt, wenn OpenLog 512 Bytes auf der microSD-Karte speichert.

SparkFun-DEV-13712-Particle-Photon-Mit-Löchern-Zum-Löten-Abb.- (10)

Hardware-Anschluss

Es gibt zwei Hauptmethoden, um Ihr OpenLog an eine Schaltung anzuschließen. Sie benötigen zum Anschluss einige Stiftleisten oder Kabel. Stellen Sie sicher, dass Sie die Verbindung mit der Platine verlöten, um eine sichere Verbindung zu gewährleisten.

Grundlegende serielle Verbindung

Tipp: Wenn Sie einen Buchsenstecker auf dem OpenLog und einen Buchsenstecker auf dem FTDI haben, benötigen Sie zum Verbinden M/F-Überbrückungskabel.

SparkFun-DEV-13712-Particle-Photon-Mit-Löchern-Zum-Löten-Abb.- (11)

Diese Hardwareverbindung ist für die Schnittstelle mit einem OpenLog vorgesehen, wenn Sie die Karte neu programmieren oder Daten über eine einfache serielle Verbindung protokollieren müssen.

Stellen Sie die folgenden Verbindungen her:
OpenLog → 3.3 V FTDI Basic Breakout

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

Beachten Sie, dass es sich nicht um eine direkte Verbindung zwischen FTDI und OpenLog handelt – Sie müssen die TXO- und RXI-Pin-Verbindungen vertauschen.

Ihre Verbindungen sollten wie folgt aussehen:

SparkFun-DEV-13712-Particle-Photon-Mit-Löchern-Zum-Löten-Abb.- (12)

Sobald die Verbindungen zwischen OpenLog und FTDI Basic hergestellt sind, schließen Sie Ihre FTDI-Karte per USB-Kabel an Ihren Computer an. Öffnen Sie ein serielles Terminal, verbinden Sie es mit dem COM-Port Ihres FTDI Basic und legen Sie los!

Projekt-Hardware-Verbindung

Tipp: Wenn Sie die Buchsenleisten auf dem OpenLog verlötet haben, können Sie Steckerleisten an den Arduino Pro Mini löten, um die Platinen ohne Kabel miteinander zu verbinden.

SparkFun-DEV-13712-Particle-Photon-Mit-Löchern-Zum-Löten-Abb.- (13)

Die serielle Schnittstelle zum OpenLog ist zwar für die Neuprogrammierung oder das Debuggen wichtig, doch die größte Stärke von OpenLog liegt in eingebetteten Projekten. Mit dieser allgemeinen Schaltung empfehlen wir Ihnen, Ihr OpenLog an einen Mikrocontroller (in diesem Fall einen Arduino Pro Mini) anzuschließen, der serielle Daten an das OpenLog ausgibt.

Zuerst müssen Sie den Code auf Ihren Pro Mini hochladen, den Sie ausführen möchten. Bitte sehen Sie sich die Arduino Sketches für einige Beispiele an.ampDateicode, den Sie verwenden können.

Notiz: Wenn Sie nicht sicher sind, wie Sie Ihren Pro Mini programmieren, sehen Sie sich bitte hier unser Tutorial an.

Verwendung des Arduino Pro Mini 3.3 V

  • Dieses Tutorial ist Ihr Leitfaden für alles rund um den Arduino Pro Mini. Es erklärt, was er ist, was er nicht ist und wie Sie ihn verwenden.
  • Sobald Sie Ihren Pro Mini programmiert haben, können Sie die FTDI-Platine entfernen und durch das OpenLog ersetzen. Achten Sie darauf, die mit BLK beschrifteten Pins sowohl am Pro Mini als auch am OpenLog zu verbinden (die mit GRN beschrifteten Pins an beiden passen bei korrekter Ausführung ebenfalls zusammen).
  • Wenn Sie OpenLog nicht direkt an den Pro Mini anschließen können (aufgrund nicht passender Header oder anderer Platinen im Weg), können Sie Überbrückungskabel verwenden und die folgenden Verbindungen herstellen.

OpenLog → Arduino Pro/Arduino Pro Mini

  • Masse → Masse
  • Masse → Masse
  • VCC → VCC
  • TXO → RXI
  • RXI → TXO
  • DTR → DTR

Sobald Sie fertig sind, sollten Ihre Verbindungen mit dem Arduino Pro Mini und dem Arduino Pro wie folgt aussehen. Das Fritzing-Diagramm zeigt die OpenLogs mit gespiegelten Headern. Wenn Sie den microSD-Sockel im Verhältnis zur Oberseite des Arduino umdrehen, view, sie sollten mit dem Programmierheader wie ein FTDI übereinstimmen.

SparkFun-DEV-13712-Particle-Photon-Mit-Löchern-Zum-Löten-Abb.- (14)

Beachten Sie, dass die Verbindung ein direkter Schuss ist, wenn das OpenLog „auf dem Kopf“ steht (mit der microSD nach oben).

Notiz: Da Vcc und GND zwischen OpenLog und Arduino durch die Header belegt sind, müssen Sie die Stromversorgung an die anderen verfügbaren Pins des Arduinos anschließen. Alternativ können Sie Kabel an die freiliegenden Stromanschlüsse auf beiden Platinen anlöten.

Schalten Sie Ihr System ein, und schon können Sie mit der Protokollierung beginnen!

Arduino-Skizzen

Es gibt sechs verschiedene ExampEs sind Skizzen enthalten, die Sie auf dem Arduino verwenden können, wenn eine Verbindung zu einem OpenLog besteht.

  • OpenLog_Benchmarking — Dieses Beispielample wird zum Testen von OpenLog verwendet. Dies sendet sehr große Datenmengen mit 115200bps über mehrere files.
  • OpenLog_CommandTest — Dieses BeispielampDie Datei zeigt, wie man eine file per Kommandozeilensteuerung über den Arduino.
  • OpenLog_ReadExample — Dieses BeispielampIn dieser Datei wird erläutert, wie OpenLog über die Befehlszeile gesteuert wird.
  • OpenLog_ReadExample_GroßFile - ExampAnleitung zum Öffnen eines großen Speichers file auf OpenLog und melden Sie es über eine lokale Bluetooth-Verbindung.
  • OpenLog_Test_Sketch – Wird zum Testen von OpenLog mit vielen seriellen Daten verwendet.
  • OpenLog_Test_Sketch_Binary – Wird zum Testen von OpenLog mit Binärdaten und Escapezeichen verwendet.

Firmware

OpenLog hat zwei primäre Softwareteile an Bord: den Bootloader und die Firmware.

Arduino Bootloader

Notiz: Wenn Sie ein OpenLog verwenden, das vor März 2012 gekauft wurde, ist der integrierte Bootloader mit der Einstellung „Arduino Pro oder Pro Mini 5 V/16 MHz mit ATmega328“ in der Arduino IDE kompatibel.

  • Wie bereits erwähnt, verfügt OpenLog über den seriellen Optiboot-Bootloader. Sie können OpenLog beim Hochladen wie einen Arduino Uno verwenden.ampDateicode oder neue Firmware auf die Platine.
  • Wenn Ihr OpenLog-System beschädigt ist und Sie den Bootloader neu installieren müssen, laden Sie auch Optiboot auf die Platine hoch. Weitere Informationen finden Sie in unserem Tutorial zur Installation eines Arduino-Bootloaders.

Kompilieren und Laden der Firmware auf OpenLog

Notiz: Wenn Sie Arduino zum ersten Mal verwenden,view Unser Tutorial zur Installation der Arduino IDE. Falls Sie noch keine Arduino-Bibliothek installiert haben, lesen Sie bitte unsere Installationsanleitung zur manuellen Installation der Bibliotheken.

  • Wenn Sie aus irgendeinem Grund die Firmware auf Ihrem OpenLog aktualisieren oder neu installieren müssen, können Sie Ihr Board mit dem folgenden Vorgang wieder zum Laufen bringen.
  • Laden Sie zunächst die Arduino IDE v1.6.5 herunter. Andere Versionen der IDE können die OpenLog-Firmware möglicherweise kompilieren, wir haben diese Version jedoch als vertrauenswürdig eingestuft.
  • Laden Sie als Nächstes die OpenLog-Firmware und das erforderliche Bibliothekspaket herunter.

OPENLOG-FIRMWARE-PAKET (ZIP) HERUNTERLADEN

  • Sobald Sie die Bibliotheken und die Firmware heruntergeladen haben, installieren Sie die Bibliotheken in Arduino. Wenn Sie nicht sicher sind, wie Sie die Bibliotheken manuell in der IDE installieren, lesen Sie bitte unser Tutorial: Installation einer Arduino-Bibliothek: Manuelle Installation einer Bibliothek.

Notiz:

  • Wir verwenden modifizierte Versionen der SdFat- und SerialPort-Bibliotheken, um die Größe der TX- und RX-Puffer beliebig festzulegen. Für OpenLog muss der TX-Puffer sehr klein (0) und der RX-Puffer so groß wie möglich sein.
  • Durch die gemeinsame Verwendung dieser beiden geänderten Bibliotheken lässt sich die Leistung von OpenLog steigern.

Suchen Sie nach den neuesten Versionen?
Wenn Sie die aktuellsten Versionen der Bibliotheken und Firmware bevorzugen, können Sie diese direkt von den unten verlinkten GitHub-Repositories herunterladen. Die Bibliotheken SdFatLib und Serial Port sind im Arduino-Board-Manager nicht sichtbar, daher müssen Sie die Bibliothek manuell installieren.

  • GitHub: OpenLog > Firmware > OpenLog_Firmware
  • Bill Greimans Arduino-Bibliotheken
    • SdFatLib-beta
    • Serieller Anschluss
  • Als nächstes, um Advan zu nutzentage der geänderten Bibliotheken, ändern Sie die SerialPort.hh file befindet sich im Verzeichnis \Arduino\Libraries\SerialPort. Ändern Sie BUFFERED_TX auf 0 und ENABLE_RX_ERROR_CHECKING auf 0. Speichern Sie die file, und öffnen Sie die Arduino IDE.
  • Falls noch nicht geschehen, verbinden Sie Ihr OpenLog über eine FTDI-Karte mit dem Computer. Bitte überprüfen Sie dieample-Schaltung, wenn Sie nicht sicher sind, wie Sie dies richtig machen.
  • Öffnen Sie die OpenLog-Skizze, die Sie hochladen möchten, unter dem Menü „Tools > Board“, wählen Sie „Arduino/Genuino Uno“ und wählen Sie unter „Tools > Port“ den richtigen COM-Port für Ihr FTDI-Board.
  • Laden Sie den Code hoch.
  • Fertig! Ihr OpenLog ist nun mit der neuen Firmware programmiert. Sie können nun einen seriellen Monitor öffnen und mit dem OpenLog interagieren. Beim Einschalten wird entweder 12> oder 12< angezeigt. 1 bedeutet, dass die serielle Verbindung hergestellt ist, 2 bedeutet, dass die SD-Karte erfolgreich initialisiert wurde, < bedeutet, dass OpenLog bereit ist, empfangene serielle Daten zu protokollieren, und > bedeutet, dass OpenLog bereit ist, Befehle zu empfangen.

OpenLog-Firmware-Skizzen
Es sind drei Skizzen enthalten, die Sie je nach Ihrer speziellen Anwendung auf dem OpenLog verwenden können.

  • OpenLog – Diese Firmware wird standardmäßig über OpenLog ausgeliefert. Durch Senden des Befehls? wird die auf einem Gerät geladene Firmware-Version angezeigt.
  • OpenLog_Light – Diese Version des Sketches entfernt den Menü- und Befehlsmodus, wodurch der Empfangspuffer vergrößert werden kann. Dies ist eine gute Option für Hochgeschwindigkeitsprotokollierung.
  • OpenLog_Minimal – Die Baudrate muss im Code eingestellt und hochgeladen werden. Dieser Sketch wird erfahrenen Benutzern empfohlen, ist aber auch die beste Option für die schnellste Protokollierung.

Befehlssatz

Sie können OpenLog über ein serielles Terminal erreichen. Die folgenden Befehle helfen Ihnen beim Lesen, Schreiben und Löschen files sowie die Einstellungen des OpenLog ändern. Sie müssen sich im Befehlsmodus befinden, um die folgenden Einstellungen verwenden zu können.

Während sich OpenLog im Befehlsmodus befindet, wird STAT1 für jedes empfangene Zeichen ein- und ausgeschaltet. Die LED bleibt an, bis das nächste Zeichen empfangen wird.

  • Neu File – Erstellt eine neue file namens File im aktuellen Verzeichnis. Standard 8.3 fileNamen werden unterstützt. Zum BeispielampBeispielsweise ist „87654321.123“ akzeptabel, „987654321.123“ jedoch nicht.
    • Example: neu file1.txt
  • Anhängen File – Text an das Ende des File. Serielle Daten werden dann in einem Stream vom UART gelesen und dem file. Es wird nicht über das serielle Terminal ausgegeben. Wenn die File nicht existiert, wenn diese Funktion aufgerufen wird, file wird erstellt.
    • Example: Neues anhängenfile.csv
  • Schreiben File OFFSET – Schreiben Sie Text in die File vom Standort OFFSET innerhalb der fileDer Text wird zeilenweise vom UART gelesen und als Echo ausgegeben. Um diesen Zustand zu verlassen, senden Sie eine leere Zeile.
    • Example: schreibe logs.txt 516
  • rm File – Löscht die File aus dem aktuellen Verzeichnis. Platzhalter werden unterstützt.
    • Example: rm README.txt
  • Größe File – Ausgabegröße von File in Bytes.
    • Example: Größe Log112.csv
    • Ausgabe: 11
  • Lesen File + START+ LENGTH TYPE – Ausgabe des Inhalts von File beginnend bei START und über LENGTH. Wenn START weggelassen wird, wird die gesamte file wird gemeldet. Wenn LENGTH weggelassen wird, wird der gesamte Inhalt ab dem Startpunkt gemeldet. Wenn TYPE weggelassen wird, meldet OpenLog standardmäßig in ASCII. Es gibt drei Ausgabetypen:
    • ASCII = 1
    • HEX = 2
    • RAW = 3
  • Sie können einige nachfolgende Argumente weglassen. Sehen Sie sich das folgende Beispiel anamples.
  • Grundlegendes Lesen + ausgelassene Flags:
    • Example: LOG00004.txt lesen
    • Ausgabe: Beschleunigungsmesser X=12 Y=215 Z=317
  • Lesen Sie ab Start 0 mit einer Länge von 5:
    • Example: LOG00004.txt lesen 0 5
    • Ausgabe: Accel
  • Lesen ab Position 1 mit einer Länge von 5 in HEX:
    • Example: LOG00004.txt lesen 1 5 2
    • Ausgabe: 63 63 65 6C
  • Lesen ab Position 0 mit einer Länge von 50 in RAW:
    • Example: LOG00137.txt lesen 0 50 3
    • Ausgabe: André– -þ Erweiterter Charaktertest
  • Katze File – Schreiben Sie den Inhalt eines file in Hex an den seriellen Monitor für viewing. Dies ist manchmal hilfreich zu sehen, dass ein file nimmt korrekt auf, ohne dass die SD-Karte herausgezogen werden muss und view Die file auf einem Computer.
    • ExampDatei: cat LOG00004.txt
    • Ausgabe: 00000000: 41 63 65 6c 3a 20 31

Verzeichnismanipulation

  • ls – Listet den gesamten Inhalt des aktuellen Verzeichnisses auf. Platzhalter werden unterstützt.
    • Example: ls
    • Ausgabe: \src
  • md-Unterverzeichnis – Erstellen Sie ein Unterverzeichnis im aktuellen Verzeichnis.
    • Example: md Example_Sketches
  • cd Unterverzeichnis – In das Unterverzeichnis wechseln.
    • Example: cd Hallo_Welt
  • cd .. – Wechselt in ein tieferes Verzeichnis im Verzeichnisbaum. Beachten Sie, dass zwischen „cd“ und „..“ ein Leerzeichen steht. Dadurch kann der String-Parser den CD-Befehl erkennen.
    • Example: cd ..
  • rm Unterverzeichnis – Löscht das Unterverzeichnis. Das Verzeichnis muss leer sein, damit dieser Befehl funktioniert.
    • Example: rm temps
  • rm -rf Directory – Löscht das Verzeichnis und alle files darin enthalten.
    • Example: rm -rf Bibliotheken

Low-Level-Funktionsbefehle

  • ? – Dieser Befehl ruft eine Liste der verfügbaren Befehle im OpenLog auf.
  • Disk – Zeigt die Hersteller-ID, Seriennummer, Herstellungsdatum und Kartengröße der Karte an.ampDie Ausgabe ist:
    • Kartentyp: SD2 Hersteller-ID: 3
    • OEM-ID: SD
    • Produkt: SU01G
    • Version: 8.0
    • Seriennummer: 39723042 Herstellungsdatum: 1/2010 Kartengröße: 965120 KB
  • init – Initialisiert das System neu und öffnet die SD-Karte erneut. Dies ist hilfreich, wenn die SD-Karte nicht mehr reagiert.
  • Sync – Synchronisiert den aktuellen Inhalt des Puffers mit der SD-Karte. Dieser Befehl ist nützlich, wenn der Puffer weniger als 512 Zeichen enthält und diese auf der SD-Karte gespeichert werden sollen.
  • Zurücksetzen – Springt OpenLog an den Speicherort Null, führt den Bootloader und anschließend den Init-Code erneut aus. Dieser Befehl ist hilfreich, wenn Sie die Konfiguration bearbeiten müssen. file, setzen Sie OpenLog zurück und verwenden Sie die neue Konfiguration. Das Aus- und Wiedereinschalten ist weiterhin die bevorzugte Methode zum Zurücksetzen der Karte, diese Option ist jedoch verfügbar.

Systemeinstellungen

Diese Einstellungen können manuell aktualisiert oder in der config.txt bearbeitet werden file.

  • Echo STATE – Ändert den Systemstatus und wird im Systemspeicher gespeichert. STATE kann entweder aktiviert oder deaktiviert sein. Ist diese Option aktiviert, gibt OpenLog empfangene serielle Daten in der Eingabeaufforderung aus. Ist sie deaktiviert, liest das System empfangene Zeichen nicht zurück.

Notiz: Während der normalen Protokollierung ist das Echo deaktiviert. Der Bedarf an Systemressourcen für die Echoausgabe der empfangenen Daten ist während der Protokollierung zu hoch.

  • Ausführlicher STATE – Ändert den Status der ausführlichen Fehlerberichterstattung. STATE kann entweder ein- oder ausgeschaltet sein. Dieser Befehl wird im Speicher abgelegt. Durch das Deaktivieren ausführlicher Fehler antwortet OpenLog im Fehlerfall nur mit einem ! anstelle eines unbekannten Befehls: C OMMAND.D..T. Die Zeichen sind für eingebettete Systeme einfacher zu analysieren als der vollständige Fehler. Wenn Sie ein Terminal verwenden, können Sie durch Aktivieren der ausführlichen Funktion vollständige Fehlermeldungen anzeigen.
  • Baud – Dieser Befehl öffnet ein Systemmenü zur Eingabe der Baudrate. Jede Baudrate zwischen 300 bps und 1 Mbit/s wird unterstützt. Die Auswahl der Baudrate erfolgt sofort, und OpenLog benötigt einen Neustart, damit die Einstellungen wirksam werden. Die Baudrate wird im EEPROM gespeichert und bei jedem Einschalten von OpenLog geladen. Der Standardwert ist 9600 8N1.

Erinnern: Sollte die Karte bei einer unbekannten Baudrate hängen bleiben, können Sie RX mit GND verbinden und OpenLog einschalten. Die LEDs blinken 2 Sekunden lang abwechselnd und anschließend im Gleichtakt. Schalten Sie OpenLog aus und entfernen Sie den Jumper. OpenLog wird nun durch dreimaliges Drücken des Escape-Zeichens „STRG+Z“ auf 9600 bps zurückgesetzt. Diese Funktion kann durch Setzen des Emergency Override-Bits auf 1 außer Kraft gesetzt werden. Weitere Informationen finden Sie in der Datei config.txt.

  • Set – Dieser Befehl öffnet ein Systemmenü zur Auswahl des Startmodus. Diese Einstellungen werden beim nächsten Einschalten übernommen und im nichtflüchtigen EEPROM gespeichert.
    • Neu File Protokollierung – Dieser Modus erstellt eine neue file Bei jedem Einschalten von OpenLog wird eine 1 (UART aktiv), eine 2 (SD-Karte initialisiert) und anschließend < (OpenLog ist bereit zum Datenempfang) gesendet. Alle Daten werden in einer Datei LOG#####.txt aufgezeichnet. Die #####-Nummer erhöht sich bei jedem Einschalten von OpenLog (maximal 65533 Protokolle). Die Nummer wird im EEPROM gespeichert und kann über das Einstellungsmenü zurückgesetzt werden. Nicht alle empfangenen Zeichen werden ausgegeben. Sie können diesen Modus verlassen und in den Befehlsmodus wechseln, indem Sie STRG+Z (ASCII 26) drücken. Alle gepufferten Daten werden gespeichert.
  • Notiz: Wenn zu viele Protokolle erstellt wurden, gibt OpenLog den Fehler **Zu viele Protokolle** aus, beendet den Modus und wechselt zur Eingabeaufforderung. Die serielle Ausgabe sieht wie folgt aus: „12! Zu viele Protokolle!“
    • Anhängen File Protokollierung – Auch als sequentieller Modus bekannt, erzeugt dieser Modus eine file SEQLOG.txt genannt, wenn es nicht bereits vorhanden ist, und hängt alle empfangenen Daten an die fileOpenLog sendet 12<. Zu diesem Zeitpunkt ist OpenLog bereit, Daten zu empfangen. Zeichen werden nicht wiederholt. Sie können diesen Modus verlassen und in den Befehlsmodus wechseln, indem Sie STRG+Z (ASCII 26) drücken. Alle gepufferten Daten werden gespeichert.
    • Eingabeaufforderung – OpenLog sendet 12>, sobald das System bereit ist, Befehle zu empfangen. Beachten Sie, dass das Zeichen > anzeigt, dass OpenLog bereit ist, Befehle, nicht Daten zu empfangen. Sie können erstellen files und fügen Sie Daten hinzu an files, aber dies erfordert eine serielle Analyse (zur Fehlerprüfung), daher legen wir diesen Modus standardmäßig nicht fest.
    • Zurücksetzen Neu File Nummer – Dieser Modus setzt das Protokoll zurück file Nummer in LOG000.txt. Dies ist hilfreich, wenn Sie kürzlich eine microSD-Karte gelöscht haben und das Protokoll file Zahlen, um von vorne zu beginnen.
    • Neues Escape-Zeichen – Mit dieser Option kann der Benutzer ein Zeichen wie STRG+Z oder $ eingeben und als neues Escape-Zeichen festlegen. Bei einem Notfall-Reset wird diese Einstellung auf STRG+Z zurückgesetzt.
    • Anzahl der Escape-Zeichen – Mit dieser Option kann der Benutzer ein Zeichen (z. B. 1, 3 oder 17) eingeben und so die neue Anzahl der Escape-Zeichen aktualisieren, die zum Wechseln in den Befehlsmodus erforderlich sind. Zum BeispielampBei der Eingabe von 8 muss der Benutzer achtmal STRG+Z drücken, um in den Befehlsmodus zu gelangen. Bei einem Notfall-Reset wird diese Einstellung auf 3 zurückgesetzt.
  • Erklärung der Escape-Zeichen: OpenLog erfordert dreimaliges Drücken von „STRG+Z“, um in den Befehlsmodus zu wechseln. Dies soll verhindern, dass die Karte beim Hochladen von neuem Code aus der Arduino IDE versehentlich zurückgesetzt wird. Es besteht die Möglichkeit, dass die Karte das Zeichen „STRG+Z“ beim Booten erkennt (ein Problem, das wir in den frühen Versionen der OpenLog-Firmware festgestellt haben). Dies soll dies verhindern. Sollten Sie vermuten, dass Ihre Karte dadurch blockiert wurde, können Sie jederzeit einen Notfall-Reset durchführen, indem Sie den RX-Pin während des Einschaltens auf Masse halten.

Konfiguration File

Wenn Sie das serielle Terminal nicht zum Ändern der Einstellungen Ihres OpenLog verwenden möchten, können Sie die Einstellungen auch aktualisieren, indem Sie die Datei CONFIG.TXT ändern. file.

Notiz: Diese Funktion ist nur mit der Firmware-Version 1.6 oder neuer verfügbar. Wenn Sie OpenLog nach 2012 gekauft haben, verwenden Sie die Firmware-Version 1.6+.

  • Dazu benötigen Sie einen microSD-Kartenleser und einen Texteditor. Öffnen Sie die Datei config.txt file (die Großschreibung der file Name ist egal), und konfigurieren Sie los! Wenn Sie Ihr OpenLog noch nie mit der SD-Karte eingeschaltet haben, können Sie auch manuell die fileWenn Sie OpenLog zuvor mit eingelegter microSD-Karte eingeschaltet haben, sollten Sie beim Lesen der microSD-Karte etwa Folgendes sehen.SparkFun-DEV-13712-Particle-Photon-Mit-Löchern-Zum-Löten-Abb.- (15)Das OpenLog erstellt eine config.txt und LOG0000.txt file beim ersten Einschalten.
  • Die Standardkonfiguration file hat eine Zeile mit Einstellungen und eine Zeile mit Definitionen.SparkFun-DEV-13712-Particle-Photon-Mit-Löchern-Zum-Löten-Abb.- (16)Die Standardkonfiguration file wurde vom OpenLog geschrieben.
  • Beachten Sie, dass es sich hierbei um reguläre sichtbare Zeichen handelt (es gibt keine nicht sichtbaren oder binären Werte) und dass jeder Wert durch ein Komma getrennt ist.

Die Einstellungen sind wie folgt definiert:

  • Baud: Die Kommunikations-Baudrate. Der Standardwert ist 9600 bps. Zulässige Werte, die mit der Arduino IDE kompatibel sind, sind 2400, 4800, 9600, 19200, 38400, 57600 und 115200. Sie können andere Baudraten verwenden, können dann aber nicht über den seriellen Monitor der Arduino IDE mit OpenLog kommunizieren.
  • Escap:e Der ASCII-Wert (im Dezimalformat) des Escape-Zeichens. 26 ist STRG+z und der Standardwert. 36 ist $ und ein häufig verwendetes Escape-Zeichen.
  • Esc #: Die Anzahl der benötigten Escapezeichen. Standardmäßig sind es drei, Sie müssen also dreimal das Escapezeichen drücken, um in den Befehlsmodus zu wechseln. Gültige Werte sind 0 bis 254. Wenn Sie diesen Wert auf 0 setzen, wird die Escapezeichenprüfung vollständig deaktiviert.
  • Modus: Systemmodus. OpenLog startet standardmäßig im Modus „Neues Protokoll“ (0). Mögliche Werte sind: 0 = Neues Protokoll, 1 = Sequentielles Protokoll, 2 = Befehlsmodus.
  • Verb: Ausführlicher Modus. Erweiterte (ausführliche) Fehlermeldungen sind standardmäßig aktiviert. Bei einem Wert von 1 werden ausführliche Fehlermeldungen angezeigt (z. B. unbekannter Befehl: remove ! ). Bei einem Wert von 0 werden ausführliche Fehlermeldungen deaktiviert, im Fehlerfall wird jedoch ein ! angezeigt. Das Deaktivieren des ausführlichen Modus ist praktisch, wenn Sie Fehler eines eingebetteten Systems behandeln möchten.
  • Echo: Echomodus. Im Befehlsmodus werden Zeichen standardmäßig als Echo ausgegeben. Wenn Sie diesen Wert auf 0 setzen, wird das Zeichenecho deaktiviert. Das Deaktivieren ist praktisch bei der Fehlerbehandlung und wenn Sie nicht möchten, dass gesendete Befehle als Echo an OpenLog.II zurückgesendet werden.
  • iignoreRXEmergency Override. Normalerweise führt OpenLog einen Notfall-Reset durch, wenn der RX-Pin beim Einschalten auf Low gesetzt wird. Wenn Sie diesen Wert auf 1 setzen, wird die Überprüfung des RX-Pins beim Einschalten deaktiviert. Dies kann für Systeme hilfreich sein, die die RX-Leitung aus verschiedenen Gründen auf Low setzen. Wenn Emergency Override deaktiviert ist, können Sie das Gerät nicht auf 9600 bps zurücksetzen, und die Konfiguration file ist die einzige Möglichkeit, die Baudrate zu ändern.

Wie OpenLog die Konfiguration ändert File
Es gibt fünf verschiedene Situationen, in denen OpenLog die config.txt ändern kann. file.

  • Konfiguration file gefunden: Beim Einschalten sucht OpenLog nach einer config.txt fileWenn die file gefunden wird, verwendet OpenLog die enthaltenen Einstellungen und überschreibt alle zuvor gespeicherten Systemeinstellungen.
  • Keine Konfiguration file gefunden: Wenn OpenLog die config.txt nicht finden kann file Anschließend erstellt OpenLog die Datei config.txt und zeichnet die aktuell gespeicherten Systemeinstellungen darin auf. Das bedeutet, dass Ihr System seine aktuellen Einstellungen behält, wenn Sie eine neu formatierte microSD-Karte einlegen.
  • Beschädigte Konfiguration file gefunden: OpenLog löscht die beschädigte config.txt file, und überschreibt sowohl die internen EEPROM-Einstellungen als auch die config.txt-Einstellungen file auf den bekannten guten Zustand von 9600,26,3,0,1,1,0.
  • Ungültige Werte in der Konfiguration file: Wenn OpenLog Einstellungen mit ungültigen Werten entdeckt, überschreibt OpenLog die beschädigten Werte in config.txt file mit den aktuell gespeicherten EEPROM-Systemeinstellungen.
  • Änderungen über die Eingabeaufforderung: Wenn die Systemeinstellungen über die Eingabeaufforderung geändert werden (entweder über eine serielle Verbindung oder über serielle Befehle des Mikrocontrollers), werden diese Änderungen sowohl im System-EEPROM als auch in der Datei config.txt aufgezeichnet. file.
  • Notfall-Reset: Wenn OpenLog mit einem Jumper zwischen RX und GND aus- und wieder eingeschaltet wird und das Emergency Override-Bit auf 0 gesetzt ist (was einen Notfall-Reset ermöglicht), schreibt OpenLog sowohl die internen EEPROM-Einstellungen als auch die config.txt-Einstellungen neu file auf den bekannten guten Zustand von 9600,26,3,0,1,1,0.

Fehlerbehebung

Es gibt verschiedene Möglichkeiten, um zu überprüfen, ob Sie Probleme bei der Verbindung über den seriellen Monitor haben, Probleme mit verlorenen Zeichen in Protokollen auftreten oder mit einem blockierten OpenLog zu kämpfen haben.

Überprüfen Sie das Verhalten der STAT1-LED
Die STAT1-LED zeigt bei zwei verschiedenen häufigen Fehlern ein unterschiedliches Verhalten.

  • 3-maliges Blinken: Die microSD-Karte konnte nicht initialisiert werden. Möglicherweise müssen Sie die Karte auf einem Computer mit FAT/FAT16 formatieren.
  • 5-maliges Blinken: OpenLog hat auf eine neue Baudrate umgestellt und muss aus- und wieder eingeschaltet werden.

Überprüfen Sie die Unterverzeichnisstruktur doppelt

  • Wenn Sie die Standard-OpenLog.ino-Datei verwenden,ampOpenLog unterstützt nur zwei Unterverzeichnisse. Ändern Sie FOLDER_TRACK_DEPTH von 2 auf die Anzahl der zu unterstützenden Unterverzeichnisse. Kompilieren Sie anschließend den Code neu und laden Sie die geänderte Firmware hoch.
  • Überprüfen Sie die Anzahl der Files im Stammverzeichnis
  • OpenLog unterstützt nur bis zu 65,534 Protokolle files im Stammverzeichnis. Wir empfehlen, Ihre microSD-Karte neu zu formatieren, um die Protokollierungsgeschwindigkeit zu verbessern.
  • Überprüfen Sie die Größe Ihrer geänderten Firmware
  • Wenn Sie einen benutzerdefinierten Sketch für OpenLog schreiben, achten Sie darauf, dass dieser nicht größer als 32,256 Byte ist. Andernfalls werden die oberen 500 Byte des Flash-Speichers belegt, der vom seriellen Optiboot-Bootloader verwendet wird.
  • Doppelte Kontrolle File Namen
  • Alle file Namen sollten alphanumerisch sein. MyLOG1.txt ist ok, aber Hi !e _ .txtt funktioniert möglicherweise nicht.
  • Verwenden Sie 9600 Baud
  • OpenLog läuft auf dem ATmega328 und verfügt über einen begrenzten RAM (2048 Bytes). Wenn Sie serielle Zeichen an OpenLog senden, werden diese gepuffert. Die vereinfachte Spezifikation der SD-Gruppe erlaubt es einer SD-Karte, bis zu 250 ms (Abschnitt 4.6.2.2 Schreiben) zu benötigen, um einen Datenblock im Flash-Speicher zu speichern.
  • Bei 9600 Bit/s entspricht das 960 Bytes (10 Bits pro Byte) pro Sekunde. Das entspricht 1.04 ms pro Byte. OpenLog verwendet derzeit einen 512-Byte-Empfangspuffer und kann damit etwa 50 ms Zeichen puffern. Dadurch kann OpenLog alle mit 9600 Bit/s eingehenden Zeichen erfolgreich empfangen. Mit zunehmender Baudrate verkürzt sich die Pufferzeit.

OpenLog-Pufferüberlaufzeit

Baudrate Zeit pro Byte Zeit bis zum Pufferüberlauf
9600 Bit/s 1.04 ms 532 ms
57600 Bit/s 0.174 ms 88 ms
115200 Bit/s 0.087 ms 44 ms

Viele SD-Karten haben eine schnellere Aufzeichnungszeit als 250 ms. Dies kann von der Kartenklasse und der bereits gespeicherten Datenmenge abhängen. Die Lösung besteht darin, eine niedrigere Baudrate zu verwenden oder die Zeitspanne zwischen den mit der höheren Baudrate gesendeten Zeichen zu verlängern.

Formatieren Sie Ihre MicroSD-Karte
Denken Sie daran, eine Karte mit wenigen oder keinen files drauf. Eine microSD-Karte mit 3.1 GB ZIP files oder MP3s hat eine langsamere Reaktionszeit als eine leere Karte. Wenn Sie Ihre microSD-Karte nicht unter Windows formatiert haben, formatieren Sie die microSD-Karte neu und erstellen Sie eine DOS fileSystem auf der SD-Karte.
MicroSD-Karten austauschen
Es gibt viele verschiedene Kartenhersteller, umbenannte Karten, Kartengrößen und Kartenklassen, und nicht alle funktionieren einwandfrei. Wir verwenden üblicherweise eine 8 GB große microSD-Karte der Klasse 4, die mit 9600 bps gut funktioniert. Wenn Sie höhere Baudraten oder mehr Speicherplatz benötigen, sollten Sie Karten der Klasse 6 oder höher ausprobieren.
Verzögerungen zwischen Zeichenschreibvorgängen hinzufügen
Durch Hinzufügen einer kleinen Verzögerung zwischen Serial.print()-Anweisungen können Sie OpenLog die Möglichkeit geben, seinen aktuellen Puffer aufzuzeichnen.
Zum Beispielampauf:
  • Seriell.begin(115200);
    für (int i = 1; i < 10; i++) { Serial.print(i, DEC); Serial.println(„:abcdefghijklmnopqrstuvwxyz-!#“); }

Die Protokollierung funktioniert möglicherweise nicht ordnungsgemäß, da viele Zeichen direkt hintereinander gesendet werden. Eine kurze Verzögerung von 15 ms zwischen den Schreibvorgängen großer Zeichen hilft OpenLog, ohne Zeichenverluste aufzuzeichnen.

  • Seriell.begin(115200);
    für(int i = 1 ; i < 10 ; i++) { Serial.print(i, DEC); Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”); Verzögerung(15); }

Kompatibilität mit dem Arduino Serial Monitor hinzufügen

Wenn Sie versuchen, OpenLog mit der integrierten seriellen Bibliothek oder der SoftwareSerial-Bibliothek zu verwenden, können Probleme mit dem Befehlsmodus auftreten. Serial.println() sendet sowohl Zeilenumbruch als auch Wagenrücklauf. Es gibt zwei alternative Befehle, um dieses Problem zu beheben.

Die erste Möglichkeit besteht darin, den Befehl \r (ASCII-Wagenrücklauf) zu verwenden:
Serial.print(“TEXT\r”);

Alternativ können Sie den Wert 13 (Dezimalwagenrücklauf) senden:

  • Serial.print("TEXT");
  • Serial.write(13);

Notfall-Reset

Denken Sie daran: Wenn Sie OpenLog auf einen Standardzustand zurücksetzen müssen, können Sie die Karte zurücksetzen, indem Sie den RX-Pin mit GND verbinden, OpenLog einschalten, warten, bis die LEDs gleichzeitig zu blinken beginnen, dann OpenLog ausschalten und den Jumper entfernen.
Wenn Sie das Emergency Override-Bit auf 1 geändert haben, müssen Sie die Konfiguration ändern file, da der Notfall-Reset nicht funktioniert.

Fragen Sie die Community

Sollten Sie weiterhin Probleme mit Ihrem OpenLog haben, sehen Sie sich bitte die aktuellen und abgeschlossenen Probleme in unserem GitHub-Repository hier an. Da es eine große Community gibt, die mit dem OpenLog arbeitet, besteht die Möglichkeit, dass jemand bereits eine Lösung für Ihr Problem gefunden hat.

Ressourcen und weitere Informationen

Nachdem Sie mit Ihrem OpenLog erfolgreich Daten aufgezeichnet haben, können Sie Remote-Projekte einrichten und alle eingehenden Daten überwachen. Erwägen Sie die Erstellung eines eigenen Citizen-Science-Projekts oder sogar eines Haustier-Trackers, um zu sehen, was Fluffy unterwegs macht!
Sehen Sie sich diese zusätzlichen Ressourcen zur Fehlerbehebung, Hilfe oder Inspiration für Ihr nächstes Projekt an.

  • OpenLog GitHub
  • Illumitune-Projekt
  • LilyPad-Lichtsensor-Anschluss
  • BadgerHack: Bodensensor-Add-On
  • Erste Schritte mit OBD-II
  • Vernier Photogate

Brauchen Sie noch mehr Inspiration? Schauen Sie sich einige dieser Tutorials an:

  • Photon Remote-Wasserstandssensor
    Erfahren Sie, wie Sie einen Fernwasserstandssensor für einen Wasserspeichertank bauen und wie Sie eine Pumpe auf Grundlage der Messwerte automatisieren!
  • Blynk Board-Projekthandbuch
    Eine Reihe von Blynk-Projekten, die Sie auf dem Blynk-Board einrichten können, ohne es jemals neu programmieren zu müssen.
  • Daten mit Tessel 2 in Google Sheets protokollieren
    Dieses Projekt behandelt die Datenprotokollierung in Google Sheets auf zwei Arten: mit IFTTT und einem web Anschluss oder einen USB-Stick und „Sneakernet“ ohne.
  • Sensordaten mit Python und Matplotlib grafisch darstellen
    Verwenden Sie matplotlib, um ein Echtzeitdiagramm der Temperaturdaten zu erstellen, die von einem an einen Raspberry Pi angeschlossenen TMP102-Sensor erfasst wurden.

Wenn Sie Feedback zum Tutorial haben, schauen Sie bitte in die Kommentare oder kontaktieren Sie unser technisches Support-Team unter TechSupport@sparkfun.com.

Häufig gestellte Fragen

Welche Leistungsaufnahme wird für OpenLog empfohlen?

Die empfohlene Stromaufnahme für OpenLog liegt zwischen 3.3 V und 5 V.

Wie viel Strom verbraucht OpenLog im Leerlauf?

Das OpenLog verbraucht im Leerlauf ohne microSD-Karte etwa 2 bis 5 mA und mit eingelegter microSD-Karte etwa 5 bis 6 mA.

Was ist der Zweck des microSD-USB-Reaaboutn für OpenLog?

Der microSD-USB-Reader ermöglicht die einfache Übertragung von Daten von der mit OpenLog verwendeten microSD-Karte auf einen Computer.

Dokumente / Ressourcen

SparkFun DEV-13712 Partikelphoton mit Löchern zum Löten [pdf] Benutzerhandbuch
DEV-13712, DEV-13955, DEV-13712 Partikelphoton mit Löchern zum Löten, DEV-13712, Partikelphoton mit Löchern zum Löten, Löcher zum Löten, zum Löten, Löten

Verweise

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind markiert *