OpenLog csatlakozási útmutató
Bevezetés
Figyelem! Ez az oktatóanyag a soros UART Open Log [DEV-13712] című részéhez készült. Ha a Qwiic OpenLog for IC-t [DEV-15164] használod, kérjük, tekintsd meg a Qwiic OpenLog csatlakoztatási útmutatóját.
Az OpenLog adatnaplózó egy egyszerűen használható, nyílt forráskódú megoldás a projektek soros adatainak naplózására. Az OpenLog egy egyszerű soros interfészt biztosít az adatok microSD-kártyára történő naplózásához egy projektből.SparkFun OpenLog
• DEV-13712SparkFun OpenLog fejlécekkel
• DEV-13955
nem található termék
Szükséges anyagok
Ahhoz, hogy teljes mértékben végigmenj ezen az oktatóanyagon, a következő alkatrészekre lesz szükséged. Előfordulhat azonban, hogy nem lesz szükséged mindenre, attól függően, hogy mi van a birtokodban. Tedd a kosárba, olvasd el az útmutatót, és szükség szerint igazítsd a kosarat.
OpenLog Szexuális Kapcsolatok Útmutatója SparkFun Kívánságlista
![]() |
Arduino Pro Mini 328 – 3.3V/8MHz DEV-11114 Kék! Vékony! Ez az Arduino Pro Mini! A SparkFun minimalista dizájnja az Arduinohoz. Ez egy 3.3 V-os Arduino … |
![]() |
SparkFun FTDI alap breakout – 3.3 V DEV-09873 Ez a [FTDI Basic] legújabb verziója.http://www.sparkfun.com/commerce/product_info.php?products_id=… |
![]() |
SparkFun Cerberus USB kábel – 6 m CAB-12016 Rossz USB-kábeled van. Nem számít, melyik van, a rossz kábel a lényeg. De mi van, ha lehetett volna… |
![]() |
SparkFun OpenLog DEV-13712 A SparkFun OpenLog egy nyílt forráskódú adatgyűjtő, amely egyszerű soros kapcsolaton keresztül működik, és támogatja a mi… |
![]() |
microSD kártya adapterrel – 16 GB (10-es osztály) COM-13833 Ez egy 10-es osztályú, 16 GB-os microSD memóriakártya, amely tökéletes egykártyás számítógépek operációs rendszereinek tárolására… |
![]() |
microSD USB-olvasó COM-13004 Ez egy klassz kis microSD USB kártyaolvasó. Csak csúsztasd be a microSD kártyádat az USB csatlakozó belsejébe, és… |
![]() |
Női fejlécek PRT-00115 Egysoros, 40 lyukú, női csatlakozó. Méretre vágható drótvágóval. Szabványos 1 cm-es távolság. Használunk… |
![]() |
Prémium 6 cm-es áthidaló vezeték, 10 db-os csomag PRT-08431 Ez egy SparkFun exkluzív termék! Ezek 155 mm hosszú jumperek, mindkét végén apa csatlakozókkal. Használd őket… |
![]() |
Break Away férfi fejlécek – derékszögű PRT-00553 Egy sor derékszögű hím csatlakozó – illeszkedés szerint törhető. 40 tű, amelyek bármilyen méretre vághatók. Egyedi NYÁK-okkal vagy általános… |
Ajánlott olvasmány
Ha nem ismered a következő fogalmakat, vagy nem érzed jól magad velük, javasoljuk, hogy olvasd el őket, mielőtt folytatnád az OpenLog csatlakoztatási útmutatójával.
Forrasztás: Átmenő furatú forrasztás
Ez az oktatóanyag mindent tartalmaz, amit az átmenő forrasztásról tudni kell.
Soros periféria interfész (SPI)
Az SPI-t általában mikrovezérlők perifériákhoz, például érzékelőkhöz, eltolóregiszterekhez és SD-kártyákhoz való csatlakoztatására használják.
Soros kommunikáció
Aszinkron soros kommunikációs fogalmak: csomagok, jelszintek, baudráták, UART-ok és egyebek!
A soros terminál alapjai
Ez az oktatóanyag bemutatja, hogyan kommunikálhatsz soros eszközeiddel különféle terminálemulátor alkalmazások segítségével.
Hardver végeview
Hatalom
Az OpenLog a következő beállításokkal fut:
OpenLog teljesítménybesorolások
VCC bemenet | 3.3–12 V (ajánlott 3.3–5 V) |
RXI bemenet | 2.0V-3.8V |
TXO kimenet | 3.3V |
Üresjárati áramfelvétel | ~2mA-5mA (microSD kártya nélkül), ~5mA-6mA (microSD kártyával) |
Aktív írási áramfelvétel | ~20-23mA (microSD kártyával) |
Az OpenLog áramfelvétele microSD kártyára íráskor körülbelül 20 mA és 23 mA között van. A microSD kártya méretétől és gyártójától függően az aktív áramfelvétel változhat, amikor az OpenLog a memóriakártyára ír. A baud ráta növelése szintén nagyobb áramot fog felvenni.
Mikrovezérlők
Az OpenLog egy beépített ATmega328-on fut, amely a beépített kristálynak köszönhetően 16 MHz-en működik. Az ATmega328-ra telepítve van az Optiboot bootloader, amely lehetővé teszi, hogy az OpenLog kompatibilis legyen az Arduino IDE „Arduino Uno” kártyabeállításával.Felület
Soros UART
Az OpenLog elsődleges interfésze az FTDI fejléc a panel szélén. Ez a fejléc közvetlenül egy Arduino Pro vagy Pro Mini eszközhöz csatlakoztatható, lehetővé téve a mikrokontroller számára, hogy soros kapcsolaton keresztül küldje az adatokat az OpenLognak.
Figyelmeztetés! A csatlakozók sorrendje miatt, ami kompatibilissé teszi az Arduinókkal, nem csatlakoztatható közvetlenül egy FTDI elosztópanelhez. További információkért tekintse meg a hardveres csatlakoztatásról szóló következő részt.
SPI
A panel másik végén négy SPI tesztpont található. Ezekkel átprogramozhatod az ATmega328 bootloaderét.A legújabb OpenLog (DEV-13712) ezeket a lábakat kisebb, galvanizált átmenőfuratokon keresztül alakítja ki. Ha internetszolgáltatóra van szüksége az OpenLog újraprogramozásához vagy egy új rendszerbetöltő feltöltéséhez, akkor Pogo lábakat használhat ezekhez a tesztpontokhoz való csatlakozáshoz.
Az OpenLoggal való kommunikáció végső interfésze maga a microSD-kártya. A kommunikációhoz a microSD-kártya SPI csatlakozókat igényel. Az OpenLog nemcsak itt tárolja az adatokat, hanem a config.txt fájlon keresztül frissítheti is az OpenLog konfigurációját. file a microSD kártyán.
microSD kártya
Az OpenLog által naplózott összes adat a microSD kártyán tárolódik. Az OpenLog a következő funkciókkal rendelkező microSD kártyákkal működik:
- 64 MB - 32 GB
- FAT16 vagy FAT32
Állapot LED
Az OpenLog két állapotjelző LED-del rendelkezik, amelyek segítenek a hibaelhárításban.
- STAT1 – Ez a kék jelző LED az Arduino D5-höz (ATmega328 PD5) csatlakozik, és új karakter érkezésekor be-/kikapcsol. Ez a LED villog, ha a soros kommunikáció működik.
- STAT2 – Ez a zöld LED az Arduino D13-hoz (SPI soros órajel vonal/ATmega328 PB5) csatlakozik. Ez a LED csak akkor villog, ha az SPI interfész aktív. Villogni akkor fog látszani, amikor az OpenLog 512 bájtot rögzít a microSD kártyára.
Hardver csatlakoztatás
Két fő módszer létezik az OpenLog áramkörhöz való csatlakoztatására. Szükséged lesz néhány csatlakozóra vagy vezetékre a csatlakoztatáshoz. A biztonságos csatlakozás érdekében forraszd a panelre.
Alapvető soros kapcsolat
Tipp: Ha az OpenLog és az FTDI csatlakozóján női csatlakozó található, akkor M/F jumper vezetékekre lesz szükség a csatlakoztatáshoz.
Ez a hardveres csatlakozás egy OpenLog-hoz való csatlakozásra szolgál, ha újra kell programozni a panelt, vagy adatokat kell naplózni egy alapvető soros kapcsolaton keresztül.
Kösse össze a következő csatlakozásokat:
OpenLog → 3.3 V-os FTDI alap megszakító
- GND → GND
- GND → GND
- VCC → 3.3 V
- TXO → RXI
- RXI → TXO
- DTR → DTR
Figyelembe kell venni, hogy nem közvetlen kapcsolatról van szó az FTDI és az OpenLog között – fel kell cserélni a TXO és RXI lábcsatlakozásokat.
A kapcsolataidnak így kell kinézniük: Miután csatlakoztattad az OpenLog-ot és az FTDI Basic-et, csatlakoztasd az FTDI kártyát egy USB-kábellel a számítógépedhez.
Nyiss egy soros terminált, csatlakoztasd az FTDI Basic COM portjához, és indulhat a játék!
Projekt hardverkapcsolat
Tipp: Ha a női csatlakozók be vannak forrasztva az OpenLog-ra, akkor a hím csatlakozókat az Arduino Pro Mini-re is forraszthatod, hogy vezetékek nélkül összekapcsold a paneleket.Bár az OpenLog soros kapcsolaton keresztüli csatlakoztatása fontos az újraprogramozáshoz vagy a hibakereséshez, az OpenLog igazi ereje a beágyazott projektekben rejlik. Ezzel az általános áramkörrel javasoljuk, hogy az OpenLog-ot egy mikrovezérlőhöz (ebben az esetben egy Arduino Pro Mini-hez) csatlakoztasd, amely soros adatokat ír ki az OpenLog-ba.
Először fel kell töltened a kódot a futtatni kívánt Pro Mini-re. Kérjük, nézd meg az Arduino vázlatokat néhány példaért.ampa kód, amit használhatsz.
Jegyzet: Ha nem biztos benne, hogyan kell programozni a Pro Mini-t, kérjük, tekintse meg az oktatóanyagunkat itt.
Az Arduino Pro Mini 3.3V használata
Ez az oktatóanyag mindent bemutat az Arduino Pro Minivel kapcsolatban. Elmagyarázza, hogy mi ez, mi nem, és hogyan kezdheted el használni.
Miután beprogramozta a Pro Mini-t, eltávolíthatja az FTDI kártyát, és kicserélheti az OpenLog-ra.
Győződj meg róla, hogy a Pro Mini és az OpenLog BLK feliratú lábait csatlakoztattad (a GRN feliratú lábak is megegyeznek, ha helyesen csináltad).
Ha nem tudod az OpenLog-ot közvetlenül a Pro Mini-hez csatlakoztatni (nem megfelelő fejlécek vagy más útban lévő kártyák miatt), akkor használhatsz áthidaló vezetékeket és a következő csatlakozásokat hozhatod létre.
OpenLog → Arduino Pro/Arduino Pro Mini
- GND → GND
- GND → GND
- VCC → VCC
- TXO → RXI
- RXI → TXO
- DTR → DTR
Ha elkészültél, a csatlakozásaidnak az alábbiakhoz hasonlóan kell kinézniük az Arduino Pro Mini és az Arduino Pro esetében.
A Fritzing-diagram tükrözött fejlécekkel mutatja az OpenLog-okat. Ha a microSD-foglalatot az Arduino tetejéhez képest megfordítjuk... view, meg kell egyezniük a programozási fejléccel, mint egy FTDI.
Jegyzet hogy a kapcsolat egyenes vonalú, az OpenLog „fejjel lefelé” nézzen (a microSD kártyával felfelé).
⚡Megjegyzés: Mivel az OpenLog és az Arduino közötti Vcc és GND pontokat a fejlécek foglalják el, a tápellátást az Arduino többi elérhető lábához kell csatlakoztatni. Ellenkező esetben vezetékeket forraszthatsz a kártya szabadon lévő tápcsatlakozóira.
Kapcsold be a rendszeredet, és máris elkezdheted a naplózást!
Arduino vázlatok
Hat különböző ex létezikampOlyan vázlatokat is tartalmaz, amelyeket az Arduinón használhatsz, ha egy OpenLog-hoz csatlakoztatod.
- OpenLog_Benchmarking — Ez a példaampA fájlt az OpenLog tesztelésére használják. Ez nagyon nagy mennyiségű adatot küld 115200 bps sebességgel több csatornán. files.
- OpenLog_CommandTest — Ez a példaample megmutatja, hogyan hozhatunk létre és fűzhetünk hozzá egy file parancssori vezérlésen keresztül az Arduinón keresztül.
- OpenLog_ReadExample — Ez a voltampA le bemutatja, hogyan vezérelhető az OpenLog parancssorból.
- OpenLog_ReadExample_LargeFile – Plamphogyan kell kinyitni egy nagyméretű tárolót file az OpenLog-on, és jelentsd helyi Bluetooth-kapcsolaton keresztül.
- OpenLog_Test_Sketch — OpenLog tesztelésére szolgál sok soros adattal.
- OpenLog_Test_Sketch_Binary — Az OpenLog bináris adatokkal és escape karakterekkel történő tesztelésére szolgál.
Firmware
Az OpenLog két fő szoftverrel rendelkezik a fedélzeten: a rendszerbetöltővel és a firmware-rel.
Arduino rendszerbetöltő
Jegyzet: Ha egy 2012 márciusa előtt vásárolt OpenLog-ot használsz, a beépített rendszerbetöltő kompatibilis az Arduino IDE „Arduino Pro vagy Pro Mini 5V/16MHz w/ ATmega328” beállításával.
Ahogy korábban említettük, az OpenLog tartalmazza az Optiboot soros bootloadert. Az OpenLog-ot ugyanúgy kezelheted, mint egy Arduino Unót, amikor ex-t töltesz fel.ample kódot vagy új firmware-t a panelre.
Ha végül téglázod az OpenLog-ot, és újra kell telepítened a rendszerbetöltőt, akkor az Optiboot-ot is fel kell töltened a panelre. További információkért nézd meg az Arduino rendszerbetöltő telepítéséről szóló útmutatónkat.
Firmware fordítása és betöltése az OpenLog-ba
Jegyzet: Ha most használsz először Arduinót, kérlek,view útmutatónk az Arduino IDE telepítéséről. Ha korábban még nem telepített Arduino könyvtárat, kérjük, tekintse meg telepítési útmutatónkat a könyvtárak manuális telepítéséhez.
Ha bármilyen okból frissítenie vagy újratelepítenie kell az OpenLog firmware-jét, a következő folyamat segít abban, hogy a kártya működőképes legyen.
Először is, töltsd le az Arduino IDE v1.6.5-ös verzióját. Az IDE más verziói is működhetnek az OpenLog firmware lefordításához, de ezt egy ismert, működő verzióként ellenőriztük.
Ezután töltse le az OpenLog firmware-t és a szükséges könyvtárakat tartalmazó csomagot.
OPENLOG FIRMWARE CSOMAG (ZIP) LETÖLTÉSE
Miután letöltötted a könyvtárakat és a firmware-t, telepítsd azokat az Arduino-ba. Ha nem vagy biztos benne, hogyan telepítsd manuálisan a könyvtárakat az IDE-be, kérjük, nézd meg az oktatóanyagunkat: Arduino könyvtár telepítése: Könyvtár manuális telepítése.
Jegyzet: Az SdFat és a SerialPort könyvtárak módosított verzióit használjuk, hogy önkényesen meghatározhassuk a TX és RX pufferek méretét. Az OpenLog megköveteli, hogy a TX puffer nagyon kicsi (0), az RX puffer pedig a lehető legnagyobb legyen. E két módosított könyvtár együttes használata lehetővé teszi az OpenLog teljesítményének növelését.
A legújabb verziókat keresed? Ha a függvénykönyvtárak és firmware legfrissebb verzióit szeretnéd, közvetlenül letöltheted azokat az alább linkelt GitHub tárolókból. Az SdFatLib és a Serial Port függvénykönyvtárak nem láthatók az Arduino board managerben, ezért manuálisan kell telepítened a függvénykönyvtárat.
- GitHub: OpenLog > Firmware > OpenLog_Firmware
- Bill Greiman Arduino könyvtárai
SdFatLib-béta
Soros port
Ezután, hogy előnyt kovácsoljunktagA módosított könyvtárak közül módosítsa a SerialPort.h fájlt file található az \Arduino\Libraries\SerialPort könyvtárban. Változtassa meg a BUFFERED_TX értékét 0-ra, az ENABLE_RX_ERROR_CHECKING értékét pedig 0-ra. Mentse el a file, és nyisd meg az Arduino IDE-t.
Ha még nem tette meg, csatlakoztassa az OpenLog-ot a számítógéphez egy FTDI kártyán keresztül. Kérjük, ellenőrizze az example áramkör, ha nem biztos benne, hogyan kell ezt helyesen csinálni.
Nyisd meg a feltölteni kívánt OpenLog vázlatot az Eszközök>Plakat menüben, válaszd ki az „Arduino/Genuino Uno” lehetőséget, és válaszd ki az FTDI paneledhez megfelelő COM portot az Eszközök>Port menüpontban.
Töltsd fel a kódot.
Ennyi! Az OpenLog most már új firmware-rel van programozva. Most már megnyithatsz egy soros monitort, és kommunikálhatsz az OpenLoggal. Bekapcsoláskor a 12> vagy a 12< feliratot fogod látni. Az 1 a soros kapcsolat létrejöttét, a 2 az SD-kártya sikeres inicializálását, a < azt jelzi, hogy az OpenLog készen áll a fogadott soros adatok naplózására, a > pedig azt jelzi, hogy az OpenLog készen áll a parancsok fogadására.
OpenLog firmware vázlatok
Három mellékelt vázlat található, amelyeket az OpenLog-on használhatsz, az adott alkalmazástól függően.
- OpenLog – Ez a firmware alapértelmezés szerint az OpenLog része. A ? parancs elküldésével megtekinthető az egységre betöltött firmware verziója.
- OpenLog_Light – A vázlat ezen verziója eltávolítja a menüt és a parancs módot, lehetővé téve a fogadó puffer növelését. Ez egy jó lehetőség a nagy sebességű naplózáshoz.
- OpenLog_Minimal – Az átviteli sebességet a kódban kell beállítani és feltölteni. Ez a vázlat tapasztalt felhasználóknak ajánlott, de a legnagyobb sebességű naplózáshoz is ez a legjobb megoldás.
Parancskészlet
Az OpenLoghoz soros terminálon keresztül lehet kapcsolódni. A következő parancsok segítenek az olvasásban, írásban és törlésben files, valamint módosíthatja az OpenLog beállításait. A következő beállítások használatához parancs módban kell lennie.
Amíg az OpenLog parancs módban van, a STAT1 minden fogadott karakternél be-/kikapcsol. A LED a következő karakter vételéig világít.
File Manipuláció
- új File – Létrehoz egy újat file nevű File az aktuális könyvtárban. 8.3-as szabvány filenevek támogatottak.
PlampPéldául a „87654321.123” elfogadható, míg a „987654321.123” nem.
• Plample: új file1.txt - mellékel File – Szöveg hozzáfűzése a végéhez FileA soros adatokat ezután egy adatfolyamban olvassák ki az UART-ból, és hozzáadják a ... fileNem visszhangzik a soros terminálon. Ha File nem létezik, amikor ezt a függvényt meghívjuk, a file létrejön.
• Plample: új hozzáfűzésefile.csv - írj File OFFSET – Szöveg írása ide File az OFFSET helytől a fileA szöveget soronként olvassa be az UART-ból, majd visszajátssza. A kilépéshez küldjön egy üres sort.
• Plample: írd be a logs.txt fájlt 516 - rm File – Törlések File az aktuális könyvtárból. A helyettesítő karakterek támogatottak.
• Plampfájl: rm README.txt - méret File – Kimeneti méret File bájtban.
• Plampfájl: méret Log112.csv
• Kimenet: 11 - olvas File + START+ HOSSZ TÍPUS – Kiírja a tartalom tartalmát File a START-tól kezdve és a HOSSZÚSÁGIG haladva.
Ha a START parancsot kihagyjuk, a teljes file jelentés készül. Ha a LENGTH paramétert nem adjuk meg, akkor a kezdőponttól számított teljes tartalom kerül jelentésre. Ha a TYPE paramétert nem adjuk meg, az OpenLog alapértelmezés szerint ASCII formátumban jelenti a jelentést. Háromféle kimeneti TYPE létezik:
• ASCII = 1
• HEX = 2
• NYERS = 3
Elhagyhatsz néhány záró argumentumot. Nézd meg a következő példát:amples.
Alapvető olvasási + kihagyott jelzők:
• Plample: olvasd el a LOG00004.txt fájlt
• Kimenet: Gyorsulásmérő X=12 Y=215 Z=317
Olvassa el a 0. elejétől, 5 hosszúsággal:
• Plample: beolvasni a LOG00004.txt fájlt 0 5
• Kimenet: Gyorsítás
Olvassa el az 1. pozíciótól 5 hosszúságú HEX formátumban:
• Plample: olvasd el a LOG00004.txt fájlt 1 5 2
• Kimenet: 63 63 65 6C - Olvassa el a 0. pozíciótól 50 karakter hosszúsággal RAW formátumban:
- • Plample: olvasd el a LOG00137.txt fájlt 0 50 3
- • Kimenet: André– -þ Bővített karakterteszt
- macska File – Írd meg egy tartalom tartalmát file hexadecimálisan a soros monitorhoz viewEz néha hasznos annak belátására, hogy egy file megfelelően rögzít anélkül, hogy ki kellene húzni az SD-kártyát, és view a file a számítógépen.
• Plampfájl: cat LOG00004.txt
• Kimenet: 00000000: 41 63 65 6c 3a 20 31
Könyvtárkezelés
- ls – Felsorolja az aktuális könyvtár teljes tartalmát. Helyettesítő karakterek használata támogatott.
• Plample: ls
• Kimenet: \src - md alkönyvtár – Alkönyvtár létrehozása az aktuális könyvtárban.
• Plample: md Example_Vázlatok - cd alkönyvtár – Váltás alkönyvtárra.
• Plample: cd Hello_World - cd .. – Váltás egy alacsonyabb könyvtárba a fában. Figyeljük meg, hogy a 'cd' és a '..' között szóköz van. Ez lehetővé teszi, hogy a karakterlánc-elemző lássa a cd parancsot.
• Plample: cd .. - rm Alkönyvtár – Törli az alkönyvtárat. A parancs működéséhez a könyvtárnak üresnek kell lennie.
• Plample: rm hőmérsékletek - rm -rf Könyvtár – Törli a könyvtárat és minden filebenne foglaltatik.
• Plampfájl: rm -rf Könyvtárak
Alacsony szintű függvényparancsok
- ? – Ez a parancs megjeleníti az OpenLog-on elérhető parancsok listáját.
- lemez – Megjeleníti a kártya gyártójának azonosítóját, sorozatszámát, gyártási dátumát és a kártya méretét. Pl.ampa kimenet a következő:
Kártyatípus: SD2
Gyártói azonosító: 3
OEM-azonosító: SD
Termék: SU01G
Verzió: 8.0
Sorozatszám: 39723042
Gyártási dátum: 1/2010
Kártya mérete: 965120 KB - init – A rendszer újrainicializálása és az SD-kártya újbóli megnyitása. Ez akkor hasznos, ha az SD-kártya nem reagál.
- sync – Szinkronizálja a puffer aktuális tartalmát az SD-kártyával. Ez a parancs akkor hasznos, ha kevesebb, mint 512 karakter van a pufferben, és ezeket az SD-kártyára szeretnéd rögzíteni.
- reset – Az OpenLog naplót a nulla helyre ugrik, újrafuttatja a rendszerbetöltőt, majd elindítja az init kódot. Ez a parancs akkor hasznos, ha szerkeszteni kell a konfigurációt. file, állítsa alaphelyzetbe az OpenLog-ot, és kezdje el használni az új konfigurációt. A tápellátás/kikapcsolás továbbra is az előnyben részesített módszer a kártya alaphelyzetbe állítására, de ez a lehetőség elérhető.
Rendszerbeállítások
Ezek a beállítások manuálisan frissíthetők, vagy szerkeszthetők a config.txt fájlban. file.
- echo STATE – Megváltoztatja a rendszer echo állapotát, és a rendszermemóriában tárolódik. A STATE lehet be- vagy kikapcsolt állapotban. Bekapcsolt állapotban az OpenLog a fogadott soros adatokat echo módon megjeleníti a parancssorban. Kikapcsolt állapotban a rendszer nem olvassa vissza a fogadott karaktereket.
Jegyzet: Normál naplózás közben a visszhang ki van kapcsolva. A fogadott adatok visszhangozásához szükséges rendszererőforrás-igény túl magas naplózás közben. - verbose STATE – Megváltoztatja a részletes hibajelentés állapotát. A STATE lehet be- vagy kikapcsolva. Ez a parancs a memóriában tárolódik. A részletes hibák kikapcsolásával az OpenLog csak egy ! karakterrel válaszol, ha hiba van, ismeretlen parancs helyett: COMMAND . A ! karaktert a beágyazott rendszerek könnyebben elemzik, mint a teljes hibát. Ha terminált használ, a verbose bekapcsolva hagyása lehetővé teszi a teljes hibaüzenetek megtekintését.
- baud – Ez a parancs megnyit egy rendszermenüt, amely lehetővé teszi a felhasználó számára az átviteli sebesség megadását. 300 bps és 1 Mbps közötti bármilyen átviteli sebesség támogatott. A baud sebesség kiválasztása azonnal elvégezhető, és az OpenLog számára a beállítások érvénybe lépéséhez ki- és bekapcsolásra van szükség. A baud sebességet a rendszer EEPROM-ban tárolja, és minden alkalommal betöltődik, amikor az OpenLog beindul. Az alapértelmezett érték 9600 8N1.
Ne feledd: Ha a panel ismeretlen baud rátánál ragad, az RX-et a GND-hez kötheted, és bekapcsolhatod az OpenLog-ot. A LED-ek 2 másodpercig oda-vissza villognak, majd egyszerre. Kapcsold ki az OpenLog-ot, és távolítsd el a jumpert. Az OpenLog most 9600 bps-ra áll vissza a `CTRL-Z` escape karakter háromszori megnyomásával. Ez a funkció felülírható a Vészhelyzeti Felülírás bit 1-re állításával.
További információkért lásd a config.txt fájlt.
- set – Ez a parancs megnyit egy rendszermenüt a rendszerindítási mód kiválasztásához. Ezek a beállítások a következő helyen érvényesülnek:
• a következő bekapcsoláskor, és nem felejtő EEPROM-ban tárolódnak. Új File Naplózás – Ez a mód új naplót hoz létre file Minden alkalommal, amikor az OpenLog beindul. Az OpenLog 1-et (UART aktív), 2-t (SD-kártya inicializálva), majd <-t (OpenLog készen áll az adatok fogadására) küld. Minden adat LOG#####.txt fájlba kerül rögzítésre. A ##### szám minden alkalommal növekszik, amikor az OpenLog beindul (a maximum 65533 napló). A szám EEPROM-ban tárolódik, és a beállítások menüből visszaállítható.
A fogadott karakterek nem kerülnek visszhangra. Ebből a módból kiléphet, és parancs módba léphet a CTRL+z (ASCII 26) billentyűkombináció elküldésével. Minden pufferelt adat tárolásra kerül.
Jegyzet: Ha túl sok napló lett létrehozva, az OpenLog **Túl sok napló** hibát ad ki, kilép ebből a módból, és a parancssorba ugrik. A soros kimenet így fog kinézni: `12!Túl sok napló!`.
- Mellékel File Naplózás – Szekvenciális módként is ismert, ez a mód létrehoz egy file SEQLOG.txt fájlnak nevezik, ha az még nincs ott, és hozzáfűzi a fogadott adatokat a fileAz OpenLog 12< értéket fog küldeni, ekkor az OpenLog készen áll az adatok fogadására. A karakterek nem kerülnek visszhangra. Ebből a módból kiléphet, és parancs módba léphet a CTRL+z (ASCII 26) billentyűkombináció elküldésével. Minden pufferelt adat tárolásra kerül.
- Parancssor – Az OpenLog 12> jelet küld, ekkor a rendszer készen áll a parancsok fogadására. Fontos megjegyezni, hogy a > jel azt jelzi, hogy az OpenLog parancsok fogadására kész, nem adatok fogadására. Létrehozhat files és hozzáfűzi az adatokat files, de ez némi soros elemzést igényel (a hibaellenőrzéshez), ezért ezt a módot nem állítjuk be alapértelmezés szerint.
- Új visszaállítása File Szám – Ez a mód visszaállítja a naplót file számot LOG000.txt fájlba. Ez akkor hasznos, ha nemrégiben kiürített egy microSD-kártyát, és a naplót szeretné file számok, hogy újra kezdhessük.
- Új escape karakter – Ez a beállítás lehetővé teszi a felhasználó számára, hogy beírjon egy karaktert, például a CTRL+z vagy a $ billentyűkombinációt, és ezt állítsa be új escape karakterként. Vészhelyzeti alaphelyzetbe állítás esetén ez a beállítás CTRL+z billentyűkombinációra áll vissza.
- Escape karakterek száma – Ez a beállítás lehetővé teszi a felhasználó számára, hogy beírjon egy karaktert (például 1, 3 vagy 17), frissítve ezzel a parancs módba való visszatéréshez szükséges új escape karakterek számát. PéldáulampPéldául a 8-as érték beírásához a felhasználónak nyolcszor kell megnyomnia a CTRL+z billentyűkombinációt a parancs módba való belépéshez. Vészhelyzeti alaphelyzetbe állítás esetén ez a beállítás 3-ra áll vissza.
Escape karakterek Magyarázat: Az OpenLog parancs módba lépéséhez a `CTRL+z` billentyűkombináció háromszori lenyomására van szükség, hogy megakadályozza a panel véletlen visszaállítását az Arduino IDE-ből új kód feltöltése során. Fennáll annak a lehetősége, hogy a panel a `CTRL+z` karaktert látja a rendszerindítás során (ez a probléma az OpenLog firmware korai verzióiban fordult elő), így ez a módszer ezt hivatott megakadályozni. Ha gyanítja, hogy a panel emiatt beégett, mindig végrehajthat vészhelyzeti visszaállítást, ha bekapcsoláskor az RX lábat a földhöz tartja.
Konfiguráció File
Ha nem szeretnéd a soros terminált használni az OpenLog beállításainak módosításához, akkor a CONFIG.TXT fájl módosításával is frissítheted a beállításokat. file.
Jegyzet: Ez a funkció csak az 1.6-os vagy újabb firmware verzión működik. Ha 2012 után vásárolt OpenLog-ot, akkor az 1.6-os vagy újabb firmware verziót fogja használni.
Ehhez microSD kártyaolvasóra és szövegszerkesztőre lesz szükséged. Nyisd meg a config.txt fájlt. file (a nagybetűs írásmód file (a név nem számít), és konfiguráld tovább! Ha még soha nem indítottad el az OpenLog-ot SD-kártyával, manuálisan is létrehozhatod a fileHa korábban behelyezett microSD-kártyával indította el az OpenLog-ot, akkor a microSD-kártya beolvasásakor valami ilyesmit kell látnia.Az OpenLog létrehoz egy config.txt és egy LOG0000.txt fájlt. file első bekapcsoláskor.
Az alapértelmezett konfiguráció file egy sornyi beállítással és egy sornyi definícióval rendelkezik.Alapértelmezett konfiguráció file az OpenLog írta.
Vegye figyelembe, hogy ezek normál látható karakterek (nincsenek nem látható vagy bináris értékek), és minden értéket vessző választ el egymástól.
A beállítások a következőképpen vannak definiálva:
- baud : A kommunikációs baud sebesség. A 9600 bps az alapértelmezett érték. Az Arduino IDE-vel kompatibilis elfogadható értékek: 2400, 4800, 9600, 19200, 38400, 57600 és 115200. Használhat más baud sebességeket is, de akkor nem fog tudni kommunikálni az OpenLog-gal az Arduino IDE soros monitoron keresztül.
- escape : Az escape karakter ASCII értéke (decimális formátumban). A 26 a CTRL+z, és ez az alapértelmezett érték. A 36 a $, és egy gyakran használt escape karakter.
- esc# : A szükséges escape karakterek száma. Alapértelmezés szerint három, tehát háromszor kell lenyomni az escape karaktert a parancs módba való visszatéréshez. Az elfogadható értékek 0 és 254 között vannak. Ha ezt az értéket 0-ra állítja, az escape karakterek ellenőrzése teljesen letiltásra kerül.
- mód: Rendszer mód. Az OpenLog alapértelmezés szerint Új napló módban (0) indul. Az elfogadható értékek: 0 = Új napló, 1 = Szekvenciális napló, 2 = Parancs mód.
- verb : Részletes mód. A bővített (részletes) hibaüzenetek alapértelmezés szerint be vannak kapcsolva. Ha ezt 1-re állítja, akkor a részletes hibaüzenetek bekapcsolódnak (például ismeretlen parancs: remove ! ). Ha ezt 0-ra állítja, a részletes hibák kikapcsolódnak, de hiba esetén egy ! jellel válaszol. A részletes mód kikapcsolása hasznos, ha beágyazott rendszerből származó hibákat próbál kezelni.
- echo : Visszhang mód. Parancs módban a karakterek alapértelmezés szerint visszhangra kerülnek. A 0 értékre állítás kikapcsolja a karaktervisszhangot. A kikapcsolás akkor hasznos, ha hibákat kezel, és nem szeretné, hogy az elküldött parancsok visszajelzésre kerüljenek az OpenLog-ba.
- ignoreRX : Vészhelyzeti felülbírálás. Normális esetben az OpenLog vészhelyzeti alaphelyzetbe állítja magát, amikor az RX láb alacsonyra van húzva bekapcsoláskor. Ha ezt 1-re állítja, akkor a bekapcsoláskor az RX láb ellenőrzése letiltásra kerül. Ez hasznos lehet azoknál a rendszereknél, amelyek különféle okok miatt alacsonyan tartják az RX vonalat. Ha a Vészhelyzeti felülbírálás le van tiltva, akkor nem lehet az egységet 9600 bps-ra visszaállítani, és a konfiguráció... file lesz az egyetlen módja a baud ráta módosításának.
Hogyan módosítja az OpenLog a konfigurációt? File
Öt különböző helyzetben módosíthatja az OpenLog a config.txt fájlt: file.
- Konfig file talált: Bekapcsoláskor az OpenLog egy config.txt fájlt fog keresni. file. Ha a file megtalálása esetén az OpenLog a mellékelt beállításokat fogja használni, és felülírja a korábban tárolt rendszerbeállításokat.
- Nincs konfiguráció file talált: Ha az OpenLog nem találja a config.txt fájlt file Ezután az OpenLog létrehozza a config.txt fájlt, és belementi az aktuálisan tárolt rendszerbeállításokat. Ez azt jelenti, hogy ha behelyez egy újonnan formázott microSD-kártyát, a rendszer megőrzi az aktuális beállításait.
- Sérült konfiguráció file találat: Az OpenLog törli a sérült config.txt fájlt file, és átírja mind a belső EEPROM beállításokat, mind a config.txt beállításokat. file a 9600,26,3,0,1,1,0 ismert jó állapotába.
- Érvénytelen értékek a konfigurációban fileHa az OpenLog olyan beállításokat észlel, amelyek illegális értékeket tartalmaznak, akkor felülírja a sérült értékeket a config.txt fájlban. file az aktuálisan tárolt EEPROM rendszerbeállításokkal.
- Változtatások parancssoron keresztül: Ha a rendszerbeállításokat a parancssoron keresztül módosítja (soros kapcsolaton vagy mikrovezérlő soros parancsaival), akkor ezek a változtatások mind a rendszer EEPROM-jába, mind a config.txt fájlba kerülnek rögzítésre. file.
- Vészhelyzeti visszaállítás: Ha az OpenLog-ot ki- és bekapcsolják egy jumperrel az RX és a GND között, és a Vészhelyzeti felülbírálás bit 0-ra van állítva (lehetővé téve a vészhelyzeti visszaállítást), az OpenLog átírja mind a belső EEPROM beállításokat, mind a config.txt beállításokat. file a 9600,26,3,0,1,1,0 ismert jó állapotába.
Hibaelhárítás
Többféleképpen is ellenőrizheted, hogy problémáid vannak-e a soros monitoron keresztüli csatlakozással, a naplókban elejtett karakterekkel, vagy egy eltömődött OpenLoggal.
Ellenőrizze a STAT1 LED viselkedését
A STAT1 LED két gyakori hiba esetén eltérő viselkedést mutat.
- 3 villanás: A microSD-kártya inicializálása sikertelen. Lehet, hogy FAT/FAT16 fájlrendszerrel kell formáznia a kártyát számítógépen.
- 5 villanás: Az OpenLog új baud sebességre váltott, ezért ki kell kapcsolni, újraindítani.
Alkönyvtár-struktúra dupla ellenőrzése
Ha az alapértelmezett OpenLog.ino ex fájlt használodampPéldául az OpenLog csak két alkönyvtárat támogat. A FOLDER_TRACK_DEPTH értékét 2-ről a támogatni kívánt alkönyvtárak számára kell módosítani. Ha ezzel megvagy, fordítsd újra a kódot, és töltsd fel a módosított firmware-t.
Ellenőrizze a számot Files a gyökérkönyvtárban
Az OpenLog csak legfeljebb 65,534 XNUMX naplót támogat. files a gyökérkönyvtárban. A naplózási sebesség javítása érdekében javasoljuk a microSD-kártya újraformázását.
Ellenőrizze a módosított firmware méretét
Ha egyéni vázlatot írsz az OpenLog-hoz, ellenőrizd, hogy a vázlat nem nagyobb-e 32,256 500-nál. Ha igen, akkor a flash memória felső XNUMX bájtját fogja elfoglalni, amelyet az Optiboot soros rendszerbetöltő használ.
Dupla ellenőrzés File Nevek
Minden file A neveknek alfanumerikusnak kell lenniük. A MyLOG1.txt fájl rendben van, de a Hi !e _.txt fájl esetleg nem fog működni.
Használjon 9600 baudot
Az OpenLog egy ATmega328-on fut, és korlátozott mennyiségű RAM-mal rendelkezik (2048 bájt). Amikor soros karaktereket küldesz az OpenLognak, ezek a karakterek pufferelésre kerülnek. Az SD Group Simplified Specification lehetővé teszi, hogy egy SD-kártya akár 250 ms-ot is igénybe vegyen (4.6.2.2. szakasz, Írás) egy adatblokk flash memóriába való rögzítéséhez.
9600 bps sebességnél ez 960 bájtot (10 bit/bájt) jelent másodpercenként. Ez 1.04 ms/bájtot jelent. Az OpenLog jelenleg egy 512 bájtos vételi puffert használ, így körülbelül 50 ms karaktert tud pufferelni. Ez lehetővé teszi az OpenLog számára, hogy sikeresen fogadja az összes 9600 bps sebességgel érkező karaktert. A baud ráta növelésével a puffer rövidebb ideig tart.
OpenLog puffer túlcsordulási ideje
Baud Rate | Idő bájtonként | A puffer túlcsordulásáig eltelt idő |
9600 bps | 1.04 ms | 532 ms |
57600 bps | 0.174 ms | 88 ms |
115200 bps | 0.087 ms | 44 ms |
Sok SD-kártya gyorsabb rögzítési idővel rendelkezik, mint 250 ms. Ezt befolyásolhatja a kártya „osztálya” és a kártyán tárolt adatok mennyisége. A megoldás az alacsonyabb baudráta használata, vagy a magasabb baudrátával küldött karakterek közötti idő növelése.
Formázd meg a MicroSD-kártyádat
Ne felejts el olyan kártyát használni, amelyen kevés vagy egyáltalán nincs filerajta. Egy microSD-kártya 3.1 GB tárhellyel ZIP memóriával fileAz s vagy MP3 fájlok válaszideje lassabb, mint egy üres kártyáé.
Ha nem Windows operációs rendszeren formázta a microSD-kártyát, akkor formázza újra a kártyát, és hozzon létre egy DOS filerendszer az SD-kártyán.
MicroSD kártyák cseréje
Sokféle kártyagyártó, átcímkézett kártya, kártyaméret és kártyaosztály létezik, és előfordulhat, hogy nem mindegyik működik megfelelően. Általában 8 GB-os, 4-es osztályú microSD-kártyát használunk, amely 9600 bps sebességgel működik jól. Ha magasabb baud sebességre vagy nagyobb tárhelyre van szüksége, érdemes lehet 6-os vagy magasabb osztályú kártyákat kipróbálni.
Késleltetések hozzáadása a karakterírások között
A Serial.print() utasítások közé egy kis késleltetést adva lehetőséget adhatsz az OpenLog-nak az aktuális érték rögzítésére.
puffer.
Plample:
Serial.begin(115200);
for(int i = 1; i < 10; i++) {
Sorozat.print(i, DEC);
Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”);
}
előfordulhat, hogy a naplózás nem lesz megfelelő, mivel sok karakter kerül egymás után küldésre. A nagy karakteres írások közé egy kis, 15 ms-os késleltetés beillesztése segít az OpenLog-nak a karakterek elvesztése nélküli rögzítésben.
Serial.begin(115200);
for(int i = 1; i < 10; i++) {
Sorozat.print(i, DEC);
Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”);
késleltetés(15);
}
Arduino soros monitor kompatibilitás hozzáadása
Ha az OpenLog-ot a beépített soros könyvtárral vagy a SoftwareSerial könyvtárral próbálod használni, problémákat tapasztalhatsz a parancs módban. A Serial.println() függvény sortörést ÉS kocsivissza karaktert is küld. Két alternatív parancs létezik ennek a problémának a megoldására.
Az első a \r parancs használata (ASCII kocsivissza):
Sorozat.print(„SZÖVEG\r”);
Alternatív megoldásként elküldheti a 13-as értéket (decimális kocsivissza):
Sorozat.print(„SZÖVEG”);
Sorozat.írás(13);
Vészhelyzeti visszaállítás
Ne feledd, ha vissza kell állítanod az OpenLog-ot az alapértelmezett állapotba, ezt megteheted úgy, hogy az RX lábat a GND-hez kötöd, bekapcsolod az OpenLog-ot, megvárod, amíg a LED-ek egyszerre villogni kezdenek, majd kikapcsolod az OpenLog-ot és eltávolítod a jumpert.
Ha a Vészhelyzeti felülbírálás bitet 1-re állította, akkor módosítania kell a konfigurációt. file, mivel a Vészhelyzeti visszaállítás nem fog működni.
Érdeklődjön a közösségnél
Ha továbbra is problémái vannak az OpenLoggal, kérjük, tekintse meg a jelenlegi és lezárt problémákat a GitHub repository-nkban itt. Egy nagy közösség dolgozik az OpenLoggal, így valószínű, hogy valaki talált már megoldást a problémára, amelyet lát.
Erőforrások és további lépések
Most, hogy sikeresen naplóztad az adatokat az OpenLog segítségével, beállíthatsz távoli projekteket, és figyelemmel kísérheted az összes lehetséges bejövő adatot. Fontold meg saját Citizen Science projekt létrehozását, vagy akár egy kisállat-követőt, hogy lásd, mit csinál Fluffy, amikor kint van!
Tekintse meg ezeket a további forrásokat hibaelhárításért, segítségért vagy inspirációért a következő projektjéhez.
- OpenLog GitHub
- Illumitune Projekt
- LilyPad fényérzékelő csatlakoztatása
- BadgerHack: Talajérzékelő kiegészítő
- Első lépések az OBD-II használatához
- Nóniuszos fotókapu
További inspirációra van szükséged? Nézd meg ezeket a kapcsolódó oktatóanyagokat:
Photon távoli vízszintérzékelő
Tanuld meg, hogyan építhetsz távoli vízszint-érzékelőt egy víztároló tartályhoz, és hogyan automatizálhatsz egy szivattyút a leolvasott értékek alapján!
Photon távoli vízszintérzékelő
Tanuld meg, hogyan építhetsz távoli vízszint-érzékelőt egy víztároló tartályhoz, és hogyan automatizálhatsz egy szivattyút a leolvasott értékek alapján!
Adatok naplózása a Google Táblázatokba a Tessel segítségével 2
Ez a projekt kétféleképpen tárgyalja az adatok Google Táblázatokba való naplózását: az IFTTT használatával egy web kapcsolat vagy USB pendrive és „sneakernet” nélkül.
Szenzoradatok grafikonon való ábrázolása Pythonnal és Matplotlib-bel
A matplotlib segítségével valós idejű diagramot hozhatsz létre a Raspberry Pi-hez csatlakoztatott TMP102 érzékelő által gyűjtött hőmérsékleti adatokról.
Ha bármilyen visszajelzése van az oktatóanyaggal kapcsolatban, kérjük, látogassa meg a hozzászólásokat, vagy vegye fel a kapcsolatot technikai támogatási csapatunkkal a címen. TechSupport@sparkfun.com.
Dokumentumok / Források
![]() |
SparkFun DEV-13712 SparkFun fejlesztőkártyák [pdf] Felhasználói útmutató DEV-13712, DEV-11114, DEV-09873, CAB-12016, COM-13833, COM-13004, PRT-00115, PRT-08431, DEV-13712 SparkFun fejlesztőkártyák, DEV-13712, SparkFun fejlesztőkártyák, Fejlesztőkártyák, Kártyák |