SparkFun-logo

SparkFun DEV-13712 Dieltsjefoton mei gatten foar solderen

SparkFun-DEV-13712-Dieltsje-Foton-Mei-Gaten-Foar-Soldearjen-produkt

Spesifikaasjes

  • Produktnamme: OpenLog Datalogger
  • Model: DEV-13712
  • Stromynfier: 3.3V-12V (Oanrikkemandearre 3.3V-5V)
  • RXI Ynfiervolumetage:2.0V-3.8V
  • TXO-útfiervolumetage: 3.3 V.
  • Idle-stroomôfname: ~2mA-5mA (sûnder microSD-kaart), ~5mA-6mA (mei microSD-kaart)
  • Aktyf skriuwstroomverbruik: ~20-23mA (mei microSD-kaart)

Produkt Usage Ynstruksjes

Materialen nedich:

  • Arduino Pro Mini 328 - 3.3V / 8MHz
  • SparkFun FTDI Basis Breakout – 3.3V
  • SparkFun Cerberus USB-kabel – 6 meter
  • microSD-kaart mei adapter – 16GB (Klasse 10)
  • microSD USB-lêzer
  • Female Headers
  • Jumper Wires Premium 6 M/M Pak fan 10
  • Break Away Manlike Kopteksten - Rjochthoekige

Oanrikkemandearre lêzing:

Hardware oerview:
De OpenLog rint mei de folgjende ynstellings:

VCC-ynfier RXI-ynfier TXO-útfier Idle-stroomôfname Aktyf skriuwen stroomtekening
3.3V-12V (Oanrikkemandearre 3.3V-5V) 2.0V-3.8V 3.3V ~2mA-5mA (sûnder microSD-kaart), ~5mA-6mA (mei microSD-kaart) ~20-23mA (mei/microSD-kaart)

Ynlieding

Tink derom! Dizze tutorial is foar it Iepen Log foar seriële UART [DEV-13712]. As jo ​​de Qwiic OpenLog foar IC [DEV-15164] brûke, rieplachtsje dan de Qwiic OpenLog Hookup Guide.

De OpenLog Data Logger is in ienfâldich te brûken, iepen boarne oplossing foar it registrearjen fan seriële gegevens fan jo projekten. De OpenLog biedt in ienfâldige seriële ynterface om gegevens fan in projekt nei in microSD-kaart te registrearjen.

SparkFun IepenLog
DEV-13712

SparkFun-DEV-13712-Dieltsje-Foton-Mei-Gaten-Foar-Soldearjen-fig- (1)

SparkFun OpenLog mei kopteksten
DEV-13955

Gjin produkt fûn

Materialen nedich
Om dizze tutorial folslein út te wurkjen, sille jo de folgjende ûnderdielen nedich hawwe. Jo hawwe miskien net alles nedich, ôfhinklik fan wat jo hawwe. Foegje it ta oan jo winkelwein, lês de hantlieding troch en pas de winkelwein oan as nedich.

OpenLog-oanslutingsgids

SparkFun winsklist

SparkFun-DEV-13712-Dieltsje-Foton-Mei-Gaten-Foar-Soldearjen-fig- (2)SparkFun-DEV-13712-Dieltsje-Foton-Mei-Gaten-Foar-Soldearjen-fig- (3)

Oanrikkemandearre lêzing
As jo ​​net bekend of noflik binne mei de folgjende konsepten, riede wy oan om dizze troch te lêzen foardat jo trochgean mei de OpenLog Hookup Guide.

  • Hoe te solderen: Troch-gat solderen. Dizze tutorial behannelet alles wat jo witte moatte oer troch-gat solderen.
  • Serial Communication Asynchrone seriële kommunikaasjekonsepten: pakketten, sinjaalnivo's, baudraten, UART's, en mear!
  • Serial Peripheral Interface (SPI) SPI wurdt faak brûkt om mikrokontrollers te ferbinen mei randapparaten lykas sensoren, ferskowingsregisters en SD-kaarten.
  • Serial Terminal Basics Dizze tutorial sil jo sjen litte hoe't jo mei jo seriële apparaten kommunisearje kinne mei ferskate terminalemulatorapplikaasjes.

Hardware oerview

Krêft
De OpenLog rint mei de folgjende ynstellings:

OpenLog-krêftbeoardielingen

SparkFun-DEV-13712-Dieltsje-Foton-Mei-Gaten-Foar-Soldearjen-fig- (4)

It stroomferbrûk fan 'e OpenLog is sawat 20mA oant 23mA by it skriuwen nei in microSD. Ofhinklik fan 'e grutte fan' e microSD-kaart en de fabrikant kin it aktive stroomferbrûk ferskille as de OpenLog nei de ûnthâldkaart skriuwt. It ferheegjen fan 'e baudrate sil ek mear stroom lûke.

Mikrokontroller
De OpenLog rint op in onboard ATmega328, dy't rint op 16MHz, tanksij it onboard kristal. De ATmega328 hat de Optiboot bootloader derop laden, wêrtroch't de OpenLog kompatibel is mei de
"Arduino Uno" boardynstellings yn 'e Arduino IDE.

SparkFun-DEV-13712-Dieltsje-Foton-Mei-Gaten-Foar-Soldearjen-fig- (5)

Ynterface

Serial UART
De primêre ynterface mei de OpenLog is de FTDI-header oan 'e râne fan it board. Dizze header is ûntworpen om direkt yn in Arduino Pro of Pro Mini te stekken, wêrtroch't de mikrokontroller de gegevens oer in seriële ferbining nei de OpenLog kin stjoere.

SparkFun-DEV-13712-Dieltsje-Foton-Mei-Gaten-Foar-Soldearjen-fig- (6)

Warskôging! Fanwegen de pin-folchoarder dy't it kompatibel makket mei de Arduinos, kin it net direkt yn in FTDI breakout-board plugge wurde.

SparkFun-DEV-13712-Dieltsje-Foton-Mei-Gaten-Foar-Soldearjen-fig- (7)

Foar mear ynformaasje, soargje derfoar dat jo it folgjende diel oer de Hardware Hookup kontrolearje.

SPI

Der binne ek fjouwer SPI-testpunten oan 'e oare kant fan it board útbrutsen. Jo kinne dizze brûke om de bootloader op 'e ATmega328 opnij te programmearjen.

  • SparkFun-DEV-13712-Dieltsje-Foton-Mei-Gaten-Foar-Soldearjen-fig- (8)De lêste OpenLog (DEV-13712) brûkt dizze pinnen foar lytsere, platearre trochgeande gatten. As jo ​​in ynternetprovider brûke moatte om de OpenLog opnij te programmearjen of in nije bootloader te uploaden, kinne jo pogo-pinnen brûke om ferbining te meitsjen mei dizze testpunten.
  • De lêste ynterface foar kommunikaasje mei de OpenLog is de microSD-kaart sels. Om te kommunisearjen hat de microSD-kaart SPI-pinnen nedich. Net allinich wurdt hjir de gegevens opslein troch de OpenLog, mar jo kinne ek de konfiguraasje fan 'e OpenLog bywurkje fia it config.txt-bestân. file op de microSD -kaart.
    microSD-kaart

Alle gegevens dy't troch de OpenLog registrearre wurde, wurde opslein op 'e microSD-kaart. De OpenLog wurket mei microSD-kaarten dy't de folgjende funksjes hawwe:

  • 64MB oant 32GB
  • FAT16 of FAT32

SparkFun-DEV-13712-Dieltsje-Foton-Mei-Gaten-Foar-Soldearjen-fig- (9)

Der binne twa status-LED's op 'e OpenLog om jo te helpen mei it oplossen fan problemen.

  • STAT1 – Dizze blauwe yndikator-LED is ferbûn mei de Arduino D5 (ATmega328 PD5) en skeakelt oan/út as in nij karakter ûntfongen wurdt. Dizze LED knippert as seriële kommunikaasje wurket.
  • STAT2 – Dizze griene LED is ferbûn mei Arduino D13 (SPI Serial Clock Line/ ATmega328 PB5). Dizze LED knippert allinich as de SPI-ynterface aktyf is. Jo sille it knipperje sjen as de OpenLog 512 bytes op 'e microSD-kaart registrearret.

SparkFun-DEV-13712-Dieltsje-Foton-Mei-Gaten-Foar-Soldearjen-fig- (10)

Hardware Hookup

Der binne twa haadmetoaden om jo OpenLog oan in sirkwy te ferbinen. Jo sille wat headers of triedden nedich hawwe om te ferbinen. Soargje derfoar dat jo oan it board solderje foar in feilige ferbining.

Basis seriële ferbining

TipAs jo ​​in froulike header op 'e OpenLog en in froulike header op 'e FTDI hawwe, sille jo M/F-jumperdraden nedich hawwe om te ferbinen.

SparkFun-DEV-13712-Dieltsje-Foton-Mei-Gaten-Foar-Soldearjen-fig- (11)

Dizze hardwareferbining is ûntworpen foar ynterface mei in OpenLog as jo it boerd opnij programmearje moatte of gegevens moatte loggje fia in basis seriële ferbining.

Meitsje de folgjende ferbiningen:
IepenLog → 3.3V FTDI Basis Breakout

  • GND → GND
  • GND → GND
  • VCC → 3.3V
  • TXO → RXI
  • RXI → TXO
  • DTR → DTR

Tink derom dat it gjin direkte ferbining is tusken de FTDI en OpenLog - jo moatte de TXO- en RXI-pinferbiningen omwikselje.

Dyn ferbiningen moatte der sa útsjen:

SparkFun-DEV-13712-Dieltsje-Foton-Mei-Gaten-Foar-Soldearjen-fig- (12)

As jo ​​ienris de ferbiningen hawwe tusken de OpenLog en de FTDI Basic, stek jo FTDI-board yn in USB-kabel en jo kompjûter. Iepenje in seriële terminal, ferbine mei de COM-poarte fan jo FTDI Basic, en gean oan 'e slach!

Projekt Hardware Ferbining

Tip: As jo ​​de froulike headers op 'e OpenLog soldearre hawwe, kinne jo manlike headers oan 'e Arduino Pro Mini soldearje om de boards oaninoar te ferbinen sûnder dat jo triedden nedich binne.

SparkFun-DEV-13712-Dieltsje-Foton-Mei-Gaten-Foar-Soldearjen-fig- (13)

Wylst ynterface mei de OpenLog fia in seriële ferbining wichtich is foar opnij programmearjen of debuggen, is de plak dêr't OpenLog útblinkt yn in ynbêde projekt. Dit algemiene sirkwy is hoe't wy jo oanbefelje om jo OpenLog te ferbinen mei in mikrokontroller (yn dit gefal in Arduino Pro Mini) dy't seriële gegevens nei de OpenLog skriuwt.

Earst moatte jo de koade uploade nei jo Pro Mini dy't jo fan doel binne te brûken. Besjoch de Arduino Sketches foar wat foarbylden.ampde koade dy't jo brûke kinne.

Noat: As jo ​​net wis binne hoe't jo jo Pro Mini programmearje moatte, besjoch dan ús tutorial hjir.

Mei help fan de Arduino Pro Mini 3.3V

  • Dizze tutorial is dyn hantlieding foar alles oer Arduino Pro Mini. It leit út wat it is, wat it net is, en hoe't jo it brûke kinne.
  • As jo ​​jo Pro Mini programmearre hawwe, kinne jo it FTDI-board fuortsmite en it ferfange troch de OpenLog. Soargje derfoar dat jo de pinnen mei it label BLK op sawol de Pro Mini as de OpenLog ferbine (de pinnen mei it label GRN op beide sille ek oerienkomme as it goed dien wurdt).
  • As jo ​​de OpenLog net direkt yn 'e Pro Mini stekke kinne (fanwegen net-oerienkommende headers of oare boards yn 'e wei), kinne jo jumperdraden brûke en de folgjende ferbiningen meitsje.

OpenLog → Arduino Pro/Arduino Pro Mini

  • GND → GND
  • GND → GND
  • VCC → VCC
  • TXO → RXI
  • RXI → TXO
  • DTR → DTR

As jo ​​klear binne, moatte jo ferbiningen der sa útsjen mei de Arduino Pro Mini en Arduino Pro. It Fritzing-diagram lit de OpenLogs sjen mei de headers spegele. As jo ​​de microSD-socket omdraaie relatyf oan 'e boppekant fan' e Arduino view, se moatte oerienkomme mei de programmearkoptekst lykas in FTDI.

SparkFun-DEV-13712-Dieltsje-Foton-Mei-Gaten-Foar-Soldearjen-fig- (14)

Tink derom dat de ferbining in rjochte shot is mei de OpenLog "op 'e kop" (mei de microSD nei boppen).

Noat: Omdat Vcc en GND tusken de OpenLog en Arduino beset wurde troch de headers, moatte jo de stroom ferbine mei de oare beskikbere pinnen op 'e Arduino. Oars kinne jo triedden solderje oan 'e bleatstelde stroompinnen op ien fan beide boards.

Skeakelje jo systeem yn, en jo binne klear om te begjinnen mei loggen!

Arduino-sketsen

Der binne seis ferskillende eks.ampsketsen ynbegrepen dy't jo kinne brûke op 'e Arduino as se ferbûn binne mei in OpenLog.

  • OpenLog_Benchmarking — Dizze eksample wurdt brûkt om OpenLog te testen. Dit stjoert tige grutte hoemannichten gegevens mei 115200 bps oer meardere files.
  • OpenLog_CommandTest — Dizze eksample lit sjen hoe't jo in oanmeitsje en tafoegje kinne file fia kommandorigelkontrôle fia de Arduino.
  • IepenLog_ReadExample — Dizze eksample giet troch hoe't jo de OpenLog fia de kommandorigel kontrolearje kinne.
  • IepenLog_ReadExample_GrutFile — Eksamphoe't jo in grutte opslach iepenje kinne file op OpenLog en rapportearje it fia in lokale Bluetooth-ferbining.
  • OpenLog_Test_Sketch - Brûkt om OpenLog te testen mei in protte seriële gegevens.
  • OpenLog_Test_Sketch_Binary — Wurdt brûkt om OpenLog te testen mei binêre gegevens en escape-tekens.

Firmware

De OpenLog hat twa primêre stikken software oan board: de bootloader en de firmware.

Arduino Bootloader

Noat: As jo ​​in OpenLog brûke dy't foar maart 2012 kocht is, is de onboard bootloader kompatibel mei de ynstelling "Arduino Pro of Pro Mini 5V/16MHz mei ATmega328" yn 'e Arduino IDE.

  • Lykas earder neamd, hat de OpenLog de Optiboot seriële bootloader oan board. Jo kinne de OpenLog krekt as in Arduino Uno behannelje by it uploaden fan eks.ample-koade of nije firmware op it board.
  • As jo ​​jo OpenLog bricking meitsje en de bootloader opnij ynstallearje moatte, moatte jo ek Optiboot op it board uploade. Besjoch ús tutorial oer it ynstallearjen fan in Arduino Bootloader foar mear ynformaasje.

Firmware kompilearje en laden op 'e OpenLog

Noat: As dit de earste kear is dat jo Arduino brûke, asjebleaft opnijview ús tutorial oer it ynstallearjen fan 'e Arduino IDE. As jo ​​noch gjin Arduino-bibleteek ynstalleare hawwe, besjoch dan ús ynstallaasjegids om de bibleteken manuell te ynstallearjen.

  • As jo ​​om ien of oare reden de firmware op jo OpenLog bywurkje of opnij ynstallearje moatte, sil it folgjende proses jo board oan 'e gong krije.
  • Earst, download asjebleaft de Arduino IDE v1.6.5. Oare ferzjes fan 'e IDE kinne wurkje om de OpenLog-firmware te kompilearjen, mar wy hawwe dit ferifiearre as in bekende goede ferzje.
  • Download dêrnei de OpenLog-firmware en de fereaske bibleteekbondel.

DOWNLOAD OPENLOG FIRMWARE BUNDEL (ZIP)

  • Sadree't jo de bibleteken en firmware ynladen hawwe, ynstallearje de bibleteken yn Arduino. As jo ​​net wis binne hoe't jo de bibleteken manuell yn 'e IDE ynstallearje kinne, besjoch dan ús tutorial: In Arduino-bibleteek ynstallearje: In bibleteek manuell ynstallearje.

Noat:

  • Wy brûke oanpaste ferzjes fan 'e SdFat- en SerialPort-bibleteken om willekeurich oan te jaan hoe grut de TX- en RX-buffers wêze moatte. De OpenLog fereasket dat de TX-buffer tige lyts (0) is, en de RX-buffer moat sa grut mooglik wêze.
  • It tegearre brûken fan dizze twa oanpaste bibleteken makket ferhege prestaasjes fan 'e OpenLog mooglik.

Op syk nei de lêste ferzjes?
As jo ​​leaver de meast aktuele ferzjes fan 'e bibleteken en firmware wolle, kinne jo se direkt downloade fan 'e GitHub-repositories dy't hjirûnder keppele binne. De SdFatLib- en Serial Port-bibleteken binne net sichtber yn 'e Arduino-boardbehearder, dus jo moatte de bibleteek sels ynstallearje.

  • GitHub: OpenLog > Firmware > OpenLog_Firmware
  • Arduino-bibleteken fan Bill Greiman
    • SdFatLib-beta
    • Seriële poarte
  • Folgjende, om foarút te nimmentage fan 'e oanpaste bibleteken, oanpasse de SerialPort.hh file fûn yn 'e map \Arduino\Libraries\SerialPort. Feroarje BUFFERED_TX nei 0 en ENABLE_RX_ERROR_CHECKING nei 0. Bewarje de file, en iepenje de Arduino IDE.
  • As jo ​​dat noch net dien hawwe, ferbine jo OpenLog dan mei de kompjûter fia in FTDI-boerd. Kontrolearje asjebleaft de eks.ample circuit as jo net wis binne hoe't jo dit goed dwaan moatte.
  • Iepenje de OpenLog-skets dy't jo uploade wolle ûnder it menu Tools>Board, selektearje "Arduino/Genuino Uno", en selektearje de juste COM-poarte foar jo FTDI-board ûnder Tools>Poart.
  • Upload de koade.
  • Dat is it! Dyn OpenLog is no programmearre mei nije firmware. Jo kinne no in seriële monitor iepenje en ynteraksje hawwe mei de OpenLog. By it ynskeakeljen sille jo 12> of 12< sjen. 1 jout oan dat de seriële ferbining makke is, 2 jout oan dat de SD-kaart mei súkses ynisjalisearre is, < jout oan dat OpenLog klear is om alle ûntfongen seriële gegevens te loggearjen, en > jout oan dat OpenLog klear is om kommando's te ûntfangen.

Sketsen fan OpenLog Firmware
Der binne trije sketsen ynbegrepen dy't jo brûke kinne op 'e OpenLog, ôfhinklik fan jo spesifike applikaasje.

  • OpenLog – Dizze firmware wurdt standert op OpenLog ferstjoerd. It ferstjoeren fan it kommando? sil de firmwareferzje sjen litte dy't op in apparaat laden is.
  • OpenLog_Light – Dizze ferzje fan 'e skets ferwideret it menu en de kommandomodus, wêrtroch't de ûntfangstbuffer ferhege wurde kin. Dit is in goede opsje foar hege-snelheid logging.
  • OpenLog_Minimal – De baudrate moat yn koade ynsteld en uploaden wurde. Dizze skets wurdt oanrikkemandearre foar betûfte brûkers, mar is ek de bêste opsje foar logging mei de heechste snelheid.

Kommando set

Jo kinne ynteraksje hawwe mei de OpenLog fia in seriële terminal. De folgjende kommando's sille jo helpe by it lêzen, skriuwen en wiskjen files, en ek de ynstellings fan 'e OpenLog feroarje. Jo moatte yn Kommandomodus wêze om de folgjende ynstellings te brûken.

Wylst de OpenLog yn Kommandomodus is, sil STAT1 oan/út skeakelje foar elk ûntfongen teken. De LED bliuwt oan oant it folgjende teken ûntfongen is.

  • Nij File - Maakt in nij file neamd File yn 'e hjoeddeiske map. Standert 8.3 filenammen wurde stipe. Bygelyksample, “87654321.123” is akseptabel, wylst “987654321.123” net is.
    • Example: nij file1.txt
  • Taheakke File - Foegje tekst ta oan 'e ein fan' e FileSeriële gegevens wurde dan yn in stream fan 'e UART lêzen en tafoege oan 'e fileIt wurdt net werjûn oer de seriële terminal. As de File bestiet net as dizze funksje oproppen wurdt, de file sil makke wurde.
    • Example: nij tafoegjefile.csv
  • Skriuwe File OFFSET – Skriuw tekst nei de File fan 'e lokaasje OFFSET binnen de fileDe tekst wurdt fan 'e UART lêzen, rigel foar rigel, en weromjûn. Om dizze steat te ferlitten, stjoer in lege rigel.
    • Example: skriuw logs.txt 516
  • rm File – Wisket de File út de hjoeddeiske map. Jokertekens wurde stipe.
    • Example: rm README.txt
  • grutte File – Útfiergrutte fan File yn bytes.
    • Example: grutte Log112.csv
    • Utfier: 11
  • Lêze File + START+ LENGTE TYPE – Jou de ynhâld út fan File begjinnend fan START en gean foar LENGTE. As START weilitten wurdt, de hiele file wurdt rapportearre. As LENGTH weilitten wurdt, wurdt de folsleine ynhâld fan it begjinpunt rapportearre. As TYPE weilitten wurdt, sil de OpenLog standert rapportearje yn ASCII. Der binne trije útfierTYPES:
    • ASCII = 1
    • HEKSIDAAL = 2
    • RAW = 3
  • Jo kinne guon neifolgjende arguminten weilitte. Kontrolearje it folgjende foarbyldamples.
  • Basis lêzen + weilitten flaggen:
    • Example: lês LOG00004.txt
    • Utfier: Versnellingsmeter X=12 Y=215 Z=317
  • Lês fan begjin 0 ôf mei in lingte fan 5:
    • Example: lês LOG00004.txt 0 5
    • Utfier: Accel
  • Lês fan posysje 1 mei in lingte fan 5 yn HEX:
    • Example: lês LOG00004.txt 1 5 2
    • Utfier: 63 63 65 6C
  • Lês fan posysje 0 mei in lingte fan 50 yn RAW:
    • Example: lês LOG00137.txt 0 50 3
    • Utfier: André– -þ Útwreide karaktertest
  • Kat File - Skriuw de ynhâld fan in file yn heksadesimum nei de seriële monitor foar viewing. Dit is soms nuttich om te sjen dat in file nimt goed op sûnder de SD-kaart te lûken en view de file op in kompjûter.
    • Example: kat LOG00004.txt
    • Utfier: 00000000: 41 63 65 6c 3a 20 31

Manipulaasje fan mappen

  • ls - List alle ynhâld fan 'e hjoeddeiske map. Jokertekens wurde stipe.
    • Example: ls
    • Utfier: \src
  • md Submap - Meitsje in submap oan yn 'e hjoeddeiske map.
    • Example: md Example_Sketches
  • cd Submap - Wizigje nei submap.
    • Example: cd Hallo_Wrâld
  • cd .. – Wikselje nei in legere map yn 'e beam. Tink derom dat der in romte is tusken 'cd' en '..'. Dit lit de tekenrigeparser it CD-kommando sjen.
    • Example: cd..
  • rm Submap – Wisket submap. De map moat leech wêze foar dit kommando om te wurkjen.
    • Example: rm temperatueren
  • rm -rf Directory - Wisket de Directory en alle files dy't deryn befette binne.
    • Example: rm -rf Biblioteken

Leechnivo-funksjekommando's

  • ? – Dit kommando sil in list mei beskikbere kommando's op it OpenLog werjaan.
  • Skiif - Lit de ID fan 'e kaartfabrikant, it serienûmer, de produksjedatum en de kaartgrutte sjen.ampde útfier is:
    • Kaarttype: SD2 Fabrikant-ID: 3
    • OEM-ID: SD
    • Produkt: SU01G
    • Ferzje: 8.0
    • Serienûmer: 39723042 Produksjedatum: 1/2010 Kaartgrutte: 965120 KB
  • init - Inisjalisearje it systeem opnij en iepenje de SD-kaart opnij. Dit is handich as de SD-kaart net mear reagearret.
  • Syngronisearje - Syngronisearret de aktuele ynhâld fan 'e buffer mei de SD-kaart. Dit kommando is nuttich as jo minder as 512 tekens yn 'e buffer hawwe en dy op 'e SD-kaart opnimme wolle.
  • Reset - Springt OpenLog nei lokaasje nul, fiert de bootloader opnij út, en dan de init-koade. Dit kommando is handich as jo de konfiguraasje bewurkje moatte. file, set de OpenLog werom, en begjin mei it brûken fan de nije konfiguraasje. It útskeakeljen en wer ynskeakeljen is noch altyd de foarkommende metoade foar it weromsetten fan it boerd, mar dizze opsje is beskikber.

Systeemynstellingen

Dizze ynstellings kinne mei de hân bywurke of bewurke wurde yn it config.txt-bestân. file.

  • Echo STATE - Feroaret de steat fan it systeem en wurdt opslein yn it systeemûnthâld. STATE kin oan of út wêze. As it oan is, sil OpenLog ûntfongen seriële gegevens werjaan op 'e kommandorigel. As it út is, lêst it systeem gjin ûntfongen tekens werom.

Noat: Tidens normale logging sil echo útskeakele wurde. De easken foar systeemboarnen foar it echoen fan de ûntfongen gegevens binne te heech tidens logging.

  • Útbreide STAAT - Feroaret de steat fan útwreide flaterrapportaazje. STAAT kin oan of út wêze. Dit kommando wurdt opslein yn it ûnthâld. Troch útwreide flaters út te skeakeljen, sil OpenLog allinich reagearje mei in ! as der in flater is, ynstee fan in ûnbekend kommando: C OMMAND.D..De karakters binne makliker foar ynbêde systemen om te parsen as de folsleine flater. As jo ​​in terminal brûke, sille jo folsleine flaterberjochten sjen as jo útwreide oan litte.
  • baud – Dit kommando iepenet in systeemmenu wêrmei't de brûker in baudrate ynfiere kin. Elke baudrate tusken 300bps en 1Mbps wurdt stipe. De seleksje fan de baudrate is direkt, en de OpenLog fereasket in út- en útskeakeling foardat de ynstellingen fan krêft wurde. De baudrate wurdt opslein yn EEPROM en wurdt laden elke kear as OpenLog ynskeakele wurdt. De standertynstelling is 9600 8N1.

Unthâld: As it board fêst komt te sitten yn in ûnbekende baudrate, kinne jo RX oan GND keppele en OpenLog ynskeakelje. De LED's sille 2 sekonden hinne en wer knipperje en dan tagelyk. Skeakelje de OpenLog út en ferwiderje de jumper. OpenLog is no weromset nei 9600bps mei in escape-teken fan `CTRL-Z` trije kear efterinoar yndrukt. Dizze funksje kin oerskreaun wurde troch de Emergency Override-bit op 1 te setten. Sjoch config.txt foar mear ynformaasje.

  • Ynstelle - Dit kommando iepenet in systeemmenu om de opstartmodus te selektearjen. Dizze ynstellings sille plakfine by de folgjende ynskeakeling en wurde opslein yn in net-flechtige EEPROM.
    • Nij File Logging - Dizze modus makket in nije file elke kear as OpenLog ynskeakele wurdt. OpenLog sil 1 ferstjoere (UART is aktyf), 2 (SD-kaart is yn initialisearre), dan < (OpenLog is klear om gegevens te ûntfangen). Alle gegevens wurde opnommen yn in LOG#####.txt. It ##### getal nimt ta elke kear as OpenLog ynskeakele wurdt (it maksimum is 65533 logs). It getal wurdt opslein yn EEPROM en kin weromset wurde fanút it ynstelde menu. Net alle ûntfongen tekens wurde werjûn. Jo kinne dizze modus ferlitte en de kommandomodus yngean troch CTRL+z (ASCII 26) te stjoeren. Alle bufferde gegevens wurde opslein.
  • Noat: As der tefolle logs oanmakke binne, sil OpenLog de flater **Tefolle logs** werjaan, dizze modus ferlitte en nei de kommandorigel gean. De seriële útfier sil der sa útsjen as `12!Tefolle logs!
    • Taheakke File Logging - Ek wol bekend as sekwinsjele modus, dizze modus makket in file SEQLOG.txt neamd as it der noch net is, en foeget alle ûntfongen gegevens ta oan de fileOpenLog sil 12< ferstjoere, wêrnei't OpenLog klear is om gegevens te ûntfangen. Tekens wurde net werjûn. Jo kinne dizze modus ferlitte en de kommandomodus yngean troch CTRL+z (ASCII 26) te stjoeren. Alle bufferde gegevens wurde opslein.
    • Kommandoprompt – OpenLog sil 12> ferstjoere, wêrnei't it systeem klear is om kommando's te ûntfangen. Tink derom dat it >-teken oanjout dat OpenLog klear is om kommando's te ûntfangen, net gegevens. Jo kinne oanmeitsje files en gegevens tafoegje oan files, mar dit fereasket wat seriële parsing (foar flaterkontrôle), dus wy stelle dizze modus net standert yn.
    • Nij weromsette File Nûmer - Dizze modus sil it logboek weromsette file nûmer nei LOG000.txt. Dit is handich as jo koartlyn in microSD-kaart leechmakke hawwe en it logboek wolle file nûmers om opnij te begjinnen.
    • Nij escape-teken - Dizze opsje lit de brûker in teken ynfiere, lykas CTRL+z of $, en dit ynstelle as it nije escape-teken. Dizze ynstelling wurdt weromset nei CTRL+z by in needreset.
    • Oantal escape-tekens - Dizze opsje lit de brûker in teken ynfiere (lykas 1, 3 of 17), wêrtroch it nije oantal escape-tekens dat nedich is om nei kommandomodus te gean, bywurke wurdt. Bygelyksampbygelyks, as jo 8 ynfiere, moat de brûker acht kear op CTRL+z drukke om yn kommandomodus te kommen. Dizze ynstelling wurdt weromset nei 3 by in needreset.
  • Utlis fan ûntsnappingstekens: De reden dat OpenLog fereasket dat `CTRL+z` 3 kear yndrukt wurdt om yn kommandomodus te gean, is om te foarkommen dat it board per ongelok weromset wurdt by it uploaden fan nije koade fan 'e Arduino IDE. Der is in kâns dat it board it teken `CTRL+z` sjocht tidens it opstarten (in probleem dat wy seagen yn 'e iere ferzjes fan' e OpenLog-firmware), dus dit is bedoeld om dat te foarkommen. As jo ​​​​ea fermoedzje dat jo board hjirtroch fêst sit, kinne jo altyd in needreset dwaan troch de RX-pin op 'e grûn te hâlden by it opstarten.

Konfiguraasje File

As jo ​​leaver de seriële terminal net brûke wolle foar it oanpassen fan de ynstellings op jo OpenLog, kinne jo de ynstellings ek bywurkje troch it CONFIG.TXT-bestân te feroarjen. file.

Noat: Dizze funksje wurket allinnich op firmwareferzje 1.6 of nijer. As jo ​​in OpenLog nei 2012 kocht hawwe, sille jo firmwareferzje 1.6+ brûke.

  • Om dit te dwaan, hawwe jo in microSD-kaartlêzer en in tekstbewurker nedich. Iepenje it config.txt-bestân. file (de haadletters fan 'e file namme makket net út), en konfigurearje fuort! As jo ​​jo OpenLog noch noait earder mei de SD-kaart oanmakke hawwe, kinne jo de fileAs jo ​​de OpenLog earder oanset hawwe mei de microSD-kaart ynfoege, moatte jo soksawat as it folgjende sjen as jo de microSD-kaart lêze.SparkFun-DEV-13712-Dieltsje-Foton-Mei-Gaten-Foar-Soldearjen-fig- (15)De OpenLog makket in config.txt en LOG0000.txt oan. file by it earste ynskeakeljen.
  • De standert konfiguraasje file hat ien rigel mei ynstellings en ien rigel mei definysjes.SparkFun-DEV-13712-Dieltsje-Foton-Mei-Gaten-Foar-Soldearjen-fig- (16)De standert konfiguraasje file waard skreaun troch OpenLog.
  • Tink derom dat dit gewoane sichtbere tekens binne (d'r binne gjin net-sichtbere of binêre wearden), en elke wearde wurdt skieden troch in komma.

De ynstellings binne as folget definiearre:

  • baud: De baudrate foar kommunikaasje. 9600 bps is de standert. Akseptabele wearden dy't kompatibel binne mei de Arduino IDE binne 2400, 4800, 9600, 19200, 38400, 57600, en 115200. Jo kinne oare baudraten brûke, mar jo sille net kinne kommunisearje mei de OpenLog fia de seriële monitor fan 'e Arduino IDE.
  • Escape:e De ASCII-wearde (yn desimaal formaat) fan it escape-teken. 26 is CTRL+z en is de standertwearde. 36 is $ en is in faak brûkt escape-teken.
  • Esc #: It oantal fereaske escape-tekens. Standert is it trije, dus jo moatte it escape-teken trije kear yndrukke om nei kommandomodus te gean. Akseptabele wearden binne fan 0 oant 254. As jo ​​dizze wearde ynstelle op 0, sil de kontrôle fan escape-tekens folslein útskeakele wurde.
  • Modus Systeemmodus. OpenLog begjint standert yn Nije Log-modus (0). Akseptabele wearden binne 0 = Nije Log, 1 = Sekwinsjele Log, 2 = Kommandomodus.
  • Tiidwurd: Útwreide modus. Útwreide (útwreide) flaterberjochten binne standert ynskeakele. As jo ​​dit ynstelle op 1, wurde útwreide flaterberjochten oanset (lykas ûnbekend kommando: ferwiderje !). As jo ​​dit ynstelle op 0, wurde útwreide flaters útskeakele, mar der wurdt reagearre mei in ! as der in flater is. It útskeakeljen fan 'e útwreide modus is handich as jo besykje flaters fan in ynbêde systeem ôf te hanneljen.
  • Echo: Echo-modus. Yn kommandomodus wurde tekens standert werjûn. As jo ​​dit ynstelle op 0, wurdt teken-echo útskeakele. Dit útskeakelje is handich as jo flaters behannelje en jo net wolle dat ferstjoerde kommando's werom nei de OpenLog.II werjûn wurde.
  • negearjeRXEmergency Override. Normaal sil OpenLog in needreset ynstelle as de RX-pin leech wurdt lutsen by it ynskeakeljen. As jo ​​dit ynstelle op 1, wurdt de kontrôle fan 'e RX-pin by it ynskeakeljen útskeakele. Dit kin handich wêze foar systemen dy't de RX-line om ferskate redenen leech hâlde. As Emergency Override útskeakele is, kinne jo it apparaat net weromtwinge nei 9600bps, en de konfiguraasje file sil de ienige manier wêze om de baudrate te feroarjen.

Hoe OpenLog de konfiguraasje oanpast File
Der binne fiif ferskillende situaasjes foar de OpenLog om de config.txt te wizigjen file.

  • Config file fûn: Tidens it opstarten sil OpenLog sykje nei in config.txt file. As de file fûn wurdt, sil OpenLog de opnommen ynstellings brûke en alle earder opsleine systeemynstellingen oerskriuwe.
  • Gjin konfiguraasje file fûn: As OpenLog de config.txt net fine kin file dan sil OpenLog config.txt oanmeitsje en de op it stuit opsleine systeemynstellingen dêryn opslaan. Dit betsjut dat as jo in nij formattearre microSD-kaart ynfoegje, jo systeem syn hjoeddeistige ynstellingen behâldt.
  • Korrupte konfiguraasje file fûn: OpenLog sil de beskeadige config.txt wiskje file, en sil sawol de ynterne EEPROM-ynstellings as de config.txt-ynstellings opnij skriuwe file nei de bekende-goede steat fan 9600,26,3,0,1,1,0.
  • Yllegale wearden yn konfiguraasje fileAs OpenLog ynstellings ûntdekt dy't yllegale wearden befetsje, sil OpenLog de korrupte wearden yn config.txt oerskriuwe. file mei de op it stuit opsleine EEPROM-systeemynstellingen.
  • Wizigingen fia de kommandorigel: As de systeemynstellingen wurde feroare fia de kommandorigel (of fia in seriële ferbining of fia seriële kommando's fan 'e mikrokontroller), wurde dy feroarings sawol opnommen yn 'e systeem-EEPROM as yn 'e config.txt. file.
  • Needreset: As de OpenLog útskeakele wurdt mei in jumper tusken RX en GND, en de Emergency Override-bit is ynsteld op 0 (wat needreset mooglik makket), sil OpenLog sawol de ynterne EEPROM-ynstellingen as de config.txt-ynstellingen opnij skriuwe. file nei de bekende-goede steat fan 9600,26,3,0,1,1,0.

Troubleshooting

Der binne ferskate opsjes om te kontrolearjen oft jo problemen hawwe mei it ferbinen fia de seriële monitor, problemen hawwe mei ferlern gongen tekens yn logs, of fjochtsje tsjin in blokkearre OpenLog.

Kontrolearje it gedrach fan STAT1 LED
STAT1 LED lit ferskillend gedrach sjen foar twa ferskillende faak foarkommende flaters.

  • 3 knipperkes: De microSD-kaart koe net ynitialisearre wurde. Jo moatte de kaart miskien formatearje mei FAT/FAT16 op in kompjûter.
  • 5 knipperkes: OpenLog is feroare nei in nije baudrate en moat útskeakele wurde.

Kontrolearje de submapstruktuer dûbel

  • As jo ​​de standert OpenLog.ino ex brûkeample, OpenLog sil mar twa submappen stypje. Jo moatte FOLDER_TRACK_DEPTH feroarje fan 2 nei it oantal submappen dat jo stypje moatte. As jo ​​dit dien hawwe, kompilearje de koade opnij en upload de oanpaste firmware.
  • Ferifiearje it oantal fan Files yn 'e woartelmap
  • OpenLog sil allinich maksimaal 65,534 logs stypje files yn 'e rootmap. Wy riede oan om jo microSD-kaart opnij te formatearjen om de logsnelheid te ferbetterjen.
  • Ferifiearje de grutte fan jo oanpaste firmware
  • As jo ​​in oanpaste skets skriuwe foar de OpenLog, kontrolearje dan dat jo skets net grutter is as 32,256. As dat sa is, sil it de boppeste 500 bytes fan Flash-ûnthâld yn beslach nimme, dy't brûkt wurdt troch de seriële bootloader fan Optiboot.
  • Dûbele kontrôle File Nammen
  • Alle file nammen moatte alfanumeryk wêze. MyLOG1.txt is ok, mar Hi !e _ .txtt wurket miskien net.
  • Brûk 9600 Baud
  • OpenLog rint op 'e ATmega328 en hat in beheinde hoemannichte RAM (2048 bytes). As jo ​​seriële tekens nei OpenLog stjoere, wurde dizze tekens buffere. De SD Group Simplified Specification lit in SD-kaart oant 250 ms duorje (seksje 4.6.2.2 Write) om in gegevensblok op te nimmen yn flashûnthâld.
  • Mei 9600 bps is dat 960 bytes (10 bits per byte) per sekonde. Dat is 1.04 ms per byte. OpenLog brûkt op it stuit in ûntfangstbuffer fan 512 bytes, sadat it sawat 50 ms oan tekens bufferje kin. Hjirtroch kin OpenLog mei súkses alle tekens ûntfange dy't mei 9600 bps komme. As jo ​​de baudrate ferheegje, sil de buffer minder tiid duorje.

OpenLog Buffer Overrun Tiid

Baud Rate Tiid per byte Tiid oant buffer oerrûn is
9600 bps 1.04 ms 532 ms
57600 bps 0.174 ms 88 ms
115200 bps 0.087 ms 44 ms

In protte SD-kaarten hawwe in fluggere opnametiid as 250ms. Dit kin beynfloede wurde troch de 'klasse' fan 'e kaart en hoefolle gegevens der al op 'e kaart opslein binne. De oplossing is om in legere baudrate te brûken of de tiid tusken de tekens dy't mei de hegere baudrate ferstjoerd wurde te fergrutsjen.

Formatearje jo MicroSD-kaart
Tink derom om in kaart te brûken mei in pear of gjin files derop. In microSD-kaart mei 3.1GB oan ZIP files of MP3's hat in stadiger reaksjetiid as in lege kaart. As jo ​​jo microSD-kaart net op in Windows-bestjoeringssysteem formatearre hawwe, formatearje de microSD-kaart dan opnij en meitsje in DOS-bestân. filesysteem op 'e SD-kaart.
MicroSD-kaarten wikselje
Der binne in soad ferskillende soarten kaartfabrikanten, opnij labelde kaarten, kaartgruttes en kaartklassen, en se wurkje miskien net allegear goed. Wy brûke typysk in 8GB klasse 4 microSD-kaart, dy't goed wurket by 9600bps. As jo ​​hegere baudraten of gruttere opslachromte nedich binne, kinne jo kaarten fan klasse 6 of heger besykje.
Foegje fertragingen ta tusken tekenskriuwen
Troch in lytse fertraging ta te foegjen tusken Serial.print()-statements, kinne jo OpenLog in kâns jaan om syn aktuele buffer op te nimmen.
Bygelyksample:
  • Serial.begin(115200);
    foar (int i = 1; i < 10; i++) { Serial.print(i, DEC); Serial.println(":abcdefghijklmnopqrstuvwxyz-!#"); }

logt miskien net goed, om't der in soad tekens neist elkoar ferstjoerd wurde. It ynfoegjen fan in lytse fertraging fan 15ms tusken it skriuwen fan grutte tekens sil OpenLog helpe om op te nimmen sûnder tekens te ferliezen.

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

Foegje Arduino Serial Monitor Kompatibiliteit ta

As jo ​​besykje de OpenLog te brûken mei de ynboude seriële bibleteek of de SoftwareSerial-bibleteek, kinne jo problemen fernimme mei de kommandomodus. Serial.println() stjoert sawol rigelnijing as carriage return. D'r binne twa alternative kommando's om dit te foarkommen.

De earste is om it \r-kommando te brûken (ASCII-carriage return):
Serial.print("TEKST\r");

As alternatyf kinne jo de wearde 13 (desimale carriage return) stjoere:

  • Serial.print("TEKST");
  • Serial.write(13);

Emergency Reset

Tink derom, as jo de OpenLog weromsette moatte nei in standertsteat, kinne jo it board weromsette troch de RX-pin oan GND te ferbinen, de OpenLog yn te skeakeljen, te wachtsjen oant de LED's tagelyk begjinne te knipperjen, en dan de OpenLog út te skeakeljen en de jumper te ferwiderjen.
As jo ​​de Emergency Override-bit nei 1 feroare hawwe, moatte jo de konfiguraasje oanpasse file, om't de needreset net sil wurkje.

Kontrolearje mei de Mienskip

As jo ​​noch problemen hawwe mei jo OpenLog, kontrolearje dan de aktuele en sletten problemen yn ús GitHub-repository hjir. D'r is in grutte mienskip dy't wurket mei OpenLog, dus de kâns is grut dat immen in oplossing fûn hat foar it probleem dat jo sjogge.

Boarnen en fierder gean

No't jo mei súkses gegevens mei jo OpenLog hawwe registrearre, kinne jo projekten op ôfstân ynstelle en alle mooglike gegevens dy't binnenkomme kontrolearje. Oerwagje it meitsjen fan jo eigen Citizen Science-projekt, of sels in húsdiertracker om te sjen wat Fluffy docht as er ûnderweis is!
Besjoch dizze ekstra boarnen foar problemen oplossen, help of ynspiraasje foar jo folgjende projekt.

  • IepenLog GitHub
  • Illumitune Projekt
  • LilyPad ljochtsensor ferbining
  • BadgerHack: Boaiemsensor-tafoeging
  • Begjinne mei OBD-II
  • Vernier Photogate

Hawwe jo wat mear ynspiraasje nedich? Besjoch guon fan dizze relatearre tutorials:

  • Photon Remote Water Level Sensor
    Learje hoe't jo in ôfstânssensor foar wetternivo's bouwe kinne foar in wetteropslachtank en hoe't jo in pomp automatisearje kinne op basis fan 'e mjittingen!
  • Blynk Board Projektgids
    In searje Blynk-projekten dy't jo op it Blynk Board ynstelle kinne sûnder it ea opnij te programmearjen.
  • Gegevens registrearje yn Google Sheets mei de Tessel 2
    Dit projekt behannelt hoe't jo gegevens op twa manieren yn Google Sheets kinne registrearje: mei help fan IFTTT mei in web ferbining of in USB-stick en "sneakernet" sûnder.
  • Grafyske sensorgegevens mei Python en Matplotlib
    Brûk matplotlib om in real-time plot te meitsjen fan temperatuergegevens sammele fan in TMP102-sensor ferbûn mei in Raspberry Pi.

As jo ​​feedback hawwe oer de tutorial, besykje dan de opmerkings of nim kontakt op mei ús technyske stipeteam op TechSupport@sparkfun.com.

Faak stelde fragen

Wat is de oanrikkemandearre stroomynfier foar de OpenLog?

De oanrikkemandearre stroomynfier foar de OpenLog leit tusken 3.3V en 5V.

Hoefolle stroom brûkt de OpenLog as er idle is?

De OpenLog brûkt sawat 2mA oant 5mA as er net yn gebrûk is sûnder in microSD-kaart, en sawat 5mA oant 6mA as der in microSD-kaart ynfoege is.

Wat is it doel fan 'e microSD USB-ferbining mei de OpenLog?

De microSD USB-lêzer makket it maklik om gegevens oer te dragen fan 'e microSD-kaart dy't brûkt wurdt mei de OpenLog nei in kompjûter.

Dokuminten / Resources

SparkFun DEV-13712 Dieltsjefoton mei gatten foar solderen [pdf] Brûkersgids
DEV-13712, DEV-13955, DEV-13712 Dieltsjefoton mei gatten foar solderen, DEV-13712, Dieltsjefoton mei gatten foar solderen, Gatten foar solderen, Foar solderen, Solderen

Referinsjes

Lit in reaksje efter

Jo e-mailadres sil net publisearre wurde. Ferplichte fjilden binne markearre *