OpenLog-tilslutningsguide
Indledning
Bemærk! Denne vejledning gælder for Open Log til seriel UART [DEV-13712]. Hvis du bruger Qwiic OpenLog til IC [DEV-15164], henvises der til Qwiic OpenLog-tilslutningsvejledningen.
OpenLog Data Logger er en brugervenlig open source-løsning til logføring af serielle data fra dine projekter. OpenLog tilbyder en simpel seriel brugerflade til at logge data fra et projekt til et microSD-kort.SparkFun OpenLog
• DEV-13712SparkFun OpenLog med headere
• DEV-13955
intet produkt fundet
Nødvendige materialer
For at kunne arbejde dig igennem denne vejledning fuldt ud, skal du bruge følgende dele. Du behøver muligvis ikke alt, afhængigt af hvad du har. Læg det i din indkøbskurv, læs vejledningen igennem, og juster indkøbskurven efter behov.
OpenLog-forbindelsesguide SparkFun-ønskeliste
![]() |
Arduino Pro Mini 328 – 3.3V/8MHz DEV-11114 Den er blå! Den er tynd! Det er Arduino Pro Mini! SparkFuns minimalistiske designtilgang til Arduino. Dette er en 3.3V Arduino … |
![]() |
SparkFun FTDI Basic Breakout – 3.3V DEV-09873 Dette er den nyeste revision af vores [FTDI Basic](http://www.sparkfun.com/commerce/product_info.php?products_id=… |
![]() |
SparkFun Cerberus USB-kabel – 6 m CAB-12016 Du har det forkerte USB-kabel. Det er ligegyldigt hvilket et du har, det er det forkerte. Men hvad nu hvis du kunne h… |
![]() |
SparkFun OpenLog DEV-13712 SparkFun OpenLog er en open source-datalogger, der fungerer via en simpel seriel forbindelse og understøtter mi… |
![]() |
microSD-kort med adapter – 16 GB (klasse 10) COM-13833 Dette er et klasse 10 16GB microSD-hukommelseskort, perfekt til at rumme operativsystemer til singleboard-computere og… |
![]() |
microSD USB-læser COM-13004 Dette er en fantastisk lille microSD USB-læser. Du skal blot skubbe dit microSD-kort ind i USB-stikket, ... |
![]() |
Kvindelige overskrifter PRT-00115 Enkel række med 40 huller, hun-studs. Kan skæres til med en bidetang. Standard afstand på 1 cm. Vi bruger … |
![]() |
Premium jumperledninger 6″ M/M pakke med 10 stk. PRT-08431 Dette er eksklusivt for SparkFun! Disse er 155 mm lange jumpere med hanstik i begge ender. Brug disse til bare at… |
![]() |
Afbrydelige han-hoveder – Ret vinkel PRT-00553 En række retvinklede han-stiftlister – kan knækkes for at passe. 40 ben, der kan skæres til enhver størrelse. Bruges med brugerdefinerede printkort eller gener… |
Anbefalet læsning
Hvis du ikke er bekendt med eller tryg ved følgende koncepter, anbefaler vi, at du læser dem igennem, før du fortsætter med OpenLog-tilslutningsguiden.
Sådan lodder du: Gennemgangslodning
Denne vejledning dækker alt, hvad du behøver at vide om lodning af gennemgående hul.
Serial Peripheral Interface (SPI)
SPI bruges almindeligvis til at forbinde mikrocontrollere til periferiudstyr såsom sensorer, skiftregistre og SD-kort.
Seriel kommunikation
Asynkrone serielle kommunikationskoncepter: pakker, signalniveauer, baudhastigheder, UART'er og meget mere!
Grundlæggende om seriel terminal
Denne vejledning viser dig, hvordan du kommunikerer med dine serielle enheder ved hjælp af en række forskellige terminalemulatorprogrammer.
Hardware overståetview
Magt
OpenLog kører med følgende indstillinger:
OpenLog-effektvurderinger
VCC-indgang | 3.3V-12V (anbefalet 3.3V-5V) |
RXI-indgang | 2.0V-3.8V |
TXO-udgang | 3.3V |
Tomgangsstrømforbrug | ~2mA-5mA (uden microSD-kort), ~5mA-6mA (med microSD-kort) |
Aktiv skrivestrømstrækning | ~20-23mA (med microSD-kort) |
OpenLogs strømforbrug er omkring 20 mA til 23 mA, når der skrives til et microSD-kort. Afhængigt af størrelsen på microSD-kortet og dets producent kan det aktive strømforbrug variere, når OpenLog skriver til hukommelseskortet. En forøgelse af baudhastigheden vil også trække mere strøm.
mikrocontrollere
OpenLog kører på en indbygget ATmega328, der kører ved 16 MHz takket være den indbyggede krystal. ATmega328 har Optiboot bootloader installeret, hvilket gør OpenLog kompatibel med "Arduino Uno"-kortindstillingerne i Arduino IDE'en.Interface
Seriel UART
Den primære grænseflade til OpenLog er FTDI-headeren på kanten af kortet. Denne header er designet til at blive tilsluttet direkte til en Arduino Pro eller Pro Mini, hvilket gør det muligt for mikrocontrolleren at sende dataene via en seriel forbindelse til OpenLog.
Advarsel! På grund af den pin-rækkefølge, der gør den kompatibel med Arduinoer, kan den ikke tilsluttes direkte til et FTDI breakout-board. For mere information, sørg for at læse det næste afsnit om hardwaretilslutning.
SPI
Der er også fire SPI-testpunkter udbrudt i den modsatte ende af printkortet. Du kan bruge disse til at omprogrammere bootloaderen på ATmega328.Den seneste OpenLog (DEV-13712) bruger disse ben til at forbinde disse testpunkter med mindre, belagte gennemgående huller. Hvis du har brug for at bruge en internetudbyder til at omprogrammere eller uploade en ny bootloader til OpenLog, kan du bruge pogo-ben til at oprette forbindelse til disse testpunkter.
Den sidste grænseflade til kommunikation med OpenLog er selve microSD-kortet. For at kommunikere kræver microSD-kortet SPI-ben. Det er ikke kun her, dataene gemmes af OpenLog, men du kan også opdatere OpenLogs konfiguration via config.txt. file på microSD -kortet.
microSD-kort
Alle data, der logges af OpenLog, gemmes på microSD-kortet. OpenLog fungerer med microSD-kort, der har følgende funktioner:
- 64MB til 32GB
- FAT16 eller FAT32
Status-LED
Der er to status-LED'er på OpenLog, der kan hjælpe dig med fejlfinding.
- STAT1 – Denne blå indikator-LED er fastgjort til Arduino D5 (ATmega328 PD5) og tænder/slukker, når et nyt tegn modtages. Denne LED blinker, når seriel kommunikation fungerer.
- STAT2 – Denne grønne LED er forbundet til Arduino D13 (SPI seriel urlinje/ ATmega328 PB5). Denne LED blinker kun, når SPI-grænsefladen er aktiv. Du vil se den blinke, når OpenLog registrerer 512 bytes på microSD-kortet.
Hardware tilslutning
Der er to primære metoder til at forbinde din OpenLog til et kredsløb. Du skal bruge nogle stiftlister eller ledninger for at forbinde. Sørg for at lodde fast på kortet for at sikre en sikker forbindelse.
Grundlæggende seriel forbindelse
Tip: Hvis du har en hun-header, OpenLog og hun-headeren på FTDI'en, skal du bruge M/F-jumperkabler for at forbinde.
Denne hardwareforbindelse er designet til at forbinde med en OpenLog, hvis du har brug for at omprogrammere kortet eller logge data over en grundlæggende seriel forbindelse.
Foretag følgende forbindelser:
OpenLog → 3.3V FTDI Basic Breakout
- GND → GND
- GND → GND
- VCC → 3.3V
- TXO → RXI
- RXI → TXO
- DTR → DTR
Bemærk at det ikke er en direkte forbindelse mellem FTDI og OpenLog – du skal bytte om på TXO- og RXI-pinforbindelserne.
Dine forbindelser skal se således ud: Når du har forbindelserne mellem OpenLog og FTDI Basic, skal du tilslutte dit FTDI-kort til et USB-kabel og til din computer.
Åbn en seriel terminal, tilslut den til COM-porten på din FTDI Basic, og så er du klar!
Projekthardwareforbindelse
Tip: Hvis du har hun-stifterne loddet på OpenLog, kan du lodde han-stifterne til Arduino Pro Mini for at forbinde kortene uden behov for ledninger.Selvom det er vigtigt at forbinde OpenLog via en seriel forbindelse til omprogrammering eller fejlfinding, er OpenLogs mest effektive løsning i et indlejret projekt. Dette generelle kredsløb er, hvordan vi anbefaler, at du tilslutter din OpenLog til en mikrocontroller (i dette tilfælde en Arduino Pro Mini), der skriver serielle data ud til OpenLog.
Først skal du uploade koden til den Pro Mini, du har til hensigt at køre. Se venligst Arduino Sketches for nogle eksempler.ampkoden, som du kan bruge.
Note: Hvis du er usikker på, hvordan du programmerer din Pro Mini, kan du se vores vejledning her.
Brug af Arduino Pro Mini 3.3V
Denne vejledning er din guide til alt, hvad der har med Arduino Pro Mini at gøre. Den forklarer, hvad det er, hvad det ikke er, og hvordan du kommer i gang med at bruge det.
Når du har programmeret din Pro Mini, kan du fjerne FTDI-kortet og erstatte det med OpenLog.
Sørg for at forbinde benene mærket BLK på både Pro Mini og OpenLog (benene mærket GRN på begge vil også matche, hvis det gøres korrekt).
Hvis du ikke kan tilslutte OpenLog direkte til Pro Mini (på grund af forkerte headere eller andre kort i vejen), kan du bruge jumperledninger og foretage følgende tilslutninger.
OpenLog → Arduino Pro/Arduino Pro Mini
- GND → GND
- GND → GND
- VCC → VCC
- TXO → RXI
- RXI → TXO
- DTR → DTR
Når du er færdig, burde dine forbindelser med Arduino Pro Mini og Arduino Pro se således ud.
Fritzing-diagrammet viser OpenLogs med spejlvendte headere. Hvis du vender microSD-stikket i forhold til Arduinoens top view, de skal matche programmeringsheaderen ligesom en FTDI.
Note at forbindelsen er en direkte forbindelse med OpenLog "på hovedet" (med microSD-kortet opad).
⚡Bemærk: Da Vcc og GND mellem OpenLog og Arduino optages af headerne, skal du tilslutte strøm til de andre tilgængelige ben på Arduinoen. Ellers kan du lodde ledninger til de blotlagte strømben på et af kortene.
Tænd dit system, og du er klar til at begynde at logge!
Arduino-skitser
Der er seks forskellige eks.ampDer er inkluderet skitser, som du kan bruge på Arduinoen, når den er tilsluttet en OpenLog.
- OpenLog_Benchmarking — Denne eks.ample bruges til at teste OpenLog. Dette sender meget store mængder data med 115200 bps over flere files.
- OpenLog_CommandTest — Denne f.eks.ampviser, hvordan man opretter og tilføjer en file via kommandolinjestyring gennem Arduinoen.
- OpenLog_ReadExample — Denne eks.ample gennemgår, hvordan man styrer OpenLog via kommandolinjen.
- OpenLog_ReadExample_StorFile — Eksamphvordan man åbner en stor opbevaret file på OpenLog og rapporter det via en lokal Bluetooth-forbindelse.
- OpenLog_Test_Sketch — Bruges til at teste OpenLog med masser af serielle data.
- OpenLog_Test_Sketch_Binary — Bruges til at teste OpenLog med binære data og escape-tegn.
Firmware
OpenLog har to primære softwareprogrammer indbygget: bootloaderen og firmwaren.
Arduino bootloader
Note: Hvis du bruger en OpenLog, der blev købt før marts 2012, er den indbyggede bootloader kompatibel med indstillingen "Arduino Pro eller Pro Mini 5V/16MHz med ATmega328" i Arduino IDE'en.
Som tidligere nævnt har OpenLog den serielle bootloader Optiboot indbygget. Du kan behandle OpenLog ligesom en Arduino Uno, når du uploader data.ample-kode eller ny firmware til kortet.
Hvis du ender med at bricke din OpenLog og har brug for at geninstallere bootloaderen, skal du også uploade Optiboot til boardet. Se vores vejledning til installation af en Arduino Bootloader for mere information.
Kompilering og indlæsning af firmware på OpenLog
Note: Hvis det er første gang, du bruger Arduino, bedes du venligstview vores vejledning til installation af Arduino IDE. Hvis du ikke tidligere har installeret et Arduino-bibliotek, kan du se vores installationsvejledning for manuelt at installere bibliotekerne.
Hvis du af en eller anden grund har brug for at opdatere eller geninstallere firmwaren på din OpenLog, vil følgende proces få dit bundkort op at køre.
Først skal du downloade Arduino IDE v1.6.5. Andre versioner af IDE'en kan muligvis kompilere OpenLog-firmwaren, men vi har bekræftet, at denne version er kendt og fungerer.
Download derefter OpenLog-firmwaren og de nødvendige bibliotekspakker.
DOWNLOAD OPENLOG FIRMWARE-PAKKE (ZIP)
Når du har downloadet bibliotekerne og firmwaren, skal du installere bibliotekerne i Arduino. Hvis du er usikker på, hvordan du manuelt installerer bibliotekerne i IDE'en, kan du se vores vejledning: Installation af et Arduino-bibliotek: Manuel installation af et bibliotek.
Note: Vi bruger modificerede versioner af SdFat- og SerialPort-bibliotekerne for vilkårligt at angive, hvor store TX- og RX-bufferne skal være. OpenLog kræver, at TX-bufferen er meget lille (0), og RX-bufferen skal være så stor som muligt. Brug af disse to modificerede biblioteker sammen giver mulighed for øget ydeevne for OpenLog.
Leder du efter de nyeste versioner? Hvis du foretrækker de mest opdaterede versioner af bibliotekerne og firmwaren, kan du downloade dem direkte fra GitHub-arkiverne, der er linket nedenfor. SdFatLib- og Serial Port-bibliotekerne er ikke synlige i Arduino Board Manager, så du skal installere biblioteket manuelt.
- GitHub: OpenLog > Firmware > OpenLog_Firmware
- Bill Greimans Arduino-biblioteker
SdFatLib-beta
Serielport
Dernæst, for at drage fordeltagi de modificerede biblioteker, modificer SerialPort.h file findes i mappen \Arduino\Libraries\SerialPort. Skift BUFFERED_TX til 0 og ENABLE_RX_ERROR_CHECKING til 0. Gem file, og åbn Arduino IDE'en.
Hvis du ikke allerede har gjort det, så tilslut din OpenLog til computeren via et FTDI-kort. Dobbelttjek venligst konfigurationen.ample kredsløb, hvis du ikke er sikker på, hvordan du gør dette korrekt.
Åbn den OpenLog-skitse, du vil uploade, under Værktøjer>Kort-menuen, vælg "Arduino/Genuino Uno", og vælg den korrekte COM-port til dit FTDI-kort under Værktøjer>Port.
Upload koden.
Det var det! Din OpenLog er nu programmeret med ny firmware. Du kan nu åbne en seriel skærm og interagere med OpenLog. Ved opstart vil du se enten 12> eller 12<. 1 angiver, at den serielle forbindelse er etableret, 2 angiver, at SD-kortet er initialiseret, < angiver, at OpenLog er klar til at logge alle modtagne serielle data, og > angiver, at OpenLog er klar til at modtage kommandoer.
OpenLog Firmware-skitser
Der er tre inkluderede skitser, du kan bruge på OpenLog, afhængigt af din specifikke applikation.
- OpenLog – Denne firmware leveres som standard i OpenLog. Hvis du sender kommandoen ?, vises den firmwareversion, der er indlæst på en enhed.
- OpenLog_Light – Denne version af skissen fjerner menuen og kommandotilstanden, hvilket gør det muligt at øge modtagebufferen. Dette er en god mulighed for højhastighedslogning.
- OpenLog_Minimal – Baudraten skal indstilles i koden og uploades. Denne skitse anbefales til erfarne brugere, men er også den bedste mulighed for logning med den højeste hastighed.
Kommandosæt
Du kan interagere med OpenLog via en seriel terminal. Følgende kommandoer hjælper dig med at læse, skrive og slette files, samt ændre indstillingerne for OpenLog. Du skal være i kommandotilstand for at bruge følgende indstillinger.
Mens OpenLog er i kommandotilstand, vil STAT1 tænde/slukke for hvert tegn, der modtages. LED'en vil forblive tændt, indtil det næste tegn modtages.
File Manipulation
- ny File – Opretter en ny file navngivet File i den aktuelle mappe. Standard 8.3 filenavne understøttes.
F.eksampdvs. “87654321.123” er acceptabel, mens “987654321.123” ikke er.
• Eksample: ny file1.txt - tilføj File – Tilføj tekst til slutningen af FileSerielle data læses derefter fra UART'en i en strøm og tilføjes til fileDet sendes ikke videre via serielterminalen. Hvis File findes ikke, når denne funktion kaldes, file vil blive oprettet.
• Eksample: tilføj nyfile.csv - skrive File OFFSET – Skriv tekst til File fra placeringen OFFSET inden for fileTeksten læses fra UART'en, linje for linje, og sendes tilbage. For at afslutte denne tilstand skal du sende en tom linje.
• Eksample: skriv logs.txt 516 - rm File – Sletter File fra den aktuelle mappe. Jokertegn understøttes.
• Eksampfilen: rm README.txt - størrelse File – Outputstørrelse af File i bytes.
• Eksampfil: størrelse Log112.csv
• Udgang: 11 - læse File + START+ LÆNGDETYPE – Udskriv indholdet af File startende fra START og gået efter LÆNGDE.
Hvis START udelades, bliver hele file rapporteres. Hvis LÆNGDE udelades, rapporteres hele indholdet fra startpunktet. Hvis TYPE udelades, rapporteres OpenLog som standard i ASCII. Der er tre output TYPER:
• ASCII = 1
• HEX = 2
• RÅ = 3
Du kan udelade nogle efterfølgende argumenter. Tjek følgende eksempelamples.
Grundlæggende læste + udeladte flag:
• Eksample: læs LOG00004.txt
• Udgang: Accelerometer X=12 Y=215 Z=317
Læs fra start 0 med længden 5:
• Eksample: læs LOG00004.txt 0 5
• Udgang: Accel
Læs fra position 1 med en længde på 5 i HEX:
• Eksample: læs LOG00004.txt 1 5 2
• Udgang: 63 63 65 6C - Læs fra position 0 med en længde på 50 i RAW:
- • Eksample: læs LOG00137.txt 0 50 3
- • Output: André– -þ Udvidet tegntest
- kat File – Skriv indholdet af en file i hex til den serielle skærm for viewing. Dette er nogle gange nyttigt at se, at en file optager korrekt uden at skulle trække SD-kortet ud, og view de file på en computer.
• Eksampfil: kat LOG00004.txt
• Udgang: 00000000: 41 63 65 6c 3a 20 31
Manipulation af kataloger
- ls – Viser alt indhold i den aktuelle mappe. Jokertegn understøttes.
• Eksample: ls
• Output: \src - md Undermappe – Opret undermappe i den aktuelle mappe.
• Eksample: md Example_Skitser - cd-undermappe – Skift til undermappe.
• Eksample: cd Hello_World - cd .. – Skift til en lavere mappe i træet. Bemærk at der er et mellemrum mellem 'cd' og '..'. Dette gør det muligt for strengparseren at se cd-kommandoen.
• Eksample: cd .. - rm Undermappe – Sletter undermappen. Mappen skal være tom for at denne kommando kan virke.
• Eksample: rm temperaturer - rm -rf Directory – Sletter mappen og enhver files indeholdt i den.
• Eksample: rm -rf Biblioteker
Lavniveaufunktionskommandoer
- ? – Denne kommando vil åbne en liste over tilgængelige kommandoer i OpenLog.
- disk – Viser kortproducent-ID, serienummer, produktionsdato og kortstørrelse. F.eks.ampoutputtet er:
Korttype: SD2
Producent-ID: 3
OEM-ID: SD
Produkt: SU01G
Version: 8.0
Serienummer: 39723042
Fremstillingsdato: 1/2010
Kortstørrelse: 965120 KB - init – Geninitialiser systemet, og åbn SD-kortet igen. Dette er nyttigt, hvis SD-kortet holder op med at reagere.
- synkroniser – Synkroniserer det aktuelle indhold af bufferen med SD-kortet. Denne kommando er nyttig, hvis du har mindre end 512 tegn i bufferen og vil gemme dem på SD-kortet.
- nulstil – Springer OpenLog til position nul, kører bootloader igen og starter derefter kode. Denne kommando er nyttig, hvis du har brug for at redigere konfigurationen. file, nulstil OpenLog og begynd at bruge den nye konfiguration. Sluk og tænd/sluk er stadig den foretrukne metode til at nulstille kortet, men denne mulighed er tilgængelig.
Systemindstillinger
Disse indstillinger kan opdateres manuelt eller redigeres i config.txt file.
- echo STATE – Ændrer systemets ekkotilstand og gemmes i systemhukommelsen. STATE kan enten være tændt eller slukket. Når den er tændt, vil OpenLog gentage modtagne serielle data i kommandoprompten. Når den er slukket, læser systemet ikke modtagne tegn tilbage.
Note: Under normal logning vil ekko være slået fra. Systemressourcekravene til ekko af de modtagne data er for høje under logning. - verbose STATE – Ændrer tilstanden for verbose fejlrapportering. STATE kan enten være aktiveret eller deaktiveret. Denne kommando gemmes i hukommelsen. Ved at deaktivere verbose fejl, vil OpenLog kun svare med et !, hvis der er en fejl, i stedet for en ukendt kommando: COMMAND. Tegnet ! er lettere for indlejrede systemer at analysere end den fulde fejl. Hvis du bruger en terminal, vil det at lade verbose være aktiveret give dig mulighed for at se fulde fejlmeddelelser.
- baud – Denne kommando åbner en systemmenu, der giver brugeren mulighed for at indtaste en baudrate. Enhver baudrate mellem 300 bps og 1 Mbps understøttes. Valget af baudrate sker øjeblikkeligt, og OpenLog kræver en strømcyklus for at indstillingerne træder i kraft. Baudraten gemmes i EEPROM og indlæses hver gang OpenLog tændes. Standardindstillingen er 9600 8N1.
Husk: Hvis kortet sidder fast i en ukendt baudrate, kan du forbinde RX til GND og tænde for OpenLog. LED'erne blinker frem og tilbage i 2 sekunder og blinker derefter samtidig. Sluk for OpenLog, og fjern jumperen. OpenLog er nu nulstillet til 9600 bps, når escape-tegnet `CTRL-Z` trykkes ned tre gange i træk. Denne funktion kan tilsidesættes ved at indstille Emergency Override-bitten til 1.
Se config.txt for yderligere information.
- set – Denne kommando åbner en systemmenu, hvor du kan vælge opstartstilstand. Disse indstillinger vil ske ved
• næste opstart og gemmes i en ikke-flygtig EEPROM. Ny File Logføring – Denne tilstand opretter en ny file hver gang OpenLog starter. OpenLog sender 1 (UART er aktiv), 2 (SD-kort er initialiseret), derefter < (OpenLog er klar til at modtage data). Alle data vil blive gemt i en LOG#####.txt. #####-tallet stiger hver gang OpenLog starter (maksimum er 65533 logs). Nummeret gemmes i EEPROM og kan nulstilles fra indstillingsmenuen.
Alle modtagne tegn gentages ikke. Du kan afslutte denne tilstand og gå ind i kommandotilstand ved at sende CTRL+z (ASCII 26). Alle bufferede data vil blive gemt.
Note: Hvis der er oprettet for mange logfiler, vil OpenLog vise fejlen **For mange logfiler**, afslutte denne tilstand og gå tilbage til kommandoprompten. Det serielle output vil se sådan ud `12!For mange logfiler!`.
- Tilføj File Logføring – Også kendt som sekventiel tilstand, denne tilstand opretter en file kaldes SEQLOG.txt, hvis den ikke allerede er der, og tilføjer eventuelle modtagne data til fileOpenLog sender 12<, hvorefter OpenLog er klar til at modtage data. Tegnene gentages ikke. Du kan afslutte denne tilstand og gå ind i kommandotilstand ved at sende CTRL+z (ASCII 26). Alle bufferede data vil blive gemt.
- Kommandoprompt – OpenLog sender 12>, hvorefter systemet er klar til at modtage kommandoer. Bemærk, at >-tegnet angiver, at OpenLog er klar til at modtage kommandoer, ikke data. Du kan oprette files og tilføj data til files, men dette kræver en vis seriel parsing (til fejlkontrol), så vi indstiller ikke denne tilstand som standard.
- Nulstil ny File Nummer – Denne tilstand nulstiller loggen file nummer til LOG000.txt. Dette er nyttigt, hvis du for nylig har tømt et microSD-kort og ønsker, at loggen file tal for at starte forfra.
- Nyt escape-tegn – Denne indstilling giver brugeren mulighed for at indtaste et tegn som f.eks. CTRL+z eller $, og indstille dette som det nye escape-tegn. Denne indstilling nulstilles til CTRL+z under en nødnulstilling.
- Antal escape-tegn – Denne indstilling giver brugeren mulighed for at indtaste et tegn (f.eks. 1, 3 eller 17) og opdatere det nye antal escape-tegn, der er nødvendige for at gå tilbage til kommandotilstand. For eksempelampHvis du indtaster 8, skal brugeren trykke på CTRL+z otte gange for at komme til kommandotilstand. Denne indstilling nulstilles til 3 under en nødnulstilling.
Forklaring af escape-tegn: Grunden til, at OpenLog kræver, at man trykker på `CTRL+z` 3 gange for at gå i kommandotilstand, er for at forhindre, at kortet ved et uheld nulstilles under upload af ny kode fra Arduino IDE'en. Der er en chance for, at kortet ser `CTRL+z`-tegnet komme igennem under bootloading (et problem, vi så i de tidlige versioner af OpenLog-firmwaren), så dette har til formål at forhindre dette. Hvis du nogensinde har mistanke om, at dit board er blevet blokeret på grund af dette, kan du altid foretage en nødnulstilling ved at holde RX-pinden til jord under opstart.
Konfiguration File
Hvis du hellere ikke vil bruge serielterminalen til at ændre indstillingerne på din OpenLog, kan du også opdatere indstillingerne ved at ændre CONFIG.TXT. file.
Note: Denne funktion fungerer kun på firmwareversion 1.6 eller nyere. Hvis du har købt en OpenLog efter 2012, vil du køre firmwareversion 1.6+.
For at gøre dette skal du bruge en microSD-kortlæser og en teksteditor. Åbn config.txt file (store bogstaver i file (navnet betyder ikke noget), og konfigurer i gang! Hvis du aldrig har tændt din OpenLog med SD-kortet før, kan du også manuelt oprette fileHvis du har tændt OpenLog med microSD-kortet isat tidligere, burde du se noget i retning af følgende, når du læser microSD-kortet.OpenLog opretter en config.txt og en LOG0000.txt file ved første opstart.
Standardkonfigurationen file har én linje med indstillinger og én linje med definitioner.Standard konfiguration file skrevet af OpenLog.
Bemærk, at disse er almindelige synlige tegn (der er ingen ikke-synlige eller binære værdier), og hver værdi er adskilt af et komma.
Indstillingerne er defineret som følger:
- baud: Kommunikations-baudraten. 9600 bps er standard. Acceptable værdier, der er kompatible med Arduino IDE, er 2400, 4800, 9600, 19200, 38400, 57600 og 115200. Du kan bruge andre baudrater, men du vil ikke kunne kommunikere med OpenLog via Arduino IDE's serielle skærm.
- escape: ASCII-værdien (i decimalformat) for escape-tegnet. 26 er CTRL+z og er standard. 36 er $ og er et almindeligt anvendt escape-tegn.
- esc#: Antallet af nødvendige escape-tegn. Som standard er det tre, så du skal trykke på escape-tegnet tre gange for at skifte til kommandotilstand. Acceptable værdier er fra 0 til 254. Hvis denne værdi indstilles til 0, deaktiveres kontrol af escape-tegn helt.
- tilstand: Systemtilstand. OpenLog starter som standard i Ny logtilstand (0). Acceptable værdier er 0 = Ny log, 1 = Sekventiel log, 2 = Kommandotilstand.
- verb: Verbose-tilstand. Udvidede (verbose) fejlmeddelelser er som standard aktiveret. Hvis denne indstilling er 1, aktiveres verbose fejlmeddelelser (f.eks. ukendt kommando: fjern !). Hvis denne indstilling er 0, deaktiveres verbose fejl, men der svares med et !, hvis der er en fejl. Det er praktisk at deaktivere verbose-tilstand, hvis du forsøger at håndtere fejl fra et integreret system.
- ekko: Ekkotilstand. I kommandotilstand gentages tegn som standard. Hvis du indstiller denne til 0, deaktiveres tegnekko. Det er praktisk at deaktivere dette, hvis du håndterer fejl, og du ikke ønsker, at sendte kommandoer skal sendes tilbage til OpenLog.
- ignoreRX: Nødoverstyring. Normalt vil OpenLog nødnulstille, når RX-pinden trækkes lavt under opstart. Hvis denne indstilling er 1, deaktiveres kontrol af RX-pinden under opstart. Dette kan være nyttigt for systemer, der holder RX-linjen lav af forskellige årsager. Hvis Nødoverstyring er deaktiveret, vil du ikke kunne tvinge enheden tilbage til 9600 bps, og konfigurationen file vil være den eneste måde at ændre baudraten på.
Hvordan OpenLog ændrer konfigurationen File
Der er fem forskellige situationer, hvor OpenLog kan ændre config.txt file.
- Konfig file fundet: Under opstart vil OpenLog søge efter en config.txt file. Hvis file findes, vil OpenLog bruge de inkluderede indstillinger og overskrive alle tidligere gemte systemindstillinger.
- Ingen konfiguration file fundet: Hvis OpenLog ikke kan finde config.txt file så opretter OpenLog config.txt og gemmer de aktuelt gemte systemindstillinger i den. Det betyder, at hvis du indsætter et nyformateret microSD-kort, vil dit system bevare sine nuværende indstillinger.
- Korrupt konfiguration file fundet: OpenLog vil slette den beskadigede config.txt file, og vil omskrive både de interne EEPROM-indstillinger og config.txt-indstillingerne file til den kendte gode tilstand på 9600,26,3,0,1,1,0.
- Ulovlige værdier i konfigurationen fileHvis OpenLog opdager indstillinger, der indeholder ulovlige værdier, overskriver OpenLog de korrupte værdier i config.txt. file med de aktuelt gemte EEPROM-systemindstillinger.
- Ændringer via kommandoprompten: Hvis systemindstillingerne ændres via kommandoprompten (enten via en seriel forbindelse eller via serielle mikrocontrollerkommandoer), registreres disse ændringer både i systemets EEPROM og i config.txt. file.
- Nødnulstilling: Hvis OpenLog tændes og slukkes med en jumper mellem RX og GND, og Emergency Override-bit'en er indstillet til 0 (hvilket tillader nødnulstilling), vil OpenLog omskrive både de interne EEPROM-indstillinger og config.txt-indstillingerne. file til den kendte gode tilstand på 9600,26,3,0,1,1,0.
Fejlfinding
Der er flere forskellige muligheder for at kontrollere, om du har problemer med at oprette forbindelse via den serielle skærm, har problemer med mistede tegn i logfiler eller kæmper med en blokeret OpenLog.
Kontroller STAT1 LED-adfærd
STAT1 LED viser forskellig adfærd for to forskellige almindelige fejl.
- 3 blink: microSD-kortet kunne ikke initialiseres. Du skal muligvis formatere kortet med FAT/FAT16 på en computer.
- 5 blink: OpenLog har ændret til en ny baudrate og skal slukkes og slukkes.
Dobbelttjek undermappestrukturen
Hvis du bruger standardfilen OpenLog.ino exampOpenLog understøtter kun to undermapper. Du skal ændre FOLDER_TRACK_DEPTH fra 2 til det antal undermapper, du skal understøtte. Når du har gjort dette, skal du rekompilere koden og uploade den ændrede firmware.
Bekræft antallet af Files i rodmappen
OpenLog understøtter kun op til 65,534 logfiler. files i rodmappen. Vi anbefaler at omformatere dit microSD-kort for at forbedre logføringshastigheden.
Bekræft størrelsen på din modificerede firmware
Hvis du skriver en brugerdefineret skitse til OpenLog, skal du kontrollere, at din skitse ikke er større end 32,256. Hvis det er tilfældet, vil den optage de øverste 500 bytes af flashhukommelsen, som bruges af den serielle bootloader fra Optiboot.
Dobbelttjek File Navne
Alle file Navne skal være alfanumeriske. MyLOG1.txt er ok, men Hi !e _.txt virker muligvis ikke.
Brug 9600 Baud
OpenLog kører på ATmega328 og har en begrænset mængde RAM (2048 bytes). Når du sender serielle tegn til OpenLog, bufferes disse tegn. SD Group Simplified Specification tillader, at et SD-kort kan bruge op til 250 ms (afsnit 4.6.2.2 Skrivning) på at optage en datablok til flashhukommelse.
Ved 9600 bps er det 960 bytes (10 bits pr. byte) pr. sekund. Det er 1.04 ms pr. byte. OpenLog bruger i øjeblikket en modtagebuffer på 512 byte, så den kan buffere omkring 50 ms tegn. Dette gør det muligt for OpenLog at modtage alle tegn, der kommer med 9600 bps. Når du øger baudraten, vil bufferen vare kortere.
OpenLog Buffer Overrun Time
Baud rate | Tid pr. byte | Tid indtil bufferen er overskredet |
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 hurtigere optagelsestid end 250 ms. Dette kan påvirkes af kortets 'klasse' og hvor meget data der allerede er gemt på kortet. Løsningen er at bruge en lavere baudrate eller øge mængden af tid mellem de tegn, der sendes med den højere baudrate.
Formatér dit MicroSD-kort
Husk at bruge et kort med få eller ingen files på den. Et microSD-kort med 3.1 GB ZIP-hukommelse files eller MP3'er har en langsommere responstid end et tomt kort.
Hvis du ikke formaterede dit microSD-kort på et Windows-operativsystem, skal du omformatere microSD-kortet og oprette en DOS-fil. filesystemet på SD-kortet.
Skift MicroSD-kort
Der findes mange forskellige typer kortproducenter, ommærkede kort, kortstørrelser og kortklasser, og de fungerer muligvis ikke alle korrekt. Vi bruger typisk et 8 GB klasse 4 microSD-kort, som fungerer godt ved 9600 bps. Hvis du har brug for højere baudhastigheder eller større lagerplads, kan du prøve kort i klasse 6 eller derover.
Tilføj forsinkelser mellem tegnskrivninger
Ved at tilføje en lille forsinkelse mellem Serial.print()-sætninger kan du give OpenLog mulighed for at registrere dens aktuelle
buffer.
F.eksampdet:
Serial.begin(115200);
for(int i = 1; i < 10; i++) {
Seriel.print(i, DEC);
Seriel.println(“:abcdefghijklmnopqrstuvwxyz-!#”);
}
logger muligvis ikke korrekt, da der sendes mange tegn lige ved siden af hinanden. Indsættelse af en lille forsinkelse på 15 ms mellem skrivninger af store tegn vil hjælpe OpenLog med at optage uden at miste tegn.
Serial.begin(115200);
for(int i = 1; i < 10; i++) {
Seriel.print(i, DEC);
Seriel.println(“:abcdefghijklmnopqrstuvwxyz-!#”);
forsinkelse(15);
}
Tilføj Arduino seriel skærmkompatibilitet
Hvis du forsøger at bruge OpenLog med det indbyggede serielle bibliotek eller SoftwareSerial-biblioteket, kan du opleve problemer med kommandotilstanden. Serial.println() sender både linjeskift OG linjeretur. Der er to alternative kommandoer til at overvinde dette.
Den første er at bruge \r-kommandoen (ASCII-vognretur):
Seriel.print("TEKST\r");
Alternativt kan du sende værdien 13 (decimal linjeskift):
Seriel.print("TEKST");
Seriel.write(13);
Nødnulstilling
Husk, at hvis du har brug for at nulstille OpenLog til en standardtilstand, kan du nulstille kortet ved at forbinde RX-pinden til GND, tænde OpenLog, vente, indtil LED'erne begynder at blinke samtidig, og derefter slukke OpenLog og fjerne jumperen.
Hvis du har ændret Emergency Override-bitten til 1, skal du ændre konfigurationen. file, da nødnulstillingen ikke vil virke.
Tjek med fællesskabet
Hvis du stadig har problemer med din OpenLog, kan du se de aktuelle og lukkede problemer i vores GitHub-repository her. Der er et stort fællesskab, der arbejder med OpenLog, så der er stor sandsynlighed for, at nogen har fundet en løsning på det problem, du oplever.
Ressourcer og at gå videre
Nu hvor du har logget data med din OpenLog, kan du oprette fjernprojekter og overvåge alle mulige data, der kommer ind. Overvej at oprette dit eget Citizen Science-projekt eller endda en kæledyrssporer for at se, hvad Fluffy laver, når han er ude og omkring!
Se disse yderligere ressourcer til fejlfinding, hjælp eller inspiration til dit næste projekt.
- OpenLog GitHub
- Illumitune-projektet
- LilyPad lyssensortilslutning
- BadgerHack: Tilføjelse til jordsensor
- Kom godt i gang med OBD-II
- Vernier Photogate
Brug for mere inspiration? Se nogle af disse relaterede vejledninger:
Photon fjernbetjent vandstandssensor
Lær hvordan du bygger en fjernbetjent vandstandssensor til en vandtank, og hvordan du automatiserer en pumpe baseret på aflæsningerne!
Photon fjernbetjent vandstandssensor
Lær hvordan du bygger en fjernbetjent vandstandssensor til en vandtank, og hvordan du automatiserer en pumpe baseret på aflæsningerne!
Logføring af data til Google Sheets med Tessel 2
Dette projekt dækker, hvordan man logger data til Google Sheets på to måder: ved hjælp af IFTTT med en web forbindelse eller et USB-stik og “sneakernet” uden.
Grafisk fremstilling af sensordata med Python og Matplotlib
Brug matplotlib til at oprette et realtidsdiagram over temperaturdata indsamlet fra en TMP102-sensor tilsluttet en Raspberry Pi.
Hvis du har feedback på vejledningen, kan du læse kommentarerne eller kontakte vores tekniske supportteam på Teknisk support@sparkfun.com.
Dokumenter/ressourcer
![]() |
SparkFun DEV-13712 SparkFun udviklingskort [pdfBrugervejledning DEV-13712, DEV-11114, DEV-09873, CAB-12016, COM-13833, COM-13004, PRT-00115, PRT-08431, DEV-13712 SparkFun udviklingskort, DEV-13712, SparkFun udviklingskort, udviklingskort, kort |