SparkFun-logotyp

SparkFun DEV-13712 Partikelfoton med hål för lödning

SparkFun-DEV-13712-Partikelfoton-med-hål-för-lödning-produkt

Specifikationer

  • Produktnamn: OpenLog-datalogger
  • Modell: DEV-13712
  • Strömingång: 3.3V-12V (rekommenderas 3.3V-5V)
  • RXI-ingångsvolymtage: 2.0V-3.8V
  • TXO-utgångsvolymtage: 3.3V
  • Strömförbrukning vid tomgång: ~2mA-5mA (utan microSD-kort), ~5mA-6mA (med microSD-kort)
  • Aktiv skrivströmförbrukning: ~20-23mA (med microSD-kort)

Produktanvändningsinstruktioner

Material som krävs:

  • Arduino Pro Mini 328 – 3.3V/8MHz
  • SparkFun FTDI Basic Breakout – 3.3V
  • SparkFun Cerberus USB-kabel – 6 meter
  • microSD-kort med adapter – 16 GB (klass 10)
  • microSD USB-läsare
  • Kvinnliga rubriker
  • Premium-jumperkablar 6 M/M 10-pack
  • Avbrytbara hankopplingar – Rätvinkliga

Rekommenderad läsning:

Hårdvara överview:
OpenLog körs med följande inställningar:

VCC-ingång RXI-ingång TXO-utgång Tomgångsströmförbrukning Aktiv skrivningsströmdragning
3.3V–12V (Rekommenderas 3.3V–5V) 2.0V-3.8V 3.3V ~2mA–5mA (utan microSD-kort), ~5mA–6mA (med microSD-kort) ~20–23 mA (med microSD-kort)

Introduktion

Observera! Den här handledningen gäller för Open Log för seriell UART [DEV-13712]. Om du använder Qwiic OpenLog för IC [DEV-15164], vänligen se Qwiic OpenLog Hookup Guide.

OpenLog Data Logger är en lättanvänd lösning med öppen källkod för att logga seriell data från dina projekt. OpenLog tillhandahåller ett enkelt seriellt gränssnitt för att logga data från ett projekt till ett microSD-kort.

SparkFun OpenLog
DEV-13712

SparkFun-DEV-13712-Partikelfoton-med-hål-för-lödning-fig- (1)

SparkFun OpenLog med rubriker
DEV-13955

Ingen produkt hittades

Material som krävs
För att kunna arbeta dig igenom den här handledningen behöver du följande delar. Du kanske inte behöver allt beroende på vad du har. Lägg det i din varukorg, läs igenom guiden och justera varukorgen efter behov.

OpenLog-anslutningsguide

SparkFuns önskelista

SparkFun-DEV-13712-Partikelfoton-med-hål-för-lödning-fig- (2)SparkFun-DEV-13712-Partikelfoton-med-hål-för-lödning-fig- (3)

Rekommenderad läsning
Om du inte är bekant med eller bekväm med följande koncept rekommenderar vi att du läser igenom dem innan du fortsätter med OpenLog-anslutningsguiden.

  • Hur man löder: Hållödning. Den här handledningen täcker allt du behöver veta om hållödning.
  • Seriell kommunikation Asynkrona seriella kommunikationskoncept: paket, signalnivåer, baudrater, UART:er och mer!
  • Serial Peripheral Interface (SPI) SPI används ofta för att ansluta mikrokontroller till kringutrustning som sensorer, skiftregister och SD-kort.
  • Grundläggande information om seriell terminal Den här handledningen visar dig hur du kommunicerar med dina seriella enheter med hjälp av en mängd olika terminalemulatorprogram.

Hårdvara överview

Driva
OpenLog körs med följande inställningar:

OpenLog-effektklassificeringar

SparkFun-DEV-13712-Partikelfoton-med-hål-för-lödning-fig- (4)

OpenLogs strömförbrukning är cirka 20 mA till 23 mA vid skrivning till ett microSD-kort. Beroende på microSD-kortets storlek och dess tillverkare kan den aktiva strömförbrukningen variera när OpenLog skriver till minneskortet. Att öka baudhastigheten kommer också att dra mer ström.

mikrokontrollers
OpenLog drivs av en inbyggd ATmega328, som körs på 16 MHz, tack vare den inbyggda kristallen. ATmega328 har Optiboot bootloader installerad, vilket gör att OpenLog är kompatibel med
Inställningar för "Arduino Uno"-kortet i Arduino IDE.

SparkFun-DEV-13712-Partikelfoton-med-hål-för-lödning-fig- (5)

Gränssnitt

Seriell UART
Det primära gränssnittet med OpenLog är FTDI-kontakten på kortets kant. Denna kontakt är utformad för att anslutas direkt till en Arduino Pro eller Pro Mini, vilket gör att mikrokontrollern kan skicka data via en seriell anslutning till OpenLog.

SparkFun-DEV-13712-Partikelfoton-med-hål-för-lödning-fig- (6)

Varning! På grund av pinordningen som gör den kompatibel med Arduinos kan den inte anslutas direkt till ett FTDI-breakout-kort.

SparkFun-DEV-13712-Partikelfoton-med-hål-för-lödning-fig- (7)

För mer information, se till att läsa nästa avsnitt om hårdvarukoppling.

SPI

Det finns också fyra SPI-testpunkter utskurna på motsatta änden av kortet. Du kan använda dessa för att omprogrammera bootloadern på ATmega328.

  • SparkFun-DEV-13712-Partikelfoton-med-hål-för-lödning-fig- (8)Den senaste OpenLog-versionen (DEV-13712) använder dessa stift på mindre pläterade genomgående hål. Om du behöver använda en internetleverantör för att omprogrammera eller ladda upp en ny bootloader till OpenLog kan du använda pogo-stift för att ansluta till dessa testpunkter.
  • Det sista gränssnittet för kommunikation med OpenLog är själva microSD-kortet. För att kommunicera kräver microSD-kortet SPI-pinnar. Det är inte bara här som data lagras av OpenLog, utan du kan också uppdatera OpenLogs konfiguration via config.txt. file på microSD -kortet.
    microSD-kort

All data som loggas av OpenLog lagras på microSD-kortet. OpenLog fungerar med microSD-kort som har följande funktioner:

  • 64MB till 32GB
  • FAT16 eller FAT32

SparkFun-DEV-13712-Partikelfoton-med-hål-för-lödning-fig- (9)

Det finns två status-LED-lampor på OpenLog som hjälper dig med felsökning.

  • STAT1 – Denna blå indikatorlampa är ansluten till Arduino D5 (ATmega328 PD5) och växlar mellan på/av när ett nytt tecken tas emot. Denna lampa blinkar när seriell kommunikation fungerar.
  • STAT2 – Denna gröna lysdiod är ansluten till Arduino D13 (SPI seriell klockledning/ATmega328 PB5). Lysdioden blinkar bara när SPI-gränssnittet är aktivt. Du kommer att se den blinka när OpenLog registrerar 512 byte på microSD-kortet.

SparkFun-DEV-13712-Partikelfoton-med-hål-för-lödning-fig- (10)

Hårdvaruanslutning

Det finns två huvudmetoder för att ansluta din OpenLog till en krets. Du behöver några kontakter eller kablar för att ansluta. Se till att du löder fast den på kortet för en säker anslutning.

Grundläggande seriell anslutning

DricksOm du har en honkontakt på OpenLog och en honkontakt på FTDI, behöver du M/F-jumperkablar för att ansluta.

SparkFun-DEV-13712-Partikelfoton-med-hål-för-lödning-fig- (11)

Denna hårdvaruanslutning är utformad för att ansluta till en OpenLog om du behöver omprogrammera kortet eller logga data via en grundläggande seriell anslutning.

Gör följande anslutningar:
OpenLog → 3.3V FTDI Basic Breakout

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

Observera att det inte är en direkt anslutning mellan FTDI och OpenLog – du måste byta TXO- och RXI-pinanslutningarna.

Dina kopplingar bör se ut så här:

SparkFun-DEV-13712-Partikelfoton-med-hål-för-lödning-fig- (12)

När du har anslutningarna mellan OpenLog och FTDI Basic, anslut ditt FTDI-kort till en USB-kabel och din dator. Öppna en seriell terminal, anslut till COM-porten på din FTDI Basic och kör!

Projekthårdvaruanslutning

Dricks: Om du har honkontakterna fastlödda på OpenLog kan du löda hankontakter till Arduino Pro Mini för att koppla ihop korten utan att behöva kablar.

SparkFun-DEV-13712-Partikelfoton-med-hål-för-lödning-fig- (13)

Även om det är viktigt att ansluta till OpenLog via en seriell anslutning för omprogrammering eller felsökning, är det i inbyggda projekt som OpenLog verkligen gör bäst. Det är på den här allmänna kretsen vi rekommenderar att du ansluter din OpenLog till en mikrokontroller (i det här fallet en Arduino Pro Mini) som skriver seriell data ut till OpenLog.

Först måste du ladda upp koden till din Pro Mini som du tänker köra. Kolla in Arduino Sketches för några exempel.ampkoden som du kan använda.

Notera: Om du är osäker på hur du programmerar din Pro Mini, vänligen kolla in vår handledning här.

Använda Arduino Pro Mini 3.3V

  • Den här handledningen är din guide till allt som har med Arduino Pro Mini att göra. Den förklarar vad det är, vad det inte är och hur du kommer igång med att använda det.
  • När du har programmerat din Pro Mini kan du ta bort FTDI-kortet och ersätta det med OpenLog. Se till att ansluta stiften märkta BLK på både Pro Mini och OpenLog (stiften märkta GRN på båda kommer också att matcha om det görs korrekt).
  • Om du inte kan ansluta OpenLog direkt till Pro Mini (på grund av felaktiga kontakter eller andra kort i vägen) kan du använda jumperkablar och göra följande anslutningar.

OpenLog → Arduino Pro/Arduino Pro Mini

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

När du är klar bör dina anslutningar se ut så här med Arduino Pro Mini och Arduino Pro. Fritzing-diagrammet visar OpenLogs med headers speglade. Om du vänder microSD-uttaget i förhållande till Arduinos topp view, de borde matcha programmeringshuvudet som en FTDI.

SparkFun-DEV-13712-Partikelfoton-med-hål-för-lödning-fig- (14)

Observera att anslutningen är en rak vändning med OpenLog "upp och ner" (med microSD-kortet uppåt).

Notera: Eftersom Vcc och GND mellan OpenLog och Arduino upptas av headers, måste du ansluta ström till de andra pinnarna som finns på Arduino. Annars kan du löda kablar till de exponerade strömpinnarna på endera korten.

Slå på ditt system, så är du redo att börja logga!

Arduino-skisser

Det finns sex olika ex.ampSkisser medföljer som du kan använda på Arduino när den är ansluten till en OpenLog.

  • OpenLog_Benchmarking — Detta exempelample används för att testa OpenLog. Detta skickar mycket stora mängder data med 115200 bps över flera files.
  • OpenLog_CommandTest — Detta exempelampvisar hur man skapar och lägger till en file via kommandoradskontroll genom Arduino.
  • OpenLog_ReadExample — Detta example går igenom hur man styr OpenLog via kommandoraden.
  • OpenLog_ReadExample_StorFile — Examphur man öppnar en stor förvaringslåda file på OpenLog och rapportera det via en lokal Bluetooth-anslutning.
  • OpenLog_Test_Sketch — Används för att testa OpenLog med mycket seriell data.
  • OpenLog_Test_Sketch_Binary — Används för att testa OpenLog med binärdata och escape-tecken.

Firmware

OpenLog har två primära programvaror inbyggda: bootloadern och firmware.

Arduino Bootloader

Notera: Om du använder en OpenLog som köptes före mars 2012 är den inbyggda bootloadern kompatibel med inställningen "Arduino Pro eller Pro Mini 5V/16MHz med ATmega328" i Arduino IDE.

  • Som tidigare nämnts har OpenLog den seriella bootloadern Optiboot inbyggd. Du kan behandla OpenLog precis som en Arduino Uno när du laddar upp ex.ample-kod eller ny firmware till kortet.
  • Om du brickar din OpenLog och behöver installera om bootloadern, bör du också ladda upp Optiboot till kortet. Kolla in vår handledning om hur du installerar en Arduino Bootloader för mer information.

Kompilera och ladda in firmware till OpenLog

Notera: Om det här är första gången du använder Arduino, vänligenview vår handledning om installation av Arduino IDE. Om du inte tidigare har installerat ett Arduino-bibliotek kan du läsa vår installationsguide för att manuellt installera biblioteken.

  • Om du av någon anledning behöver uppdatera eller ominstallera den inbyggda programvaran på din OpenLog, kommer följande process att få ditt kort igång.
  • Ladda först ner Arduino IDE v1.6.5. Andra versioner av IDE:n kan fungera för att kompilera OpenLog-firmware, men vi har verifierat att detta är en fungerande version.
  • Ladda sedan ner OpenLog-firmwaren och det nödvändiga bibliotekspaketet.

LADDA NER OPENLOG FIRMWARE-PAKET (ZIP)

  • När du har laddat ner biblioteken och firmware installerar du dem i Arduino. Om du är osäker på hur du installerar biblioteken manuellt i IDE:n kan du läsa vår handledning: Installera ett Arduino-bibliotek: Installera ett bibliotek manuellt.

Notera:

  • Vi använder modifierade versioner av SdFat- och SerialPort-biblioteken för att godtyckligt kunna deklarera hur stora TX- och RX-buffertarna ska vara. OpenLog kräver att TX-bufferten är mycket liten (0) och RX-bufferten måste vara så stor som möjligt.
  • Att använda dessa två modifierade bibliotek tillsammans möjliggör ökad prestanda för OpenLog.

Letar du efter de senaste versionerna?
Om du föredrar de mest uppdaterade versionerna av biblioteken och firmware kan du ladda ner dem direkt från GitHub-repositorierna som länkas nedan. SdFatLib- och Serial Port-biblioteken syns inte i Arduino-korthanteraren, så du måste installera biblioteket manuellt.

  • GitHub: OpenLog > Firmware > OpenLog_Firmware
  • Bill Greimans Arduino-bibliotek
    • SdFatLib-beta
    • Seriell port
  • Nästa steg är att dra nytta avtagi de modifierade biblioteken, ändra SerialPort.hh file finns i katalogen \Arduino\Libraries\SerialPort. Ändra BUFFERED_TX till 0 och ENABLE_RX_ERROR_CHECKING till 0. Spara fileoch öppna Arduino IDE:n.
  • Om du inte redan har gjort det, anslut din OpenLog till datorn via ett FTDI-kort. Dubbelkolla utgången.ample-kretsen om du är osäker på hur du gör detta korrekt.
  • Öppna OpenLog-skissen du vill ladda upp under Verktyg>Kort, välj "Arduino/Genuino Uno" och välj rätt COM-port för ditt FTDI-kort under Verktyg>Port.
  • Ladda upp koden.
  • Det var allt! Din OpenLog är nu programmerad med ny firmware. Du kan nu öppna en seriell monitor och interagera med OpenLog. Vid uppstart kommer du att se antingen 12> eller 12<. 1 indikerar att serieanslutningen är upprättad, 2 indikerar att SD-kortet har initialiserats, < indikerar att OpenLog är redo att logga all mottagen seriell data och > indikerar att OpenLog är redo att ta emot kommandon.

Skisser för OpenLog-firmware
Det finns tre inkluderade skisser som du kan använda på OpenLog, beroende på din specifika applikation.

  • OpenLog – Denna firmware levereras som standard i OpenLog. Om du skickar kommandot ? visas vilken firmwareversion som är laddad på enheten.
  • OpenLog_Light – Den här versionen av skissen tar bort meny- och kommandoläget, vilket gör att mottagningsbufferten kan ökas. Detta är ett bra alternativ för höghastighetsloggning.
  • OpenLog_Minimal – Baudhastigheten måste ställas in i kod och laddas upp. Denna skiss rekommenderas för erfarna användare men är också det bästa alternativet för loggning med högsta hastighet.

Kommandoset

Du kan ansluta till OpenLog via en seriell terminal. Följande kommandon hjälper dig att läsa, skriva och radera files, samt ändra inställningarna för OpenLog. Du måste vara i kommandoläge för att använda följande inställningar.

Medan OpenLog är i kommandoläge kommer STAT1 att växla på/av för varje tecken som tas emot. Lysdioden förblir tänd tills nästa tecken tas emot.

  • Ny File – Skapar en ny file namnges File i den aktuella katalogen. Standard 8.3 filenamn stöds. Till exempelampDvs. ”87654321.123” är acceptabelt, medan ”987654321.123” inte är det.
    • Example: ny file1.txt
  • Bifoga File – Lägg till text i slutet av FileSeriell data läses sedan från UART:en i en ström och läggs till i fileDet ekas inte över serieterminalen. Om File finns inte när denna funktion anropas, file kommer att skapas.
    • Example: lägg till nyttfile.csv
  • Skriva File OFFSET – Skriv text till File från platsen OFFSET inom fileTexten läses från UART, rad för rad, och ekas tillbaka. För att lämna detta tillstånd, skicka en tom rad.
    • Example: skriv loggar.txt 516
  • rm File – Tar bort File från den aktuella katalogen. Jokertecken stöds.
    • Example: rm README.txt
  • storlek File – Utmatningsstorlek för File i byte.
    • Exampfil: storlek Log112.csv
    • Utgång: 11
  • Läsa File + START+ LÄNGDTYP – Skriv ut innehållet i File med början från START och fortsätter mot LENGTH. Om START utelämnas, hela file rapporteras. Om LENGTH utelämnas rapporteras hela innehållet från startpunkten. Om TYPE utelämnas rapporteras OpenLog som standard i ASCII. Det finns tre utdatatyper:
    • ASCII = 1
    • HEX = 2
    • RÅ = 3
  • Du kan utelämna vissa efterföljande argument. Kontrollera följande exempelamples.
  • Grundläggande läsning + utelämnade flaggor:
    • Example: läs LOG00004.txt
    • Utgång: Accelerometer X=12 Y=215 Z=317
  • Läs från början 0 med en längd på 5:
    • Example: läs LOG00004.txt 0 5
    • Utgång: Accel
  • Läs från position 1 med längden 5 i HEX:
    • Example: läs LOG00004.txt 1 5 2
    • Utgång: 63 63 65 6C
  • Läs från position 0 med en längd på 50 i RAW:
    • Example: läs LOG00137.txt 0 50 3
    • Utdata: André– -þ Utökat teckentest
  • Katt File – Skriv innehållet i en file i hex till seriemonitorn för viewning. Detta är ibland bra att se att en file spelar in korrekt utan att behöva dra ut SD-kortet och view de file på en dator.
    • Example: katt LOG00004.txt
    • Utgång: 00000000: 41 63 65 6c 3a 20 31

Katalogmanipulation

  • ls – Listar allt innehåll i den aktuella katalogen. Jokertecken stöds.
    • Example: ls
    • Utdata: \src
  • md-underkatalog – Skapa en underkatalog i den aktuella katalogen.
    • Example: md Example_Sketches
  • cd Underkatalog – Byt till underkatalog.
    • Example: cd Hello_World
  • cd .. – Byt till en lägre katalog i trädet. Observera att det finns ett mellanslag mellan 'cd' och '..'. Detta gör att strängtolkaren kan se CD-kommandot.
    • Example: cd ..
  • rm Underkatalog – Tar bort underkatalogen. Katalogen måste vara tom för att det här kommandot ska fungera.
    • Example: rm temperaturer
  • rm -rf Katalog – Tar bort katalogen och alla filesom finns i den.
    • Example: rm -rf Bibliotek

Lågnivåfunktionskommandon

  • ? – Det här kommandot visar en lista över tillgängliga kommandon i OpenLog.
  • Disk – Visar korttillverkarens ID, serienummer, tillverkningsdatum och kortstorlek. T.ex.amputgången är:
    • Korttyp: SD2 Tillverkarens ID: 3
    • OEM-ID: SD
    • Produkt: SU01G
    • Version: 8.0
    • Serienummer: 39723042 Tillverkningsdatum: 1/2010 Kortstorlek: 965120 KB
  • init – Omstarta systemet och öppna SD-kortet igen. Detta är användbart om SD-kortet slutar svara.
  • Synkronisera – Synkroniserar det aktuella innehållet i bufferten med SD-kortet. Det här kommandot är användbart om du har färre än 512 tecken i bufferten och vill spara dem på SD-kortet.
  • Återställ – Hoppar OpenLog till plats noll, kör bootloadern igen och sedan init-koden. Det här kommandot är användbart om du behöver redigera konfigurationen. file, återställ OpenLog och börja använda den nya konfigurationen. En strömavbrott är fortfarande den föredragna metoden för att återställa kortet, men det här alternativet är tillgängligt.

Systeminställningar

Dessa inställningar kan uppdateras eller redigeras manuellt i config.txt file.

  • Eko TILLSTÅND – Ändrar systemets tillstånd och lagras i systemminnet. TILLSTÅND kan antingen vara på eller av. När OpenLog är på kommer mottagen seriell data att ekoas vid kommandotolken. När den är av läser systemet inte tillbaka mottagna tecken.

Notera: Under normal loggning kommer ekot att vara avstängt. Systemresurskraven för att ekoa mottagen data är för höga under loggning.

  • Verbose STATE – Ändrar tillståndet för utförlig felrapportering. STATE kan antingen vara på eller av. Detta kommando lagras i minnet. Genom att inaktivera utförliga fel svarar OpenLog endast med ett ! om det finns ett fel, snarare än ett okänt kommando: C OMMAND.D..TEcknen är enklare för inbyggda system att tolka än det fullständiga felet. Om du använder en terminal kan du se fullständiga felmeddelanden om du lämnar utförlig på.
  • baud – Det här kommandot öppnar en systemmeny som låter användaren ange en baudhastighet. Alla baudhastigheter mellan 300 bps och 1 Mbps stöds. Baudhastigheten kan väljas omedelbart, och OpenLog kräver en strömavbrott för att inställningarna ska träda i kraft. Baudhastigheten lagras i EEPROM och laddas varje gång OpenLog startas. Standardinställningen är 9600 8N1.

Komma ihåg: Om kortet fastnar i en okänd baudhastighet kan du koppla RX till GND och starta OpenLog. Lysdioderna blinkar fram och tillbaka i 2 sekunder och blinkar sedan samtidigt. Stäng av OpenLog och ta bort bygeln. OpenLog återställs nu till 9600 bps med escape-tecknet `CTRL-Z` nedtryckt tre gånger i rad. Den här funktionen kan åsidosättas genom att sätta Emergency Override-biten till 1. Se config.txt för mer information.

  • Set – Det här kommandot öppnar en systemmeny för att välja startläge. Dessa inställningar kommer att gälla vid nästa strömpåslag och lagras i ett permanent EEPROM.
    • Ny File Loggning – Det här läget skapar en ny file varje gång OpenLog startas. OpenLog sänder 1 (UART är aktiv), 2 (SD-kortet är initierat), sedan < (OpenLog är redo att ta emot data). All data kommer att registreras i en LOG#####.txt. #####-talet ökar varje gång OpenLog startas (maximalt är 65533 loggar). Antalet lagras i EEPROM och kan återställas från inställningsmenyn. Inte alla mottagna tecken återges. Du kan avsluta detta läge och gå in i kommandoläge genom att trycka CTRL+z (ASCII 26). All buffrad data kommer att lagras.
  • Notera: Om för många loggar har skapats, kommer OpenLog att visa felmeddelandet **För många loggar**, avsluta detta läge och gå tillbaka till kommandotolken. Den seriella utmatningen kommer att se ut som `12!För många loggar!
    • Bifoga File Loggning – Även känt som sekventiellt läge, skapar detta läge en file anropas SEQLOG.txt om den inte redan finns där, och lägger till all mottagen data i fileOpenLog kommer att sända 12<, varvid OpenLog är redo att ta emot data. Tecken återges inte. Du kan avsluta detta läge och gå in i kommandoläge genom att trycka CTRL+z (ASCII 26). All buffrad data kommer att lagras.
    • Kommandotolken – OpenLog skickar 12>, då systemet är redo att ta emot kommandon. Observera att >-tecknet indikerar att OpenLog är redo att ta emot kommandon, inte data. Du kan skapa files och lägg till data till files, men detta kräver viss seriell parsning (för felkontroll), så vi ställer inte in detta läge som standard.
    • Återställ nytt File Nummer – Det här läget återställer loggen file nummer till LOG000.txt. Detta är användbart om du nyligen har tömt ett microSD-kort och vill att loggen file siffror för att börja om igen.
    • Nytt escape-tecken – Det här alternativet låter användaren ange ett tecken, till exempel CTRL+z eller $, och ställa in detta som nytt escape-tecken. Denna inställning återställs till CTRL+z vid en nödåterställning.
    • Antal escape-tecken – Det här alternativet låter användaren ange ett tecken (t.ex. 1, 3 eller 17) och uppdaterar det nya antalet escape-tecken som behövs för att återgå till kommandoläge. Till exempelampOm du anger 8 måste användaren trycka CTRL+z åtta gånger för att komma till kommandoläge. Denna inställning återställs till 3 vid en nödåterställning.
  • Förklaring av escape-tecken: Anledningen till att OpenLog kräver att man trycker på `CTRL+z` tre gånger för att gå in i kommandoläge är för att förhindra att kortet av misstag återställs under uppladdning av ny kod från Arduino IDE. Det finns en risk att kortet ser `CTRL+z`-tecknet under uppstart (ett problem vi såg i de tidiga versionerna av OpenLog-firmwaren), så detta syftar till att förhindra det. Om du någonsin misstänker att ditt kort har blivit blockerat på grund av detta kan du alltid göra en nödåterställning genom att hålla RX-pinnen till jord under uppstart.

Konfiguration File

Om du hellre inte vill använda serieterminalen för att ändra inställningarna på din OpenLog kan du också uppdatera inställningarna genom att ändra CONFIG.TXT. file.

Notera: Den här funktionen fungerar endast på firmwareversion 1.6 eller senare. Om du har köpt en OpenLog efter 2012 kommer du att använda firmwareversion 1.6+.

  • För att göra detta behöver du en microSD-kortläsare och en textredigerare. Öppna config.txt file (stor bokstav i file (namnet spelar ingen roll), och konfigurera iväg! Om du aldrig har startat din OpenLog med SD-kortet förut kan du också manuellt skapa fileOm du har startat OpenLog med microSD-kortet isatt tidigare, bör du se något liknande följande när du läser av microSD-kortet.SparkFun-DEV-13712-Partikelfoton-med-hål-för-lödning-fig- (15)OpenLog skapar en config.txt och LOG0000.txt file vid första uppstart.
  • Standardkonfigurationen file har en rad med inställningar och en rad med definitioner.SparkFun-DEV-13712-Partikelfoton-med-hål-för-lödning-fig- (16)Standardkonfigurationen file skrevs av OpenLog.
  • Observera att dessa är vanliga synliga tecken (det finns inga icke-synliga eller binära värden), och varje värde är avgränsat med ett kommatecken.

Inställningarna definieras enligt följande:

  • baud: Kommunikationshastigheten. 9600 bps är standardinställningen. Godkända värden som är kompatibla med Arduino IDE är 2400, 4800, 9600, 19200, 38400, 57600 och 115200. Du kan använda andra baudhastigheter, men du kommer inte att kunna kommunicera med OpenLog via Arduino IDE:s seriella monitor.
  • Escape:e ASCII-värdet (i decimalformat) för escape-tecknet. 26 är CTRL+z och är standardvärdet. 36 är $ och är ett vanligt förekommande escape-tecken.
  • Esc #: Antalet escape-tecken som krävs. Som standard är det tre, så du måste trycka på escape-tecknet tre gånger för att återgå till kommandoläge. Godkända värden är från 0 till 254. Om du ställer in detta värde på 0 inaktiveras kontrollen av escape-tecken helt.
  • Systemläge. OpenLog startar som standard i läget Ny logg (0). Godkända värden är 0 = Ny logg, 1 = Sekventiell logg, 2 = Kommandoläge.
  • Verb: Utförligt läge. Utökade (utförliga) felmeddelanden är aktiverade som standard. Om du ställer in detta till 1 aktiveras utförliga felmeddelanden (t.ex. okänt kommando: ta bort !). Om du ställer in detta till 0 inaktiveras utförliga fel, men svarar med ett ! om det finns ett fel. Att stänga av utförligt läge är praktiskt om du försöker hantera fel från ett inbyggt system.
  • Eko: Ekoläge. I kommandoläge ekas tecken som standard. Om du ställer in detta till 0 stängs teckeneko av. Det är praktiskt att stänga av detta om du hanterar fel och du inte vill att skickade kommandon ska ekas tillbaka till OpenLog.II.
  • ignoreraRXNödåterställning. Normalt sett återställer OpenLog nödläget när RX-pinnen dras lågt under uppstart. Om du ställer in detta till 1 inaktiveras kontrollen av RX-pinnen under uppstart. Detta kan vara användbart för system som av olika anledningar håller RX-linjen låg. Om nödåterställning är inaktiverad kommer du inte att kunna tvinga enheten tillbaka till 9600 bps, och konfigurationen file kommer att vara det enda sättet att ändra baudhastigheten.

Hur OpenLog ändrar konfigurationen File
Det finns fem olika situationer där OpenLog kan ändra config.txt file.

  • Konfig file hittades: Under uppstart letar OpenLog efter en config.txt file. Om file hittas kommer OpenLog att använda de inkluderade inställningarna och skriva över alla tidigare lagrade systeminställningar.
  • Ingen konfiguration file hittades: Om OpenLog inte kan hitta config.txt file då skapar OpenLog config.txt och sparar de systeminställningar som för närvarande är lagrade i den. Det betyder att om du sätter i ett nyformaterat microSD-kort kommer systemet att behålla sina nuvarande inställningar.
  • Korrupt konfiguration file hittat: OpenLog kommer att radera den skadade config.txt-filen file, och kommer att skriva om både de interna EEPROM-inställningarna och config.txt-inställningarna file till det kända bra tillståndet 9600,26,3,0,1,1,0.
  • Ogiltiga värden i konfigurationen fileOm OpenLog upptäcker några inställningar som innehåller ogiltiga värden, kommer OpenLog att skriva över de korrupta värdena i config.txt. file med de för närvarande lagrade EEPROM-systeminställningarna.
  • Ändringar via kommandotolken: Om systeminställningarna ändras via kommandotolken (antingen via en seriell anslutning eller via seriella kommandon från mikrokontrollern) kommer dessa ändringar att registreras både i systemets EEPROM och i config.txt. file.
  • Nödåterställning: Om OpenLog slås av och på med en bygel mellan RX och GND, och Emergency Override-biten är inställd på 0 (vilket möjliggör nödåterställning), kommer OpenLog att skriva om både de interna EEPROM-inställningarna och config.txt-inställningarna. file till det kända goda tillståndet 9600,26,3,0,1,1,0.

Felsökning

Det finns flera olika alternativ för att kontrollera om du har problem med att ansluta via seriell monitor, har problem med borttagna tecken i loggar eller kämpar mot en blockerad OpenLog.

Kontrollera STAT1-lysdiodens beteende
STAT1-lysdioden visar olika beteenden för två olika vanliga fel.

  • 3 blinkningar: microSD-kortet kunde inte initialiseras. Du kan behöva formatera kortet med FAT/FAT16 på en dator.
  • 5 blinkningar: OpenLog har ändrats till en ny baudhastighet och behöver stängas av och på.

Dubbelkolla underkatalogstrukturen

  • Om du använder standardfilen OpenLog.ino exampOpenLog stöder endast två underkataloger. Du måste ändra FOLDER_TRACK_DEPTH från 2 till det antal underkataloger du behöver stödja. När du har gjort detta, kompilera om koden och ladda upp den modifierade firmware.
  • Verifiera antalet Files i rotkatalogen
  • OpenLog stöder endast upp till 65,534 XNUMX loggar. files i rotkatalogen. Vi rekommenderar att du formaterar om ditt microSD-kort för att förbättra loggningshastigheten.
  • Verifiera storleken på din modifierade firmware
  • Om du skriver en anpassad skiss för OpenLog, kontrollera att din skiss inte är större än 32,256 500. Om så är fallet kommer den att ta upp de övre XNUMX byten av flashminnet, vilket används av den seriella bootloadern för Optiboot.
  • Dubbelkolla File Namn
  • Alla file Namnen ska vara alfanumeriska. MyLOG1.txt är okej, men Hi !e _ .txtt kanske inte fungerar.
  • Använd 9600 Baud
  • OpenLog körs på ATmega328 och har en begränsad mängd RAM (2048 byte). När du skickar seriella tecken till OpenLog buffras dessa tecken. SD Group Simplified Specification tillåter att ett SD-kort tar upp till 250 ms (avsnitt 4.6.2.2 Skrivning) för att spela in ett datablock till flashminne.
  • Vid 9600 bps blir det 960 byte (10 bitar per byte) per sekund. Det är 1.04 ms per byte. OpenLog använder för närvarande en mottagningsbuffert på 512 byte, så den kan buffra cirka 50 ms tecken. Detta gör att OpenLog kan ta emot alla tecken som kommer med 9600 bps. När du ökar baudhastigheten kommer bufferten att räcka kortare tid.

Överskridningstid för OpenLog-buffert

Baudhastighet Tid per byte Tid tills bufferten är överskriden
9600 bps 1.04 ms 532 ms
57600 bps 0.174 ms 88 ms
115200 bps 0.087 ms 44 ms

Många SD-kort har en snabbare inspelningstid än 250 ms. Detta kan påverkas av kortets "klass" och hur mycket data som redan finns lagrad på kortet. Lösningen är att använda en lägre baudhastighet eller öka tiden mellan tecknen som skickas med den högre baudhastigheten.

Formatera ditt MicroSD-kort
Kom ihåg att använda ett kort med få eller inga files på den. Ett microSD-kort med 3.1 GB ZIP-minne files eller MP3-filer har en långsammare svarstid än ett tomt kort. Om du inte formaterade ditt microSD-kort i ett Windows-operativsystem, formatera om microSD-kortet och skapa en DOS-fil. filesystemet på SD-kortet.
Byt MicroSD-kort
Det finns många olika typer av korttillverkare, ommärkta kort, kortstorlekar och kortklasser, och de kanske inte alla fungerar korrekt. Vi använder vanligtvis ett 8 GB klass 4 microSD-kort, som fungerar bra vid 9600 bps. Om du behöver högre baudhastigheter eller större lagringsutrymme kanske du vill prova kort av klass 6 eller högre.
Lägg till fördröjningar mellan teckenskrivningar
Genom att lägga till en liten fördröjning mellan Serial.print()-satser kan du ge OpenLog en chans att spela in sin aktuella buffert.
Till exempelampde:
  • Serial.begin(115200);
    för (int i = 1; i < 10; i++) { Seriell.print(i, DEC); Seriell.println(":abcdefghijklmnopqrstuvwxyz-!#"); }

loggar eventuellt inte korrekt, eftersom det skickas många tecken bredvid varandra. Att infoga en liten fördröjning på 15 ms mellan skrivningar av stora tecken hjälper OpenLog att registrera utan att tappa tecken.

  • Serial.begin(115200);
    för (int i = 1; i < 10; i++) { Seriell.print(i, DEC); Seriell.println(":abcdefghijklmnopqrstuvwxyz-!#"); fördröjning(15); }

Lägg till kompatibilitet med seriell Arduino-skärm

Om du försöker använda OpenLog med det inbyggda seriella biblioteket eller SoftwareSerial-biblioteket kan du märka problem med kommandoläget. Serial.println() skickar både radbrytning OCH vagnretur. Det finns två alternativa kommandon för att lösa detta.

Det första är att använda \r-kommandot (ASCII-vagnretur):
Seriell.print("TEXT\r");

Alternativt kan du skicka värdet 13 (decimal vagnretur):

  • Seriell.print("TEXT");
  • Seriell.write(13);

Nödåterställning

Kom ihåg att om du behöver återställa OpenLog till ett standardläge kan du återställa kortet genom att koppla RX-pinnen till GND, slå på OpenLog, vänta tills lysdioderna börjar blinka samtidigt och sedan stänga av OpenLog och ta bort bygeln.
Om du har ändrat biten för nödöverstyrning till 1 måste du ändra konfigurationen. file, eftersom nödåterställningen inte fungerar.

Kontrollera med gemenskapen

Om du fortfarande har problem med din OpenLog, vänligen kolla in aktuella och stängda problem i vårt GitHub-arkiv här. Det finns en stor community som arbetar med OpenLog, så chansen är stor att någon har hittat en lösning på problemet du ser.

Resurser och att gå vidare

Nu när du har loggat data med din OpenLog kan du konfigurera fjärrprojekt och övervaka all möjlig data som kommer in. Överväg att skapa ditt eget Citizen Science-projekt, eller till och med en husdjursspårare för att se vad Fluffy gör när han är ute och rör på sig!
Kolla in dessa ytterligare resurser för felsökning, hjälp eller inspiration inför ditt nästa projekt.

  • OpenLog GitHub
  • Illumitune-projektet
  • LilyPad-ljussensoranslutning
  • BadgerHack: Tillägg för jordsensor
  • Komma igång med OBD-II
  • Vernier Photogate

Behöver du mer inspiration? Kolla in några av dessa relaterade handledningar:

  • Photon fjärrstyrd vattennivåsensor
    Lär dig hur man bygger en fjärrstyrd vattennivåsensor för en vattenlagringstank och hur man automatiserar en pump baserat på avläsningarna!
  • Blynk Board Projektguide
    En serie Blynk-projekt som du kan ställa in på Blynk-brädet utan att någonsin behöva omprogrammera det.
  • Logga data till Google Sheets med Tessel 2
    Det här projektet behandlar hur man loggar data till Google Sheets på två sätt: med hjälp av IFTTT med en web anslutning eller ett USB-minne och ”sneakernet” utan.
  • Grafiska sensordata med Python och Matplotlib
    Använd matplotlib för att skapa ett realtidsdiagram över temperaturdata insamlad från en TMP102-sensor ansluten till en Raspberry Pi.

Om du har några synpunkter på handledningen kan du läsa kommentarerna eller kontakta vårt tekniska supportteam på Teknisk support@sparkfun.com.

Vanliga frågor

Vilken är den rekommenderade strömförsörjningen för OpenLog?

Den rekommenderade strömingången för OpenLog är mellan 3.3 V och 5 V.

Hur mycket ström drar OpenLog när den är i viloläge?

OpenLog drar ungefär 2 mA till 5 mA när den är i viloläge utan ett microSD-kort, och runt 5 mA till 6 mA när ett microSD-kort är isatt.

Vad är syftet med microSD USB-minnet till OpenLog?

microSD USB-läsaren möjliggör enkel överföring av data från microSD-kortet som används med OpenLog till en dator.

Dokument/resurser

SparkFun DEV-13712 Partikelfoton med hål för lödning [pdf] Användarhandbok
DEV-13712, DEV-13955, DEV-13712 Partikelfoton med hål för lödning, DEV-13712, Partikelfoton med hål för lödning, Hål för lödning, För lödning, Lödning

Referenser

Lämna en kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade *