Vodič za spajanje OpenLoga
Uvod
Upozorenje! Ovaj vodič je za Open Log za serijski UART [DEV-13712]. Ako koristite Qwiic OpenLog za IC [DEV-15164], pogledajte Qwiic OpenLog vodič za spajanje.
OpenLog Data Logger je jednostavno rješenje otvorenog koda za bilježenje serijskih podataka iz vaših projekata. OpenLog pruža jednostavno serijsko sučelje za bilježenje podataka iz projekta na microSD karticu.SparkFun OpenLog
• DEV-13712SparkFun OpenLog sa zaglavljima
• DEV-13955
nije pronađen nijedan proizvod
Potrebni materijali
Kako biste u potpunosti prošli kroz ovaj vodič, trebat će vam sljedeći dijelovi. Možda vam neće trebati sve, ovisno o tome što imate. Dodajte to u košaricu, pročitajte vodič i prilagodite košaricu prema potrebi.
Vodič za spajanje na OpenLog-u, lista želja SparkFuna
![]() |
Arduino Pro Mini 328 – 3.3V/8MHz DEV-11114 Plavo je! Tanko je! To je Arduino Pro Mini! SparkFunov minimalistički pristup dizajnu Arduina. Ovo je 3.3V Arduino ... |
![]() |
SparkFun FTDI osnovni razvodni kabel – 3.3 V DEV-09873 Ovo je najnovija revizija našeg [FTDI Basic](http://www.sparkfun.com/commerce/product_info.php?products_id= ... |
![]() |
SparkFun Cerberus USB kabel – 6 m CAB-12016 Imate krivi USB kabel. Nije važno koji imate, krivi je. Ali što ako biste mogli imati… |
![]() |
SparkFun OpenLog DEV-13712 SparkFun OpenLog je logger podataka otvorenog koda koji radi preko jednostavne serijske veze i podržava mi… |
![]() |
microSD kartica s adapterom – 16 GB (klasa 10) COM-13833 Ovo je microSD memorijska kartica klase 10 od 16 GB, savršena za operativne sustave za jednopločna računala i… |
![]() |
USB čitač za microSD kartice COM-13004 Ovo je sjajan mali microSD USB čitač. Samo umetnite microSD karticu u USB priključak i… |
![]() |
Ženska zaglavlja PRT-00115 Jedan red ženskog konektora s 40 rupa. Može se rezati na veličinu s rezačima žice. Standardni razmak od 1″. Koristimo … |
![]() |
Premosni kablovi Premium 6″ M/M, pakiranje od 10 PRT-08431 Ovo je ekskluzivno za SparkFun! Ovo su kratkospojnici duljine 155 mm s muškim konektorima na oba kraja. Koristite ih za… |
![]() |
Odvojivi muški zaglavci – pod pravim kutom PRT-00553 Niz muških konektora pod pravim kutom – lome se kako bi odgovarali. 40 pinova koji se mogu rezati na bilo koju veličinu. Koristi se s prilagođenim PCB-ima ili generatorima… |
Preporučena literatura
Ako niste upoznati ili vam nisu ugodni sljedeći koncepti, preporučujemo da ih pročitate prije nego što nastavite s OpenLog vodičem za povezivanje.
Kako lemiti: Lemljenje kroz rupu
Ovaj vodič pokriva sve što trebate znati o lemljenju kroz rupu.
Serijsko periferno sučelje (SPI)
SPI se obično koristi za povezivanje mikrokontrolera s perifernim uređajima poput senzora, pomičnih registra i SD kartica.
Serijska komunikacija
Koncepti asinkrone serijske komunikacije: paketi, razine signala, brzine prijenosa, UART-ovi i još mnogo toga!
Osnove serijskog terminala
Ovaj vodič će vam pokazati kako komunicirati sa serijskim uređajima pomoću raznih aplikacija za emulaciju terminala.
Hardver gotovview
Vlast
OpenLog radi sa sljedećim postavkama:
OpenLog nazivne snage
VCC ulaz | 3.3 V - 12 V (preporučeno 3.3 V - 5 V) |
RXI ulaz | 2.0 V-3.8 V |
TXO izlaz | 3.3 V |
Povlačenje struje u mirovanju | ~2mA-5mA (bez microSD kartice), ~5mA-6mA (s microSD karticom) |
Povlačenje struje pri aktivnom pisanju | ~20-23mA (s microSD karticom) |
OpenLogova potrošnja struje je oko 20mA do 23mA prilikom pisanja na microSD karticu. Ovisno o veličini microSD kartice i njezinom proizvođaču, aktivna potrošnja struje može varirati kada OpenLog zapisuje na memorijsku karticu. Povećanje brzine prijenosa podataka također će povući više struje.
mikrokontrolera
OpenLog radi na ugrađenom ATmega328 mikrokontroleru, koji radi na 16MHz zahvaljujući ugrađenom kristalu. ATmega328 ima ugrađen Optiboot bootloader, što omogućuje da OpenLog bude kompatibilan s postavkom ploče "Arduino Uno" u Arduino IDE-u.Sučelje
Serijski UART
Primarno sučelje s OpenLogom je FTDI priključak na rubu ploče. Ovaj priključak je dizajniran za izravno spajanje na Arduino Pro ili Pro Mini, što omogućuje mikrokontroleru slanje podataka putem serijske veze na OpenLog.
Upozorenje! Zbog redoslijeda pinova koji ga čini kompatibilnim s Arduinom, ne može se izravno uključiti u FTDI razvodnu ploču. Za više informacija svakako pogledajte sljedeći odjeljak o spajanju hardvera.
SPI
Na suprotnom kraju ploče nalaze se i četiri SPI testna priključka. Možete ih koristiti za reprogramiranje bootloadera na ATmega328.Najnoviji OpenLog (DEV-13712) izvlači ove pinove na manje galvanizirane prolazne rupe. Ako trebate koristiti ISP za reprogramiranje ili učitavanje novog bootloadera na OpenLog, možete koristiti pogo pinove za spajanje na ove testne točke.
Konačno sučelje za komunikaciju s OpenLogom je sama microSD kartica. Za komunikaciju, microSD kartica zahtijeva SPI pinove. OpenLog ne samo da ovdje pohranjuje podatke, već i možete ažurirati konfiguraciju OpenLoga putem config.txt datoteke. file na microSD kartici.
microSD kartica
Svi podaci koje je zabilježio OpenLog pohranjeni su na microSD kartici. OpenLog radi s microSD karticama koje imaju sljedeće značajke:
- 64 MB do 32 GB
- FAT16 ili FAT32
LED stanja
Na OpenLogu postoje dvije statusne LED diode koje vam pomažu u rješavanju problema.
- STAT1 – Ova plava LED indikatorska dioda je spojena na Arduino D5 (ATmega328 PD5) i uključuje se/isključuje kada se primi novi znak. Ova LED dioda treperi kada serijska komunikacija funkcionira.
- STAT2 – Ova zelena LED dioda je spojena na Arduino D13 (SPI serijska taktna linija/ATmega328 PB5). Ova LED dioda treperi samo kada je SPI sučelje aktivno. Vidjet ćete da treperi kada OpenLog zapiše 512 bajtova na microSD karticu.
Spajanje hardvera
Postoje dvije glavne metode za spajanje vašeg OpenLoga na strujni krug. Trebat će vam neki konektori ili žice za spajanje. Obavezno zalemite na ploču radi sigurne veze.
Osnovna serijska veza
Savjet: Ako imate ženski konektor, OpenLog i ženski konektor na FTDI-ju, trebat će vam M/F kratkospojnici za spajanje.
Ova hardverska veza je dizajnirana za povezivanje s OpenLogom ako trebate reprogramirati ploču ili zapisivati podatke putem osnovne serijske veze.
Napravite sljedeće veze:
OpenLog → 3.3V FTDI osnovni razvodni kabel
- GND → GND
- GND → GND
- VCC → 3.3 V
- TXO → RXI
- RXI → TXO
- DTR → DTR
Imajte na umu da nije riječ o izravnoj vezi između FTDI-ja i OpenLoga – morate zamijeniti priključke TXO i RXI.
Vaše veze bi trebale izgledati ovako: Nakon što uspostavite veze između OpenLoga i FTDI Basic-a, priključite FTDI ploču u USB kabel i u računalo.
Otvorite serijski terminal, spojite se na COM port vašeg FTDI Basic-a i krenite!
Veza hardvera projekta
Savjet: Ako imate ženske konektore zalemljene na OpenLogu, možete zalemiti muške konektore na Arduino Pro Mini kako biste spojili ploče bez potrebe za žicama.Iako je povezivanje s OpenLogom putem serijske veze važno za reprogramiranje ili otklanjanje pogrešaka, OpenLog se ističe u ugrađenim projektima. Ovaj opći sklop preporučuje spajanje OpenLoga na mikrokontroler (u ovom slučaju Arduino Pro Mini) koji će zapisivati serijske podatke u OpenLog.
Prvo ćete morati prenijeti kod na svoj Pro Mini koji namjeravate pokrenuti. Molimo pogledajte Arduino skice za neke primjere.ampkod koji možete koristiti.
Bilješka: Ako niste sigurni kako programirati svoj Pro Mini, pogledajte naš vodič ovdje.
Korištenje Arduino Pro Mini 3.3V
Ovaj tutorial je vaš vodič kroz sve što je vezano uz Arduino Pro Mini. Objašnjava što je, što nije i kako ga početi koristiti.
Nakon što ste programirali svoj Pro Mini, možete ukloniti FTDI ploču i zamijeniti je OpenLog-om.
Obavezno spojite pinove označene s BLK i na Pro Mini i na OpenLogu (pinovi označeni s GRN na oba će se također poklapati ako se ispravno spoji).
Ako ne možete izravno spojiti OpenLog na Pro Mini (zbog neusklađenih konektora ili drugih ploča na putu), možete upotrijebiti kratkospojnike i napraviti sljedeće spojeve.
OpenLog → Arduino Pro/Arduino Pro Mini
- GND → GND
- GND → GND
- VCC → VCC
- TXO → RXI
- RXI → TXO
- DTR → DTR
Nakon što završite, vaše veze s Arduino Pro Mini i Arduino Pro trebale bi izgledati ovako:
Fritzingov dijagram prikazuje OpenLogove sa zrcaljenim zaglavljima. Ako okrenete microSD utičnicu u odnosu na vrh Arduina view, trebali bi odgovarati programskom zaglavlju poput FTDI-ja.
Bilješka da je veza ravna s OpenLogom "naopačke" (s microSD karticom okrenutom prema gore).
⚡Napomena: Budući da su Vcc i GND između OpenLoga i Arduina zauzeti konektorima, morat ćete spojiti napajanje na ostale dostupne pinove na Arduinu. Inače biste mogli zalemiti žice na izložene pinove za napajanje na bilo kojoj ploči.
Uključite svoj sustav i spremni ste za početak bilježenja!
Arduino skice
Postoji šest različitih bivšihampUključene su skice koje možete koristiti na Arduinu kada ste spojeni na OpenLog.
- OpenLog_Benchmarking — Ovaj bivšiample se koristi za testiranje OpenLoga. Ovo šalje vrlo velike količine podataka brzinom od 115200 bps preko više files.
- OpenLog_CommandTest — Ovaj example pokazuje kako stvoriti i dodati file putem upravljanja naredbenim retkom putem Arduina.
- OpenLog_ReadExample — Ovaj bivšiampU nastavku slijedi postupak upravljanja OpenLogom putem naredbenog retka.
- OpenLog_ReadExample_LargeFile — Nprampkako otvoriti veliku pohranu file na OpenLogu i prijaviti to putem lokalne Bluetooth veze.
- OpenLog_Test_Sketch — Koristi se za testiranje OpenLoga s puno serijskih podataka.
- OpenLog_Test_Sketch_Binary — Koristi se za testiranje OpenLoga s binarnim podacima i escape znakovima.
Firmware
OpenLog ima dva glavna softvera: bootloader i firmware.
Arduino Bootloader
Bilješka: Ako koristite OpenLog koji je kupljen prije ožujka 2012., ugrađeni bootloader kompatibilan je s postavkom "Arduino Pro ili Pro Mini 5V/16MHz w/ ATmega328" u Arduino IDE-u.
Kao što je već spomenuto, OpenLog ima ugrađeni serijski bootloader Optiboot. Možete tretirati OpenLog baš kao Arduino Uno prilikom prijenosa example kod ili novi firmware na ploču.
Ako vam se OpenLog na kraju "bricka" i trebate ponovno instalirati bootloader, također ćete htjeti prenijeti Optiboot na ploču. Za više informacija pogledajte naš vodič o instaliranju Arduino Bootloadera.
Kompajliranje i učitavanje firmvera na OpenLog
Bilješka: Ako prvi put koristite Arduino, molimo vas da ponovnoview naš vodič o instaliranju Arduino IDE-a. Ako prethodno niste instalirali Arduino biblioteku, pogledajte naš vodič za instalaciju kako biste ručno instalirali biblioteke.
Ako iz bilo kojeg razloga trebate ažurirati ili ponovno instalirati firmver na svom OpenLogu, sljedeći postupak će pokrenuti vašu ploču.
Prvo, preuzmite Arduino IDE v1.6.5. Druge verzije IDE-a mogu funkcionirati za kompajliranje OpenLog firmware-a, ali mi smo ovu potvrdili kao poznatu ispravnu verziju.
Zatim preuzmite OpenLog firmware i potrebne biblioteke.
PREUZMITE OPENLOG FIRMWARE PAKET (ZIP)
Nakon što preuzmete biblioteke i firmware, instalirajte ih u Arduino. Ako niste sigurni kako ručno instalirati biblioteke u IDE-u, pogledajte naš vodič: Instaliranje Arduino biblioteke: Ručno instaliranje biblioteke.
Bilješka: Koristimo modificirane verzije biblioteka SdFat i SerialPort kako bismo proizvoljno odredili koliko veliki trebaju biti TX i RX međuspremnici. OpenLog zahtijeva da TX međuspremnik bude vrlo mali (0), a RX međuspremnik mora biti što veći. Korištenje ove dvije modificirane biblioteke zajedno omogućuje poboljšane performanse OpenLoga.
Tražite najnovije verzije? Ako biste radije najnovije verzije biblioteka i firmvera, možete ih preuzeti izravno iz GitHub repozitorija povezanih u nastavku. Biblioteke SdFatLib i Serial Port nisu vidljive u Arduino upravitelju ploča pa ćete ih morati ručno instalirati.
- GitHub: OpenLog > Firmware > OpenLog_Firmware
- Bill Greimanove Arduino biblioteke
SdFatLib-beta
Serijski port
Zatim, da iskoristimo prednostitagOd modificiranih biblioteka, modificirajte SerialPort.h file nalazi se u direktoriju \Arduino\Libraries\SerialPort. Promijenite BUFFERED_TX na 0 i ENABLE_RX_ERROR_CHECKING na 0. Spremite filei otvorite Arduino IDE.
Ako to još niste učinili, spojite svoj OpenLog na računalo putem FTDI ploče. Molimo vas da dvaput provjerite exampkrug ako niste sigurni kako to pravilno učiniti.
Otvorite OpenLog skicu koju želite prenijeti pod izbornikom Alati>Ploča, odaberite „Arduino/Genuino Uno“ i odaberite odgovarajući COM port za vašu FTDI ploču pod Alati>Port.
Prenesite kod.
To je to! Vaš OpenLog je sada programiran s novim firmwareom. Sada možete otvoriti serijski monitor i komunicirati s OpenLogom. Nakon uključivanja, vidjet ćete 12> ili 12<. 1 označava da je serijska veza uspostavljena, 2 označava da je SD kartica uspješno inicijalizirana, < označava da je OpenLog spreman za zapisivanje svih primljenih serijskih podataka, a > označava da je OpenLog spreman za primanje naredbi.
Skice OpenLog firmwarea
Postoje tri uključene skice koje možete koristiti na OpenLogu, ovisno o vašoj određenoj primjeni.
- OpenLog – Ovaj firmware se isporučuje prema zadanim postavkama na OpenLogu. Slanjem naredbe ? prikazat će se verzija firmwarea učitana na uređaj.
- OpenLog_Light – Ova verzija skice uklanja izbornik i način naredbi, omogućujući povećanje međuspremnika prijema. Ovo je dobra opcija za brzo bilježenje.
- OpenLog_Minimal – Brzina prijenosa podataka mora se postaviti u kodu i prenijeti. Ova skica se preporučuje iskusnim korisnicima, ali je ujedno i najbolja opcija za najbrže bilježenje podataka.
Set naredbi
S OpenLogom se možete povezati putem serijskog terminala. Sljedeće naredbe pomoći će vam u čitanju, pisanju i brisanju files, kao i promijeniti postavke OpenLoga. Morat ćete biti u naredbenom načinu rada kako biste mogli koristiti sljedeće postavke.
Dok je OpenLog u naredbenom načinu rada, STAT1 će se uključivati/isključivati za svaki primljeni znak. LED će ostati upaljen dok se ne primi sljedeći znak.
File Manipulacija
- novi File – Stvara novo file imenovani File u trenutnom direktoriju. Standard 8.3 fileimena su podržana.
Na primjeramptj. „87654321.123“ je prihvatljivo, dok „987654321.123“ nije.
• prample: novo file1.txt - dodati File – Dodavanje teksta na kraj FileSerijski podaci se zatim čitaju iz UART-a u streamu i dodaju se u fileNe prenosi se preko serijskog terminala. Ako File ne postoji kada se ova funkcija pozove, file će se stvoriti.
• prample: dodati novofile.csv - pisati File OFFSET – Upišite tekst u File od lokacije OFFSET unutar fileTekst se čita iz UART-a, redak po redak i vraća se natrag. Za izlaz iz ovog stanja, pošaljite prazan redak.
• prample: write logs.txt 516 - rm File – Briše File iz trenutnog direktorija. Podržani su zamjenski znakovi.
• prample: rm README.txt - veličina File – Izlazna veličina File u bajtovima.
• prample: veličina Log112.csv
• Izlaz: 11 - pročitati File + POČETAK+ VRSTA DUŽINE – Ispišite sadržaj File počevši od POČETKA i nastavljajući do DULJINE.
Ako se START izostavi, cijeli file se prijavljuje. Ako se izostavi LENGTH, prijavljuje se cijeli sadržaj od početne točke. Ako se izostavi TYPE, OpenLog će prema zadanim postavkama izvješćivati u ASCII formatu. Postoje tri izlazna TYPE-a:
• ASCII = 1
• HEX = 2
• RAW = 3
Možete izostaviti neke završne argumente. Provjerite sljedeći primjeramples.
Osnovne oznake za čitanje + izostavljanje:
• prample: pročitaj LOG00004.txt
• Izlaz: Akcelerometar X=12 Y=215 Z=317
Čita od početka 0 s duljinom od 5:
• prample: pročitaj LOG00004.txt 0 5
• Izlaz: Ubrzanje
Čita se od pozicije 1 s duljinom od 5 u HEX formatu:
• prample: pročitaj LOG00004.txt 1 5 2
• Izlaz: 63 63 65 6C - Čita se s pozicije 0 s duljinom od 50 u RAW formatu:
- • prample: pročitaj LOG00137.txt 0 50 3
- • Izlaz: André– -þ Prošireni test karaktera
- mačka File – Napišite sadržaj jednog file u heksadecimalnom kodu serijskog monitora za viewing. Ponekad je korisno vidjeti da je file ispravno snima bez potrebe za vađenjem SD kartice i view the file na računalu.
• prample: cat LOG00004.txt
• Izlaz: 00000000: 41 63 65 6c 3a 20 31
Manipulacija direktorijima
- ls – Navodi sav sadržaj trenutnog direktorija. Podržani su zamjenski znakovi.
• prample: ls
• Izlaz: \src - md Poddirektorij – Stvori poddirektorij u trenutnom direktoriju.
• prample: md Example_Skice - cd Poddirektorij – Promjena u poddirektorij.
• prample: cd Pozdrav_Svijete - cd .. – Promjena u niži direktorij u stablu. Imajte na umu da postoji razmak između 'cd' i '..'. To omogućuje parseru stringova da vidi naredbu cd.
• prample: cd .. - rm Poddirektorij – Briše poddirektorij. Direktorij mora biti prazan da bi ova naredba radila.
• prample: rm temperature - rm -rf Direktorij – Briše direktorij i sve filesadržano u njemu.
• prample: rm -rf Biblioteke
Naredbe funkcija niske razine
- ? – Ova naredba će prikazati popis dostupnih naredbi na OpenLogu.
- disk – Prikaži ID proizvođača kartice, serijski broj, datum proizvodnje i veličinu kartice. Npr.ampizlaz je:
Vrsta kartice: SD2
ID proizvođača: 3
OEM ID: SD
Proizvod: SU01G
Verzija: 8.0
Serijski broj: 39723042
Datum proizvodnje: 1/2010
Veličina kartice: 965120 KB - init – Ponovno inicijalizirajte sustav i ponovno otvorite SD karticu. Ovo je korisno ako SD kartica prestane reagirati.
- sync – Sinkronizira trenutni sadržaj međuspremnika s SD karticom. Ova je naredba korisna ako u međuspremniku imate manje od 512 znakova i želite ih snimiti na SD karticu.
- reset – Prebacuje OpenLog na lokaciju nula, ponovno pokreće bootloader i zatim inicijalizuje kod. Ova naredba je korisna ako trebate urediti konfiguraciju file, resetirajte OpenLog i počnite koristiti novu konfiguraciju. Isključivanje i isključivanje napajanja i dalje je preferirana metoda za resetiranje ploče, ali ova opcija je dostupna.
Postavke sustava
Ove postavke mogu se ručno ažurirati ili urediti u datoteci config.txt file.
- echo STATE – Mijenja stanje echo-a sustava i pohranjuje se u memoriju sustava. STATE može biti uključeno ili isključeno. Dok je uključeno, OpenLog će ispisati primljene serijske podatke u naredbenom retku. Dok je isključeno, sustav ne čita primljene znakove.
Bilješka: Tijekom normalnog zapisivanja, jeka će biti isključena. Zahtjevi sistemskih resursa za zapisivanje primljenih podataka su preveliki tijekom zapisivanja. - verbose STATE – Mijenja stanje detaljnog izvještavanja o pogreškama. STATE može biti uključeno ili isključeno. Ova naredba se pohranjuje u memoriju. Isključivanjem detaljnih pogrešaka, OpenLog će odgovoriti samo sa znakom ! ako postoji pogreška, a ne nepoznatom naredbom: COMMAND. Znak ! je lakše parsirati ugrađenim sustavima nego punu pogrešku. Ako koristite terminal, ostavljanje verbose uključenog omogućit će vam da vidite potpune poruke o pogrešci.
- baud – Ova naredba otvorit će izbornik sustava koji omogućuje korisniku unos brzine prijenosa podataka. Podržana je bilo koja brzina prijenosa podataka između 300 bps i 1 Mbps. Odabir brzine prijenosa podataka je trenutan, a OpenLog zahtijeva isključivanje i isključivanje napajanja da bi postavke stupile na snagu. Brzina prijenosa podataka pohranjuje se u EEPROM i učitava se svaki put kada se OpenLog uključi. Zadana vrijednost je 9600 8N1.
Zapamtite: Ako se ploča zaglavi na nepoznatoj brzini prijenosa podataka, možete spojiti RX na GND i uključiti OpenLog. LED diode će treptati naprijed-natrag 2 sekunde, a zatim će treptati istovremeno. Isključite OpenLog i uklonite kratkospojnik. OpenLog se sada resetira na 9600bps s tri uzastopna pritiska znaka `CTRL-Z`. Ova se značajka može poništiti postavljanjem bita za hitno poništavanje na 1.
Za više informacija pogledajte config.txt.
- set – Ova naredba otvara izbornik sustava za odabir načina pokretanja. Ove će se postavke primijeniti na
• pri sljedećem uključivanju i pohranjuju se u nehlapljivu EEPROM memoriju. Novo File Zapisivanje – Ovaj način rada stvara novi file svaki put kada se OpenLog uključi. OpenLog će prenijeti 1 (UART je aktivan), 2 (SD kartica je inicijalizirana), zatim < (OpenLog je spreman za primanje podataka). Svi podaci će se snimiti u LOG#####.txt. Broj ##### se povećava svaki put kada se OpenLog uključi (maksimalno je 65533 zapisa). Broj se pohranjuje u EEPROM-u i može se resetirati iz izbornika postavki.
Ne ponavljaju se svi primljeni znakovi. Iz ovog načina rada možete izaći i ući u način naredbe slanjem CTRL+z (ASCII 26). Svi međuspremnički podaci bit će pohranjeni.
Bilješka: Ako je stvoreno previše zapisnika, OpenLog će ispisati grešku **Previše zapisnika**, izaći iz ovog načina rada i vratiti se u naredbeni redak. Serijski izlaz će izgledati ovako: `12!Previše zapisnika!`.
- Dodati File Zapisivanje – Također poznat kao sekvencijalni način rada, ovaj način rada stvara file naziva se SEQLOG.txt ako već nije tamo i dodaje sve primljene podatke u fileOpenLog će prenijeti 12< u kojem trenutku je OpenLog spreman za primanje podataka. Znakovi se ne ponavljaju. Možete izaći iz ovog načina rada i ući u naredbeni način rada slanjem CTRL+z (ASCII 26). Svi međuspremnički podaci bit će pohranjeni.
- Naredbeni redak – OpenLog će poslati 12> u kojem trenutku je sustav spreman za primanje naredbi. Imajte na umu da znak > označava da je OpenLog spreman za primanje naredbi, a ne podataka. Možete kreirati filei dodajte podatke u files, ali to zahtijeva serijsko parsiranje (za provjeru grešaka), pa ovaj način rada ne postavljamo prema zadanim postavkama.
- Poništi novo File Broj – Ovaj način rada resetira zapisnik file broj u LOG000.txt. Ovo je korisno ako ste nedavno ispraznili microSD karticu i želite da se zapisnik file brojeve za ponovni početak.
- Novi znak za izlaz – Ova opcija omogućuje korisniku unos znaka kao što je CTRL+z ili $ i postavljanje tog znaka kao novog znaka za izlaz. Ova se postavka resetira na CTRL+z tijekom hitnog resetiranja.
- Broj escape znakova – Ova opcija omogućuje korisniku unos znaka (npr. 1, 3 ili 17), ažurirajući novi broj escape znakova potrebnih za prelazak u naredbeni način rada. Na primjeramptj. unosom broja 8 korisnik će morati osam puta pritisnuti CTRL+z kako bi ušao u način rada naredbi. Ova se postavka resetira na 3 tijekom hitnog resetiranja.
Objašnjenje znakova za izlaz: Razlog zašto OpenLog zahtijeva `CTRL+z` pritisnuto 3 puta za ulazak u naredbeni način rada jest sprječavanje slučajnog resetiranja ploče tijekom učitavanja novog koda iz Arduino IDE-a. Postoji mogućnost da ploča vidi znak `CTRL+z` koji se pojavljuje tijekom pokretanja sustava (problem koji smo vidjeli u ranijim verzijama OpenLog firmware-a), pa je cilj ovog postupka spriječiti to. Ako ikada posumnjate da je vaša ploča zbog toga blokirana, uvijek možete izvršiti hitno resetiranje držeći RX pin na masi tijekom uključivanja.
Konfiguracija File
Ako ne želite koristiti serijski terminal za izmjenu postavki na vašem OpenLogu, postavke možete ažurirati i izmjenom CONFIG.TXT datoteke file.
Bilješka: Ova značajka radi samo na verziji firmvera 1.6 ili novijoj. Ako ste kupili OpenLog nakon 2012., koristit ćete verziju firmvera 1.6+.
Za to će vam trebati čitač microSD kartica i program za uređivanje teksta. Otvorite datoteku config.txt file (velika slova file ime nije važno) i konfigurirajte! Ako nikada prije niste uključili svoj OpenLog s SD karticom, možete i ručno stvoriti fileAko ste prethodno uključili OpenLog s umetnutom microSD karticom, trebali biste vidjeti nešto poput sljedećeg prilikom očitavanja microSD kartice.OpenLog stvara datoteke config.txt i LOG0000.txt file pri prvom uključivanju.
Zadana konfiguracija file ima jedan redak postavki i jedan redak definicija.Zadana konfiguracija file napisao OpenLog.
Imajte na umu da su to uobičajeni vidljivi znakovi (nema nevidljivih ili binarnih vrijednosti) i da je svaka vrijednost odvojena zarezom.
Postavke su definirane na sljedeći način:
- baud: Brzina komunikacije u baudu. Zadana vrijednost je 9600 bps. Prihvatljive vrijednosti kompatibilne s Arduino IDE-om su 2400, 4800, 9600, 19200, 38400, 57600 i 115200. Možete koristiti i druge brzine prijenosa, ali nećete moći komunicirati s OpenLogom putem serijskog monitora Arduino IDE-a.
- escape: ASCII vrijednost (u decimalnom formatu) escape znaka. 26 je CTRL+z i zadana je vrijednost. 36 je $ i često korišten escape znak.
- esc#: Broj potrebnih escape znakova. Prema zadanim postavkama, to je tri, pa morate tri puta pritisnuti escape znak da biste se vratili u naredbeni način rada. Prihvatljive vrijednosti su od 0 do 254. Postavljanjem ove vrijednosti na 0 potpuno ćete onemogućiti provjeru escape znakova.
- način rada: Način rada sustava. OpenLog se prema zadanim postavkama pokreće u načinu rada novog zapisnika (0). Prihvatljive vrijednosti su 0 = Novi zapisnik, 1 = Sekvencijalni zapisnik, 2 = Način naredbi.
- glagol: Verbose mode. Proširene (verbose) poruke o pogreškama uključene su prema zadanim postavkama. Postavljanjem na 1 uključuje se verbose poruke o pogreškama (kao što je nepoznata naredba: ukloni !). Postavljanjem na 0 isključuje se verbose poruke o pogreškama, ali će se odgovoriti znakom ! ako postoji pogreška. Isključivanje verbose moda je korisno ako pokušavate obraditi pogreške iz ugrađenog sustava.
- echo: Način rada s odjekom. U načinu rada naredbi, znakovi se prema zadanim postavkama odjekuju. Postavljanjem ove vrijednosti na 0 isključuje se odjek znakova. Isključivanje ove postavke je korisno ako se obrađuju pogreške i ne želite da se poslane naredbe odjekuju natrag u OpenLog.
- ignoreRX: Hitno poništavanje. Normalno, OpenLog će se hitno resetirati kada se RX pin spusti na nisku razinu tijekom uključivanja. Postavljanjem ovoga na 1 onemogućit će se provjera RX pina tijekom uključivanja. To može biti korisno za sustave koji će RX liniju držati niskom iz različitih razloga. Ako je Hitno poništavanje onemogućeno, nećete moći prisilno vratiti uređaj na 9600bps, a konfiguracija... file bit će jedini način za promjenu brzine prijenosa podataka.
Kako OpenLog mijenja konfiguraciju File
Postoji pet različitih situacija u kojima OpenLog može izmijeniti datoteku config.txt file.
- Konfiguracija file pronađeno: Tijekom uključivanja, OpenLog će tražiti datoteku config.txt file. Ako je file ako se pronađe, OpenLog će koristiti uključene postavke i prebrisati sve prethodno pohranjene sistemske postavke.
- Nema konfiguracije file pronađeno: Ako OpenLog ne može pronaći datoteku config.txt file OpenLog će zatim kreirati datoteku config.txt i u nju snimiti trenutno pohranjene postavke sustava. To znači da ako umetnete novo formatiranu microSD karticu, vaš sustav će zadržati trenutne postavke.
- Oštećena konfiguracija file pronađeno: OpenLog će izbrisati oštećenu datoteku config.txt filei prepisat će i interne postavke EEPROM-a i postavke config.txt datoteke file do poznatog dobrog stanja 9600,26,3,0,1,1,0.
- Nedozvoljene vrijednosti u konfiguraciji fileAko OpenLog otkrije postavke koje sadrže nedozvoljene vrijednosti, OpenLog će prepisati oštećene vrijednosti u datoteci config.txt file s trenutno pohranjenim postavkama EEPROM sustava.
- Promjene putem naredbenog retka: Ako se postavke sustava promijene putem naredbenog retka (bilo putem serijske veze ili putem serijskih naredbi mikrokontrolera), te će se promjene zabilježiti i u EEPROM sustava i u datoteku config.txt. file.
- Nužno resetiranje: Ako se OpenLog isključi i ponovno uključi kratkospojnikom između RX i GND, a bit za nužno poništavanje postavljen je na 0 (što omogućuje nužno resetiranje), OpenLog će prepisati i interne postavke EEPROM-a i postavke config.txt datoteke. file do poznatog dobrog stanja 9600,26,3,0,1,1,0.
Rješavanje problema
Postoji nekoliko različitih opcija za provjeru imate li problema s povezivanjem putem serijskog monitora, imate li problema s izgubljenim znakovima u zapisnicima ili se borite s blokiranim OpenLogom.
Provjerite ponašanje STAT1 LED diode
STAT1 LED pokazuje različito ponašanje za dvije različite uobičajene pogreške.
- 3 treptaja: Inicijalizacija microSD kartice nije uspjela. Možda ćete morati formatirati karticu s FAT/FAT16 sustavom na računalu.
- 5 treptaja: OpenLog je promijenio brzinu prijenosa podataka i potrebno ga je ponovno uključiti i isključiti.
Dvostruka provjera strukture poddirektorija
Ako koristite zadani OpenLog.ino exampDakle, OpenLog će podržavati samo dva poddirektorija. Morat ćete promijeniti FOLDER_TRACK_DEPTH s 2 na broj poddirektorija koje trebate podržavati. Nakon što to učinite, ponovno kompajlirajte kod i prenesite modificirani firmware.
Provjerite broj Fileu korijenskom direktoriju
OpenLog će podržavati samo do 65,534 zapisnika files u korijenskom direktoriju. Preporučujemo ponovno formatiranje microSD kartice kako biste poboljšali brzinu zapisivanja.
Provjerite veličinu modificiranog firmvera
Ako pišete prilagođenu skicu za OpenLog, provjerite da vaša skica nije veća od 32,256. Ako je tako, zauzet će gornjih 500 bajtova flash memorije, koju koristi Optiboot serijski bootloader.
Provjeriti File Imena
Sve file imena trebaju biti alfanumerička. MyLOG1.txt je u redu, ali Hi !e _.txt možda neće raditi.
Koristi 9600 bauda
OpenLog radi na ATmega328 i ima ograničenu količinu RAM-a (2048 bajtova). Kada šaljete serijske znakove OpenLogu, ti se znakovi pohranjuju u međuspremnik. Pojednostavljena specifikacija SD grupe dopušta SD kartici da snimi blok podataka u flash memoriju za do 250 ms (odjeljak 4.6.2.2 Pisanje).
Pri brzini od 9600 bps, to je 960 bajtova (10 bitova po bajtu) u sekundi. To je 1.04 ms po bajtu. OpenLog trenutno koristi međuspremnik za prijem od 512 bajtova tako da može pohraniti oko 50 ms znakova. To omogućuje OpenLogu uspješno primanje svih znakova koji dolaze pri brzini od 9600 bps. Kako povećavate brzinu prijenosa, međuspremnik će trajati kraće.
Vrijeme prekoračenja međuspremnika OpenLog-a
Brzina prijenosa podataka | Vrijeme po bajtu | Vrijeme do prekoračenja međuspremnika |
9600 bps | 1.04 ms | 532 ms |
57600 bps | 0.174 ms | 88 ms |
115200 bps | 0.087 ms | 44 ms |
Mnoge SD kartice imaju vrijeme snimanja brže od 250 ms. Na to može utjecati 'klasa' kartice i količina podataka koja je već pohranjena na kartici. Rješenje je korištenje niže brzine prijenosa podataka ili povećanje vremena između znakova poslanih većom brzinom prijenosa podataka.
Formatirajte svoju MicroSD karticu
Ne zaboravite koristiti karticu s malo ili bez files na njemu. MicroSD kartica s 3.1 GB ZIP datoteke fileili MP3 datoteke imaju sporije vrijeme odziva od prazne kartice.
Ako niste formatirali microSD karticu na Windows OS-u, ponovno formatirajte microSD karticu i stvorite DOS filesustav na SD kartici.
Zamijenite MicroSD kartice
Postoji mnogo različitih proizvođača kartica, preimenovanih kartica, veličina kartica i klasa kartica, i možda neće sve ispravno raditi. Obično koristimo microSD karticu klase 8 od 4 GB, koja dobro radi na 9600 bps. Ako trebate veće brzine prijenosa podataka ili veći prostor za pohranu, možda biste trebali isprobati kartice klase 6 ili više.
Dodajte kašnjenja između pisanja znakova
Dodavanjem malog kašnjenja između naredbi Serial.print(), možete dati OpenLogu priliku da snimi svoj trenutni
pufer.
Na primjerampono:
Serial.begin(115200);
za(int i = 1; i < 10; i++) {
Serijski.ispis(i, DEC);
Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”);
}
možda se neće ispravno zapisivati jer se šalje mnogo znakova jedan pored drugog. Umetanje malog kašnjenja od 15 ms između zapisivanja velikih znakova pomoći će OpenLogu da snima bez gubitka znakova.
Serial.begin(115200);
za(int i = 1; i < 10; i++) {
Serijski.ispis(i, DEC);
Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”);
kašnjenje(15);
}
Dodajte kompatibilnost serijskog monitora Arduina
Ako pokušavate koristiti OpenLog s ugrađenom serijskom bibliotekom ili bibliotekom SoftwareSerial, možete primijetiti probleme s načinom naredbe. Serial.println() šalje i znak za novi redak I znak za povratak na početak retka. Postoje dvije alternativne naredbe za rješavanje ovog problema.
Prvo je korištenje naredbe \r (ASCII znak za povratak na početak reda):
Serijski.ispis(“TEKST\r”);
Alternativno, možete poslati vrijednost 13 (decimalni kraj reda):
Serial.print("TEKST");
Serijski.pisanje(13);
Hitno resetiranje
Zapamtite, ako trebate resetirati OpenLog na zadano stanje, ploču možete resetirati tako da spojite RX pin na GND, uključite OpenLog, pričekate da LED diode počnu treptati ujednačeno, a zatim isključite OpenLog i uklonite kratkospojnik.
Ako ste promijenili bit za hitno poništavanje na 1, morat ćete izmijeniti konfiguraciju. file, jer hitno resetiranje neće raditi.
Provjerite sa zajednicom
Ako i dalje imate problema s OpenLogom, pogledajte trenutne i zatvorene probleme u našem GitHub repozitoriju ovdje. Postoji velika zajednica koja radi s OpenLogom, tako da postoji vjerojatnost da je netko pronašao rješenje za problem koji vidite.
Resursi i daljnji napredak
Sada kada ste uspješno zabilježili podatke pomoću svog OpenLoga, možete postaviti udaljene projekte i pratiti sve moguće podatke koji dolaze. Razmislite o stvaranju vlastitog projekta Citizen Science ili čak alata za praćenje kućnih ljubimaca kako biste vidjeli što Fluffy radi kada je vani!
Pogledajte ove dodatne resurse za rješavanje problema, pomoć ili inspiraciju za vaš sljedeći projekt.
- OpenLog GitHub
- Projekt Illumitune
- Priključak za LilyPad svjetlosni senzor
- BadgerHack: Dodatak za senzor tla
- Početak rada s OBD-II
- Vernierova fotovrata
Trebate još inspiracije? Pogledajte neke od ovih povezanih tutorijala:
Photon daljinski senzor razine vode
Naučite kako izraditi daljinski senzor razine vode za spremnik vode i kako automatizirati pumpu na temelju očitanja!
Photon daljinski senzor razine vode
Naučite kako izraditi daljinski senzor razine vode za spremnik vode i kako automatizirati pumpu na temelju očitanja!
Zapisivanje podataka u Google tablice pomoću Tessela 2
Ovaj projekt pokriva kako zapisivati podatke u Google tablice na dva načina: korištenjem IFTTT-a s web priključak ili USB memorijski pogon i "sneakernet" bez.
Grafikon podataka senzora pomoću Pythona i Matplotliba
Koristite matplotlib za izradu grafikona u stvarnom vremenu podataka o temperaturi prikupljenih s TMP102 senzora spojenog na Raspberry Pi.
Ako imate povratne informacije o tutorijalu, posjetite komentare ili kontaktirajte naš tim za tehničku podršku na TechSupport@sparkfun.com.
Dokumenti / Resursi
![]() |
SparkFun DEV-13712 SparkFun razvojne ploče [pdf] Korisnički priručnik DEV-13712, DEV-11114, DEV-09873, CAB-12016, COM-13833, COM-13004, PRT-00115, PRT-08431, DEV-13712 SparkFun razvojne ploče, DEV-13712, SparkFun razvojne ploče, razvojne ploče, ploče |