OpenLog-tilkoblingsguide
Introduksjon
Merk! Denne veiledningen gjelder for Open Log for seriell UART [DEV-13712]. Hvis du bruker Qwiic OpenLog for IC [DEV-15164], kan du se Qwiic OpenLog-tilkoblingsveiledningen.
OpenLog Data Logger er en brukervennlig løsning med åpen kildekode for logging av serielle data fra prosjektene dine. OpenLog tilbyr et enkelt serielt grensesnitt for å logge data fra et prosjekt til et microSD-kort.SparkFun OpenLog
• DEV-13712SparkFun OpenLog med overskrifter
• DEV-13955
ingen produkt funnet
Materialer som kreves
For å kunne gjennomføre denne veiledningen trenger du følgende deler. Du trenger kanskje ikke alt, avhengig av hva du har. Legg det i handlekurven, les gjennom veiledningen og juster handlekurven etter behov.
OpenLog-tilkoblingsguide SparkFun-ønskeliste
![]() |
Arduino Pro Mini 328 – 3.3V/8MHz DEV-11114 Den er blå! Den er tynn! Det er Arduino Pro Mini! SparkFuns minimalistiske designtilnærming til Arduino. Dette er en 3.3 V Arduino … |
![]() |
SparkFun FTDI Basic Breakout – 3.3 V DEV-09873 Dette er den nyeste revisjonen av vår [FTDI Basic](http://www.sparkfun.com/commerce/product_info.php?products_id=… |
![]() |
SparkFun Cerberus USB-kabel – 6 meter CAB-12016 Du har feil USB-kabel. Det spiller ingen rolle hvilken du har, det er feil kabel. Men hva om du kunne ha… |
![]() |
SparkFun OpenLog DEV-13712 SparkFun OpenLog er en datalogger med åpen kildekode som fungerer over en enkel seriell tilkobling og støtter mi… |
![]() |
microSD-kort med adapter – 16 GB (klasse 10) COM-13833 Dette er et microSD-minnekort i klasse 10 på 16 GB, perfekt for å huse operativsystemer for enkeltkortsdatamaskiner… |
![]() |
microSD USB-leser COM-13004 Dette er en fantastisk liten microSD USB-leser. Bare skyv microSD-kortet inn i USB-kontakten, ... |
![]() |
Kvinnelige overskrifter PRT-00115 Enkel rad med 40 hull, hunnhode. Kan kuttes til riktig størrelse med en avbitertang. Standard 1 cm avstand. Vi bruker … |
![]() |
Jumperledninger Premium 6″ M/M Pakke med 10 PRT-08431 Dette er eksklusivt for SparkFun! Dette er 155 mm lange jumpere med hannkontakter i begge ender. Bruk disse til å bare… |
![]() |
Break Away Hann-hoder – Rettvinklet PRT-00553 En rad med rettvinklede hannkontakter – brytes for å passe. 40 pinner som kan kuttes til alle størrelser. Brukes med tilpassede PCB-er eller gener… |
Anbefalt lesing
Hvis du ikke er kjent med eller komfortabel med følgende konsepter, anbefaler vi at du leser gjennom disse før du fortsetter med OpenLog-tilkoblingsveiledningen.
Slik lodder du: Gjennomgående hulllodding
Denne veiledningen dekker alt du trenger å vite om lodding av hull.
Serial Peripheral Interface (SPI)
SPI brukes ofte til å koble mikrokontrollere til periferiutstyr som sensorer, skiftregistre og SD-kort.
Seriell kommunikasjon
Asynkrone serielle kommunikasjonskonsepter: pakker, signalnivåer, baudrater, UART-er og mer!
Grunnleggende om seriell terminal
Denne veiledningen viser deg hvordan du kommuniserer med serielle enheter ved hjelp av en rekke terminalemulatorapplikasjoner.
Maskinvare overview
Makt
OpenLog kjører med følgende innstillinger:
OpenLog-effektvurderinger
VCC-inngang | 3.3V–12V (anbefalt 3.3V–5V) |
RXI-inngang | 2.0V-3.8V |
TXO-utgang | 3.3V |
Tomgangsstrømforbruk | ~2mA–5mA (uten microSD-kort), ~5mA–6mA (med microSD-kort) |
Aktiv skriving Gjeldende trekning | ~20–23 mA (med microSD-kort) |
OpenLogs strømforbruk er omtrent 20 mA til 23 mA når det skriver til et microSD-kort. Avhengig av størrelsen på microSD-kortet og produsenten, kan det aktive strømforbruket variere når OpenLog skriver til minnekortet. Å øke baudraten vil også trekke mer strøm.
mikrokontrollere
OpenLog kjører på en innebygd ATmega328, som kjører på 16 MHz takket være den innebygde krystallet. ATmega328 har Optiboot bootloader lastet inn, noe som gjør at OpenLog er kompatibel med «Arduino Uno»-kortinnstillingene i Arduino IDE.Grensesnitt
Seriell UART
Det primære grensesnittet med OpenLog er FTDI-hodet på kanten av kretskortet. Dette hodet er designet for å kobles direkte til en Arduino Pro eller Pro Mini, som lar mikrokontrolleren sende dataene over en seriell forbindelse til OpenLog.
Advarsel! På grunn av pinrekkefølgen som gjør den kompatibel med Arduinoer, kan den ikke kobles direkte til et FTDI-breakout-kort. For mer informasjon, sørg for å sjekke ut neste avsnitt om maskinvaretilkobling.
SPI
Det er også fire SPI-testpunkter utslått i den motsatte enden av kortet. Du kan bruke disse til å omprogrammere bootloaderen på ATmega328.Den nyeste OpenLog-versjonen (DEV-13712) bruker disse pinnene på mindre, belagte gjennomgående hull. Hvis du trenger å bruke en internettleverandør til å omprogrammere eller laste opp en ny bootloader til OpenLog, kan du bruke pogo-pinner for å koble til disse testpunktene.
Det siste grensesnittet for kommunikasjon med OpenLog er selve microSD-kortet. For å kommunisere krever microSD-kortet SPI-pinner. Det er ikke bare her dataene lagres av OpenLog, men du kan også oppdatere OpenLogs konfigurasjon via config.txt. file på microSD -kortet.
microSD-kort
Alle data som logges av OpenLog lagres på microSD-kortet. OpenLog fungerer med microSD-kort som har følgende funksjoner:
- 64MB til 32GB
- FAT16 eller FAT32
LED-status
Det er to status-LED-er på OpenLog som hjelper deg med feilsøking.
- STAT1 – Denne blå indikator-LED-en er koblet til Arduino D5 (ATmega328 PD5) og slår seg av/på når et nytt tegn mottas. Denne LED-en blinker når seriell kommunikasjon fungerer.
- STAT2 – Denne grønne LED-lampen er koblet til Arduino D13 (SPI seriell klokkelinje/ ATmega328 PB5). Denne LED-lampen blinker bare når SPI-grensesnittet er aktivt. Du vil se den blinke når OpenLog registrerer 512 byte på microSD-kortet.
Maskinvaretilkobling
Det finnes to hovedmetoder for å koble OpenLog-en din til en krets. Du trenger noen koblingshoder eller ledninger for å koble til. Sørg for at du lodder til kortet for en sikker tilkobling.
Grunnleggende seriell tilkobling
Tupp: Hvis du har en hunnkontakt, OpenLog og hunnkontakten på FTDI-en, trenger du M/F-jumperkabler for å koble til.
Denne maskinvaretilkoblingen er designet for grensesnitt med en OpenLog hvis du trenger å omprogrammere kortet eller logge data over en grunnleggende seriell tilkobling.
Gjør følgende tilkoblinger:
OpenLog → 3.3V FTDI grunnleggende breakout
- GND → GND
- GND → GND
- VCC → 3.3 V
- TXO → RXI
- RXI → TXO
- DTR → DTR
Merk at det ikke er en direkte forbindelse mellom FTDI og OpenLog – du må bytte om på TXO- og RXI-pinnetilkoblingene.
Tilkoblingene dine skal se slik ut: Når du har forbindelsene mellom OpenLog og FTDI Basic, kobler du FTDI-kortet til en USB-kabel og til datamaskinen.
Åpne en seriell terminal, koble til COM-porten på FTDI Basic-enheten din, og så er det bare å sette i gang!
Prosjektmaskinvaretilkobling
Tupp: Hvis du har hunnkontaktene loddet på OpenLog, kan du lodde hannkontakter til Arduino Pro Mini for å koble kortene sammen uten behov for ledninger.Selv om det er viktig å koble til OpenLog via en seriell forbindelse for omprogrammering eller feilsøking, er det i et innebygd prosjekt OpenLog virkelig gjør sitt ypperste. Denne generelle kretsen er slik vi anbefaler at du kobler OpenLog til en mikrokontroller (i dette tilfellet en Arduino Pro Mini) som skriver serielle data ut til OpenLog.
Først må du laste opp koden til Pro Mini-en du har tenkt å kjøre. Se Arduino Sketches for noen eksempler.ampkoden du kan bruke.
Note: Hvis du er usikker på hvordan du programmerer Pro Mini, kan du sjekke ut veiledningen vår her.
Bruk av Arduino Pro Mini 3.3V
Denne veiledningen er din guide til alt som har med Arduino Pro Mini å gjøre. Den forklarer hva det er, hva det ikke er, og hvordan du kommer i gang med å bruke det.
Når du har programmert Pro Mini, kan du fjerne FTDI-kortet og erstatte det med OpenLog.
Sørg for å koble til pinnene merket BLK på både Pro Mini og OpenLog (pinnene merket GRN på begge vil også matche hvis det gjøres riktig).
Hvis du ikke kan koble OpenLog direkte til Pro Mini (på grunn av feilaktige headere eller andre kort i veien), kan du bruke jumperledninger og gjøre følgende tilkoblinger.
OpenLog → Arduino Pro/Arduino Pro Mini
- GND → GND
- GND → GND
- VCC → VCC
- TXO → RXI
- RXI → TXO
- DTR → DTR
Når du er ferdig, skal tilkoblingene dine se slik ut med Arduino Pro Mini og Arduino Pro.
Fritzing-diagrammet viser OpenLogs med speilvendte overskrifter. Hvis du snur microSD-kontakten i forhold til toppen av Arduinoen view, de bør samsvare med programmeringshodet som en FTDI.
Note at tilkoblingen er en enkel tilkobling med OpenLog «opp ned» (med microSD-kortet opp).
⚡Merk: Siden Vcc og GND mellom OpenLog og Arduino er opptatt av headerne, må du koble til strøm til de andre pinnene som er tilgjengelige på Arduinoen. Ellers kan du lodde ledninger til de eksponerte strømpinnene på et av kortene.
Slå på systemet ditt, så er du klar til å begynne å logge!
Arduino-skisser
Det finnes seks forskjellige eks.ampDet er inkludert skisseark som du kan bruke på Arduinoen når den er koblet til en OpenLog.
- OpenLog_Benchmarking — Denne eksenample brukes til å teste OpenLog. Dette sender svært store mengder data med 115200 XNUMX bps over flere files.
- OpenLog_CommandTest – Denne f.eks.ampviser hvordan du oppretter og legger til en file via kommandolinjekontroll gjennom Arduinoen.
- OpenLog_ReadExample — Denne eksenample går gjennom hvordan man kontrollerer OpenLog via kommandolinjen.
- OpenLog_ReadExample_StorFile — Eksamphvordan man åpner en stor lagret file på OpenLog og rapporter det over en lokal Bluetooth-tilkobling.
- OpenLog_Test_Sketch – Brukes til å teste OpenLog med mye serielle data.
- OpenLog_Test_Sketch_Binary – Brukes til å teste OpenLog med binære data og escape-tegn.
Fastvare
OpenLog har to primære programvareelementer innebygd: oppstartslasteren og fastvaren.
Arduino Bootloader
Note: Hvis du bruker en OpenLog som ble kjøpt før mars 2012, er den innebygde bootloaderen kompatibel med innstillingen «Arduino Pro eller Pro Mini 5V/16MHz med ATmega328» i Arduino IDE.
Som nevnt tidligere har OpenLog den serielle bootloaderen Optiboot innebygd. Du kan behandle OpenLog akkurat som en Arduino Uno når du laster opp filer.ample-kode eller ny fastvare til kortet.
Hvis du ender opp med å bricke OpenLog-en din og trenger å installere bootloaderen på nytt, bør du også laste opp Optiboot til kortet. Se veiledningen vår om hvordan du installerer en Arduino Bootloader for mer informasjon.
Kompilering og lasting av fastvare til OpenLog
Note: Hvis dette er første gang du bruker Arduino, vennligst re-view veiledningen vår om installasjon av Arduino IDE. Hvis du ikke har installert et Arduino-bibliotek tidligere, kan du sjekke installasjonsveiledningen vår for å installere bibliotekene manuelt.
Hvis du av en eller annen grunn trenger å oppdatere eller installere fastvaren på OpenLog på nytt, vil følgende prosess få kortet ditt i gang.
Først må du laste ned Arduino IDE v1.6.5. Andre versjoner av IDE-en kan fungere for å kompilere OpenLog-fastvaren, men vi har bekreftet at dette er en kjent fungerende versjon.
Deretter laster du ned OpenLog-fastvaren og de nødvendige bibliotekpakken.
LAST NED OPENLOG FASTEVAREPAKKE (ZIP)
Når du har lastet ned bibliotekene og fastvaren, installerer du bibliotekene i Arduino. Hvis du er usikker på hvordan du installerer bibliotekene manuelt i IDE-en, kan du sjekke ut veiledningen vår: Installere et Arduino-bibliotek: Manuell installasjon av et bibliotek.
Note: Vi bruker modifiserte versjoner av SdFat- og SerialPort-bibliotekene for å vilkårlig kunne deklarere hvor store TX- og RX-bufferne skal være. OpenLog krever at TX-bufferen er veldig liten (0) og RX-bufferen må være så stor som mulig. Å bruke disse to modifiserte bibliotekene sammen gir økt ytelse for OpenLog.
Leter du etter de nyeste versjonene? Hvis du foretrekker de mest oppdaterte versjonene av bibliotekene og firmwaren, kan du laste dem ned direkte fra GitHub-repositoriene som er lenket nedenfor. SdFatLib- og Serial Port-bibliotekene er ikke synlige i Arduino-kortbehandleren, så du må installere biblioteket manuelt.
- GitHub: OpenLog > Firmware > OpenLog_Firmware
- Bill Greimans Arduino-biblioteker
SdFatLib-beta
Seriellport
Neste, for å ta fordeltagav de modifiserte bibliotekene, endre SerialPort.h file finnes i katalogen \Arduino\Libraries\SerialPort. Endre BUFFERED_TX til 0 og ENABLE_RX_ERROR_CHECKING til 0. Lagre file, og åpne Arduino IDE-en.
Hvis du ikke har gjort det ennå, koble OpenLog-en din til datamaskinen via et FTDI-kort. Dobbeltsjekk eks.ample krets hvis du ikke er sikker på hvordan du gjør dette riktig.
Åpne OpenLog-skissen du vil laste opp under Verktøy>Kort-menyen, velg «Arduino/Genuino Uno», og velg riktig COM-port for FTDI-kortet ditt under Verktøy>Port.
Last opp koden.
Det var det! OpenLog-en din er nå programmert med ny firmware. Du kan nå åpne en seriell skjerm og samhandle med OpenLog-en. Ved oppstart vil du se enten 12> eller 12<. 1 indikerer at seriell tilkobling er opprettet, 2 indikerer at SD-kortet er initialisert, < indikerer at OpenLog er klar til å logge mottatte serielle data, og > indikerer at OpenLog er klar til å motta kommandoer.
OpenLog-fastvareskisser
Det er tre inkluderte skisser du kan bruke på OpenLog, avhengig av ditt spesifikke bruksområde.
- OpenLog – Denne fastvaren leveres som standard i OpenLog. Hvis du sender ?-kommandoen, vises fastvareversjonen som er lastet inn på en enhet.
- OpenLog_Light – Denne versjonen av skissen fjerner meny- og kommandomodusen, slik at mottaksbufferen kan økes. Dette er et godt alternativ for høyhastighetslogging.
- OpenLog_Minimal – Baudraten må angis i kode og lastes opp. Denne skissen anbefales for erfarne brukere, men er også det beste alternativet for logging med høyest hastighet.
Kommandosett
Du kan koble til OpenLog via en seriell terminal. Følgende kommandoer vil hjelpe deg med å lese, skrive og slette files, samt endre innstillingene til OpenLog. Du må være i kommandomodus for å bruke følgende innstillinger.
Mens OpenLog er i kommandomodus, vil STAT1 slå seg av/på for hvert tegn som mottas. LED-lampen vil forbli på til neste tegn mottas.
File Manipulasjon
- ny File – Oppretter en ny file navngitt File i gjeldende katalog. Standard 8.3 filenavn støttes.
For eksampDvs. «87654321.123» er akseptabelt, mens «987654321.123» ikke er det.
• Eksample: ny file1.txt - legge til File – Legg til tekst på slutten av FileSerielle data leses deretter fra UART-en i en strøm og legges til fileDen sendes ikke over serieterminalen. Hvis File finnes ikke når denne funksjonen kalles, file vil bli opprettet.
• Eksample: legg til nyfile.csv - skrive File FORSKYVNING – Skriv tekst til File fra plasseringen OFFSET innenfor fileTeksten leses fra UART-en, linje for linje, og sendes tilbake. For å avslutte denne tilstanden, send en tom linje.
• Eksample: skriv logs.txt 516 - rm File – Sletter File fra gjeldende katalog. Jokertegn støttes.
• Eksample: rm README.txt - størrelse File – Utgangsstørrelse på File i byte.
• Eksampfil: størrelse Log112.csv
• Utgang: 11 - lese File + START+ LENGDETYPE – Skriv ut innholdet av File starter fra START og går for LENGDE.
Hvis START utelates, blir hele file rapporteres. Hvis LENGTH utelates, rapporteres hele innholdet fra startpunktet. Hvis TYPE utelates, vil OpenLog som standard rapportere i ASCII. Det finnes tre utdatatyper:
• ASCII = 1
• HEX = 2
• RÅ = 3
Du kan utelate noen etterfølgende argumenter. Sjekk følgende eksempelamples.
Grunnleggende lese + utelatte flagg:
• Eksample: les LOG00004.txt
• Utgang: Akselerometer X=12 Y=215 Z=317
Les fra start 0 med lengde 5:
• Eksample: les LOG00004.txt 0 5
• Utgang: Akselerasjon
Les fra posisjon 1 med en lengde på 5 i HEX:
• Eksample: les LOG00004.txt 1 5 2
• Utgang: 63 63 65 6C - Les fra posisjon 0 med en lengde på 50 i RAW:
- • Eksample: les LOG00137.txt 0 50 3
- • Utdata: André– -þ Utvidet tegntest
- katt File – Skriv innholdet i en file i heksadesimal til serieskjermen for viewing. Dette er noen ganger nyttig for å se at en file tar opp riktig uten å måtte ta ut SD-kortet og view de file på en datamaskin.
• Eksample: katt LOG00004.txt
• Utgang: 00000000: 41 63 65 6c 3a 20 31
Katalogmanipulasjon
- ls – Viser alt innhold i gjeldende katalog. Jokertegn støttes.
• Eksample: ls
• Utdata: \src - md-underkatalog – Opprett underkatalog i gjeldende katalog.
• Eksample: md Example_Sketches - cd Underkatalog – Bytt til underkatalog.
• Eksample: cd Hello_World - cd .. – Bytt til en lavere katalog i treet. Merk at det er et mellomrom mellom 'cd' og '..'. Dette lar strengparseren se cd-kommandoen.
• Eksample: cd .. - rm Underkatalog – Sletter underkatalogen. Katalogen må være tom for at denne kommandoen skal fungere.
• Eksample: rm temperaturer - rm -rf Katalog – Sletter katalogen og eventuelle files som finnes i den.
• Eksample: rm -rf Biblioteker
Lavnivåfunksjonskommandoer
- ? – Denne kommandoen vil hente frem en liste over tilgjengelige kommandoer i OpenLog.
- disk – Viser kortprodusent-ID, serienummer, produksjonsdato og kortstørrelse. F.eks.amputgangen er:
Korttype: SD2
Produsent-ID: 3
OEM-ID: SD
Produkt: SU01G
Versjon: 8.0
Serienummer: 39723042
Produksjonsdato: 1/2010
Kortstørrelse: 965120 KB - init – Initialiser systemet på nytt og åpne SD-kortet på nytt. Dette er nyttig hvis SD-kortet slutter å reagere.
- synkroniser – Synkroniserer gjeldende innhold i bufferen med SD-kortet. Denne kommandoen er nyttig hvis du har færre enn 512 tegn i bufferen og vil lagre disse på SD-kortet.
- tilbakestill – Hopper OpenLog til posisjon null, kjører bootloader på nytt og initierer deretter kode. Denne kommandoen er nyttig hvis du trenger å redigere konfigurasjonen. file, tilbakestill OpenLog og begynn å bruke den nye konfigurasjonen. Strømmen og omkoblingen er fortsatt den foretrukne metoden for å tilbakestille kortet, men dette alternativet er tilgjengelig.
Systeminnstillinger
Disse innstillingene kan oppdateres manuelt, eller redigeres i config.txt file.
- echo STATE – Endrer statusen til systemekkoet og lagres i systemminnet. STATE kan enten være på eller av. Når den er på, vil OpenLog gjenta mottatte serielle data ved ledeteksten. Når den er av, leser ikke systemet tilbake mottatte tegn.
Note: Under normal logging vil ekkoet være slått av. Systemressursbehovet for å gjenta de mottatte dataene er for høyt under logging. - verbose STATE – Endrer statusen for verbose feilrapportering. STATE kan enten være på eller av. Denne kommandoen lagres i minnet. Ved å slå av verbose feil, vil OpenLog bare svare med et ! hvis det er en feil, i stedet for en ukjent kommando: COMMAND. !-tegnet er enklere for innebygde systemer å analysere enn den fullstendige feilen. Hvis du bruker en terminal, vil det å la verbose være på tillate deg å se fullstendige feilmeldinger.
- baud – Denne kommandoen åpner en systemmeny som lar brukeren angi en baudrate. Alle baudrate mellom 300 bps og 1 Mbps støttes. Valget av baudrate skjer umiddelbart, og OpenLog krever en av- og påslåing for at innstillingene skal tre i kraft. Baudraten lagres i EEPROM og lastes inn hver gang OpenLog slås på. Standardinnstillingen er 9600 8N1.
Husk: Hvis kortet sitter fast i en ukjent baudrate, kan du koble RX til GND og slå på OpenLog. LED-lampene vil blinke frem og tilbake i 2 sekunder, og deretter blinke samtidig. Slå av OpenLog og fjern jumperen. OpenLog er nå tilbakestilt til 9600 bps med et escape-tegnet `CTRL-Z` trykket tre ganger på rad. Denne funksjonen kan overstyres ved å sette Emergency Override-biten til 1.
Se config.txt for mer informasjon.
- set – Denne kommandoen åpner en systemmeny for å velge oppstartsmodus. Disse innstillingene vil skje på
• neste oppstart og lagres i en ikke-flyktig EEPROM. Ny File Logging – Denne modusen oppretter en ny file hver gang OpenLog slås på. OpenLog vil sende 1 (UART er aktiv), 2 (SD-kortet er initialisert), deretter < (OpenLog er klar til å motta data). Alle data vil bli registrert i en LOG#####.txt. #####-tallet øker hver gang OpenLog slås på (maksimalt er 65533 logger). Tallet lagres i EEPROM og kan tilbakestilles fra innstillingsmenyen.
Alle mottatte tegn blir ikke gjentatt. Du kan avslutte denne modusen og gå inn i kommandomodus ved å sende CTRL+z (ASCII 26). Alle bufrede data vil bli lagret.
Note: Hvis det er opprettet for mange logger, vil OpenLog vise feilen **For mange logger**, avslutte denne modusen og gå til ledeteksten. Seriell utdata vil se ut som `12!For mange logger!`.
- Legg til File Logging – Også kjent som sekvensiell modus, denne modusen oppretter en file kalt SEQLOG.txt hvis den ikke allerede er der, og legger til eventuelle mottatte data i fileOpenLog vil sende 12<, og da er OpenLog klar til å motta data. Tegnene blir ikke gjentatt. Du kan avslutte denne modusen og gå inn i kommandomodus ved å sende CTRL+z (ASCII 26). Alle bufrede data vil bli lagret.
- Kommandoprompt – OpenLog vil sende 12>, og da er systemet klart til å motta kommandoer. Merk at >-tegnet indikerer at OpenLog er klar til å motta kommandoer, ikke data. Du kan opprette files og legg til data i files, men dette krever noe seriell parsing (for feilsjekking), så vi setter ikke denne modusen som standard.
- Tilbakestill ny File Nummer – Denne modusen vil nullstille loggen file nummer til LOG000.txt. Dette er nyttig hvis du nylig har tømt et microSD-kort og vil at loggen file tall for å starte på nytt.
- Nytt escape-tegn – Dette alternativet lar brukeren skrive inn et tegn som CTRL+z eller $, og angi dette som nytt escape-tegnet. Denne innstillingen tilbakestilles til CTRL+z under en nødtilbakestilling.
- Antall escape-tegn – Dette alternativet lar brukeren skrive inn et tegn (for eksempel 1, 3 eller 17), og oppdaterer det nye antallet escape-tegn som trengs for å gå tilbake til kommandomodus. For eksempelampHvis du skriver inn 8, må brukeren trykke CTRL+z åtte ganger for å komme til kommandomodus. Denne innstillingen tilbakestilles til 3 under en nødtilbakestilling.
Forklaring av escape-tegn: Grunnen til at OpenLog krever at man trykker på `CTRL+z` tre ganger for å gå inn i kommandomodus, er for å forhindre at kortet ved et uhell tilbakestilles under opplasting av ny kode fra Arduino IDE. Det er en mulighet for at kortet ser `CTRL+z`-tegnet under oppstart (et problem vi så i de tidlige versjonene av OpenLog-fastvaren), så dette har som mål å forhindre det. Hvis du noen gang mistenker at kortet ditt har blitt blokkert på grunn av dette, kan du alltid gjøre en nødtilbakestilling ved å holde RX-pinnen til jord under oppstart.
Konfigurasjon File
Hvis du heller ikke vil bruke serieterminalen til å endre innstillingene på OpenLog-en din, kan du også oppdatere innstillingene ved å endre CONFIG.TXT. file.
Note: Denne funksjonen fungerer bare på firmwareversjon 1.6 eller nyere. Hvis du har kjøpt en OpenLog etter 2012, vil du kjøre firmwareversjon 1.6+.
For å gjøre dette trenger du en microSD-kortleser og et tekstredigeringsprogram. Åpne config.txt file (store bokstaver i file (navnet spiller ingen rolle), og konfigurer i vei! Hvis du aldri har slått på OpenLog med SD-kortet før, kan du også opprette manuelt fileHvis du har slått på OpenLog med microSD-kortet satt inn tidligere, bør du se noe som ligner på følgende når du leser microSD-kortet.OpenLog oppretter en config.txt og LOG0000.txt file ved første oppstart.
Standardkonfigurasjonen file har én linje med innstillinger og én linje med definisjoner.Standardkonfigurasjon file skrevet av OpenLog.
Merk at dette er vanlige synlige tegn (det finnes ingen ikke-synlige eller binære verdier), og hver verdi er atskilt med komma.
Innstillingene er definert som følger:
- baud: Kommunikasjonsbaudraten. 9600 bps er standard. Akseptable verdier som er kompatible med Arduino IDE er 2400, 4800, 9600, 19200, 38400, 57600 og 115200. Du kan bruke andre baudrater, men du vil ikke kunne kommunisere med OpenLog via Arduino IDEs serielle skjerm.
- escape: ASCII-verdien (i desimalformat) for escape-tegnet. 26 er CTRL+z og er standard. 36 er $ og er et vanlig brukt escape-tegn.
- esc#: Antall escape-tegn som kreves. Som standard er det tre, så du må trykke escape-tegnet tre ganger for å gå tilbake til kommandomodus. Akseptable verdier er fra 0 til 254. Hvis du setter denne verdien til 0, deaktiveres kontroll av escape-tegn fullstendig.
- modus: Systemmodus. OpenLog starter som standard i ny loggmodus (0). Akseptable verdier er 0 = Ny logg, 1 = Sekvensiell logg, 2 = Kommandomodus.
- verb: Ordrik modus. Utvidede (ordrik) feilmeldinger er aktivert som standard. Hvis du setter denne til 1, aktiveres ordrik feilmeldinger (for eksempel ukjent kommando: fjern !). Hvis du setter denne til 0, deaktiveres ordrik feil, men det svares med et ! hvis det er en feil. Det er nyttig å slå av ordrik modus hvis du prøver å håndtere feil fra et innebygd system.
- ekko: Ekkomodus. I kommandomodus gjentas tegn som standard. Hvis du setter denne til 0, slås tegnekko av. Det er nyttig å slå av dette hvis du håndterer feil og ikke vil at sendte kommandoer skal sendes tilbake til OpenLog.
- ignoreRX: Nødoverstyring. Normalt vil OpenLog tilbakestilles i nødstilfeller når RX-pinnen trekkes lavt under oppstart. Hvis du setter denne til 1, vil kontrollen av RX-pinnen under oppstart deaktiveres. Dette kan være nyttig for systemer som vil holde RX-linjen lav av forskjellige årsaker. Hvis Nødoverstyring er deaktivert, vil du ikke kunne tvinge enheten tilbake til 9600 bps, og konfigurasjonen file vil være den eneste måten å endre baudraten på.
Hvordan OpenLog endrer konfigurasjonen File
Det finnes fem forskjellige situasjoner der OpenLog kan endre config.txt file.
- Konfig file funnet: Under oppstart vil OpenLog se etter en config.txt file. Hvis file blir funnet, vil OpenLog bruke de inkluderte innstillingene og overskrive eventuelle tidligere lagrede systeminnstillinger.
- Ingen konfigurasjon file funnet: Hvis OpenLog ikke finner config.txt file så vil OpenLog opprette config.txt og lagre de nåværende systeminnstillingene i den. Dette betyr at hvis du setter inn et nylig formatert microSD-kort, vil systemet beholde de nåværende innstillingene.
- Korrupt konfigurasjon file funnet: OpenLog vil slette den ødelagte config.txt-filen file, og vil omskrive både de interne EEPROM-innstillingene og config.txt-innstillingene file til den kjente gode tilstanden 9600,26,3,0,1,1,0.
- Ulovlige verdier i konfigurasjonen fileHvis OpenLog oppdager innstillinger som inneholder ulovlige verdier, vil OpenLog overskrive de korrupte verdiene i config.txt. file med de gjeldende lagrede EEPROM-systeminnstillingene.
- Endringer via ledeteksten: Hvis systeminnstillingene endres via ledeteksten (enten via en seriell tilkobling eller via serielle kommandoer fra mikrokontrolleren), vil disse endringene bli registrert både i systemets EEPROM og i config.txt. file.
- Nødtilbakestilling: Hvis OpenLog slås av og på med en jumper mellom RX og GND, og nødoverstyringsbiten er satt til 0 (tillater nødtilbakestilling), vil OpenLog omskrive både de interne EEPROM-innstillingene og config.txt-innstillingene. file til den kjente gode tilstanden 9600,26,3,0,1,1,0.
Feilsøking
Det finnes flere forskjellige alternativer for å sjekke om du har problemer med å koble til via serieskjermen, har problemer med tegn som mistes i logger, eller om du kjemper mot en blokkert OpenLog.
Sjekk STAT1 LED-oppførsel
STAT1-LED-en viser ulik oppførsel for to forskjellige vanlige feil.
- 3 blink: microSD-kortet kunne ikke initialiseres. Du må kanskje formatere kortet med FAT/FAT16 på en datamaskin.
- 5 blink: OpenLog har endret til en ny baudrate og må slås av og på.
Dobbeltsjekk underkatalogstrukturen
Hvis du bruker standard OpenLog.ino-eksempletampI så fall støtter OpenLog bare to underkataloger. Du må endre FOLDER_TRACK_DEPTH fra 2 til antallet underkataloger du trenger å støtte. Når du har gjort dette, kompiler koden på nytt og last opp den endrede fastvaren.
Bekreft antallet Files i rotkatalogen
OpenLog støtter bare opptil 65,534 XNUMX logger. files i rotkatalogen. Vi anbefaler at du formaterer microSD-kortet på nytt for å forbedre loggføringshastigheten.
Bekreft størrelsen på den modifiserte fastvaren din
Hvis du skriver en tilpasset skisse for OpenLog, må du bekrefte at skissen ikke er større enn 32,256 500. I så fall vil den kutte inn i de øvre XNUMX bytene med flashminne, som brukes av den serielle oppstartslasteren for Optiboot.
Dobbeltsjekk File Navn
Alle file Navnene bør være alfanumeriske. MyLOG1.txt er greit, men Hi !e _.txt fungerer kanskje ikke.
Bruk 9600 Baud
OpenLog kjører på ATmega328 og har en begrenset mengde RAM (2048 byte). Når du sender serielle tegn til OpenLog, blir disse tegnene buffert. SD Group Simplified Specification tillater at et SD-kort bruker opptil 250 ms (avsnitt 4.6.2.2 Skriving) på å lagre en datablokk i flashminne.
Med 9600 bps er det 960 byte (10 bits per byte) per sekund. Det er 1.04 ms per byte. OpenLog bruker for øyeblikket en mottaksbuffer på 512 byte, slik at den kan bufre rundt 50 ms med tegn. Dette gjør at OpenLog kan motta alle tegn som kommer med 9600 bps. Når du øker baudraten, vil bufferen vare kortere.
Overløpstid for OpenLog-buffer
Baudhastighet | Tid per byte | Tid til bufferen er overfylt |
9600 bps | 1.04 ms | 532 ms |
57600 bps | 0.174 ms | 88 ms |
115200 bps | 0.087 ms | 44 ms |
Mange SD-kort har en raskere opptakstid enn 250 ms. Dette kan påvirkes av kortets «klasse» og hvor mye data som allerede er lagret på kortet. Løsningen er å bruke en lavere baudrate eller øke tiden mellom tegnene som sendes med den høyere baudraten.
Formater MicroSD-kortet ditt
Husk å bruke et kort med få eller ingen files på den. Et microSD-kort med 3.1 GB ZIP-plass files eller MP3-filer har en lavere responstid enn et tomt kort.
Hvis du ikke formaterte microSD-kortet på et Windows-operativsystem, formaterer du microSD-kortet på nytt og oppretter en DOS-fil. filesystemet på SD-kortet.
Bytte MicroSD-kort
Det finnes mange forskjellige typer kortprodusenter, ommerkede kort, kortstørrelser og kortklasser, og det er ikke sikkert at alle fungerer som de skal. Vi bruker vanligvis et 8 GB klasse 4 microSD-kort, som fungerer bra med 9600 bps. Hvis du trenger høyere baudhastigheter eller større lagringsplass, kan det være lurt å prøve kort i klasse 6 eller høyere.
Legg til forsinkelser mellom tegnskrivinger
Ved å legge til en liten forsinkelse mellom Serial.print()-setninger, kan du gi OpenLog en sjanse til å registrere dens nåværende
buffer.
For eksampde:
Serial.begin(115200);
for(int i = 1; i < 10; i++) {
Seriell.print(i, DES);
Seriell.println(“:abcdefghijklmnopqrstuvwxyz-!#”);
}
logger kanskje ikke riktig, ettersom det sendes mange tegn rett ved siden av hverandre. Å sette inn en liten forsinkelse på 15 ms mellom skrivinger av store tegn vil hjelpe OpenLog med å registrere uten å miste tegn.
Serial.begin(115200);
for(int i = 1; i < 10; i++) {
Seriell.print(i, DES);
Seriell.println(“:abcdefghijklmnopqrstuvwxyz-!#”);
forsinkelse(15);
}
Legg til kompatibilitet med Arduino seriell skjerm
Hvis du prøver å bruke OpenLog med det innebygde serielle biblioteket eller SoftwareSerial-biblioteket, kan det hende du opplever problemer med kommandomodus. Serial.println() sender både linjeskift OG linjeretur. Det finnes to alternative kommandoer for å løse dette.
Den første er å bruke \r-kommandoen (ASCII-vognretur):
Seriell.print("TEKST\r");
Alternativt kan du sende verdien 13 (desimal linjeretur):
Seriell.print("TEKST");
Seriell.skriv(13);
Nødtilbakestilling
Husk at hvis du trenger å tilbakestille OpenLog til en standardtilstand, kan du tilbakestille kortet ved å koble RX-pinnen til GND, slå på OpenLog, vente til LED-lampene begynner å blinke samtidig, og deretter slå av OpenLog og fjerne jumperen.
Hvis du har endret nødoverstyringsbiten til 1, må du endre konfigurasjonen. file, da nødtilbakestillingen ikke vil fungere.
Sjekk med fellesskapet
Hvis du fortsatt har problemer med OpenLog-en din, kan du sjekke ut gjeldende og lukkede problemer i GitHub-repositoriet vårt her. Det finnes et stort fellesskap som jobber med OpenLog, så sjansen er stor for at noen har funnet en løsning på problemet du ser.
Ressurser og å gå videre
Nå som du har logget data med OpenLog-en din, kan du sette opp eksterne prosjekter og overvåke alle mulige data som kommer inn. Vurder å lage ditt eget Citizen Science-prosjekt, eller til og med en kjæledyrsporer for å se hva Fluffy gjør når han er ute og farter!
Sjekk ut disse tilleggsressursene for feilsøking, hjelp eller inspirasjon til ditt neste prosjekt.
- OpenLog GitHub
- Illumitune-prosjektet
- LilyPad lyssensortilkobling
- BadgerHack: Jordsensortillegg
- Komme i gang med OBD-II
- Vernier Photogate
Trenger du mer inspirasjon? Sjekk ut noen av disse relaterte veiledningene:
Photon fjernstyrt vannstandssensor
Lær hvordan du bygger en ekstern vannivåsensor for en vannlagringstank og hvordan du automatiserer en pumpe basert på avlesningene!
Photon fjernstyrt vannstandssensor
Lær hvordan du bygger en ekstern vannivåsensor for en vannlagringstank og hvordan du automatiserer en pumpe basert på avlesningene!
Logging av data til Google Regneark med Tessel 2
Dette prosjektet dekker hvordan du logger data til Google Regneark på to måter: ved å bruke IFTTT med en web tilkobling eller en USB-minnepinne og «sneakernet» uten.
Grafisk sensordata med Python og Matplotlib
Bruk matplotlib til å lage et sanntidsplott av temperaturdata samlet fra en TMP102-sensor koblet til en Raspberry Pi.
Hvis du har tilbakemeldinger på veiledningen, kan du gå inn på kommentarfeltet eller kontakte vårt tekniske supportteam på Teknisk støtte@sparkfun.com.
Dokumenter / Ressurser
![]() |
SparkFun DEV-13712 SparkFun-utviklingskort [pdfBrukerhåndbok DEV-13712, DEV-11114, DEV-09873, CAB-12016, COM-13833, COM-13004, PRT-00115, PRT-08431, DEV-13712 SparkFun utviklingskort, DEV-13712, SparkFun utviklingskort, utviklingskort, kort |