SparkFun-logo

SparkFun DEV-13712 Foton cu particule cu găuri pentru lipire

SparkFun-DEV-13712-Particule-Fotonice-Cu-Găuri-Pentru-Lipire-Produs

Specificații

  • Nume produs: Înregistrator de date OpenLog
  • Model: DEV-13712
  • Intrare alimentare: 3.3V-12V (Recomandat 3.3V-5V)
  • Volum intrare RXItage: 2.0V-3.8V
  • Volum ieșire TXOtage: 3.3V
  • Consum de curent în repaus: ~2mA-5mA (fără card microSD), ~5mA-6mA (cu card microSD)
  • Consum de curent activ la scriere: ~20-23mA (cu card microSD)

Instrucțiuni de utilizare a produsului

Materiale necesare:

  • Arduino Pro Mini 328 – 3.3V/8MHz
  • SparkFun FTDI Basic Breakout – 3.3V
  • Cablu USB SparkFun Cerberus – 6 m
  • Card microSD cu adaptor – 16 GB (Clasa 10)
  • Cititor microSD USB
  • Antete feminine
  • Cabluri de conectare Premium 6 M/M, pachet de 10
  • Anteturi masculine separate – Unghi drept

Lectură recomandată:

Hardware pesteview:
OpenLog rulează cu următoarele setări:

Intrare VCC Intrare RXI Ieșire TXO Consum de curent în gol Consum de curent activ pentru scriere
3.3V-12V (Recomandat 3.3V-5V) 2.0V-3.8V 3.3V ~2mA-5mA (fără card microSD), ~5mA-6mA (cu card microSD) ~20-23mA (cu/card microSD)

Introducere

Atenție! Acest tutorial este pentru Open Log pentru UART serial [DEV-13712]. Dacă utilizați Qwiic OpenLog pentru IC [DEV-15164], vă rugăm să consultați Ghidul de conectare Qwiic OpenLog.

Înregistratorul de date OpenLog este o soluție open-source, ușor de utilizat, pentru înregistrarea datelor seriale din proiectele dvs. OpenLog oferă o interfață serială simplă pentru înregistrarea datelor dintr-un proiect pe un card microSD.

SparkFun OpenLog
DEV-13712

SparkFun-DEV-13712-Particule-Fotonice-Cu-Găuri-Pentru-Lipire-fig- (1)

SparkFun OpenLog cu anteturi
DEV-13955

Nu s-a găsit niciun produs

Materiale necesare
Pentru a parcurge complet acest tutorial, veți avea nevoie de următoarele componente. Este posibil să nu aveți nevoie de toate componentele, în funcție de ce aveți. Adăugați produsul în coș, citiți ghidul și ajustați coșul după cum este necesar.

Ghid de conectare OpenLog

Lista de dorințe SparkFun

SparkFun-DEV-13712-Particule-Fotonice-Cu-Găuri-Pentru-Lipire-fig- (2)SparkFun-DEV-13712-Particule-Fotonice-Cu-Găuri-Pentru-Lipire-fig- (3)

Lectură recomandată
Dacă nu sunteți familiarizat(ă) sau nu vă simțiți confortabil cu următoarele concepte, vă recomandăm să le citiți înainte de a continua cu Ghidul de conectare OpenLog.

  • Cum se lipește: Lipire prin găuri străpunse. Acest tutorial acoperă tot ce trebuie să știți despre lipirea prin găuri străpunse.
  • Comunicare serială Concepte de comunicare serială asincronă: pachete, niveluri de semnal, rate baud, UART-uri și multe altele!
  • Interfață periferică serială (SPI) SPI este utilizat în mod obișnuit pentru a conecta microcontrolere la periferice precum senzori, registre de deplasare și carduri SD.
  • Elemente de bază ale terminalului serial Acest tutorial vă va arăta cum să comunicați cu dispozitivele seriale folosind o varietate de aplicații de emulare a terminalului.

Hardware pesteview

Putere
OpenLog rulează cu următoarele setări:

Putere nominală OpenLog

SparkFun-DEV-13712-Particule-Fotonice-Cu-Găuri-Pentru-Lipire-fig- (4)

Consumul de curent al OpenLog este de aproximativ 20mA până la 23mA atunci când scrie pe un card microSD. În funcție de dimensiunea cardului microSD și de producătorul acestuia, consumul de curent activ poate varia atunci când OpenLog scrie pe cardul de memorie. Creșterea ratei de baud va consuma, de asemenea, mai mult curent.

microcontroler
OpenLog rulează cu ajutorul unui ATmega328 integrat, care rulează la 16MHz, datorită cristalului integrat. ATmega328 are încărcat bootloader-ul Optiboot, ceea ce permite OpenLog să fie compatibil cu...
Setările plăcii „Arduino Uno” în IDE-ul Arduino.

SparkFun-DEV-13712-Particule-Fotonice-Cu-Găuri-Pentru-Lipire-fig- (5)

Interfață

UART serial
Interfața principală cu OpenLog este conectorul FTDI de pe marginea plăcii. Acest conector este conceput pentru a se conecta direct la un Arduino Pro sau Pro Mini, ceea ce permite microcontrolerului să trimită datele printr-o conexiune serială către OpenLog.

SparkFun-DEV-13712-Particule-Fotonice-Cu-Găuri-Pentru-Lipire-fig- (6)

Avertizare! Din cauza ordonării pinilor care îl face compatibil cu Arduino-urile, nu se poate conecta direct la o placă de distribuție FTDI.

SparkFun-DEV-13712-Particule-Fotonice-Cu-Găuri-Pentru-Lipire-fig- (7)

Pentru mai multe informații, asigurați-vă că consultați următoarea secțiune despre Conexiunile Hardware.

SPI

Există, de asemenea, patru puncte de testare SPI la capătul opus al plăcii. Le puteți folosi pentru a reprograma bootloader-ul de pe ATmega328.

  • SparkFun-DEV-13712-Particule-Fotonice-Cu-Găuri-Pentru-Lipire-fig- (8)Cea mai recentă versiune OpenLog (DEV-13712) împarte acești pini pe găuri traversante placate mai mici. Dacă trebuie să utilizați un ISP pentru a reprograma sau a încărca un nou bootloader în OpenLog, puteți utiliza pini pogo pentru a vă conecta la aceste puncte de testare.
  • Interfața finală pentru comunicarea cu OpenLog este cardul microSD în sine. Pentru a comunica, cardul microSD necesită pini SPI. Nu numai că aici sunt stocate datele de către OpenLog, dar puteți actualiza și configurația OpenLog prin intermediul fișierului config.txt. file pe cardul microSD.
    card microSD

Toate datele înregistrate de OpenLog sunt stocate pe cardul microSD. OpenLog funcționează cu carduri microSD care au următoarele caracteristici:

  • 64MB până la 32GB
  • FAT16 sau FAT32

SparkFun-DEV-13712-Particule-Fotonice-Cu-Găuri-Pentru-Lipire-fig- (9)

Există două LED-uri de stare pe OpenLog care vă ajută la depanare.

  • STAT1 – Acest LED indicator albastru este atașat la Arduino D5 (ATmega328 PD5) și se aprinde/stinge atunci când este recepționat un caracter nou. Acest LED clipește atunci când comunicarea serială funcționează.
  • STAT2 – Acest LED verde este conectat la Arduino D13 (linie serială de ceas SPI/ ATmega328 PB5). Acest LED clipește doar când interfața SPI este activă. Îl veți vedea clipind atunci când OpenLog înregistrează 512 octeți pe cardul microSD.

SparkFun-DEV-13712-Particule-Fotonice-Cu-Găuri-Pentru-Lipire-fig- (10)

Conectare hardware

Există două metode principale pentru conectarea OpenLog-ului la un circuit. Veți avea nevoie de niște conectori sau fire pentru conectare. Asigurați-vă că lipiți placa pentru o conexiune sigură.

Conexiune serială de bază

SfatDacă aveți un conector mamă pe OpenLog și un conector mamă pe FTDI, veți avea nevoie de fire de conectare M/F pentru conectare.

SparkFun-DEV-13712-Particule-Fotonice-Cu-Găuri-Pentru-Lipire-fig- (11)

Această conexiune hardware este concepută pentru interfațarea cu un OpenLog dacă trebuie să reprogramați placa sau să jurnalizați datele printr-o conexiune serială de bază.

Faceți următoarele conexiuni:
OpenLog → Circuit de distribuție FTDI de bază de 3.3 V

  • Împământare → Împământare
  • Împământare → Împământare
  • VCC → 3.3V
  • TXO → RXI
  • RXI → TXO
  • DTR → DTR

Observați că nu există o conexiune directă între FTDI și OpenLog - trebuie să comutați conexiunile pinilor TXO și RXI.

Conexiunile tale ar trebui să arate astfel:

SparkFun-DEV-13712-Particule-Fotonice-Cu-Găuri-Pentru-Lipire-fig- (12)

După ce ați stabilit conexiunile dintre OpenLog și FTDI Basic, conectați placa FTDI la un cablu USB și la computer. Deschideți un terminal serial, conectați-l la portul COM al FTDI Basic și începeți!

Conexiune hardware proiect

Sfat: Dacă ai lipit conectorii mamă pe OpenLog, poți lipi conectorii masculi la Arduino Pro Mini pentru a conecta plăcile împreună fără a fi nevoie de fire.

SparkFun-DEV-13712-Particule-Fotonice-Cu-Găuri-Pentru-Lipire-fig- (13)

Deși interfațarea cu OpenLog printr-o conexiune serială este importantă pentru reprogramare sau depanare, OpenLog iese în evidență într-un proiect încorporat. Acest circuit general este modul în care vă recomandăm să conectați OpenLog-ul la un microcontroler (în acest caz, un Arduino Pro Mini) care va scrie date seriale în OpenLog.

Mai întâi, va trebui să încărcați codul pe Pro Mini-ul pe care intenționați să îl rulați. Vă rugăm să consultați schițele Arduino pentru câteva exemple.ampcodul pe care îl poți folosi.

Nota: Dacă nu ești sigur cum să programezi Pro Mini, te rugăm să consulți tutorialul nostru aici.

Utilizarea Arduino Pro Mini 3.3V

  • Acest tutorial este ghidul tău pentru tot ce ține de Arduino Pro Mini. Explică ce este, ce nu este și cum să începi să îl utilizezi.
  • După ce ați programat Pro Mini-ul, puteți scoate placa FTDI și o puteți înlocui cu OpenLog. Asigurați-vă că conectați pinii etichetați BLK atât pe Pro Mini, cât și pe OpenLog (pinii etichetați GRN de pe ambele se vor potrivi și ei dacă sunt conectați corect).
  • Dacă nu puteți conecta OpenLog direct la Pro Mini (din cauza unor conectori nepotriviți sau a altor plăci care stau în cale), puteți utiliza fire de conectare și puteți face următoarele conexiuni.

OpenLog → Arduino Pro/Arduino Pro Mini

  • Împământare → Împământare
  • Împământare → Împământare
  • VCC → VCC
  • TXO → RXI
  • RXI → TXO
  • DTR → DTR

După ce ați terminat, conexiunile ar trebui să arate ca în imaginea de mai jos, cu Arduino Pro Mini și Arduino Pro. Diagrama Fritzing prezintă OpenLog-urile cu antetele oglindite. Dacă întoarceți soclul microSD față de partea superioară a Arduino-ului... view, ar trebui să se potrivească cu antetul de programare, ca un FTDI.

SparkFun-DEV-13712-Particule-Fotonice-Cu-Găuri-Pentru-Lipire-fig- (14)

Rețineți că conexiunea este una directă cu OpenLog-ul „întors cu susul în jos” (cu cardul microSD în sus).

Nota: Deoarece Vcc și GND dintre OpenLog și Arduino sunt ocupate de headere, va trebui să conectați la alimentare ceilalți pini disponibili pe Arduino. Altfel, puteți lipi fire la pinii de alimentare expuși de pe oricare dintre plăci.

Porniți sistemul și sunteți gata să începeți înregistrarea!

Schițe Arduino

Există șase ex-uri diferiteampschițele incluse pe care le puteți utiliza pe Arduino atunci când este conectat la un OpenLog.

  • OpenLog_Benchmarking — Acest exempluample este folosit pentru a testa OpenLog. Acesta trimite cantități foarte mari de date la 115200 bps pe mai multe porturi files.
  • OpenLog_CommandTest — Acest examparată cum se creează și se adaugă un file prin controlul liniei de comandă prin intermediul Arduino.
  • OpenLog_ReadExample — Acest fostampexplică cum se controlează OpenLog prin linia de comandă.
  • OpenLog_ReadExample_LargeFile — Exampexemplu de cum se deschide un stocator mare file pe OpenLog și raportează-l printr-o conexiune Bluetooth locală.
  • OpenLog_Test_Sketch — Folosit pentru a testa OpenLog cu o mulțime de date seriale.
  • OpenLog_Test_Sketch_Binary — Folosit pentru a testa OpenLog cu date binare și caractere escape.

Firmware

OpenLog are două componente software principale integrate: bootloader-ul și firmware-ul.

Bootloader-ul Arduino

Nota: Dacă utilizați un OpenLog achiziționat înainte de martie 2012, bootloader-ul integrat este compatibil cu setarea „Arduino Pro sau Pro Mini 5V/16MHz w/ ATmega328” din Arduino IDE.

  • Așa cum am menționat anterior, OpenLog are integrat bootloader-ul serial Optiboot. Puteți trata OpenLog exact ca pe un Arduino Uno atunci când încărcați fișiere.ampcodul sau firmware nou pe placă.
  • Dacă ajungi să blochezi OpenLog-ul și trebuie să reinstalezi bootloader-ul, vei dori să încarci și Optiboot pe placă. Te rugăm să consulți tutorialul nostru despre instalarea unui bootloader Arduino pentru mai multe informații.

Compilarea și încărcarea firmware-ului în OpenLog

Nota: Dacă este prima dată când folosești Arduino, te rugăm să repet...view tutorialul nostru despre instalarea IDE-ului Arduino. Dacă nu ați instalat anterior o bibliotecă Arduino, vă rugăm să consultați ghidul nostru de instalare pentru a instala manual bibliotecile.

  • Dacă, din orice motiv, trebuie să actualizați sau să reinstalați firmware-ul pe OpenLog, următorul proces va face placa să funcționeze.
  • Mai întâi, te rugăm să descarci Arduino IDE v1.6.5. Alte versiuni ale IDE-ului ar putea funcționa pentru compilarea firmware-ului OpenLog, dar am verificat că aceasta este o versiune cunoscută ca fiind bună.
  • Apoi, descărcați firmware-ul OpenLog și pachetul de biblioteci necesare.

DESCĂRCAȚI PACHETUL FIRMWARE OPENLOG (ZIP)

  • După ce ați descărcat bibliotecile și firmware-ul, instalați-le în Arduino. Dacă nu sunteți sigur cum să instalați manual bibliotecile în IDE, vă rugăm să consultați tutorialul nostru: Instalarea unei biblioteci Arduino: Instalarea manuală a unei biblioteci.

Nota:

  • Folosim versiuni modificate ale bibliotecilor SdFat și SerialPort pentru a declara arbitrar cât de mari ar trebui să fie bufferele TX și RX. OpenLog necesită ca bufferul TX să fie foarte mic (0), iar bufferul RX trebuie să fie cât mai mare posibil.
  • Utilizarea împreună a acestor două biblioteci modificate permite o performanță sporită a OpenLog-ului.

Cauți cele mai recente versiuni?
Dacă preferați cele mai recente versiuni ale bibliotecilor și firmware-ului, le puteți descărca direct din repozitoriile GitHub la care se face trimitere mai jos. Bibliotecile SdFatLib și Serial Port nu sunt vizibile în managerul de plăci Arduino, așa că va trebui să instalați manual biblioteca.

  • GitHub: OpenLog > Firmware > OpenLog_Firmware
  • Bibliotecile Arduino ale lui Bill Greiman
    • SdFatLib-beta
    • Port serial
  • În continuare, pentru a profitatage dintre bibliotecile modificate, modificați fișierul SerialPort.hh file găsit în directorul \Arduino\Libraries\SerialPort. Schimbați BUFFERED_TX la 0 și ENABLE_RX_ERROR_CHECKING la 0. Salvați fileși deschideți IDE-ul Arduino.
  • Dacă nu ați făcut-o încă, conectați OpenLog-ul la computer prin intermediul unei plăci FTDI. Vă rugăm să verificați din nou ex.ampcircuitul dacă nu sunteți sigur cum să faceți acest lucru corect.
  • Deschideți schița OpenLog pe care doriți să o încărcați din meniul Tools>Board, selectați „Arduino/Genuino Uno” și selectați portul COM corespunzător pentru placa FTDI din Tools>Port.
  • Încărcați codul.
  • Asta e tot! OpenLog-ul dvs. este acum programat cu un firmware nou. Acum puteți deschide un monitor serial și interacționa cu OpenLog. La pornire, veți vedea fie 12>, fie 12<. 1 indică faptul că conexiunea serială este stabilită, 2 indică faptul că cardul SD a fost inițializat cu succes, < indică faptul că OpenLog este gata să înregistreze orice date seriale primite, iar > indică faptul că OpenLog este gata să primească comenzi.

Schițe de firmware OpenLog
Există trei schițe incluse pe care le puteți utiliza pe OpenLog, în funcție de aplicația dvs. particulară.

  • OpenLog – Acest firmware este livrat în mod implicit pe OpenLog. Trimiterea comenzii ? va afișa versiunea de firmware încărcată pe o unitate.
  • OpenLog_Light – Această versiune a schiței elimină meniul și modul de comandă, permițând creșterea bufferului de recepție. Aceasta este o opțiune bună pentru înregistrarea în jurnal de mare viteză.
  • OpenLog_Minimal – Rata de transfer trebuie setată în cod și încărcată. Această schiță este recomandată utilizatorilor experimentați, dar este și cea mai bună opțiune pentru înregistrarea la cea mai mare viteză.

Set de comenzi

Puteți interacționa cu OpenLog prin intermediul unui terminal serial. Următoarele comenzi vă vor ajuta să citiți, să scrieți și să ștergeți files, precum și modificarea setărilor OpenLog. Va trebui să fiți în modul Command pentru a utiliza următoarele setări.

În timp ce OpenLog este în modul de comandă, STAT1 se va comuta între pornit/oprit pentru fiecare caracter primit. LED-ul va rămâne aprins până la primirea următorului caracter.

  • Nou File – Creează o nouă file numit File în directorul curent. Standard 8.3 filenumele sunt acceptate. De exempluampDe exemplu, „87654321.123” este acceptabil, în timp ce „987654321.123” nu este.
    • Example: nou file1.txt
  • Adăuga File – Adăugați text la sfârșitul FileDatele seriale sunt apoi citite de la UART într-un flux și adăugate la fileNu este retransmis prin terminalul serial. Dacă File nu există atunci când această funcție este apelată, file vor fi create.
    • Example: adăugare nouăfile.csv
  • Scrie File OFFSET – Scrieți textul către File din locația OFFSET din cadrul fileTextul este citit de pe UART, linie cu linie, și returnat. Pentru a ieși din această stare, trimiteți o linie goală.
    • Example: scrie fișierul logs.txt 516
  • rm File – Șterge File din directorul curent. Sunt acceptate caracterele wildcard.
    • Example: rm README.txt
  • dimensiune File – Dimensiunea de ieșire a File în octeți.
    • Example: dimensiune Log112.csv
    • Ieșire: 11
  • Citire File + START+ LENGTH TYPE – Afișează conținutul File începând de la START și mergând până la LENGTH. Dacă START este omis, întregul file se raportează. Dacă se omite LENGTH, se raportează întregul conținut de la punctul de pornire. Dacă se omite TYPE, OpenLog va raporta implicit în ASCII. Există trei TYPE-uri de ieșire:
    • ASCII = 1
    • HEX = 2
    • RAW = 3
  • Puteți omite unele argumente finale. Verificați următorul exempluamples.
  • Citire de bază + steaguri omise:
    • Example: citește LOG00004.txt
    • Ieșire: Accelerometru X=12 Y=215 Z=317
  • Citire de la începutul 0 cu o lungime de 5:
    • Example: citește LOG00004.txt 0 5
    • Ieșire: Accel
  • Citire de la poziția 1 cu o lungime de 5 în HEX:
    • Example: citește LOG00004.txt 1 5 2
    • Putere: 63 63 65 6C
  • Citire din poziția 0 cu o lungime de 50 în RAW:
    • Example: citește LOG00137.txt 0 50 3
    • Rezultat: André– -ț Test extins de caracter
  • Pisică File – Scrieți conținutul unei file în hexadecimal către monitorul serial pentru viewing. Uneori este util să vedem că un file înregistrează corect fără a fi nevoie să scoateți cardul SD și view cel file pe un computer.
    • Exampfișier: cat LOG00004.txt
    • Ieșire: 00000000: 41 63 65 6c 3a 20 31

Manipularea directoarelor

  • ls – Listează tot conținutul directorului curent. Sunt acceptate caracterele wildcard.
    • Example: ls
    • Ieșire: \src
  • Subdirector md – Creează un subdirector în directorul curent.
    • Example: md Example_Sketches
  • cd Subdirector – Schimbă la subdirector.
    • Example: cd Salut_Lume
  • cd .. – Schimbă la un director inferior în arborele de caractere. Rețineți că există un spațiu între „cd” și „..”. Acest lucru permite parserului de șiruri de caractere să vadă comanda CD.
    • Example: cd ..
  • rm Subdirector – Șterge subdirectorul. Directorul trebuie să fie gol pentru ca această comandă să funcționeze.
    • Example: temperaturi rm
  • rm -rf Director – Șterge directorul și orice fileeste conținut în acesta.
    • Example: rm -rf Biblioteci

Comenzi de funcții de nivel scăzut

  • ? – Această comandă va afișa o listă de comenzi disponibile în OpenLog.
  • Disc – Afișează ID-ul producătorului cardului, numărul de serie, data fabricației și dimensiunea cardului. Ex.ampIeșirea este:
    • Tip card: SD2 ID producător: 3
    • ID OEM: SD
    • Produs: SU01G
    • Versiune: 8.0
    • Număr de serie: 39723042 Data fabricației: 1/2010 Dimensiunea cardului: 965120 KB
  • init – Reinițializează sistemul și redeschide cardul SD. Acest lucru este util dacă cardul SD nu mai răspunde.
  • Sincronizare – Sincronizează conținutul curent al memoriei tampon cu cardul SD. Această comandă este utilă dacă aveți mai puțin de 512 caractere în memoria tampon și doriți să le înregistrați pe cardul SD.
  • Resetare – Saltează OpenLog la locația zero, rulează din nou bootloader-ul și apoi codul de inițializare. Această comandă este utilă dacă trebuie să editați configurația. file, resetați OpenLog și începeți să utilizați noua configurație. Repornirea și pornirea plăcii este încă metoda preferată pentru resetarea acesteia, dar această opțiune este disponibilă.

Setări de sistem

Aceste setări pot fi actualizate sau editate manual în fișierul config.txt file.

  • Echo STATE – Modifică starea sistemului și este stocată în memoria sistemului. STATE poate fi fie activat, fie dezactivat. Când este activat, OpenLog va afișa datele seriale primite în promptul de comandă. Când este dezactivat, sistemul nu citește caracterele primite.

Nota: În timpul înregistrării normale, ecoul va fi dezactivat. Cererea de resurse de sistem pentru redarea datelor primite este prea mare în timpul înregistrării.

  • STATE detaliat – Modifică starea raportării erorilor detaliate. STATE poate fi fie activată, fie dezactivată. Această comandă este stocată în memorie. Prin dezactivarea erorilor detaliate, OpenLog va răspunde doar cu un ! dacă există o eroare, în loc de o comandă necunoscută: C OMMAND.D..T. Caracterele sunt mai ușor de analizat de sistemele încorporate decât eroarea completă. Dacă utilizați un terminal, lăsarea funcției detaliate activată vă va permite să vedeți mesajele de eroare complete.
  • baud – Această comandă va deschide un meniu de sistem care permite utilizatorului să introducă o rată de transfer (baud rate). Este acceptată orice rată de transfer între 300 bps și 1 Mbps. Selecția ratei de transfer este imediată, iar OpenLog necesită o pornire și repornire pentru ca setările să aibă efect. Rata de transfer este stocată în EEPROM și este încărcată de fiecare dată când OpenLog pornește. Valoarea implicită este 9600 8N1.

Amintiți-vă: Dacă placa se blochează la o rată de baud necunoscută, puteți conecta RX la GND și porni OpenLog. LED-urile vor clipi timp de 2 secunde, apoi vor clipi la unison. Opriți OpenLog și scoateți jumperul. OpenLog este acum resetat la 9600 bps prin apăsarea caracterului de escape `CTRL-Z` de trei ori consecutiv. Această funcție poate fi anulată prin setarea bitului Emergency Override la 1. Consultați config.txt pentru mai multe informații.

  • Set – Această comandă deschide un meniu de sistem pentru a selecta modul de pornire. Aceste setări vor apărea la următoarea pornire și sunt stocate în memoria EEPROM nevolatilă.
    • Nou File Înregistrare în jurnal – Acest mod creează o nouă file de fiecare dată când OpenLog pornește, OpenLog va transmite 1 (UART-ul este activ), 2 (cardul SD este inițializat), apoi < (OpenLog este gata să primească date). Toate datele vor fi înregistrate într-un fișier LOG#####.txt. Numărul ##### crește de fiecare dată când OpenLog pornește (maximul este de 65533 de jurnale). Numărul este stocat în EEPROM și poate fi resetat din meniul de setare. Nu toate caracterele primite sunt redate. Puteți ieși din acest mod și intra în modul comandă trimițând CTRL+z (ASCII 26). Toate datele memorate în buffer vor fi stocate.
  • Nota: Dacă au fost create prea multe jurnale, OpenLog va afișa eroarea **Prea multe jurnale**, ieșiți din acest mod și accesați Linia de comandă. Ieșirea serială va arăta ca `12!Prea multe jurnale!”.
    • Adăuga File Înregistrare – Cunoscut și sub denumirea de mod secvențial, acest mod creează o file numit SEQLOG.txt dacă nu există deja acolo și adaugă orice date primite la fileOpenLog va transmite 12<, moment în care OpenLog este gata să primească date. Caracterele nu sunt redate. Puteți ieși din acest mod și intra în modul comandă apăsând CTRL+z (ASCII 26). Toate datele stocate în buffer vor fi stocate.
    • Linie de comandă – OpenLog va transmite 12>, moment în care sistemul este gata să primească comenzi. Rețineți că semnul > indică faptul că OpenLog este gata să primească comenzi, nu date. Puteți crea files și adăugați date la files, dar acest lucru necesită o analiză serială (pentru verificarea erorilor), așa că nu setăm acest mod în mod implicit.
    • Resetare Nou File Număr – Acest mod va reseta jurnalul file numărul în LOG000.txt. Acest lucru este util dacă ați golit recent un card microSD și doriți ca jurnalul să fie file numere pentru a o lua de la capăt.
    • Caracter Escape nou – Această opțiune permite utilizatorului să introducă un caracter, cum ar fi CTRL+z sau $, și să îl seteze ca noul caracter Escape. Această setare este resetată la CTRL+z în timpul unei resetări de urgență.
    • Număr de caractere Escape – Această opțiune permite utilizatorului să introducă un caracter (cum ar fi 1, 3 sau 17), actualizând noul număr de caractere Escape necesare pentru a trece în modul comandă. De exempluampDe exemplu, introducerea valorii 8 va necesita apăsarea tastelor CTRL+z de opt ori pentru a accesa modul de comandă. Această setare este resetată la 3 în timpul unei resetări de urgență.
  • Explicație a caracterelor de escape: Motivul pentru care OpenLog necesită apăsarea tastei `CTRL+z` de 3 ori pentru a intra în modul de comandă este de a preveni resetarea accidentală a plăcii în timpul încărcării de cod nou din IDE-ul Arduino. Există posibilitatea ca placa să vadă caracterul `CTRL+z` în timpul bootării (o problemă pe care am observat-o în versiunile anterioare ale firmware-ului OpenLog), așa că acest lucru își propune să prevină acest lucru. Dacă suspectați vreodată că placa dvs. a fost blocată din cauza acestui lucru, puteți oricând să faceți o resetare de urgență ținând pinul RX la masă în timpul pornirii.

Configurare File

Dacă preferați să nu utilizați terminalul serial pentru modificarea setărilor din OpenLog, puteți actualiza setările și modificând fișierul CONFIG.TXT. file.

Nota: Această funcție funcționează doar pe versiunea de firmware 1.6 sau mai nouă. Dacă ați cumpărat un OpenLog după 2012, veți rula versiunea de firmware 1.6+

  • Pentru a face acest lucru, veți avea nevoie de un cititor de carduri microSD și de un editor de text. Deschideți fișierul config.txt file (capitalizarea file (numele nu contează) și configurați-l! Dacă nu ați pornit niciodată OpenLog-ul cu cardul SD, puteți crea manual și fileDacă ați pornit OpenLog cu cardul microSD introdus anterior, ar trebui să vedeți ceva de genul următor atunci când citiți cardul microSD.SparkFun-DEV-13712-Particule-Fotonice-Cu-Găuri-Pentru-Lipire-fig- (15)OpenLog creează un fișier config.txt și un fișier LOG0000.txt file la prima pornire.
  • Configurația implicită file are o linie de setări și o linie de definiții.SparkFun-DEV-13712-Particule-Fotonice-Cu-Găuri-Pentru-Lipire-fig- (16)Configurația implicită file a fost scris de OpenLog.
  • Rețineți că acestea sunt caractere vizibile obișnuite (nu există valori nevizibile sau binare) și fiecare valoare este separată prin virgulă.

Setările sunt definite după cum urmează:

  • baud: Rata de comunicare în baud. 9600 bps este valoarea implicită. Valorile acceptabile compatibile cu Arduino IDE sunt 2400, 4800, 9600, 19200, 38400, 57600 și 115200. Puteți utiliza alte rate de comunicare în baud, dar nu veți putea comunica cu OpenLog prin intermediul monitorului serial Arduino IDE.
  • Escap:e Valoarea ASCII (în format zecimal) a caracterului de escape. 26 este CTRL+z și este valoarea implicită. 36 este $ și este un caracter de escape utilizat în mod obișnuit.
  • Esc #: Numărul de caractere escape necesare. În mod implicit, este trei, așadar trebuie să apăsați caracterul escape de trei ori pentru a intra în modul comandă. Valorile acceptabile sunt între 0 și 254. Setarea acestei valori la 0 va dezactiva complet verificarea caracterelor escape.
  • Mod Mod sistem. OpenLog pornește în mod implicit în modul Jurnal nou (0). Valorile acceptabile sunt 0 = Jurnal nou, 1 = Jurnal secvențial, 2 = Mod comandă.
  • Verb: Mod detaliat. Mesajele de eroare extinse (detaliate) sunt activate în mod implicit. Setarea la 1 activează mesajele de eroare detaliate (cum ar fi comanda necunoscută: remove !). Setarea la 0 dezactivează erorile detaliate, dar va răspunde cu un ! dacă există o eroare. Dezactivarea modului detaliat este utilă dacă încercați să gestionați erorile dintr-un sistem încorporat.
  • Ecou: Mod ecou. În modul comandă, caracterele sunt redate în mod implicit. Setarea acestei opțiuni la 0 dezactivează ecou-ul caracterelor. Dezactivarea acestei opțiuni este utilă dacă se gestionează erorile și nu se dorește ca comenzile trimise să fie redate înapoi către OpenLog.II.
  • iignoreRXEmergency Override. În mod normal, OpenLog va efectua o resetare de urgență atunci când pinul RX este declanșat la un nivel scăzut în timpul pornirii. Setarea acestei opțiuni la 1 va dezactiva verificarea pinului RX în timpul pornirii. Acest lucru poate fi util pentru sistemele care vor menține linia RX la un nivel scăzut din diverse motive. Dacă funcția Emergency Override este dezactivată, nu veți putea forța unitatea să revină la 9600 bps, iar configurația... file va fi singura modalitate de a modifica rata baud.

Cum modifică OpenLog configurația File
Există cinci situații diferite în care OpenLog poate modifica fișierul config.txt file.

  • Config file găsit: În timpul pornirii, OpenLog va căuta un fișier config.txt file. Dacă file se găsește un mesaj, OpenLog va utiliza setările incluse și va suprascrie orice setări de sistem stocate anterior.
  • Fără configurație file găsit: Dacă OpenLog nu poate găsi fișierul config.txt file Apoi, OpenLog va crea fișierul config.txt și va înregistra setările de sistem stocate în prezent în acesta. Aceasta înseamnă că, dacă introduceți un card microSD nou formatat, sistemul își va păstra setările actuale.
  • Configurație coruptă file găsit: OpenLog va șterge fișierul config.txt corupt fileși va rescrie atât setările interne EEPROM, cât și setările config.txt file la starea bună cunoscută de 9600,26,3,0,1,1,0.
  • Valori ilegale în configurație fileDacă OpenLog descoperă setări care conțin valori ilegale, OpenLog va suprascrie valorile corupte din config.txt file cu setările de sistem EEPROM stocate în prezent.
  • Modificări prin promptul de comandă: Dacă setările sistemului sunt modificate prin promptul de comandă (fie printr-o conexiune serială, fie prin comenzi seriale ale microcontrolerului), aceste modificări vor fi înregistrate atât în ​​EEPROM-ul sistemului, cât și în fișierul config.txt. file.
  • Resetare de urgență: Dacă OpenLog este repornit cu un jumper între RX și GND, iar bitul Emergency Override este setat la 0 (permițând resetarea de urgență), OpenLog va rescrie atât setările interne EEPROM, cât și setările config.txt. file la starea bună cunoscută de 9600,26,3,0,1,1,0.

Depanare

Există mai multe opțiuni diferite pentru a verifica dacă întâmpinați probleme la conectarea prin monitorul serial, probleme cu caracterele pierdute în jurnale sau dacă luptați cu un OpenLog blocat.

Verificați comportamentul LED-ului STAT1
LED-ul STAT1 prezintă un comportament diferit pentru două erori comune diferite.

  • 3 clipiri: Cardul microSD nu s-a inițializat. Este posibil să fie nevoie să formatați cardul cu FAT/FAT16 pe un computer.
  • 5 clipiri: OpenLog a trecut la o nouă rată baud și trebuie oprit și repornit.

Verificați de două ori structura subdirectoarelor

  • Dacă utilizați fișierul implicit OpenLog.ino exampDe exemplu, OpenLog va suporta doar două subdirectoare. Va trebui să modificați FOLDER_TRACK_DEPTH de la 2 la numărul de subdirectoare pe care trebuie să le suportați. După ce ați făcut acest lucru, recompilați codul și încărcați firmware-ul modificat.
  • Verificați numărul de Files în directorul rădăcină
  • OpenLog va suporta doar până la 65,534 de jurnaluri files în directorul rădăcină. Vă recomandăm să reformatați cardul microSD pentru a îmbunătăți viteza de înregistrare.
  • Verificați dimensiunea firmware-ului modificat
  • Dacă scrieți o schiță personalizată pentru OpenLog, verificați dacă aceasta nu este mai mare de 32,256 de octeți. Dacă da, va tăia primii 500 de octeți din memoria Flash, care este utilizată de bootloader-ul serial Optiboot.
  • Verificați dublu File Nume
  • Toate file Numele ar trebui să fie alfanumerice. MyLOG1.txt este ok, dar Hi !e _ .txtt s-ar putea să nu funcționeze.
  • Folosește 9600 baud
  • OpenLog rulează pe ATmega328 și are o cantitate limitată de RAM (2048 octeți). Când trimiteți caractere seriale către OpenLog, aceste caractere sunt stocate în buffer. Specificația simplificată a grupului SD permite unui card SD să înregistreze un bloc de date în memoria flash în maximum 250 ms (secțiunea 4.6.2.2 Scriere).
  • La 9600 bps, asta înseamnă 960 octeți (10 biți pe octet) pe secundă. Asta înseamnă 1.04 ms pe octet. OpenLog folosește în prezent un buffer de recepție de 512 octeți, astfel încât poate stoca în buffer aproximativ 50 ms de caractere. Acest lucru permite OpenLog să recepționeze cu succes toate caracterele care sosesc la 9600 bps. Pe măsură ce creșteți rata de transfer, bufferul va dura mai puțin.

Timp de depășire a bufferului OpenLog

Baud Rate Timp pe octet Timpul până la depășirea bufferului
9600 bps 1.04 ms 532 ms
57600 bps 0.174 ms 88 ms
115200 bps 0.087 ms 44 ms

Multe carduri SD au un timp de înregistrare mai rapid de 250 ms. Acest lucru poate fi afectat de „clasa” cardului și de cantitatea de date deja stocate pe card. Soluția este utilizarea unei rate de transfer mai mici sau creșterea timpului dintre caracterele trimise la rata de transfer mai mare.

Formatați cardul MicroSD
Nu uitați să folosiți un card cu puține sau deloc filee pe el. Un card microSD cu 3.1 GB de spațiu de stocare ZIP fileFișierele sau MP3-urile au un timp de răspuns mai lent decât un card gol. Dacă nu ați formatat cardul microSD pe un sistem de operare Windows, reformatați cardul microSD și creați un fișier DOS. filesistem pe cardul SD.
Schimbați cardurile MicroSD
Există mulți producători diferiți de carduri, carduri reetichetate, dimensiuni de carduri și clase de carduri, și este posibil să nu toate funcționeze corect. De obicei, folosim un card microSD de clasa 8 de 4 GB, care funcționează bine la 9600 bps. Dacă aveți nevoie de rate de transfer mai mari sau de un spațiu de stocare mai mare, puteți încerca carduri de clasa 6 sau superioare.
Adăugați întârzieri între scrierile de caractere
Prin adăugarea unei mici întârzieri între instrucțiunile Serial.print(), puteți oferi OpenLog șansa de a înregistra buffer-ul curent.
De examppe:
  • Serial.begin(115200);
    pentru (int i = 1 ; i < 10 ; i++) { Serial.print(i, DEC); Serial.println(":abcdefghijklmnopqrstuvwxyz-!#"); }

Este posibil să nu se înregistreze corect, deoarece există multe caractere trimise unul lângă altul. Introducerea unei mici întârzieri de 15 ms între scrierile de caractere mari va ajuta OpenLog să înregistreze fără a pierde caractere.

  • Serial.begin(115200);
    pentru (int i = 1 ; i < 10 ; i++) { Serial.print(i, DEC); Serial.println(":abcdefghijklmnopqrstuvwxyz-!"); delay(15); }

Adăugați compatibilitatea monitorului serial Arduino

Dacă încercați să utilizați OpenLog cu biblioteca serială încorporată sau cu biblioteca SoftwareSerial, este posibil să observați probleme cu modul de comandă. Serial.println() trimite atât o comandă newline, cât și o comandă carry return. Există două comenzi alternative pentru a depăși această problemă.

Prima este utilizarea comenzii \r (returnare car ASCII):
Serial.print("TEXT\r");

Alternativ, puteți trimite valoarea 13 (întoarcerea zecimală):

  • Serial.print(“TEXT”);
  • Serial.write(13);

Resetare de urgență

Rețineți că, dacă trebuie să resetați OpenLog la o stare implicită, puteți reseta placa conectând pinul RX la GND, pornind OpenLog, așteptând până când LED-urile încep să clipească la unison, apoi oprind OpenLog și scoțând jumperul.
Dacă ați modificat bitul de suprascriere de urgență la 1, va trebui să modificați configurația file, deoarece resetarea de urgență nu va funcționa.

Verifică cu Comunitatea

Dacă întâmpinați în continuare probleme cu OpenLog, vă rugăm să consultați problemele curente și închise din depozitul nostru GitHub aici. Există o comunitate numeroasă care lucrează cu OpenLog, așa că sunt șanse mari ca cineva să fi găsit o soluție pentru problema pe care o întâmpinați.

Resurse și mers mai departe

Acum că ați înregistrat cu succes datele cu OpenLog-ul dvs., puteți configura proiecte la distanță și monitoriza toate datele posibile care pot fi primite. Luați în considerare crearea propriului proiect de Știință Cetățenească sau chiar un dispozitiv de urmărire a animalelor de companie pentru a vedea ce face Fluffy când este plecat!
Consultați aceste resurse suplimentare pentru depanare, ajutor sau inspirație pentru următorul dvs. proiect.

  • OpenLog GitHub
  • Proiectul Illumitune
  • Conectarea senzorului de lumină LilyPad
  • BadgerHack: Adăugarea senzorului de sol
  • Noțiuni introductive despre OBD-II
  • Vernier Photogate

Ai nevoie de mai multă inspirație? Vezi câteva dintre aceste tutoriale conexe:

  • Senzor de nivel al apei la distanță Photon
    Învață cum să construiești un senzor de nivel al apei la distanță pentru un rezervor de stocare a apei și cum să automatizezi o pompă pe baza citirilor!
  • Ghidul proiectului Blynk Board
    O serie de proiecte Blynk pe care le poți configura pe placa Blynk fără a fi nevoie să o reprogramezi vreodată.
  • Înregistrarea datelor în Foi de calcul Google cu Tessel 2
    Acest proiect prezintă modul de înregistrare a datelor în Foi de calcul Google în două moduri: utilizând IFTTT cu un web conexiune sau un stick USB și „sneakernet” fără.
  • Date de senzori grafici cu Python și Matplotlib
    Folosește matplotlib pentru a crea o reprezentare grafică în timp real a datelor de temperatură colectate de la un senzor TMP102 conectat la un Raspberry Pi.

Dacă aveți feedback cu privire la tutoriale, vă rugăm să accesați comentariile sau să contactați echipa noastră de asistență tehnică la Suport tehnic@sparkfun.com.

Întrebări frecvente

Care este puterea de intrare recomandată pentru OpenLog?

Tensiunea de alimentare recomandată pentru OpenLog este între 3.3 V și 5 V.

Cât curent consumă OpenLog când este inactiv?

OpenLog consumă aproximativ 2mA până la 5mA atunci când este inactiv fără un card microSD și în jur de 5mA până la 6mA când este introdus un card microSD.

Care este scopul conectării la OpenLog a unui card microSD USB?

Cititorul USB microSD permite transferul ușor al datelor de pe cardul microSD utilizat cu OpenLog către un computer.

Documente/Resurse

SparkFun DEV-13712 Foton cu particule cu găuri pentru lipire [pdfGhid de utilizare
DEV-13712, DEV-13955, DEV-13712 Foton de particule cu găuri pentru lipire, DEV-13712, Foton de particule cu găuri pentru lipire, Găuri pentru lipire, Pentru lipire, Lipire

Referințe

Lasă un comentariu

Adresa ta de e-mail nu va fi publicată. Câmpurile obligatorii sunt marcate *