Průvodce připojením OpenLogu
Zavedení
Pozor! Tento tutoriál je pro Open Log pro sériový UART [DEV-13712]. Pokud používáte Qwiic OpenLog pro IC [DEV-15164], podívejte se prosím do Průvodce připojením Qwiic OpenLog.
OpenLog Data Logger je snadno použitelné řešení s otevřeným zdrojovým kódem pro záznam sériových dat z vašich projektů. OpenLog poskytuje jednoduché sériové rozhraní pro záznam dat z projektu na kartu microSD.SparkFun OpenLog
• DEV-13712SparkFun OpenLog se záhlavími
• DEV-13955
nenalezen žádný produkt
Požadované materiály
Abyste mohli tento tutoriál plně zvládnout, budete potřebovat následující součásti. V závislosti na tom, co máte, ale nemusíte potřebovat všechno. Přidejte je do košíku, přečtěte si návod a podle potřeby upravte košík.
Průvodce připojením OpenLog Seznam přání SparkFun
![]() |
Arduino Pro Mini 328 – 3.3V/8MHz DEV-11114 Je modrý! Je tenký! Je to Arduino Pro Mini! Minimalistický designový přístup SparkFunu k Arduinu. Toto je 3.3V Arduino… |
![]() |
Základní rozbočovač SparkFun FTDI – 3.3 V DEV-09873 Toto je nejnovější revize našeho [FTDI Basic](http://www.sparkfun.com/commerce/product_info.php?products_id=… |
![]() |
USB kabel SparkFun Cerberus – 6 m CAB-12016 Máte špatný USB kabel. Nezáleží na tom, který máte, je to špatný. Ale co kdybyste mohli mít… |
![]() |
SparkFun OpenLog DEV-13712 SparkFun OpenLog je datový záznamník s otevřeným zdrojovým kódem, který pracuje přes jednoduché sériové připojení a podporuje… |
![]() |
Paměťová karta microSD s adaptérem – 16 GB (třída 10) COM-13833 Jedná se o paměťovou kartu microSD třídy 10 s kapacitou 16 GB, ideální pro uložení operačních systémů pro jednodeskové počítače… |
![]() |
Čtečka microSD USB COM-13004 Toto je úžasná malá USB čtečka microSD karet. Stačí zasunout kartu microSD do USB konektoru a… |
![]() |
Ženské záhlaví PRT-00115 Jedna řada 40děrových konektorů, samičí konektor. Lze zkrátit na míru pomocí štípaček na drát. Standardní rozteč 1″. Používáme… |
![]() |
Startovací kabely Premium 6″ M/M, balení 10 kusů PRT-08431 Toto je exkluzivní produkt od SparkFun! Jedná se o 155mm dlouhé propojky s konektory samec na obou koncích. Použijte je k… |
![]() |
Oddělovací samčí konektory – pravoúhlé PRT-00553 Řada pravoúhlých konektorů typu „samec“ – lze je zlomit a sepnout. 40 pinů, které lze zkrátit na libovolnou velikost. Používá se s vlastními deskami plošných spojů nebo generátory… |
Doporučená četba
Pokud nejste obeznámeni s následujícími koncepty nebo s nimi nejste spokojeni, doporučujeme si je přečíst, než budete pokračovat s Průvodcem připojením OpenLogu.
Jak pájet: Pájení skrz otvor
Tento tutoriál zahrnuje vše, co potřebujete vědět o pájení skrz otvor.
Serial Peripheral Interface (SPI)
SPI se běžně používá k připojení mikrokontrolérů k periferiím, jako jsou senzory, posuvné registry a SD karty.
Sériová komunikace
Koncepty asynchronní sériové komunikace: pakety, úrovně signálu, přenosové rychlosti, UART a další!
Základy sériového terminálu
Tento tutoriál vám ukáže, jak komunikovat se sériovými zařízeními pomocí různých aplikací terminálového emulátoru.
Konec hardwaruview
Moc
OpenLog běží s následujícím nastavením:
Jmenovité výkony OpenLog
Vstup VCC | 3.3 V–12 V (doporučeno 3.3 V–5 V) |
Vstup RXI | 2.0V-3.8V |
Výstup TXO | 3.3V |
Odběr proudu v klidu | ~2mA–5mA (bez microSD karty), ~5mA–6mA (s microSD kartou) |
Odběr proudu při aktivním zápisu | ~20–23 mA (s microSD kartou) |
Odběr proudu zařízení OpenLog při zápisu na kartu microSD je přibližně 20 mA až 23 mA. V závislosti na velikosti karty microSD a jejím výrobci se může aktivní odběr proudu při zápisu zařízením OpenLog na paměťovou kartu lišit. Zvýšení přenosové rychlosti také povede k většímu odběru proudu.
Mikrokontrolér
OpenLog běží na integrovaném čipu ATmega328, který díky integrovanému krystalu běží na frekvenci 16 MHz. ATmega328 má nainstalovaný bootloader Optiboot, který umožňuje kompatibilitu OpenLog s nastavením desky „Arduino Uno“ v Arduino IDE.Rozhraní
Sériový UART
Primárním rozhraním s OpenLogem je FTDI konektor na okraji desky. Tento konektor je navržen pro přímé připojení k Arduinu Pro nebo Pro Mini, což umožňuje mikrokontroléru odesílat data přes sériové připojení do OpenLogu.
Varování! Kvůli uspořádání pinů, které je kompatibilní s Arduiny, se nedá zapojit přímo do rozbočovací desky FTDI. Pro více informací se nezapomeňte podívat na další část o připojení hardwaru.
SPI
Na opačném konci desky jsou také čtyři testovací SPI konektory. Ty můžete použít k přeprogramování bootloaderu na ATmega328.Nejnovější OpenLog (DEV-13712) má tyto piny vylamované na menších pokovených průchozích otvorech. Pokud potřebujete k přeprogramování nebo nahrání nového bootloaderu do OpenLogu použít poskytovatele internetových služeb, můžete k připojení k těmto testovacím bodům použít pogo piny.
Posledním rozhraním pro komunikaci s OpenLogem je samotná microSD karta. Pro komunikaci microSD karta vyžaduje SPI piny. Nejenže se zde ukládají data OpenLogem, ale také zde můžete aktualizovat konfiguraci OpenLogu pomocí souboru config.txt. file na kartě microSD.
karta microSD
Všechna data zaznamenaná systémem OpenLog jsou uložena na kartě microSD. Systém OpenLog pracuje s kartami microSD, které mají následující funkce:
- 64MB na 32GB
- FAT16 nebo FAT32
Stavový indikátor LED
Na OpenLogu jsou dvě stavové LED diody, které vám pomohou s řešením problémů.
- STAT1 – Tato modrá indikační LED dioda je připojena k Arduinu D5 (ATmega328 PD5) a přepíná se mezi jednotlivými znaky, když je přijat nový znak. Tato LED dioda bliká, když je probíhá sériová komunikace.
- STAT2 – Tato zelená LED dioda je připojena k Arduinu D13 (SPI Serial Clock Line/ATmega328 PB5). Tato LED dioda bliká pouze tehdy, když je aktivní rozhraní SPI. Blikat uvidíte, když OpenLog zaznamená 512 bajtů na kartu microSD.
Hardwarové připojení
Existují dva hlavní způsoby připojení vašeho OpenLogu k obvodu. K připojení budete potřebovat nějaké konektory nebo vodiče. Pro bezpečné připojení se ujistěte, že je připájíte k desce.
Základní sériové připojení
Tip: Pokud máte samičí konektor OpenLog a samičí konektor na FTDI, budete k propojení potřebovat propojovací vodiče M/F.
Toto hardwarové připojení je navrženo pro propojení s OpenLog, pokud potřebujete desku přeprogramovat nebo zaznamenávat data přes základní sériové připojení.
Proveďte následující připojení:
OpenLog → 3.3V FTDI základní propojovací konektor
- GND → GND
- GND → GND
- VCC → 3.3 V
- TXO → RXI
- RXI → TXO
- DTR → DTR
Všimněte si, že se nejedná o přímé propojení mezi FTDI a OpenLog – musíte prohodit zapojení pinů TXO a RXI.
Vaše připojení by měla vypadat takto: Jakmile propojíte OpenLog a FTDI Basic, zapojte desku FTDI do USB kabelu a do počítače.
Otevřete sériový terminál, připojte se k COM portu vašeho FTDI Basic a jděte do toho!
Připojení hardwaru projektu
Tip: Pokud máte na OpenLogu připájené samičí konektory, můžete k Arduinu Pro Mini připájet samčí konektory a propojit tak desky bez nutnosti použití vodičů.I když je propojení s OpenLogem přes sériové připojení důležité pro přeprogramování nebo ladění, OpenLog se uplatní zejména v embedded projektech. Tento obecný obvod znázorňuje, jak doporučujeme připojit OpenLog k mikrokontroléru (v tomto případě Arduino Pro Mini), který bude zapisovat sériová data do OpenLogu.
Nejprve budete muset nahrát kód do svého Pro Mini, který chcete spustit. Prohlédněte si prosím náčrty Arduina, kde najdete některé příklady.ampkód, který můžete použít.
Poznámka: Pokud si nejste jisti, jak naprogramovat váš Pro Mini, podívejte se na náš tutoriál zde.
Použití Arduina Pro Mini 3.3V
Tento tutoriál je vaším průvodcem vším, co se týká Arduina Pro Mini. Vysvětluje, co to je, co to není a jak to začít používat.
Jakmile naprogramujete Pro Mini, můžete vyjmout desku FTDI a nahradit ji deskou OpenLog.
Ujistěte se, že jste zapojili piny označené BLK na Pro Mini i OpenLogu (piny označené GRN na obou se při správném zapojení také shodují).
Pokud nemůžete zapojit OpenLog přímo do Pro Mini (kvůli neshodným konektorům nebo jiným deskám v cestě), můžete použít propojovací vodiče a provést následující zapojení.
OpenLog → Arduino Pro/Arduino Pro Mini
- GND → GND
- GND → GND
- VCC → VCC
- TXO → RXI
- RXI → TXO
- DTR → DTR
Jakmile budete hotovi, vaše zapojení s Arduino Pro Mini a Arduino Pro by mělo vypadat takto.
Fritzingův diagram ukazuje OpenLogs se zrcadlenými hlavičkami. Pokud otočíte patici microSD vzhledem k horní části Arduina view, měly by odpovídat programovací hlavičce jako FTDI.
Poznámka že připojení je přímé s OpenLogem „vzhůru nohama“ (s microSD kartou nahoru).
⚡Poznámka: Protože Vcc a GND mezi OpenLog a Arduinem jsou obsazeny headery, budete muset připojit napájení k ostatním dostupným pinům na Arduinu. Jinak byste mohli připájet vodiče k odkrytým napájecím pinům na kterékoli desce.
Zapněte systém a můžete začít s protokolováním!
Náčrty pro Arduino
Existuje šest různých bývalýchampSoučástí jsou náčrty, které můžete použít na Arduinu po připojení k OpenLogu.
- OpenLog_Benchmarking — Tento exampSe používá k testování OpenLogu. Ten odesílá velmi velké množství dat rychlostí 115200 XNUMX bps přes několik files.
- OpenLog_CommandTest — Tento example ukazuje, jak vytvořit a přidat file ovládání z příkazového řádku přes Arduino.
- OpenLog_ReadExample — Tento exampTento dokument popisuje, jak ovládat OpenLog pomocí příkazového řádku.
- OpenLog_ReadExample_LargeFile — Přample o tom, jak otevřít velký úložný prostor file na OpenLogu a nahlásit to přes lokální připojení Bluetooth.
- OpenLog_Test_Sketch — Používá se k testování OpenLogu s velkým množstvím sériových dat.
- OpenLog_Test_Sketch_Binary — Používá se k testování OpenLogu s binárními daty a escape znaky.
Firmware
OpenLog má na palubě dva hlavní softwarové komponenty: bootloader a firmware.
Bootloader pro Arduino
Poznámka: Pokud používáte OpenLog zakoupený před březnem 2012, je integrovaný bootloader kompatibilní s nastavením „Arduino Pro nebo Pro Mini 5V/16MHz s ATmega328“ v Arduino IDE.
Jak již bylo zmíněno, OpenLog má integrovaný sériový bootloader Optiboot. Při nahrávání exportovaných dat můžete s OpenLogem zacházet stejně jako s Arduinem Uno.ampkód nebo nový firmware na desku.
Pokud se vám stane, že OpenLog zbriká a budete potřebovat přeinstalovat bootloader, budete chtít nahrát také Optiboot na desku. Více informací naleznete v našem tutoriálu o instalaci bootloaderu pro Arduino.
Kompilace a načítání firmwaru do OpenLog
Poznámka: Pokud používáte Arduino poprvé, prosím, znovuview náš tutoriál o instalaci Arduino IDE. Pokud jste dosud nenainstalovali knihovnu pro Arduino, podívejte se prosím na naši instalační příručku, kde najdete návod, jak knihovny nainstalovat ručně.
Pokud z jakéhokoli důvodu potřebujete aktualizovat nebo přeinstalovat firmware na vašem OpenLogu, následující postup vám pomůže spustit vaši desku.
Nejprve si prosím stáhněte Arduino IDE v1.6.5. Jiné verze IDE mohou fungovat pro kompilaci firmwaru OpenLog, ale tuto jsme ověřili jako známou a funkční verzi.
Dále si stáhněte firmware OpenLog a požadovaný balíček knihoven.
STÁHNOUT BALÍČEK FIRMWARU OPENLOG (ZIP)
Jakmile si stáhnete knihovny a firmware, nainstalujte je do Arduina. Pokud si nejste jisti, jak ručně nainstalovat knihovny v IDE, podívejte se na náš tutoriál: Instalace knihovny pro Arduino: Ruční instalace knihovny.
Poznámka: Používáme upravené verze knihoven SdFat a SerialPort, abychom libovolně deklarovali velikost vyrovnávacích pamětí TX a RX. OpenLog vyžaduje, aby vyrovnávací paměť TX byla velmi malá (0) a vyrovnávací paměť RX musí být co největší. Použití těchto dvou upravených knihoven dohromady umožňuje zvýšit výkon OpenLogu.
Hledáte nejnovější verze? Pokud byste raději měli nejaktuálnější verze knihoven a firmwaru, můžete si je stáhnout přímo z níže uvedených repozitářů GitHub. Knihovny SdFatLib a Serial Port nejsou ve správci desek Arduino viditelné, takže si je budete muset nainstalovat ručně.
- GitHub: OpenLog > Firmware > OpenLog_Firmware
- Knihovny Billa Greimana pro Arduino
SdFatLib-beta
Sériový port
Dále, abychom využili výhodtagZ upravených knihoven upravte soubor SerialPort.h file nalezeno v adresáři \Arduino\Libraries\SerialPort. Změňte BUFFERED_TX na 0 a ENABLE_RX_ERROR_CHECKING na 0. Uložte filea otevřete vývojové prostředí Arduino.
Pokud jste tak ještě neučinili, připojte svůj OpenLog k počítači pomocí desky FTDI. Zkontrolujte prosím dvakrát exampobvodu, pokud si nejste jisti, jak to správně provést.
Otevřete náčrt OpenLog, který chcete nahrát, v nabídce Nástroje>Deska, vyberte „Arduino/Genuino Uno“ a v nabídce Nástroje>Port vyberte správný COM port pro vaši desku FTDI.
Nahrajte kód.
To je vše! Váš OpenLog je nyní naprogramován s novým firmwarem. Nyní můžete otevřít sériový monitor a interagovat s OpenLogem. Po zapnutí se zobrazí buď 12>, nebo 12<. 1 znamená, že sériové připojení je navázáno, 2 znamená, že SD karta byla úspěšně inicializována, < znamená, že OpenLog je připraven zaznamenávat veškerá přijatá sériová data a > znamená, že OpenLog je připraven přijímat příkazy.
Náčrty firmwaru OpenLog
V OpenLogu jsou zahrnuty tři náčrty, které můžete použít v závislosti na vaší konkrétní aplikaci.
- OpenLog – Tento firmware je standardně dodáván s OpenLog. Odesláním příkazu ? se zobrazí verze firmwaru nahraná do jednotky.
- OpenLog_Light – Tato verze náčrtu odstraňuje menu a příkazový režim, což umožňuje zvětšit vyrovnávací paměť pro příjem. To je dobrá volba pro vysokorychlostní logování.
- OpenLog_Minimal – Přenosová rychlost musí být nastavena v kódu a nahrána. Tato skica je doporučena pro zkušené uživatele, ale je také nejlepší volbou pro nejvyšší rychlost logování.
Sada příkazů
S OpenLogem se můžete propojit přes sériový terminál. Následující příkazy vám pomohou číst, zapisovat a mazat files a také změnit nastavení OpenLogu. Abyste mohli používat následující nastavení, musíte být v příkazovém režimu.
Pokud je OpenLog v příkazovém režimu, STAT1 se zapne/vypne pro každý přijatý znak. LED dioda zůstane svítit, dokud není přijat další znak.
File Manipulace
- nový File – Vytvoří nový file jmenoval File v aktuálním adresáři. Standard 8.3 fileJména jsou podporována.
Napřamptj. „87654321.123“ je přijatelné, zatímco „987654321.123“ nikoli.
• Přample: nový file1.txt - připojit File – Přidat text na konec FileSériová data jsou poté načtena z UARTu v proudu a přidána do fileNení přenášen přes sériový terminál. Pokud File neexistuje, když je tato funkce volána, file bude vytvořen.
• Přample: přidat novýfile.csv - napsat File OFFSET – Zapsat text do File z umístění OFFSET v rámci fileText je čten z UARTu řádek po řádku a odesílán zpět. Pro ukončení tohoto stavu odešlete prázdný řádek.
• Přample: zápis logs.txt 516 - rm File – Smaže File z aktuálního adresáře. Zástupné znaky jsou podporovány.
• Přample: rm README.txt - velikost File – Výstupní velikost File v bajtech.
• Přampsoubor: velikost Log112.csv
• Výstup: 11 - číst File + START+ TYP DÉLKY – Výpis obsahu File začněte od ZAČÁTKU a pokračujte po DÉLCE.
Pokud je vynechán parametr START, celý file je hlášeno. Pokud je vynechán argument LENGTH, je hlášen celý obsah od počátečního bodu. Pokud je vynechán argument TYPE, OpenLog se standardně zobrazí v ASCII. Existují tři výstupní TYPE:
• ASCII = 1
• HEX = 2
• RAW = 3
Některé koncové argumenty můžete vynechat. Zkontrolujte následující příkladamples.
Základní příznaky pro čtení + vynechání:
• Přample: čtení LOG00004.txt
• Výstup: Akcelerometr X=12 Y=215 Z=317
Čtení od začátku 0 s délkou 5:
• Přample: čtení LOG00004.txt 0 5
• Výstup: Zrychlení
Čtení z pozice 1 s délkou 5 v HEX:
• Přample: čtení LOG00004.txt 1 5 2
• Výstup: 63 63 65 6C - Čtení z pozice 0 s délkou 50 v RAW:
- • Přample: čtení LOG00137.txt 0 50 3
- • Výstup: André– -þ Rozšířený test charakteru
- kočka File – Napište obsah file v hexadecimálním formátu do sériového monitoru pro viewing. Někdy je užitečné vidět, že a file nahrává správně, aniž by bylo nutné vytahovat SD kartu a view a file na počítači.
• Přampsoubor: cat LOG00004.txt
• Výstup: 00000000: 41 63 65 6c 3a 20 31
Manipulace s adresáři
- ls – Vypíše veškerý obsah aktuálního adresáře. Podporovány jsou zástupné znaky.
• Přample: ls
• Výstup: \src - Podadresář md – Vytvoří podadresář v aktuálním adresáři.
• Přample: md Example_Sketches - Podadresář cd – Změnit na podadresář.
• Přample: cd Hello_World - cd .. – Přechod do nižšího adresáře ve stromové struktuře. Mezi 'cd' a '..' je mezera. To umožňuje analyzátoru řetězců vidět příkaz cd.
• Přample: cd .. - rm Podadresář – Smaže podadresář. Aby tento příkaz fungoval, musí být adresář prázdný.
• Přample: rm teploty - rm -rf Adresář – Smaže adresář a všechny fileje v něm obsaženo.
• Přample: rm -rf Knihovny
Příkazy nízkoúrovňových funkcí
- ? – Tento příkaz zobrazí seznam dostupných příkazů v OpenLogu.
- disk – Zobrazuje ID výrobce karty, sériové číslo, datum výroby a velikost karty. Např.ampvýstup je:
Typ karty: SD2
ID výrobce: 3
ID OEM: SD
Produkt: SU01G
Verze: 8.0
Sériové číslo: 39723042
Datum výroby: 1/2010
Velikost karty: 965120 KB - init – Znovu inicializuje systém a znovu otevře SD kartu. To je užitečné, pokud SD karta přestane reagovat.
- sync – Synchronizuje aktuální obsah vyrovnávací paměti s SD kartou. Tento příkaz je užitečný, pokud máte ve vyrovnávací paměti méně než 512 znaků a chcete je zaznamenat na SD kartu.
- reset – Přeskočí OpenLog na pozici nula, znovu spustí bootloader a poté inicializuje kód. Tento příkaz je užitečný, pokud potřebujete upravit konfiguraci. file, resetujte OpenLog a začněte používat novou konfiguraci. Vypnutí a zapnutí napájení je stále preferovanou metodou resetování desky, ale tato možnost je k dispozici.
Nastavení systému
Tato nastavení lze ručně aktualizovat nebo upravit v souboru config.txt. file.
- echo STATE – Změní stav systémového echo a uloží se do systémové paměti. STATE může být buď zapnuto, nebo vypnuto. Pokud je zapnuto, OpenLog bude na příkazovém řádku vypisovat přijatá sériová data. Pokud je vypnuto, systém přijaté znaky zpět nečte.
Poznámka: Během běžného logování bude echo vypnuto. Nároky na systémové prostředky pro echo přijatých dat jsou během logování příliš vysoké. - verbose STATE – Změní stav podrobného hlášení chyb. STATE může být zapnutý nebo vypnutý. Tento příkaz je uložen v paměti. Vypnutím podrobných chyb bude OpenLog reagovat pouze znakem !, pokud dojde k chybě, a nikoli neznámým příkazem: COMMAND. Znak ! je pro vestavěné systémy snáze analyzovatelný než plná chyba. Pokud používáte terminál, ponechání podrobného hlášení zapnuté vám umožní vidět úplné chybové zprávy.
- baud – Tento příkaz otevře systémovou nabídku, která uživateli umožní zadat přenosovou rychlost. Podporována je jakákoli přenosová rychlost mezi 300 bps a 1 Mbps. Výběr přenosové rychlosti je okamžitý a OpenLog vyžaduje pro aktivaci restartu napájení. Přenosová rychlost je uložena do paměti EEPROM a načte se při každém zapnutí OpenLogu. Výchozí hodnota je 9600 8N1.
Pamatujte: Pokud se deska zasekne na neznámé přenosové rychlosti, můžete propojit RX s GND a zapnout OpenLog. LED diody budou 2 sekundy blikat tam a zpět a poté budou blikat současně. Vypněte OpenLog a odstraňte propojku. OpenLog se nyní resetuje na 9600 bps po třikrát po sobě stisknuté klávesové zkratky `CTRL-Z`. Tuto funkci lze přepsat nastavením bitu Emergency Override na 1.
Více informací naleznete v souboru config.txt.
- set – Tento příkaz otevře systémovou nabídku pro výběr režimu spouštění. Tato nastavení se provedou při
• při dalším zapnutí a jsou uloženy v energeticky nezávislé paměti EEPROM. Nové File Protokolování – Tento režim vytváří nový file při každém zapnutí OpenLogu. OpenLog odešle 1 (UART je aktivní), 2 (SD karta je inicializována) a poté < (OpenLog je připraven přijímat data). Všechna data budou zaznamenána do souboru LOG#####.txt. Číslo ##### se zvyšuje při každém zapnutí OpenLogu (maximálně 65533 záznamů). Číslo je uloženo v EEPROM a lze jej resetovat z nabídky nastavení.
Všechny přijaté znaky se neodesílají. Tento režim můžete ukončit a vstoupit do příkazového režimu odesláním kombinace kláves CTRL+z (ASCII 26). Všechna data uložená v bufferu budou uložena.
Poznámka: Pokud bylo vytvořeno příliš mnoho protokolů, OpenLog vypíše chybu **Příliš mnoho protokolů**, ukončí tento režim a přejde do příkazového řádku. Sériový výstup bude vypadat takto: `12!Příliš mnoho protokolů!`.
- Připojit File Protokolování – Tento režim, známý také jako sekvenční režim, vytváří file nazývá se SEQLOG.txt, pokud tam již není, a připojí všechna přijatá data k fileOpenLog odešle kód 12<, v tomto okamžiku je OpenLog připraven přijímat data. Znaky se neodesílají. Tento režim můžete ukončit a vstoupit do příkazového režimu odesláním kombinace kláves CTRL+z (ASCII 26). Všechna data uložená v bufferu budou uložena.
- Příkazový řádek – OpenLog odešle 12>, v tomto okamžiku je systém připraven přijímat příkazy. Znak > označuje, že OpenLog je připraven přijímat příkazy, nikoli data. Můžete vytvořit filea přidat data do files, ale to vyžaduje sériovou analýzu (pro kontrolu chyb), takže tento režim ve výchozím nastavení nenastavujeme.
- Obnovit Nové File Číslo – Tento režim vynuluje protokol. file číslo do souboru LOG000.txt. To je užitečné, pokud jste nedávno vymazali paměť karty microSD a chcete protokol file čísla pro nový začátek.
- Nový řídicí znak – Tato možnost umožňuje uživateli zadat znak, například CTRL+z nebo $ , a nastavit jej jako nový řídicí znak. Během nouzového resetu se toto nastavení resetuje na CTRL+z.
- Počet escape znaků – Tato možnost umožňuje uživateli zadat znak (například 1, 3 nebo 17) a aktualizovat tak nový počet escape znaků potřebných k přechodu do příkazového režimu. Napříkladampnapř. zadáním čísla 8 bude nutné, aby uživatel osmkrát stiskl klávesy CTRL+Z, aby se dostal do příkazového režimu. Toto nastavení se během nouzového resetu resetuje na 3.
Vysvětlení escape znaků: Důvod, proč OpenLog vyžaduje trojí stisknutí kláves `CTRL+z` pro vstup do příkazového režimu, je zabránění nechtěnému resetování desky během nahrávání nového kódu z Arduino IDE. Existuje možnost, že deska během bootování uvidí znak `CTRL+z` (problém, který jsme pozorovali v dřívějších verzích firmwaru OpenLog), takže cílem je tomu zabránit. Pokud máte podezření, že vaše deska byla kvůli tomu zablokována, můžete vždy provést nouzový reset tak, že během zapínání podržíte pin RX na zemi.
Konfigurace File
Pokud nechcete používat sériový terminál k úpravě nastavení OpenLogu, můžete nastavení aktualizovat také úpravou souboru CONFIG.TXT. file.
Poznámka: Tato funkce funguje pouze s verzí firmwaru 1.6 nebo novější. Pokud jste si OpenLog zakoupili po roce 2012, budete používat firmware verze 1.6+.
K tomu budete potřebovat čtečku karet microSD a textový editor. Otevřete soubor config.txt file (velká písmena) file (na názvu nezáleží) a nakonfigurujte ho! Pokud jste svůj OpenLog nikdy předtím nezapnuli pomocí SD karty, můžete také ručně vytvořit filePokud jste již dříve zapnuli OpenLog s vloženou kartou microSD, měli byste při načtení karty microSD vidět něco podobného jako je následující.OpenLog vytvoří soubory config.txt a LOG0000.txt file při prvním zapnutí.
Výchozí konfigurace file má jeden řádek nastavení a jeden řádek definic.Výchozí konfigurace file napsáno OpenLogem.
Všimněte si, že se jedná o běžné viditelné znaky (neexistují žádné neviditelné ani binární hodnoty) a každá hodnota je oddělena čárkou.
Nastavení jsou definována následovně:
- baud: Přenosová rychlost komunikace. Výchozí hodnota je 9600 bps. Přijatelné hodnoty kompatibilní s Arduino IDE jsou 2400, 4800, 9600, 19200, 38400, 57600 a 115200. Můžete použít i jiné přenosové rychlosti, ale nebudete moci komunikovat s OpenLog přes sériový monitor Arduino IDE.
- escape: Hodnota ASCII (v desítkovém formátu) escape znaku. 26 je CTRL+z a je výchozí. 36 je $ a je běžně používaný escape znak.
- esc#: Počet požadovaných escape znaků. Ve výchozím nastavení jsou to tři, takže pro přechod do příkazového režimu musíte escape znak stisknout třikrát. Přijatelné hodnoty jsou od 0 do 254. Nastavením této hodnoty na 0 se kontrola escape znaků zcela vypne.
- režim: Systémový režim. OpenLog se standardně spouští v režimu Nový protokol (0). Přijatelné hodnoty jsou 0 = Nový protokol, 1 = Sekvenční protokol, 2 = Příkazový režim.
- sloveso: Podrobný režim. Rozšířené (podrobné) chybové zprávy jsou ve výchozím nastavení zapnuty. Nastavením na 1 se zapnou podrobné chybové zprávy (například neznámý příkaz: odstranit !). Nastavením na 0 se vypnou podrobné chyby, ale v případě chyby se zobrazí odpověď !. Vypnutí podrobného režimu je užitečné, pokud se pokoušíte ošetřit chyby z vestavěného systému.
- echo: Režim ozvěny. V příkazovém režimu se znaky standardně ozvěnou opakují. Nastavením na 0 se ozvěna znaků vypne. Vypnutí této funkce je užitečné, pokud se řeší chyby a nechcete, aby se odeslané příkazy ozvěnou opakovaly zpět do OpenLogu.
- ignoreRX: Nouzové přepsání. OpenLog se obvykle nouzově resetuje, když je pin RX během zapínání nastaven na nízkou úroveň. Nastavením na 1 se zakáže kontrola pinu RX během zapínání. To může být užitečné pro systémy, které z různých důvodů udržují linku RX na nízké úrovni. Pokud je nouzové přepsání zakázáno, nebudete moci jednotku vynutit zpět na 9600 bps a konfigurace... file bude jediný způsob, jak upravit přenosovou rychlost.
Jak OpenLog upravuje konfiguraci File
Existuje pět různých situací, kdy OpenLog může upravit soubor config.txt. file.
- Konfigurace file nalezeno: Během zapínání bude OpenLog hledat soubor config.txt file. Pokud file je nalezeno, OpenLog použije zahrnutá nastavení a přepíše veškerá dříve uložená systémová nastavení.
- Žádná konfigurace file nalezeno: Pokud OpenLog nemůže najít soubor config.txt file OpenLog pak vytvoří soubor config.txt a zaznamená do něj aktuálně uložená systémová nastavení. To znamená, že pokud vložíte nově naformátovanou kartu microSD, váš systém si zachová aktuální nastavení.
- Poškozená konfigurace file nalezeno: OpenLog smaže poškozený soubor config.txt filea přepíše jak interní nastavení EEPROM, tak nastavení souboru config.txt file do známého dobrého stavu 9600,26,3,0,1,1,0.
- Neplatné hodnoty v konfiguraci filePokud OpenLog zjistí jakékoli nastavení obsahující neplatné hodnoty, OpenLog přepíše poškozené hodnoty v souboru config.txt. file s aktuálně uloženým nastavením systému EEPROM.
- Změny pomocí příkazového řádku: Pokud se systémová nastavení změní pomocí příkazového řádku (buď přes sériové připojení, nebo pomocí sériových příkazů mikrokontroléru), budou tyto změny zaznamenány jak do systémové EEPROM, tak do souboru config.txt. file.
- Nouzový reset: Pokud je OpenLog vypnut a zapnut pomocí propojky mezi RX a GND a bit Emergency Override je nastaven na 0 (což umožňuje nouzový reset), OpenLog přepíše jak interní nastavení EEPROM, tak nastavení souboru config.txt. file do známého dobrého stavu 9600,26,3,0,1,1,0.
Odstraňování problémů
Existuje několik různých možností, jak zkontrolovat, zda máte problémy s připojením přes sériový monitor, problémy se ztracenými znaky v protokolech nebo bojujete s blokovaným OpenLogem.
Zkontrolujte chování LED diody STAT1
LED dioda STAT1 vykazuje odlišné chování u dvou různých běžných chyb.
- 3 bliknutí: Inicializace karty microSD selhala. Možná bude nutné kartu naformátovat v počítači pomocí systému souborů FAT/FAT16.
- 5 bliknutí: OpenLog přepnul na novou přenosovou rychlost a je třeba jej vypnout a znovu zapnout.
Dvojitá kontrola struktury podadresářů
Pokud používáte výchozí soubor OpenLog.inoampOpenLog bude podporovat pouze dva podadresáře. Budete muset změnit FOLDER_TRACK_DEPTH z 2 na počet podadresářů, které potřebujete podporovat. Jakmile to uděláte, překompilujte kód a nahrajte upravený firmware.
Ověřte počet Filev kořenovém adresáři
OpenLog bude podporovat pouze maximálně 65,534 XNUMX protokolů. files v kořenovém adresáři. Pro zvýšení rychlosti záznamu doporučujeme přeformátovat kartu microSD.
Ověřte velikost upraveného firmwaru
Pokud píšete vlastní skicu pro OpenLog, ověřte, že vaše skica není větší než 32,256 500. Pokud ano, zabere horních XNUMX bajtů flash paměti, které používá sériový bootloader Optiboot.
Dvojitá kontrola File Jména
Vše file Jména by měla být alfanumerická. MyLOG1.txt je v pořádku, ale Hi !e _.txt nemusí fungovat.
Použijte 9600 baudů
OpenLog běží na čipu ATmega328 a má omezené množství paměti RAM (2048 bajtů). Když do OpenLogu odešlete sériové znaky, tyto znaky se ukládají do vyrovnávací paměti. Zjednodušená specifikace SD Group umožňuje, aby SD kartě trvalo až 250 ms (kapitola 4.6.2.2 Zápis), než zaznamená blok dat do flash paměti.
Při rychlosti 9600 b/s je to 960 bajtů (10 bitů na bajt) za sekundu. To je 1.04 ms na bajt. OpenLog v současné době používá 512bajtovou přijímací vyrovnávací paměť, takže dokáže ukládat do vyrovnávací paměti přibližně 50 ms znaků. To umožňuje OpenLogu úspěšně přijímat všechny znaky přicházející rychlostí 9600 b/s. Se zvyšující se přenosovou rychlostí se vyrovnávací paměť zkrátí.
Doba přetečení vyrovnávací paměti OpenLog
Přenosová rychlost | Čas na bajt | Doba do přeplnění vyrovnávací paměti |
9600 bps | 1.04 ms | 532 ms |
57600 bps | 0.174 ms | 88 ms |
115200 bps | 0.087 ms | 44 ms |
Mnoho SD karet má dobu záznamu kratší než 250 ms. To může být ovlivněno „třídou“ karty a množstvím dat, která jsou na kartě již uložena. Řešením je použití nižší přenosové rychlosti nebo prodloužení doby mezi znaky odeslanými při vyšší přenosové rychlosti.
Naformátujte kartu MicroSD
Nezapomeňte použít kartu s malým počtem nebo žádnou files na něm. Karta microSD s 3.1 GB ZIP archivu filenebo MP3 má pomalejší dobu odezvy než prázdná karta.
Pokud jste kartu microSD nenaformátovali v operačním systému Windows, přeformátujte ji a vytvořte soubor DOS. filesystém na SD kartě.
Výměna karet MicroSD
Existuje mnoho různých výrobců karet, přeznačených karet, velikostí karet a tříd karet a ne všechny nemusí fungovat správně. Obvykle používáme 8GB microSD kartu třídy 4, která funguje dobře s rychlostí 9600 b/s. Pokud potřebujete vyšší přenosové rychlosti nebo větší úložný prostor, můžete vyzkoušet karty třídy 6 nebo vyšší.
Přidat zpoždění mezi zápisy znaků
Přidáním malého zpoždění mezi příkazy Serial.print() můžete dát OpenLogu šanci zaznamenat svůj aktuální
vyrovnávací paměť.
Napřampten:
Serial.begin(115200);
pro(int i = 1; i < 10; i++) {
Serial.print(i, DEC);
Serial.println(„:abcdefghijklmnopqrstuvwxyz-!#“);
}
nemusí se správně zaznamenávat, protože se odesílá velké množství znaků hned vedle sebe. Vložení malého zpoždění 15 ms mezi zápisy velkých znaků pomůže OpenLogu zaznamenávat bez ztráty znaků.
Serial.begin(115200);
pro(int i = 1; i < 10; i++) {
Serial.print(i, DEC);
Serial.println(„:abcdefghijklmnopqrstuvwxyz-!#“);
zpoždění(15);
}
Přidejte kompatibilitu sériového monitoru Arduino
Pokud se pokoušíte použít OpenLog s vestavěnou knihovnou pro sériový port nebo knihovnou SoftwareSerial, můžete zaznamenat problémy s příkazovým režimem. Serial.println() odesílá jak znak nového řádku, tak i konec řádku. Existují dva alternativní příkazy, jak tento problém vyřešit.
Prvním je použití příkazu \r (ASCII znak pro návrat vozíku):
Serial.print(“TEXT\r”);
Alternativně můžete odeslat hodnotu 13 (znak konce desetinné čárky):
Serial.print(„TEXT“);
Serial.write(13);
Nouzový reset
Nezapomeňte, že pokud potřebujete resetovat OpenLog do výchozího stavu, můžete desku resetovat propojením pinu RX s GND, zapnutím OpenLog, vyčkáním, dokud LED diody nezačnou blikat současně, a poté vypnutím OpenLog a odstraněním propojky.
Pokud jste změnili bit nouzového přepsání na 1, budete muset upravit konfiguraci. file, protože nouzový reset nebude fungovat.
Ověřte si to u komunity
Pokud stále máte problémy s OpenLogem, podívejte se prosím na aktuální a uzavřené problémy v našem repozitáři GitHub zde. S OpenLogem pracuje velká komunita, takže je pravděpodobné, že někdo našel řešení problému, který vidíte.
Zdroje a další postup
Nyní, když jste úspěšně zaznamenali data pomocí OpenLogu, můžete nastavit vzdálené projekty a sledovat všechna možná přicházející data. Zvažte vytvoření vlastního projektu Občanská věda nebo dokonce sledování domácích mazlíčků, abyste viděli, co Fluffy dělá, když je venku!
Prohlédněte si tyto další zdroje, které vám pomohou s řešením problémů nebo vám pomohou s inspirací pro váš další projekt.
- OpenLog GitHub
- Projekt Illumitune
- Připojení světelného senzoru LilyPad
- BadgerHack: Doplněk pro senzor půdy
- Začínáme s OBD-II
- Vernierova fotobrána
Potřebujete další inspiraci? Podívejte se na některé z těchto souvisejících návodů:
Dálkový senzor hladiny vody Photon
Naučte se, jak si postavit dálkový snímač hladiny vody pro zásobník vody a jak na základě naměřených hodnot automatizovat čerpadlo!
Dálkový senzor hladiny vody Photon
Naučte se, jak si postavit dálkový snímač hladiny vody pro zásobník vody a jak na základě naměřených hodnot automatizovat čerpadlo!
Záznam dat do Tabulek Google pomocí Tesselu 2
Tento projekt se zabývá tím, jak dvěma způsoby zaznamenávat data do Tabulek Google: pomocí IFTTT s web připojení nebo USB flash disk a „sneakernet“ bez něj.
Grafické znázornění dat ze senzorů pomocí Pythonu a Matplotlibu
Pomocí knihovny matplotlib vytvořte graf teplotních dat shromážděných ze senzoru TMP102 připojeného k Raspberry Pi v reálném čase.
Pokud máte k tutoriálu jakékoli připomínky, navštivte prosím komentáře nebo kontaktujte náš tým technické podpory na adrese TechSupport@sparkfun.com.
Dokumenty / zdroje
![]() |
Vývojové desky SparkFun DEV-13712 [pdfUživatelská příručka DEV-13712, DEV-11114, DEV-09873, CAB-12016, COM-13833, COM-13004, PRT-00115, PRT-08431, DEV-13712 Vývojové desky SparkFun, DEV-13712, Vývojové desky SparkFun, Vývojové desky, Desky |