SparkFun-logo

SparkFun DEV-13712 Particle Photon na May mga Butas Para sa Paghihinang

SparkFun-DEV-13712-Particle-Photon-May-Butas-Para sa-Paghihinang-produkto

Mga pagtutukoy

  • Pangalan ng Produkto: OpenLog Data Logger
  • Modelo: DEV-13712
  • Power Input: 3.3V-12V (Inirerekomendang 3.3V-5V)
  • RXI Input Voltage: 2.0V-3.8V
  • TXO Output Voltage: 3.3V
  • Idle Current Draw: ~2mA-5mA (walang microSD card), ~5mA-6mA (na may microSD card)
  • Aktibong Pagsusulat ng Kasalukuyang Draw: ~20-23mA (may microSD card)

Mga Tagubilin sa Paggamit ng Produkto

Mga Materyales na Kinakailangan:

  • Arduino Pro Mini 328 – 3.3V/8MHz
  • SparkFun FTDI Basic Breakout – 3.3V
  • SparkFun Cerberus USB Cable – 6ft
  • microSD Card na may Adapter – 16GB (Class 10)
  • microSD USB Reader
  • Mga Pambabaeng Header
  • Jumper Wires Premium 6 M/M Pack ng 10
  • Break Away Male Header – Right Angle

Inirerekomendang Pagbasa:

Tapos na ang Hardwareview:
Ang OpenLog ay tumatakbo sa mga sumusunod na setting:

VCC Input RXI Input TXO Output Idle Current Draw Aktibong Pagsulat ng Kasalukuyang Draw
3.3V-12V (Inirerekomenda ang 3.3V-5V) 2.0V-3.8V 3.3V ~2mA-5mA (w/out microSD card), ~5mA-6mA (w/ microSD card) ~20- 23mA (may/ microSD card)

Panimula

Heads up! Ang tutorial na ito ay para sa Open Log para sa serial UART [ DEV-13712 ]. Kung gumagamit ka ng Qwiic OpenLog para sa IC [ DEV-15164 ], mangyaring sumangguni sa Qwiic OpenLog Hookup Guide.

Ang OpenLog Data Logger ay isang simpleng-gamitin, open-source na solusyon para sa pag-log ng serial data mula sa iyong mga proyekto. Ang OpenLog ay nagbibigay ng isang simpleng serial interface upang mag-log ng data mula sa isang proyekto patungo sa isang microSD card.

SparkFun OpenLog
DEV-13712

SparkFun-DEV-13712-Particle-Photon-With-Hole-For-Soldering-fig- (1)

SparkFun OpenLog na may mga Header
DEV-13955

Walang nakitang produkto

Mga Materyales na Kinakailangan
Upang ganap na magawa ang tutorial na ito, kakailanganin mo ang mga sumusunod na bahagi. Maaaring hindi mo kailangan ang lahat bagaman depende sa kung ano ang mayroon ka. Idagdag ito sa iyong cart, basahin ang gabay, at ayusin ang cart kung kinakailangan.

Gabay sa OpenLog Hookup

SparkFun Wish List

SparkFun-DEV-13712-Particle-Photon-With-Hole-For-Soldering-fig- (2)SparkFun-DEV-13712-Particle-Photon-With-Hole-For-Soldering-fig- (3)

Inirerekomendang Pagbasa
Kung hindi ka pamilyar o kumportable sa mga sumusunod na konsepto, inirerekomenda namin ang pagbabasa sa mga ito bago magpatuloy sa OpenLog Hookup Guide.

  • Paano maghinang: Through-Hole Soldering. Sinasaklaw ng tutorial na ito ang lahat ng kailangan mong malaman tungkol sa through-hole soldering.
  • Serial na Komunikasyon Asynchronous na serial communication concepts: mga packet, signal level, baud rate, UART, at higit pa!
  • Serial Peripheral Interface (SPI) Ang SPI ay karaniwang ginagamit upang ikonekta ang mga microcontroller sa mga peripheral tulad ng mga sensor, shift register, at SD card.
  • Mga Pangunahing Kaalaman sa Serial Terminal Ipapakita sa iyo ng tutorial na ito kung paano makipag-ugnayan sa iyong mga serial device gamit ang iba't ibang terminal emulator application.

Tapos na ang Hardwareview

kapangyarihan
Ang OpenLog ay tumatakbo sa mga sumusunod na setting:

OpenLog Power Ratings

SparkFun-DEV-13712-Particle-Photon-With-Hole-For-Soldering-fig- (4)

Ang kasalukuyang draw ng OpenLog ay humigit-kumulang 20mA hanggang 23mA kapag nagsusulat sa isang microSD. Depende sa laki ng microSD card at sa tagagawa nito, maaaring mag-iba ang aktibong kasalukuyang draw kapag nagsusulat ang OpenLog sa memory card. Ang pagtaas ng baud rate ay hihilahin din ng mas maraming kasalukuyang.

microcontroller
Ang OpenLog ay tumatakbo sa isang onboard na ATmega328, na tumatakbo sa 16MHz, salamat sa onboard na kristal. Ang ATmega328 ay may Optiboot bootloader na naka-load dito, na nagpapahintulot sa OpenLog na maging tugma sa
Mga setting ng board na "Arduino Uno" sa Arduino IDE.

SparkFun-DEV-13712-Particle-Photon-With-Hole-For-Soldering-fig- (5)

Interface

Serial na UART
Ang pangunahing interface sa OpenLog ay ang FTDI header sa gilid ng board. Ang header na ito ay idinisenyo upang direktang isaksak sa isang Arduino Pro o Pro Mini, na nagpapahintulot sa microcontroller na ipadala ang data sa isang serial connection sa OpenLog.

SparkFun-DEV-13712-Particle-Photon-With-Hole-For-Soldering-fig- (6)

Babala! Dahil sa pag-order ng pin na ginagawang tugma ito sa mga Arduino, hindi ito direktang maisaksak sa isang FTDI breakout board.

SparkFun-DEV-13712-Particle-Photon-With-Hole-For-Soldering-fig- (7)

Para sa karagdagang impormasyon, tiyaking tingnan ang susunod na seksyon sa Hardware Hookup.

SPI

Mayroon ding apat na SPI test point na pinaghiwa-hiwalay sa kabilang dulo ng board. Maaari mong gamitin ang mga ito upang i-reprogram ang bootloader sa ATmega328.

  • SparkFun-DEV-13712-Particle-Photon-With-Hole-For-Soldering-fig- (8)Ang pinakabagong OpenLog (DEV-13712) ay pinuputol ang mga pin na ito sa mas maliit na plated sa mga butas. Kung kailangan mong gumamit ng ISP para mag-reprogram o mag-upload ng bagong bootloader sa OpenLog, maaari mong gamitin ang mga pogo pin para kumonekta sa mga test point na ito.
  • Ang huling interface para sa pakikipag-usap sa OpenLog ay ang microSD card mismo. Upang makipag-usap, ang microSD card ay nangangailangan ng mga SPI pin. Hindi lamang dito iniimbak ng OpenLog ang data, ngunit maaari mo ring i-update ang configuration ng OpenLog sa pamamagitan ng config.txt file sa microSD card.
    Card ng microSD

Ang lahat ng data na naka-log sa OpenLog ay naka-imbak sa microSD card. Gumagana ang OpenLog sa mga microSD card na may mga sumusunod na tampok:

  • 64MB hanggang 32GB
  • FAT16 o FAT32

SparkFun-DEV-13712-Particle-Photon-With-Hole-For-Soldering-fig- (9)

Mayroong dalawang status LED sa OpenLog upang matulungan ka sa pag-troubleshoot.

  • STAT1 – Ang asul na indicator LED na ito ay naka-attach sa Arduino D5 (ATmega328 PD5) at nag-toggle sa on/off kapag may natanggap na bagong character. Ang LED na ito ay kumikislap kapag gumagana ang Serial na komunikasyon.
  • STAT2 – Ang berdeng LED na ito ay konektado sa Arduino D13 (SPI Serial Clock Line/ ATmega328 PB5). Ang LED na ito ay kumikislap lamang kapag aktibo ang interface ng SPI. Makikita mo itong kumikislap kapag nagtala ang OpenLog ng 512 bytes sa microSD card.

SparkFun-DEV-13712-Particle-Photon-With-Hole-For-Soldering-fig- (10)

Hardware Hookup

Mayroong dalawang pangunahing paraan para sa pagkonekta ng iyong OpenLog sa isang circuit. Kakailanganin mo ng ilang mga header o wire para kumonekta. Siguraduhin na maghinang ka sa board para sa isang secure na koneksyon.

Pangunahing Serial na Koneksyon

Tip: Kung mayroon kang babaeng header sa OpenLog at babaeng header sa FTDI, kakailanganin mo ng M/F jumper wires para kumonekta.

SparkFun-DEV-13712-Particle-Photon-With-Hole-For-Soldering-fig- (11)

Ang koneksyon sa hardware na ito ay idinisenyo para sa interfacing sa isang OpenLog kung kailangan mong i-reprogram ang board o mag-log ng data sa isang pangunahing serial connection.

Gawin ang mga sumusunod na koneksyon:
OpenLog → 3.3V FTDI Basic Breakout

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

Pansinin na hindi ito direktang koneksyon sa pagitan ng FTDI at OpenLog – dapat mong ilipat ang mga koneksyon ng TXO at RXI pin.

Dapat ganito ang hitsura ng iyong mga koneksyon:

SparkFun-DEV-13712-Particle-Photon-With-Hole-For-Soldering-fig- (12)

Kapag mayroon ka nang mga koneksyon sa pagitan ng OpenLog at ng FTDI Basic, isaksak ang iyong FTDI board sa isang USB cable at sa iyong computer. Magbukas ng serial terminal, kumonekta sa COM port ng iyong FTDI Basic, at pumunta sa bayan!

Koneksyon ng Project Hardware

Tip: Kung mayroon kang mga babaeng header na naka-solder sa OpenLog, maaari kang maghinang ng mga male header sa Arduino Pro Mini upang isaksak ang mga board nang hindi nangangailangan ng mga wire.

SparkFun-DEV-13712-Particle-Photon-With-Hole-For-Soldering-fig- (13)

Habang ang interfacing sa OpenLog sa isang serial na koneksyon ay mahalaga para sa reprogramming o pag-debug, ang lugar kung saan nagniningning ang OpenLog ay nasa isang naka-embed na proyekto. Ang pangkalahatang circuit na ito ay kung paano namin inirerekomenda na isabit mo ang iyong OpenLog sa isang microcontroller (sa kasong ito, isang Arduino Pro Mini) na magsusulat ng serial data sa OpenLog.

Una, kakailanganin mong i-upload ang code sa iyong Pro Mini na balak mong patakbuhin. Pakitingnan ang Arduino Sketches para sa ilang example code na magagamit mo.

Tandaan: Kung hindi ka sigurado kung paano i-program ang iyong Pro Mini, mangyaring tingnan ang aming tutorial dito.

Gamit ang Arduino Pro Mini 3.3V

  • Ang tutorial na ito ay ang iyong gabay sa lahat ng bagay sa Arduino Pro Mini. Ipinapaliwanag nito kung ano ito, kung ano ang hindi, at kung paano simulan ang paggamit nito.
  • Kapag na-program mo na ang iyong Pro Mini, maaari mong alisin ang FTDI board at palitan ito ng OpenLog. Siguraduhing ikonekta ang mga pin na may label na BLK sa parehong Pro Mini at OpenLog (ang mga pin na may label na GRN sa pareho ay magtutugma din kung ginawa nang tama).
  • Kung hindi mo maisaksak ang OpenLog nang direkta sa Pro Mini (dahil sa hindi tugmang mga header o iba pang mga board sa daan), maaari mong gamitin ang mga jumper wire at gawin ang mga sumusunod na koneksyon.

OpenLog → Arduino Pro/Arduino Pro Mini

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

Kapag tapos ka na, ang iyong mga koneksyon ay dapat magmukhang sumusunod sa Arduino Pro Mini at Arduino Pro. Ang Fritzing diagram ay nagpapakita ng OpenLogs na may mga header na naka-mirror. Kung i-flip mo ang microSD socket na may kaugnayan sa tuktok ng Arduino view, dapat silang tumugma sa header ng programming tulad ng isang FTDI.

SparkFun-DEV-13712-Particle-Photon-With-Hole-For-Soldering-fig- (14)

Tandaan na ang koneksyon ay isang straight shot na may OpenLog na "baligtad" (na ang microSD ay nakaharap sa itaas).

Tandaan: Dahil ang Vcc at GND sa pagitan ng OpenLog at Arduino ay inookupahan ng mga header, kakailanganin mong kumonekta sa power sa iba pang mga pin na available sa Arduino. Kung hindi, maaari kang maghinang ng mga wire sa mga nakalantad na power pin sa alinmang board.

Palakasin ang iyong system, at handa ka nang magsimulang mag-log!

Arduino Sketch

May anim na magkaibang exampKasama sa mga sketch na magagamit mo sa Arduino kapag nakakonekta sa isang OpenLog.

  • OpenLog_Benchmarking — Ang ex na itoample ay ginagamit upang subukan ang OpenLog. Nagpapadala ito ng napakalaking halaga ng data sa 115200bps sa maramihang files.
  • OpenLog_CommandTest — Ang ex na itoample ay nagpapakita kung paano lumikha at magdagdag ng a file sa pamamagitan ng command line control sa pamamagitan ng Arduino.
  • OpenLog_ReadExample — Itong examptatakbo sa kung paano kontrolin ang OpenLog sa pamamagitan ng command line.
  • OpenLog_ReadExample_LargeFile — Halample ng kung paano buksan ang isang malaking naka-imbak file sa OpenLog at iulat ito sa isang lokal na koneksyon sa Bluetooth.
  • OpenLog_Test_Sketch — Ginagamit upang subukan ang OpenLog na may maraming serial data.
  • OpenLog_Test_Sketch_Binary — Ginagamit upang subukan ang OpenLog gamit ang binary data at mga escape na character.

Firmware

Ang OpenLog ay may dalawang pangunahing piraso ng software na nakasakay: ang bootloader at ang firmware.

Arduino Bootloader

Tandaan: Kung gumagamit ka ng OpenLog na binili bago ang Marso 2012, ang onboard na bootloader ay tugma sa setting na "Arduino Pro o Pro Mini 5V/16MHz w/ ATmega328" sa Arduino IDE.

  • Tulad ng nabanggit dati, ang OpenLog ay mayroong Optiboot serial bootloader na nakasakay. Maaari mong ituring ang OpenLog tulad ng isang Arduino Uno kapag nag-upload ng example code o bagong firmware sa board.
  • Kung masira mo ang iyong OpenLog at kailangan mong muling i-install ang bootloader, gugustuhin mo ring i-upload ang Optiboot sa board. Pakitingnan ang aming tutorial sa pag-install ng Arduino Bootloader para sa higit pang impormasyon.

Pag-compile at Pag-load ng Firmware sa OpenLog

Tandaan: Kung ito ang iyong unang pagkakataon na gumamit ng Arduino, mangyaring muliview ang aming tutorial sa pag-install ng Arduino IDE. Kung hindi ka pa nakapag-install ng Arduino library, mangyaring tingnan ang aming gabay sa pag-install upang manu-manong i-install ang mga library.

  • Kung sa anumang kadahilanan ay kailangan mong i-update o muling i-install ang firmware sa iyong OpenLog, ang sumusunod na proseso ay magpapatakbo ng iyong board.
  • Una, paki-download ang Arduino IDE v1.6.5. Maaaring gumana ang ibang mga bersyon ng IDE upang i-compile ang OpenLog firmware, ngunit na-verify namin ito bilang isang kilalang magandang bersyon.
  • Susunod, i-download ang OpenLog firmware at ang kinakailangang bundle ng mga aklatan.

I-DOWNLOAD ANG OPENLOG FIRMWARE BUNDLE (ZIP)

  • Kapag na-download mo na ang mga aklatan at firmware, i-install ang mga aklatan sa Arduino. Kung hindi ka sigurado kung paano manu-manong i-install ang mga aklatan sa IDE, pakitingnan ang aming tutorial: Pag-install ng Arduino Library: Manu-manong Pag-install ng Library.

Tandaan:

  • Gumagamit kami ng mga binagong bersyon ng mga aklatan ng SdFat at SerialPort upang arbitraryong ideklara kung gaano dapat kalaki ang mga buffer ng TX at RX. Ang OpenLog ay nangangailangan ng TX buffer na napakaliit (0), at ang RX buffer ay kailangang kasing laki hangga't maaari.
  • Ang paggamit ng dalawang binagong aklatan na ito nang magkasama ay nagbibigay-daan sa mas mataas na pagganap ng OpenLog.

Naghahanap ng Pinakabagong Bersyon?
Kung mas gugustuhin mo ang pinaka-up-to-date na mga bersyon ng mga aklatan at firmware, maaari mong i-download ang mga ito nang direkta mula sa mga imbakan ng GitHub na naka-link sa ibaba. Ang mga library ng SdFatLib at Serial Port ay hindi nakikita sa Arduino board manager kaya kakailanganin mong manu-manong i-install ang library.

  • GitHub: OpenLog > Firmware > OpenLog_Firmware
  • Ang Arduino Libraries ni Bill Greiman
    • SdFatLib-beta
    • SerialPort
  • Susunod, kumuha ng advantage ng binagong mga aklatan, baguhin ang SerialPort.hh file matatagpuan sa direktoryo ng \Arduino\Libraries\SerialPort. Baguhin ang BUFFERED_TX sa 0 at ENABLE_RX_ERROR_CHECKING sa 0. I-save ang file, at buksan ang Arduino IDE.
  • Kung hindi mo pa nagagawa, ikonekta ang iyong OpenLog sa computer sa pamamagitan ng FTDI board. Paki-double check ang example circuit kung hindi ka sigurado kung paano ito gagawin ng maayos.
  • Buksan ang OpenLog sketch na gusto mong i-upload sa ilalim ng Tools>Board menu, piliin ang "Arduino/Genuino Uno", at piliin ang tamang COM port para sa iyong FTDI board sa ilalim ng Tools>Port.
  • I-upload ang code.
  • yun lang! Ang iyong OpenLog ay naka-program na ngayon gamit ang bagong firmware. Maaari ka na ngayong magbukas ng serial monitor at makipag-ugnayan sa OpenLog. Sa power up, makikita mo ang alinman sa 12> o 12<. Ang 1 ay nagpapahiwatig na ang serial connection ay naitatag, 2 ay nagpapahiwatig na ang SD card ay matagumpay na nasimulan, < ay nagpapahiwatig na ang OpenLog ay handa nang mag-log sa anumang natanggap na serial data, at > ay nagpapahiwatig na ang OpenLog ay handa nang tumanggap ng mga utos.

OpenLog Firmware Sketches
May tatlong kasamang sketch na magagamit mo sa OpenLog, depende sa iyong partikular na application.

  • OpenLog – Nagpapadala ang firmware na ito bilang default sa OpenLog. Ipinapadala ang? Ipapakita ng command ang bersyon ng firmware na na-load sa isang unit.
  • OpenLog_Light - Ang bersyon na ito ng sketch ay nag-aalis ng menu at command mode, na nagpapahintulot sa tumanggap na buffer na tumaas. Ito ay isang magandang opsyon para sa high-speed logging.
  • OpenLog_Minimal – Ang baud rate ay dapat itakda sa code at i-upload. Inirerekomenda ang sketch na ito para sa mga may karanasang user ngunit ito rin ang pinakamahusay na opsyon para sa pinakamataas na bilis ng pag-log.

Set ng Command

Maaari kang mag-interface sa OpenLog sa pamamagitan ng serial terminal. Ang mga sumusunod na command ay makakatulong sa iyong magbasa, magsulat, at magtanggal files, pati na rin baguhin ang mga setting ng OpenLog. Kakailanganin mong nasa Command Mode para magamit ang mga sumusunod na setting.

Habang ang OpenLog ay nasa Command Mode , ang STAT1 ay i-toggle on/off para sa bawat character na natanggap. Mananatili ang LED hanggang sa matanggap ang susunod na character.

  • Bago File – Lumilikha ng bago file pinangalanan File sa kasalukuyang direktoryo. Pamantayan 8.3 filemga pangalan ay suportado. Para kay example, "87654321.123" ay katanggap-tanggap, habang "987654321.123" ay hindi.
    • Example: bago file1.txt
  • Idugtong File – Idagdag ang teksto sa dulo ng File. Ang serial data ay binabasa mula sa UART sa isang stream at idinaragdag sa file. Hindi ito echoed sa serial terminal. Kung ang File ay hindi umiiral kapag ang function na ito ay tinatawag na, ang file ay malilikha.
    • Example: magdagdag ng bagofile.csv
  • Sumulat File OFFSET – Sumulat ng text sa File mula sa lokasyong OFFSET sa loob ng file. Ang teksto ay binabasa mula sa UART, linya sa linya, at echoed pabalik. Upang lumabas sa estadong ito, magpadala ng walang laman na linya.
    • Example: write logs.txt 516
  • rm File – Tinatanggal ang File mula sa kasalukuyang direktoryo. Ang mga wildcard ay suportado.
    • Example: rm README.txt
  • laki File – Laki ng output ng File sa bytes.
    • Example: laki Log112.csv
    • Output: 11
  • Basahin File + START+ LENGTH TYPE – I-output ang nilalaman ng File simula sa SIMULA at tumatagal ng LENGTH. Kung aalisin ang START, ang kabuuan file ay iniulat. Kung ang LENGTH ay aalisin, ang buong nilalaman mula sa panimulang punto ay iuulat. Kung ang TYPE ay tinanggal, ang OpenLog ay magiging default sa pag-uulat sa ASCII. May tatlong URI ng output:
    • ASCII = 1
    • HEX = 2
    • RAW = 3
  • Maaari mong iwanan ang ilang mga sumusunod na argumento. Suriin ang sumusunod na examples.
  • Basic read + inalis na mga flag:
    • Example: basahin ang LOG00004.txt
    • Output: Accelerometer X=12 Y=215 Z=317
  • Basahin mula sa simula 0 na may haba na 5:
    • Example: basahin ang LOG00004.txt 0 5
    • Output: Accel
  • Basahin mula sa posisyon 1 na may haba na 5 sa HEX:
    • Example: basahin ang LOG00004.txt 1 5 2
    • Output: 63 63 65 6C
  • Basahin mula sa posisyon 0 na may haba na 50 sa RAW:
    • Example: basahin ang LOG00137.txt 0 50 3
    • Output: André– -þ Extended Character Test
  • Pusa File – Isulat ang nilalaman ng a file sa hex sa serial monitor para sa viewing. Ito ay minsan nakakatulong upang makita na a file ay nagre-record nang tama nang hindi kinakailangang hilahin ang SD card at view ang file sa isang computer.
    • Example: pusa LOG00004.txt
    • Output: 00000000: 41 63 65 6c 3a 20 31

Pagmamanipula ng Direktoryo

  • ls – Naglilista ng lahat ng nilalaman ng kasalukuyang direktoryo. Ang mga wildcard ay suportado.
    • Example: ls
    • Output: \src
  • md Subdirectory – Lumikha ng Subdirectory sa kasalukuyang direktoryo.
    • Example: md Halample_Sketches
  • cd Subdirectory – Baguhin sa Subdirectory.
    • Example: cd Hello_World
  • cd .. – Baguhin sa isang mas mababang direktoryo sa puno. Tandaan na mayroong puwang sa pagitan ng 'cd' at '..'. Nagbibigay-daan ito sa string parser na makita ang CD command.
    • Example: cd..
  • rm Subdirectory – Tinatanggal ang Subdirectory. Dapat na walang laman ang direktoryo para gumana ang command na ito.
    • Example: rm temps
  • rm -rf Directory – Tinatanggal ang Directory at anuman files nakapaloob sa loob nito.
    • Example: rm -rf Mga Aklatan

Mga Utos ng Low-Level Function

  • ? – Ang utos na ito ay kukuha ng isang listahan ng magagamit na mga utos sa OpenLog.
  • Disk – Ipakita ang card manufacturer ID, serial number, petsa ng paggawa, at laki ng card. Halampang output ay:
    • Uri ng card: SD2 Manufacturer ID: 3
    • OEM ID: SD
    • Produkto: SU01G
    • Bersyon: 8.0
    • Serial number: 39723042 Petsa ng paggawa: 1/2010 Laki ng Card: 965120 KB
  • init – I-reinitialize ang system at muling buksan ang SD card. Makakatulong ito kung hihinto sa pagtugon ang SD card.
  • Sync – Sini-synchronize ang kasalukuyang nilalaman ng buffer sa SD card. Kapaki-pakinabang ang command na ito kung wala kang 512 character sa buffer at gusto mong i-record ang mga iyon sa SD card.
  • I-reset - Tinatalon ang OpenLog sa zero sa lokasyon, muling pinapatakbo ang bootloader, at pagkatapos ay ang init code. Nakakatulong ang command na ito kung kailangan mong i-edit ang config file, i-reset ang OpenLog, at simulang gamitin ang bagong configuration. Ang power cycling pa rin ang gustong paraan para sa pag-reset ng board, ngunit available ang opsyong ito.

Mga Setting ng System

Ang mga setting na ito ay maaaring manu-manong i-update o i-edit sa config.txt file.

  • Echo STATE – Binabago ang estado ng system, at iniimbak sa memorya ng system. Maaaring naka-on o naka-off ang STATE. Habang nasa OpenLog ay echo ang natanggap na serial data sa command prompt. Habang naka-off, hindi binabasa ng system ang mga natanggap na character.

Tandaan: Sa normal na pag-log, i-o-off ang echo. Ang mga hinihingi ng mapagkukunan ng system para sa pag-echo sa natanggap na data ay masyadong mataas sa panahon ng pag-log.

  • Verbose STATE – Binabago ang estado ng verbose error reporting. STATE ay maaaring naka-on o naka-off Ang command na ito ay nakaimbak sa memorya. Sa pamamagitan ng pag-off sa mga verbose error, ang OpenLog ay tutugon lamang ng isang ! kung mayroong isang error, sa halip na isang hindi kilalang utos: C OMMAND.D..TAng mga hecharacter ay mas madaling ma-parse ng mga naka-embed na system kaysa sa buong error. Kung gumagamit ka ng terminal, ang pag-iiwan ng verbose on ay magbibigay-daan sa iyong makita ang buong mga mensahe ng error.
  • baud - Ang utos na ito ay magbubukas ng isang menu ng system na nagpapahintulot sa gumagamit na magpasok ng isang baud rate. Sinusuportahan ang anumang baud rate sa pagitan ng 300bps at 1Mbps. Ang pagpili ng baud rate ay agaran, at ang OpenLog ay nangangailangan ng power cycle para magkabisa ang mga setting. Ang baud rate ay iniimbak sa EEPROM at nilo-load sa tuwing magpapagana ang OpenLog. Ang default ay 9600 8N1 .

Tandaan: Kung naipit mo ang board sa hindi kilalang baud rate, maaari mong itali ang RX sa GND at paganahin ang OpenLog. Ang mga LED ay kumukurap pabalik-balik sa loob ng 2 segundo at pagkatapos ay kumukurap nang sabay-sabay. I-down ang OpenLog, at alisin ang jumper. Ang OpenLog ay na-reset na ngayon sa 9600bps na may escape character na `CTRL-Z` na pinindot nang tatlong magkakasunod na beses. Maaaring ma-override ang feature na ito sa pamamagitan ng pagtatakda ng Emergency Override bit sa 1. Tingnan ang config.txt para sa higit pang impormasyon.

  • Itakda - Binubuksan ng command na ito ang isang menu ng system upang piliin ang bootup mode. Ang mga setting na ito ay magaganap sa susunod na power-on at iniimbak sa non-volatile na EEPROM.
    • Bago File Pag-log - Lumilikha ang mode na ito ng bago file sa bawat oras na pinalakas ang OpenLog. Ang OpenLog ay magpapadala ng 1 (UART ay buhay), 2 (SD card ay inisyal), pagkatapos < (OpenLog ay handa na tumanggap ng data). Ang lahat ng data ay itatala sa isang LOG######.txt. Ang ##### na numero ay tumataas sa tuwing magpapagana ang OpenLog (ang max ay 65533 log). Ang numero ay naka-imbak sa EEPROM at maaaring i-reset mula sa set menu. Hindi lahat ng natanggap na character ay echoed. Maaari kang lumabas sa mode na ito at pumasok sa command mode sa pamamagitan ng pagpapadala ng CTRL+z (ASCII 26). Ang lahat ng naka-buffer na data ay iimbak.
  • Tandaan: Kung napakaraming log ang nagawa, maglalabas ang OpenLog ng error **Masyadong maraming log**, lalabas sa mode na ito, at i-drop sa Command Prompt. Ang serial output ay magmumukhang `12! Masyadong maraming log!
    • Idugtong File Pag-log - Kilala rin bilang sequential mode, ang mode na ito ay lumilikha ng a file tinatawag na SEQLOG.txt kung wala pa ito, at idinadagdag ang anumang natanggap na data sa file. Ang OpenLog ay magpapadala ng 12< kung saan ang OpenLog ay handa nang tumanggap ng data. Ang mga karakter ay hindi na-echo. Maaari kang lumabas sa mode na ito at pumasok sa command mode sa pamamagitan ng pagpapadala ng CTRL+z (ASCII 26). Ang lahat ng naka-buffer na data ay iimbak.
    • Command Prompt – Magpapadala ang OpenLog ng 12> kung saan ang sistema ay handa nang tumanggap ng mga utos. Tandaan na ang > sign ay nagpapahiwatig na ang OpenLog ay handa nang tumanggap ng mga utos, hindi data. Maaari kang lumikha files at magdagdag ng data sa files, ngunit nangangailangan ito ng ilang serial parsing (para sa pagsuri ng error), kaya hindi namin itinakda ang mode na ito bilang default.
    • I-reset ang Bago File Numero – Ire-reset ng mode na ito ang log file numero sa LOG000.txt . Ito ay kapaki-pakinabang kung kamakailan mong na-clear ang isang microSD card at nais ang log file mga numero upang magsimulang muli.
    • Bagong Escape Character – Ang opsyong ito ay nagbibigay-daan sa user na magpasok ng character, gaya ng CTRL+z o $, at itakda ito bilang bagong escape character. Ire-reset ang setting na ito sa CTRL+z sa panahon ng emergency reset.
    • Bilang ng mga Escape na Character – Ang opsyong ito ay nagbibigay-daan sa user na magpasok ng isang character (tulad ng 1, 3, o 17), na ina-update ang bagong bilang ng mga escape na character na kailangan para bumaba sa command mode. Para kay exampSa gayon, ang pagpasok ng 8 ay mangangailangan sa user na pindutin ang CTRL+z ng walong beses upang makapunta sa command mode. Ire-reset ang setting na ito sa 3 sa panahon ng emergency reset.
  • Paliwanag ng Mga Escape Character: Ang dahilan kung bakit kailangan ng OpenLog ang `CTRL+z` na hit ng 3 beses upang makapasok sa command mode ay upang maiwasan ang board na hindi sinasadyang ma-reset sa panahon ng pag-upload ng bagong code mula sa Arduino IDE. May pagkakataon na makita ng board ang `CTRL+z` na character na dumarating sa panahon ng bootloading (isang isyu na nakita namin sa mga unang bersyon ng OpenLog firmware), kaya nilalayon nitong pigilan iyon. Kung sakaling maghinala kang na-brick ang iyong board dahil dito, maaari kang magsagawa ng emergency reset anumang oras sa pamamagitan ng paghawak sa RX pin sa ground habang pinapagana.

Configuration File

Kung mas gugustuhin mong hindi gamitin ang serial terminal para sa pagbabago ng mga setting sa iyong OpenLog, maaari mo ring i-update ang mga setting sa pamamagitan ng pagbabago sa CONFIG.TXT file.

Tandaan: Gumagana lang ang feature na ito sa bersyon ng firmware na 1.6 o mas bago. Kung bumili ka ng OpenLog pagkatapos ng 2012, tatakbo ka ng firmware na bersyon 1.6+

  • Upang gawin ito, kakailanganin mo ng isang microSD card reader at isang text editor. Buksan ang config.txt file (ang capitalization ng file hindi mahalaga ang pangalan), at i-configure ang layo! Kung hindi mo pa pinapagana ang iyong OpenLog gamit ang SD card dati, maaari mo ring manual na gawin ang file. Kung pinagana mo ang OpenLog gamit ang microSD card na ipinasok dati, dapat mong makita ang isang bagay tulad ng sumusunod kapag binasa mo ang microSD card.SparkFun-DEV-13712-Particle-Photon-With-Hole-For-Soldering-fig- (15)Lumilikha ang OpenLog ng config.txt at LOG0000.txt file sa unang power up.
  • Ang default na configuration file ay may isang linya ng mga setting at isang linya ng mga kahulugan.SparkFun-DEV-13712-Particle-Photon-With-Hole-For-Soldering-fig- (16)Ang default na configuration file ay isinulat ng OpenLog.
  • Tandaan na ang mga ito ay regular na nakikitang mga character (walang hindi nakikita o binary na mga halaga), at ang bawat halaga ay pinaghihiwalay ng kuwit.

Ang mga setting ay tinukoy bilang mga sumusunod:

  • baud : Ang baud rate ng komunikasyon. 9600 bps ang default. Ang mga katanggap-tanggap na value na tugma sa Arduino IDE ay 2400, 4800, 9600, 19200, 38400, 57600, at 115200. Maaari kang gumamit ng iba pang baud rate, ngunit hindi mo magagawang makipag-ugnayan sa OpenLog sa pamamagitan ng Arduino IDE serial monitor.
  • Escap:e Ang halaga ng ASCII (sa decimal na format) ng escape character. 26 ay CTRL+z at ang default. Ang 36 ay $ at isang karaniwang ginagamit na escape character.
  • Esc #: Ang bilang ng mga escape character na kinakailangan. Bilang default, ito ay tatlo, kaya dapat mong pindutin ang escape character ng tatlong beses upang bumaba sa command mode. Ang mga katanggap-tanggap na value ay mula 0 hanggang 254. Ang pagtatakda ng value na ito sa 0 ay ganap na hindi papaganahin ang escape character checking.
  • Mode System mode. Magsisimula ang OpenLog sa New Log mode( 0 ) bilang default. Ang mga katanggap-tanggap na value ay 0 =Bagong Log, 1 = Sequential Log, 2 = Command Mode.
  • Pandiwa: Verbose mode. Ang mga pinahabang (verbose) na mensahe ng error ay naka-on bilang default. Ang pagtatakda nito sa 1 ay nag-o-on sa mga verbose na mensahe ng error (gaya ng hindi kilalang command: alisin ! ). Ang pagtatakda nito sa 0 ay nagsasara ng mga verbose error, ngunit tutugon ito ng ! kung may mali. Ang pag-off sa verbose mode ay madaling gamitin kung sinusubukan mong pangasiwaan ang mga error mula sa isang naka-embed na system.
  • Echo: Echo mode. Habang nasa command mode, ang mga character ay ini-echo bilang default. Ang pagtatakda nito sa 0 ay na-off ang character echo. Ang pag-off nito ay madaling gamitin kung humahawak ng mga error, at hindi mo gustong ipadala ang mga command na mai-echo pabalik sa OpenLog.II
  • iignoreRXEmergency Override. Karaniwan, ang OpenLog ay magre-reset ng emergency kapag ang RX pin ay hinila nang mababa sa panahon ng power up. Ang pagtatakda nito sa 1 ay magdi-disable sa pagsuri sa RX pin sa panahon ng power up. Makakatulong ito para sa mga system na magpapababa sa linya ng RX para sa iba't ibang dahilan. Kung hindi pinagana ang Emergency Override, hindi mo magagawang ibalik ang unit sa 9600bps, at ang configuration file ay ang tanging paraan upang baguhin ang baud rate.

Paano Binabago ng OpenLog ang Config File
Mayroong limang magkakaibang sitwasyon para sa OpenLog na baguhin ang config.txt file.

  • Config file natagpuan: Sa panahon ng power up, maghahanap ang OpenLog ng config.txt file. Kung ang file ay natagpuan, gagamitin ng OpenLog ang mga kasamang setting at i-overwrite ang anumang dating nakaimbak na mga setting ng system.
  • Walang config file natagpuan: Kung hindi mahanap ng OpenLog ang config.txt file pagkatapos ay gagawa ang OpenLog ng config.txt at itatala ang kasalukuyang nakaimbak na mga setting ng system dito. Nangangahulugan ito na kung magpasok ka ng bagong format na microSD card, papanatilihin ng iyong system ang mga kasalukuyang setting nito.
  • Sirang config file natagpuan: Buburahin ng OpenLog ang sirang config.txt file, at muling isusulat ang parehong panloob na mga setting ng EEPROM at ang mga setting ng config.txt file sa kilalang-magandang estado ng 9600,26,3,0,1,1,0.
  • Mga iligal na halaga sa config file: Kung matuklasan ng OpenLog ang anumang mga setting na naglalaman ng mga ilegal na halaga, i-overwrite ng OpenLog ang mga corrupt na halaga sa config.txt file gamit ang kasalukuyang nakaimbak na mga setting ng system ng EEPROM.
  • Mga pagbabago sa pamamagitan ng command prompt: Kung ang mga setting ng system ay binago sa pamamagitan ng command prompt (sa pamamagitan man ng serial connection o sa pamamagitan ng microcontroller serial commands) ang mga pagbabagong iyon ay ire-record pareho sa system EEPROM at sa config.txt file.
  • Emergency Reset: Kung ang OpenLog ay power cycled na may jumper sa pagitan ng RX at GND, at ang Emergency Override bit ay nakatakda sa 0 (nagbibigay-daan sa emergency reset), muling isusulat ng OpenLog ang parehong panloob na mga setting ng EEPROM at ang mga setting ng config.txt file sa kilalang-magandang estado ng 9600,26,3,0,1,1,0 .

Pag-troubleshoot

Mayroong ilang iba't ibang mga opsyon upang suriin kung nagkakaroon ka ng mga isyu sa pagkonekta sa serial monitor, pagkakaroon ng mga isyu sa mga na-drop na character sa mga log, o pakikipaglaban sa isang bricked na OpenLog.

Suriin ang STAT1 LED Behavior
Ang STAT1 LED ay nagpapakita ng magkakaibang pag-uugali para sa dalawang magkaibang karaniwang mga error.

  • 3 Blinks: Nabigong masimulan ang microSD card. Maaaring kailanganin mong i-format ang card gamit ang FAT/FAT16 sa isang computer.
  • 5 Blinks: Ang OpenLog ay nagbago sa isang bagong baud rate at kailangang maging power cycled.

I-double Check ang Istraktura ng Subdirectory

  • Kung ginagamit mo ang default na OpenLog.ino exampSa gayon, susuportahan lamang ng OpenLog ang dalawang subdirectory. Kakailanganin mong baguhin ang FOLDER_TRACK_DEPTH mula 2 sa bilang ng mga subdirectory na kailangan mong suportahan. Kapag nagawa mo na ito, muling i-compile ang code, at i-upload ang binagong firmware.
  • I-verify ang Bilang ng Files sa Root Directory
  • Susuportahan lamang ng OpenLog ang hanggang 65,534 log files sa root directory. Inirerekomenda naming i-reformat ang iyong microSD card upang mapahusay ang bilis ng pag-log.
  • I-verify ang Sukat ng iyong Binagong Firmware
  • Kung nagsusulat ka ng custom na sketch para sa OpenLog, i-verify na ang iyong sketch ay hindi mas malaki sa 32,256. Kung gayon, aalis ito sa itaas na 500 bytes ng Flash memory, na ginagamit ng Optiboot serial bootloader.
  • I-double Check File Mga pangalan
  • Lahat file dapat alpha-numeric ang mga pangalan. Ang MyLOG1.txt ay ok, ngunit Hi !e _ .txtt ay maaaring hindi gumana.
  • Gumamit ng 9600 Baud
  • Ang OpenLog ay tumatakbo sa ATmega328 at may limitadong halaga ng RAM(2048 bytes). Kapag nagpadala ka ng mga serial character sa OpenLog, mabu-buffer ang mga character na ito. Ang SD Group Simplified Specification ay nagbibigay-daan sa isang SD card na tumagal ng hanggang 250ms (seksyon 4.6.2.2 Write) para mag-record ng data block sa flash memory.
  • Sa 9600bps, iyon ay 960 bytes (10 bits per byte) bawat segundo. Iyon ay 1.04ms bawat byte. Kasalukuyang gumagamit ang OpenLog ng 512 byte na receive buffer upang maaari itong buffer sa paligid ng 50ms ng mga character. Pinapayagan nito ang OpenLog na matagumpay na matanggap ang lahat ng mga character na darating sa 9600bps. Habang tinataasan mo ang baud rate, tatagal ang buffer nang mas kaunting oras.

OpenLog Buffer Overrun Time

Rate ng Baud Oras bawat byte Oras Hanggang Ma-overrun ang Buffer
9600bps 1.04ms 532ms
57600bps 0.174ms 88ms
115200bps 0.087ms 44ms

Maraming SD card ang may mas mabilis na record time kaysa 250ms. Maaari itong maapektuhan ng 'klase' ng card at kung gaano karaming data ang nakaimbak na sa card. Ang solusyon ay gumamit ng mas mababang baud rate o taasan ang dami ng oras sa pagitan ng mga character na ipinadala sa mas mataas na baud rate.

I-format ang iyong MicroSD Card
Tandaan na gumamit ng card na may kakaunti o hindi filenasa ibabaw nito. Isang microSD card na may 3.1GB na halaga ng ZIP fileAng mga s o MP3 ay may mas mabagal na oras ng pagtugon kaysa sa isang walang laman na card. Kung hindi mo na-format ang iyong microSD card sa isang Windows OS, i-reformat ang microSD card at lumikha ng isang DOS filesystem sa SD card.
Magpalit ng mga MicroSD Card
Maraming iba't ibang uri ng mga tagagawa ng card, relabel na card, laki ng card, at klase ng card, at maaaring hindi lahat ng ito ay gumagana nang maayos. Karaniwan kaming gumagamit ng 8GB class 4 microSD card, na gumagana nang maayos sa 9600bps. Kung kailangan mo ng mas mataas na baud rate o mas malaking storage space, maaaring gusto mong subukan ang class 6 o mas mataas na card.
Magdagdag ng Mga Pagkaantala sa Pagitan ng Mga Pagsusulat ng Character
Sa pamamagitan ng pagdaragdag ng isang maliit na pagkaantala sa pagitan ng mga pahayag ng Serial.print(), maaari mong bigyan ang OpenLog ng pagkakataong i-record ang kasalukuyang buffer nito.
Para kay example:
  • Serial.begin(115200);
    for(int i = 1 ; i < 10 ; i++) { Serial.print(i, DEC); Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”); }

maaaring hindi mag-log nang maayos, dahil maraming mga character na ipinapadala sa tabi mismo ng bawat isa. Ang pagpasok ng isang maliit na pagkaantala ng 15ms sa pagitan ng malalaking character na pagsusulat ay makakatulong sa OpenLog record nang hindi bumababa ng mga character.

  • Serial.begin(115200);
    for(int i = 1 ; i < 10 ; i++) { Serial.print(i, DEC); Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”); pagkaantala(15); }

Magdagdag ng Arduino Serial Monitor Compatibility

Kung sinusubukan mong gamitin ang OpenLog gamit ang built-in na serial library o ang SoftwareSerial library, maaari mong mapansin ang mga isyu sa command mode. Ang Serial.println() ay nagpapadala ng parehong newline AT carriage return. Mayroong dalawang alternatibong mga utos upang mapagtagumpayan ito.

Ang una ay ang paggamit ng \r command (ASCII carriage return):
Serial.print("TEXT\r");

Bilang kahalili, maaari mong ipadala ang halaga 13 (decimal carriage return):

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

Emergency Reset

Tandaan, kung kailangan mong i-reset ang OpenLog sa isang default na estado, maaari mong i-reset ang board sa pamamagitan ng pagtali sa RX pin sa GND, pagpapagana ng OpenLog, paghihintay hanggang sa magsimulang kumurap ang mga LED nang sabay-sabay, at pagkatapos ay i-power down ang OpenLog at alisin ang jumper.
Kung binago mo ang Emergency Override bit sa 1, kakailanganin mong baguhin ang configuration file, dahil hindi gagana ang Emergency Reset.

Tingnan sa Komunidad

Kung nagkakaroon ka pa rin ng mga isyu sa iyong OpenLog, pakitingnan ang kasalukuyan at mga saradong isyu sa aming GitHub repository dito. Mayroong malaking komunidad na nagtatrabaho sa OpenLog, kaya malamang na may nakahanap ng solusyon para sa problemang nakikita mo.

Mga Mapagkukunan at Pagpapatuloy

Ngayon na matagumpay mong nai-log ang data gamit ang iyong OpenLog, maaari kang mag-set up ng mga malalayong proyekto at masubaybayan ang lahat ng posibleng data na darating. Isaalang-alang ang paggawa ng sarili mong proyekto sa Citizen Science, o kahit isang pet tracker para makita kung ano ang ginagawa ni Fluffy kapag nasa labas!
Tingnan ang mga karagdagang mapagkukunang ito para sa pag-troubleshoot, tulong, o inspirasyon para sa iyong susunod na proyekto.

  • OpenLog GitHub
  • Proyekto ng Illumitune
  • LilyPad Light Sensor Hookup
  • BadgerHack: Add-On ng Soil Sensor
  • Pagsisimula sa OBD-II
  • Vernier Photogate

Kailangan mo ng karagdagang inspirasyon? Tingnan ang ilan sa mga nauugnay na tutorial na ito:

  • Photon Remote Water Level Sensor
    Matutunan kung paano bumuo ng remote water level sensor para sa water storage tank at kung paano i-automate ang pump batay sa mga nabasa!
  • Gabay sa Proyekto ng Blynk Board
    Isang serye ng mga proyekto ng Blynk na maaari mong i-set up sa Blynk Board nang hindi ito muling na-program.
  • Pag-log ng Data sa Google Sheets gamit ang Tessel 2
    Sinasaklaw ng proyektong ito kung paano mag-log ng data sa Google Sheets sa dalawang paraan: gamit ang IFTTT na may a web koneksyon o isang USB pen drive at "sneakernet" nang wala.
  • Graph Sensor Data gamit ang Python at Matplotlib
    Gumamit ng matplotlib para gumawa ng real-time na plot ng data ng temperatura na nakolekta mula sa isang TMP102 sensor na nakakonekta sa isang Raspberry Pi.

Kung mayroon kang anumang feedback sa tutorial, pakibisita ang mga komento o makipag-ugnayan sa aming technical support team sa TechSupport@sparkfun.com.

Mga Madalas Itanong

Ano ang inirerekomendang power input para sa OpenLog?

Ang inirerekomendang power input para sa OpenLog ay nasa pagitan ng 3.3V hanggang 5V.

Magkano ang kasalukuyang iginuhit ng OpenLog kapag idle?

Ang OpenLog ay kumukuha ng humigit-kumulang 2mA hanggang 5mA kapag idle nang walang microSD card, at humigit-kumulang 5mA hanggang 6mA kapag may ipinasok na microSD card.

Ano ang layunin ng microSD USB Reaaboutn sa OpenLog?

Ang microSD USB Reader ay nagbibigay-daan para sa madaling paglipat ng data mula sa microSD card na ginamit kasama ng OpenLog sa isang computer.

Mga Dokumento / Mga Mapagkukunan

SparkFun DEV-13712 Particle Photon na May mga Butas Para sa Paghihinang [pdf] Gabay sa Gumagamit
DEV-13712, DEV-13955, DEV-13712 Particle Photon na May mga Butas Para sa Paghihinang, DEV-13712, Particle Photon na May mga Butas Para sa Paghihinang, Mga Butas Para sa Paghihinang, Para sa Paghihinang, Paghihinang

Mga sanggunian

Mag-iwan ng komento

Ang iyong email address ay hindi maipa-publish. Ang mga kinakailangang field ay minarkahan *