Sigla SparkFunGhid de conectare OpenLog

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.DEV-13712 Plăci de dezvoltare SparkFunSparkFun OpenLog
• DEV-13712DEV-13712 Plăci de dezvoltare SparkFun - PieseSparkFun OpenLog cu anteturi
• DEV-13955

niciun produs găsit
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

DEV-13712 Plăci de dezvoltare SparkFun - Piese 1 Arduino Pro Mini 328 – 3.3V/8MHz
DEV-11114
E albastru! E subțire! E Arduino Pro Mini! Abordarea minimalistă a designului SparkFun pentru Arduino. Acesta este un Arduino de 3.3V …
DEV-13712 Plăci de dezvoltare SparkFun - Piese 2 SparkFun FTDI Basic Breakout – 3.3V
DEV-09873
Aceasta este cea mai nouă revizie a [FTDI Basic](http://www.sparkfun.com/commerce/product_info.php?products_id= ...
DEV-13712 Plăci de dezvoltare SparkFun - Piese 3 Cablu USB SparkFun Cerberus – 6 m
CAB-12016
Ai folosit cablul USB greșit. Nu contează pe care îl ai, e cel greșit. Dar dacă ai putea avea...
DEV-13712 Plăci de dezvoltare SparkFun - Piese 4 SparkFun OpenLog
DEV-13712
SparkFun OpenLog este un înregistrator de date open source care funcționează printr-o conexiune serială simplă și suportă mi…
DEV-13712 Plăci de dezvoltare SparkFun - Piese 5 Card microSD cu adaptor – 16 GB (Clasa 10)
COM-13833
Acesta este un card de memorie microSD clasa 10 de 16 GB, perfect pentru găzduirea sistemelor de operare pentru computere cu o singură placă…
DEV-13712 Plăci de dezvoltare SparkFun - Piese 6 Cititor microSD USB
COM-13004
Acesta este un cititor USB microSD minunat. Introduceți pur și simplu cardul microSD în interiorul conectorului USB,…
DEV-13712 Plăci de dezvoltare SparkFun - Piese 7 Antete feminine
PRT-00115
Un singur rând de conectori mamă cu 40 de găuri. Poate fi tăiat la dimensiune cu o pereche de clești de tăiat sârmă. Spațiere standard de 1″. Folosim …
DEV-13712 Plăci de dezvoltare SparkFun - Piese 8 Cabluri de conectare Premium 6″ M/M, pachet de 10
PRT-08431
Aceasta este o exclusivitate SparkFun! Acestea sunt jumpere lungi de 155 mm cu conectori masculi la ambele capete. Folosește-le pentru a...
DEV-13712 Plăci de dezvoltare SparkFun - Piese 9 Anteturi masculine separate – Unghi drept
PRT-00553
Un rând de conectori masculi cu unghi drept – se pot rupe pentru a se potrivi. 40 de pini care pot fi tăiați la orice dimensiune. Se utilizează cu PCB-uri personalizate sau generatoare…

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
Acest tutorial acoperă tot ce trebuie să știi despre lipirea prin găuri străpunse.
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.
Comunicare serială
Concepte de comunicare serială asincronă: pachete, niveluri de semnal, rate baud, UART-uri și multe altele!
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

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

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ă pe o placă de bază ATmega328, 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” din IDE-ul Arduino.Plăci de dezvoltare SparkFun DEV-13712 - bootloaderInterfață
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.DEV-13712 Plăci de dezvoltare SparkFun - marginea plăcii

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. DEV-13712 Plăci de dezvoltare SparkFun - marginea plăcii 1Pentru 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.DEV-13712 Plăci de dezvoltare SparkFun - marginea plăcii 2Cea 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

DEV-13712 Plăci de dezvoltare SparkFun - marginea plăcii 3

Starea LED-urilor
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.

DEV-13712 Plăci de dezvoltare SparkFun - marginea plăcii 4

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ă
Sfat: Dacă aveți un conector mamă, OpenLog și conectorul mamă pe FTDI, veți avea nevoie de fire de conectare M/F.Plăci de dezvoltare SparkFun DEV-13712 - Conexiune serială de bază

Această conexiune hardware este concepută pentru interfațarea cu un OpenLog dacă trebuie să reprogramați placa sau să înregistrați date 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: DEV-13712 Plăci de dezvoltare SparkFun - Breakout de bazăDupă ce ați realizat 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 placăi 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.DEV-13712 Plăci de dezvoltare SparkFun - Conexiune hardware pentru proiectDeș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, 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 arată OpenLog-urile cu anteturile oglindite. Dacă rotiți soclul microSD față de partea superioară a Arduino-ului view, ar trebui să se potrivească cu antetul de programare, ca un FTDI.DEV-13712 Plăci de dezvoltare SparkFun - Conexiune hardware proiect 1

Nota că conexiunea este una dreaptă cu OpenLog-ul „cu susul în jos” (cu cardul microSD în sus).
⚡Notă: 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țe 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 fostample explică 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 pachetul de firmware OpenLog și bibliotecile 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 să fie cât mai mare posibil. Utilizarea acestor două biblioteci modificate împreună permite o performanță crescută a OpenLog.
Căutaț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.h 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 și > 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 să modificați setările 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.

File Manipulare

  • nou File – Creează o nouă file numit File în directorul curent. Standard 8.3 fileNumele sunt acceptate.
    De exampDe 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 text către File din locația OFFSET din cadrul fileTextul este citit de pe UART, linie cu linie și readus înapoi. 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 spre LENGTH.
    Dacă se omite START, î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 lungimea 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 Directory – Ș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 fabricatiei: 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.
  • sync – Sincronizează conținutul curent al buffer-ului cu cardul SD. Această comandă este utilă dacă aveți mai puțin de 512 caractere în buffer și doriți să le înregistrați pe cardul SD.
  • reset – Saltează OpenLog la locația zero, rulează din nou bootloader-ul și apoi inițializează codul. 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 în continuare metoda preferată pentru resetarea plăcii, dar această opțiune este disponibilă.

Setări de sistem

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

  • echo STATE – Modifică starea ecoului 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ă: COMMAND. Caracterul ! este mai ușor de analizat pentru sistemele integrate 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.

Rețineți: 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.
Vedeț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 avea loc 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 se repetă niciun caracter primit. 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.

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 astfel: „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 precum 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.DEV-13712 Plăci de dezvoltare SparkFun - editor de textOpenLog 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.DEV-13712 Plăci de dezvoltare SparkFun - editor de text 1Configurație implicită file 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.
  • escape: Valoarea ASCII (în format zecimal) a caracterului escape. 26 este CTRL+z și este valoarea implicită. 36 este $ și este un caracter escape utilizat în mod obișnuit.
  • esc#: Numărul de caractere escape necesare. În mod implicit, este trei, deci 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.
  • mode: 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 (verboase) sunt activate în mod implicit. Setarea acestei opțiuni la 1 activează mesajele de eroare detaliate (cum ar fi comanda necunoscută: remove !). Setarea acestei opțiuni 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.
  • echo: 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 în OpenLog.
  • ignoreRX: Suprascriere de urgență. În mod normal, OpenLog se va reseta 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ă suprascrierea de urgență 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. Fișierul MyLOG1.txt este ok, dar este posibil ca fișierul Hi !e _.txt 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 SD Group Simplified 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 MP3 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 superioară.
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 valoarea curentă.
tampon.
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-!#");
întârziere (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!
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!
Î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.

Sigla SparkFun

Documente/Resurse

SparkFun DEV-13712 Plăci de dezvoltare SparkFun [pdfGhid de utilizare
DEV-13712, DEV-11114, DEV-09873, CAB-12016, COM-13833, COM-13004, PRT-00115, PRT-08431, DEV-13712 Plăci de dezvoltare SparkFun, DEV-13712, Plăci de dezvoltare SparkFun, Plăci de dezvoltare, Plăci

Referințe

Lasă un comentariu

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