SparkFun DEV-13712 Particle Photon s otvory pro pájení
Specifikace
- Název produktu: OpenLog Data Logger
- Model: DEV-13712
- Napájení: 3.3 V - 12 V (doporučeno 3.3 V - 5 V)
- Vstupní hlasitost RXItage: 2.0V-3.8V
- Výstupní hlasitost TXOtage: 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-23mA (s microSD kartou)
Návod k použití produktu
Potřebné materiály:
- Arduino Pro Mini 328 – 3.3V/8MHz
- Základní rozbočovač SparkFun FTDI – 3.3 V
- USB kabel SparkFun Cerberus – 6 m
- Paměťová karta microSD s adaptérem – 16 GB (třída 10)
- Čtečka microSD USB
- Ženské záhlaví
- Startovací kabely Premium 6 M/M, balení po 10 kusech
- Oddělovací samčí konektory – pravoúhlé
Doporučená literatura:
- Jak pájet: Pájení skrz otvor
- Základy sériové komunikace
- Serial Peripheral Interface (SPI)
- Základy sériového terminálu
Konec hardwaruview:
OpenLog běží s následujícím nastavením:
Vstup VCC | Vstup RXI | Výstup TXO | Odběr proudu v klidu | Odběr proudu při aktivním zápisu |
---|---|---|---|---|
3.3 V–12 V (doporučeno 3.3 V–5 V) | 2.0V-3.8V | 3.3V | ~2mA–5mA (bez microSD karty), ~5mA–6mA (s microSD kartou) | ~20–23 mA (s kartou microSD) |
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-13712
SparkFun 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 OpenLogu
Seznam přání SparkFun
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.
- Sériová komunikace Koncepty asynchronní sériové komunikace: pakety, úrovně signálu, přenosové rychlosti, UART a další!
- 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.
- 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
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ý běží na 16 MHz díky integrovanému krystalu. ATmega328 má nainstalovaný bootloader Optiboot, který umožňuje kompatibilitu OpenLogu s...
Nastavení 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á zařízením OpenLog jsou uložena na kartě microSD. OpenLog funguje s kartami microSD, které mají následující funkce:
- 64MB na 32GB
- FAT16 nebo FAT32
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í
TipPokud máte samičí konektor na OpenLogu 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 přeprogramovat desku 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 počítače. Otevřete sériový terminál, připojte ji k COM portu FTDI Basic a pusťte se 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 OpenLogem. Ujistěte se, že jste zapojili piny označené BLK na Pro Mini i OpenLog (piny označené GRN na obou se při správném provedení 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 Arduinem Pro Mini a Arduinem 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.
Všimněte si, ž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.hh file nachází se 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 znovu 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. Pro použití následujících nastavení budete muset 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.
- Nový File – Vytvoří nový file jmenoval File v aktuálním adresáři. Standard 8.3 fileJména jsou podporována. Napříkladamptj. „87654321.123“ je přijatelné, zatímco „987654321.123“ nikoli.
- Example: 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 fileNepřenáší se přes sériový terminál. Pokud File neexistuje, když je tato funkce volána, file bude vytvořen.
- Example: přidat novýfile.csv
- Napsat File OFFSET – Zapište 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.
- Example: zápis logs.txt 516
- rm File – Smaže File z aktuálního adresáře. Zástupné znaky jsou podporovány.
- Example: rm README.txt
- velikost File – Výstupní velikost File v bajtech.
- Exampsoubor: velikost Log112.csv
- Výstup: 11
- Číst File + START+ TYP DÉLKY – Výpis obsahu File počínaje od START a pokračující k DÉLCE. Pokud je START vynechán, 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í:
- Example: čtení LOG00004.txt
- Výstup: Akcelerometr X=12 Y=215 Z=317
- Čtení od začátku 0 s délkou 5:
- Example: čtení LOG00004.txt 0 5
- Výstup: Zrychlení
- Čtení z pozice 1 s délkou 5 v HEX:
- Example: čtení LOG00004.txt 1 5 2
- Výstup: 63 63 65 6C
- Čtení z pozice 0 s délkou 50 v RAW:
- Example: č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.
- Exampsoubor: 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.
- Example: ls
- Výstup: \src
- Podadresář md – Vytvoří podadresář v aktuálním adresáři.
- Example: md Example_Sketches
- Podadresář cd – Změnit na podadresář.
- Example: 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.
- Example: cd ..
- rm Podadresář – Smaže podadresář. Aby tento příkaz fungoval, musí být adresář prázdný.
- Example: rm teploty
- rm -rf Adresář – Smaže adresář a všechny fileje v něm obsaženo.
- Example: 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.
- Synchronizace – 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é inicializační 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ému 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 odečítat přijatá sériová data. Pokud je vypnuto, systém přijaté znaky zpět nenačítá.
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 ne neznámým příkazem: PŘÍKAZ.D..T Znaky he jsou pro vestavěné systémy snadněji 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 vám 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.
- Nastavení – Tento příkaz otevírá systémové menu pro výběr režimu spouštění. Toto nastavení se projeví při dalším zapnutí a je uloženo v energeticky nezávislé paměti EEPROM.
- Nový File Protokolování – Tento režim vytváří nový file Při každém zapnutí OpenLogu odešle OpenLog signál 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í počet záznamů je 65533). Číslo je uloženo v EEPROM a lze jej resetovat z nabídky nastavení. Ne všechny přijaté znaky jsou přehrávány. Tento režim můžete ukončit a vstoupit do příkazového režimu odesláním CTRL+z (ASCII 26). Všechna uložená data 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 resetu 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 firmwarem verze 1.6 nebo novějším. 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 byl napsán 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 OpenLogem prostřednictvím sériového monitoru Arduino IDE.
- Escap:e 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: odebrat !). 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 Echo. V příkazovém režimu se znaky standardně opakují. Nastavením na 0 se echo znaků vypne. Vypnutí je užitečné, pokud se jedná o zpracování chyb a nechcete, aby se odeslané příkazy opakovaly zpět do OpenLog.II.
- Ignorujte nouzové přepsání RX. OpenLog se obvykle nouzově resetuje, když je pin RX během zapínání nastaven na nízkou úroveň. Nastavením této hodnoty 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 _ .txtt 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ž zapíše 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.
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 kartu DOS. filesystém na SD kartě.
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řidáním malého zpoždění mezi příkazy Serial.print() můžete dát OpenLogu šanci zaznamenat aktuální vyrovnávací paměť.
- Serial.begin(115200);
for(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);
for(int i = 1; i < 10; i++) { Serial.print(i, DEC); Serial.println(":abcdefghijklmnopqrstuvwxyz-!#"); delay(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! - Průvodce projektem Blink Board
Série projektů Blynk, které můžete nastavit na desce Blynk Board, aniž byste ji museli přeprogramovávat. - 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.
Často kladené otázky
Jaký je doporučený příkon pro OpenLog?
Doporučené vstupní napětí pro OpenLog je mezi 3.3 V a 5 V.
Kolik proudu odebírá OpenLog v nečinnosti?
OpenLog v nečinném stavu bez microSD karty odebírá přibližně 2 mA až 5 mA a s vloženou microSD kartou kolem 5 mA až 6 mA.
K čemu slouží microSD USB adaptér k OpenLog?
Čtečka microSD USB umožňuje snadný přenos dat z microSD karty používané s OpenLog do počítače.
Dokumenty / zdroje
![]() |
SparkFun DEV-13712 Particle Photon s otvory pro pájení [pdfUživatelská příručka DEV-13712, DEV-13955, DEV-13712 Částicový foton s otvory pro pájení, DEV-13712, Částicový foton s otvory pro pájení, Otvory pro pájení, Pro pájení, Pájení |