Лого на SparkFunВодич за поврзување на OpenLog

Вовед

Внимание! Ова упатство е за Open Log за сериски UART [DEV-13712]. Ако го користите Qwiic OpenLog за IC [DEV-15164], ве молиме погледнете го Водичот за поврзување на Qwiic OpenLog.
OpenLog Data Logger е едноставно за употреба, решение со отворен код за евидентирање на сериски податоци од вашите проекти. OpenLog обезбедува едноставен сериски интерфејс за евидентирање на податоци од проект на microSD картичка.DEV-13712 SparkFun развојни плочиSparkFun OpenLog
• DEV-13712DEV-13712 SparkFun развојни плочи - ДеловиSparkFun OpenLog со заглавија
• DEV-13955

не е пронајден производ
Потребни материјали
За целосно да го обработите ова упатство, ќе ви бидат потребни следниве делови. Можеби нема да ви бидат потребни сите делови, во зависност од тоа што имате. Додадете ги во вашата кошничка, прочитајте го упатството и прилагодете ја кошничката по потреба.
Водич за поврзување на OpenLog - Список на желби на SparkFun

DEV-13712 SparkFun развојни плочи - Делови 1 Arduino Pro Mini 328 – 3.3V/8MHz
DEV-11114
Сино е! Тенко е! Тоа е Arduino Pro Mini! Минималистичкиот дизајнерски пристап на SparkFun кон Arduino. Ова е 3.3V Arduino …
DEV-13712 SparkFun развојни плочи - Делови 2 SparkFun FTDI основен пробив – 3.3V
DEV-09873
Ова е најновата ревизија на нашиот [FTDI Basic] (http://www.sparkfun.com/commerce/product_info.php?products_id=…
DEV-13712 SparkFun развојни плочи - Делови 3 SparkFun Cerberus USB кабел – 6 метри
CAB-12016
Имаш погрешен USB кабел. Не е важно кој го имаш, погрешен е. Но, што ако можеш да имаш…
DEV-13712 SparkFun развојни плочи - Делови 4 SparkFun OpenLog
DEV-13712
SparkFun OpenLog е логер на податоци со отворен код кој работи преку едноставна сериска врска и поддржува mi…
DEV-13712 SparkFun развојни плочи - Делови 5 microSD картичка со адаптер – 16GB (класа 10)
COM-13833
Ова е microSD мемориска картичка од класа 10 од 16GB, совршена за сместување на оперативни системи за едноплочни компјутери…
DEV-13712 SparkFun развојни плочи - Делови 6 microSD USB читач
COM-13004
Ова е одличен мал microSD USB читач. Само ставете ја вашата microSD картичка во внатрешноста на USB конекторот, т…
DEV-13712 SparkFun развојни плочи - Делови 7 Женски заглавија
PRT-00115
Еден ред од 40 дупки, женски колектор. Може да се сече по големина со пар секачи за жица. Стандарден растојание од 1″. Користиме …
DEV-13712 SparkFun развојни плочи - Делови 8 Кабли за цевководење Premium 6″ M/M пакет од 10
PRT-08431
Ова е ексклузива на SparkFun! Ова се долги џемпери од 155 мм со машки конектори на двата краја. Користете ги за да…
DEV-13712 SparkFun развојни плочи - Делови 9 Машки заглавија за отцепување – прав агол
PRT-00553
Ред машки конектори под прав агол – кршливи за да одговараат. 40 пинови што можат да се исечат на која било големина. Се користи со прилагодени ПХБ или генерациски…

Препорачана литература
Доколку не сте запознаени или не ви се допаѓаат следните концепти, препорачуваме да ги прочитате пред да продолжите со Водичот за поврзување на OpenLog.
Како да се леми: Лемење низ дупки
Ова упатство опфаќа сè што треба да знаете за лемење низ дупки.
Сериски периферен интерфејс (SPI)
SPI најчесто се користи за поврзување на микроконтролери со периферни уреди како што се сензори, регистри за поместување и SD картички.
Сериска комуникација
Концепти за асинхрона сериска комуникација: пакети, нивоа на сигнали, бауд стапки, UART и друго!
Основи на сериски терминал
Ова упатство ќе ви покаже како да комуницирате со вашите сериски уреди користејќи различни апликации за терминален емулатор.

Хардвер завршиview

Моќ
OpenLog работи со следниве поставки:
Оценки на моќност на OpenLog

VCC влез 3.3V-12V (Препорачани 3.3V-5V)
RXI влез 2.0V-3.8V
TXO излез 3.3V
Потрошувачка на струја во мирување ~2mA-5mA (без microSD картичка), ~5mA-6mA (со microSD картичка)
Тековно исцрпување на активното пишување ~20-23mA (со microSD картичка)

Потрошувачката на струја на OpenLog е околу 20mA до 23mA при запишување на microSD картичка. Во зависност од големината на microSD картичката и нејзиниот производител, активната потрошувачка на струја може да варира кога OpenLog запишува на мемориската картичка. Зголемувањето на брзината на пренос, исто така, ќе повлече повеќе струја.
Микроконтролер
OpenLog работи на вградениот ATmega328, со фреквенција од 16MHz благодарение на вградениот кристал. ATmega328 го има вчитан Optiboot bootloader-от, што му овозможува на OpenLog да биде компатибилен со поставката на плочата „Arduino Uno“ во Arduino IDE.DEV-13712 SparkFun развојни плочи - подигнувачИнтерфејс
Сериски UART
Примарниот интерфејс со OpenLog е FTDI заглавието на работ од плочката. Ова заглавие е дизајнирано да се приклучи директно во Arduino Pro или Pro Mini, што му овозможува на микроконтролерот да ги испраќа податоците преку сериска врска до OpenLog.DEV-13712 SparkFun развојни плочи - раб на плочата

Предупредување! Поради подредувањето на пиновите што го прави компатибилен со Arduino-та, не може директно да се приклучи на FTDI разделна плоча. DEV-13712 SparkFun развојни плочи - плочка со раб 1За повеќе информации, проверете го следниот дел за поврзување на хардвер.
СПИ
Исто така, на спротивниот крај од плочата се распоредени четири SPI тест точки. Можете да ги користите за репрограмирање на bootloader-от на ATmega328.DEV-13712 SparkFun развојни плочи - плочка со раб 2Најновиот OpenLog (DEV-13712) ги разложува овие пинови на помали обложени отвори. Ако треба да користите интернет-провајдер за репрограмирање или поставување нов bootloader на OpenLog, можете да користите pogo пинови за да се поврзете со овие тест точки.
Последниот интерфејс за комуникација со OpenLog е самата microSD картичка. За комуникација, на microSD картичката ѝ се потребни SPI пинови. Не само што ова е местото каде што OpenLog ги складира податоците, туку можете да ја ажурирате и конфигурацијата на OpenLog преку config.txt. file на microSD картичката.
картичка microSD
Сите податоци евидентирани од OpenLog се складираат на microSD картичката. OpenLog работи со microSD картички кои ги вклучуваат следниве функции:

  • 64 MB до 32 GB
  • FAT16 или FAT32

DEV-13712 SparkFun развојни плочи - плочка со раб 3

LED статус
На OpenLog има две LED диоди за статус кои ќе ви помогнат при решавање проблеми.

  • STAT1 – Оваа сина LED индикаторска диода е прикачена на Arduino D5 (ATmega328 PD5) и се вклучува/исклучува кога ќе се прими нов знак. Оваа LED диода трепка кога функционира сериската комуникација.
  • STAT2 – Оваа зелена LED диода е поврзана со Arduino D13 (SPI Serial Clock Line/ ATmega328 PB5). Оваа LED диода трепка само кога SPI интерфејсот е активен. Ќе ја видите како трепка кога OpenLog ќе запише 512 бајти на microSD картичката.

DEV-13712 SparkFun развојни плочи - плочка со раб 4

Хардверско поврзување

Постојат два главни методи за поврзување на вашиот OpenLog со струјно коло. Ќе ви бидат потребни неколку конектори или жици за поврзување. Осигурајте се дека сте ги залемиле на плочата за безбедна врска.
Основна сериска врска
Совет: Ако имате женски заглавие, OpenLog и женски заглавие на FTDI, ќе ви бидат потребни M/F џампер жици за поврзување.DEV-13712 SparkFun развојни плочи - основно сериско поврзување

Оваа хардверска конекција е дизајнирана за поврзување со OpenLog ако треба да ја репрограмирате плочката или да евидентирате податоци преку основна сериска конекција.
Направете ги следните врски:
OpenLog → 3.3V FTDI основен прекинувач

  • GND → GND
  • GND → GND
  • VCC → 3.3V
  • TXO → RXI
  • RXI → TXO
  • ДТР → ДТР

Забележете дека не станува збор за директна врска помеѓу FTDI и OpenLog - мора да ги промените TXO и RXI пинските конекции.
Вашите врски треба да изгледаат вака: DEV-13712 SparkFun развојни плочи - Основен пробивОткако ќе ги воспоставите врските помеѓу OpenLog и FTDI Basic, приклучете ја вашата FTDI плоча во USB кабел и во вашиот компјутер.
Отворете сериски терминал, поврзете се со COM портата на вашиот FTDI Basic и тргнете на пат!

Хардверска врска на проектот

Совет: Ако ги имате залемено женските конектори на OpenLog, можете да залемите машки конектори на Arduino Pro Mini за да ги поврзете плочките без потреба од жици.DEV-13712 SparkFun развојни плочи - поврзување со хардвер на проектотИако поврзувањето со OpenLog преку сериска конекција е важно за репрограмирање или дебагирање, местото каде што OpenLog сјае е во вграден проект. Ова општо коло е начинот на кој препорачуваме да го поврзете вашиот OpenLog со микроконтролер (во овој случај, Arduino Pro Mini) кој ќе запишува сериски податоци во OpenLog.
Прво ќе треба да го прикачите кодот на вашиот Pro Mini што планирате да го стартувате. Ве молиме погледнете ги Arduino Sketches за некои примери.ampкод што можете да го користите.
Забелешка: Доколку не сте сигурни како да го програмирате вашиот Pro Mini, погледнете го нашиот туторијал овде.
Користење на Arduino Pro Mini 3.3V
Ова упатство е вашиот водич за сè што е поврзано со Arduino Pro Mini. Објаснува што е, што не е и како да започнете да го користите.
Откако ќе го програмирате вашиот Pro Mini, можете да ја отстраните FTDI плочата и да ја замените со OpenLog.
Осигурајте се дека сте ги поврзале пиновите означени со BLK и на Pro Mini и на OpenLog (пиновите означени со GRN на двата исто така ќе се совпаднат ако се правилно поврзани).
Ако не можете да го поврзете OpenLog директно во Pro Mini (поради несоодветни заглавја или други плочи што пречат), можете да користите џамп-жици и да ги направите следните поврзувања.
OpenLog → Arduino Pro/Arduino Pro Mini

  • GND → GND
  • GND → GND
  • VCC → VCC
  • TXO → RXI
  • RXI → TXO
  • ДТР → ДТР

Откако ќе завршите, вашите врски треба да изгледаат вака со Arduino Pro Mini и Arduino Pro.
Фрицинговата дијаграма ги прикажува OpenLogs со огледални заглавија. Ако го превртите microSD приклучокот во однос на горниот дел од Arduino-то view, тие треба да се совпаѓаат со програмскиот заглавие како FTDI.DEV-13712 SparkFun развојни плочи - Project Hardware Connection 1

Забелешка дека конекцијата е права линија со OpenLog „наопаку“ (со microSD картичката свртена нагоре).
⚡Забелешка: Бидејќи Vcc и GND помеѓу OpenLog и Arduino се зафатени од конектори, ќе треба да ги поврзете другите пинови достапни на Arduino со напојување. Во спротивно, можете да залемите жици на изложените пинови за напојување на која било од плочите.
Вклучете го вашиот систем и подготвени сте да започнете со најавување!

Скици од Ардуино

Постојат шест различни поранешниampВклучени се скици што можете да ги користите на Arduino кога сте поврзани на OpenLog.

  • OpenLog_Benchmarking — Овој ексample се користи за тестирање на OpenLog. Ова испраќа многу големи количини на податоци со 115200bps преку повеќе files.
  • OpenLog_CommandTest — Овој примерample покажува како да се креира и додаде file преку контрола преку командна линија преку Arduino.
  • OpenLog_ReadExampле — Овој поранешенampВо овој текст се објаснува како да се контролира OpenLog преку командна линија.
  • OpenLog_ReadExample_LargeFile - Прampлекција за тоа како да се отвори голема продавница file на OpenLog и пријавете го преку локална Bluetooth конекција.
  • OpenLog_Test_Sketch — Се користи за тестирање на OpenLog со многу сериски податоци.
  • OpenLog_Test_Sketch_Binary — Се користи за тестирање на OpenLog со бинарни податоци и знаци за бегство.

Фирмвер

OpenLog има два основни софтверски делови: bootloader-от и фирмверот.
Arduino Bootloader
Забелешка: Ако користите OpenLog кој е купен пред март 2012 година, вградениот bootloader е компатибилен со поставката „Arduino Pro или Pro Mini 5V/16MHz w/ ATmega328“ во Arduino IDE.
Како што претходно споменавме, OpenLog го има вградениот сериски bootloader Optiboot. Можете да го третирате OpenLog исто како Arduino Uno при прикачување на екс.ampкод или нов фирмвер на плочката.
Ако на крајот го блокирате вашиот OpenLog и треба повторно да го инсталирате bootloader-от, ќе сакате да го поставите и Optiboot на плочата. Погледнете го нашиот туторијал за инсталирање на Arduino Bootloader за повеќе информации.
Компилирање и вчитување на фирмверот во OpenLog
Забелешка: Ако ова е ваш прв пат да го користите Arduino, ве молиме повторноview нашиот туторијал за инсталирање на Arduino IDE. Доколку претходно не сте инсталирале библиотека Arduino, ве молиме погледнете го нашиот водич за инсталација за рачно инсталирање на библиотеките.
Доколку поради некоја причина треба да го ажурирате или повторно да го инсталирате фирмверот на вашиот OpenLog, следниот процес ќе ја постави вашата плоча во функција.
Прво, преземете го Arduino IDE v1.6.5. Други верзии на IDE може да работат за компајлирање на OpenLog фирмверот, но ние ја потврдивме оваа верзија како добро позната.
Потоа, преземете го фирмверот OpenLog и потребниот пакет библиотеки.

ПРЕЗЕМЕТЕ ГО ПАКЕТ НА ФИРМВЕР ЗА OPENLOG (ZIP)
Откако ќе ги преземете библиотеките и фирмверот, инсталирајте ги библиотеките во Arduino. Доколку не сте сигурни како рачно да ги инсталирате библиотеките во IDE, погледнете го нашиот туторијал: Инсталирање на библиотека на Arduino: Рачно инсталирање на библиотека.
Забелешка: Користиме модифицирани верзии на библиотеките SdFat и SerialPort за произволно да декларираме колку треба да бидат големи TX и RX баферите. OpenLog бара TX баферот да биде многу мал (0), а RX баферот треба да биде што е можно поголем. Користењето на овие две модифицирани библиотеки заедно овозможува зголемени перформанси на OpenLog.
Барате најнови верзии? Ако претпочитате најактуелни верзии на библиотеките и фирмверот, можете да ги преземете директно од складиштата на GitHub поврзани подолу. Библиотеките SdFatLib и Serial Port не се видливи во менаџерот на плочи на Arduino, па затоа ќе треба рачно да ја инсталирате библиотеката.

  • GitHub: OpenLog > Firmware > OpenLog_Firmware
  • Библиотеките на Ардуино на Бил Грејман
    SdFatLib-бета
    Сериски порт

Следно, за да се искористи предностаtagе од изменетите библиотеки, изменете го SerialPort.h file пронајдено во директориумот \Arduino\Libraries\SerialPort. Променете го BUFFERED_TX на 0 и ENABLE_RX_ERROR_CHECKING на 0. Зачувајте го fileи отворете го Arduino IDE.
Ако сè уште не сте го направиле тоа, поврзете го вашиот OpenLog со компјутерот преку FTDI плоча. Проверете уште еднашampколо ако не сте сигурни како да го направите ова правилно.
Отворете ја скицата на OpenLog што сакате да ја прикачите во менито Алатки>Плоча, изберете „Arduino/Genuino Uno“ и изберете го соодветниот COM порт за вашата FTDI плоча во Алатки>Порта.
Прикачи го кодот.
Тоа е тоа! Вашиот OpenLog сега е програмиран со нов фирмвер. Сега можете да отворите сериски монитор и да комуницирате со OpenLog. При вклучување, ќе видите или 12> или 12<. 1 означува дека сериската врска е воспоставена, 2 означува дека SD картичката е успешно иницијализирана, < означува дека OpenLog е подготвен да ги евидентира сите примени сериски податоци и > означува дека OpenLog е подготвен да прима команди.
Скици на фирмверот на OpenLog
Постојат три вклучени скици што можете да ги користите на OpenLog, во зависност од вашата конкретна апликација.

  • OpenLog – Овој фирмвер се испорачува по дифолт на OpenLog. Испраќањето на командата ? ќе ја прикаже верзијата на фирмверот вчитан на уредот.
  • OpenLog_Light – Оваа верзија на скицата ги отстранува менито и режимот на команди, овозможувајќи зголемување на баферот за прием. Ова е добра опција за брзо евидентирање.
  • OpenLog_Minimal – Брзината на пренос мора да биде поставена во кодот и прикачена. Оваа скица се препорачува за искусни корисници, но е исто така најдобрата опција за најбрзо евидентирање.

Комплет на команди

Можете да се поврзете со OpenLog преку сериски терминал. Следните команди ќе ви помогнат да читате, пишувате и бришете files, како и да ги промените поставките на OpenLog. Ќе треба да бидете во режим на команда за да ги користите следните поставки.
Додека OpenLog е во режим на команда, STAT1 ќе се вклучува/исклучува за секој примен знак. LED диодата ќе остане вклучена сè додека не се прими следниот знак.

File Манипулација

  • нов File – Создава нова file именуван File во тековниот директориум. Стандард 8.3 fileИмињата се поддржани.
    За прampна пример, „87654321.123“ е прифатливо, додека „987654321.123“ не е.
    • Прampле: ново file1.txt
  • додава File – Додавање текст на крајот од FileСериските податоци потоа се читаат од UART во поток и се додаваат во fileНе се емитува преку серискиот терминал. Ако File не постои кога се повикува оваа функција, file ќе се создаде.
    • Прample: додавај новоfile.csv
  • пишуваат File OFFSET – Пишување текст во File од локацијата OFFSET во рамките на fileТекстот се чита од UART, ред по ред и се повторува назад. За да излезете од оваа состојба, испратете празен ред.
    • Прample: пишување logs.txt 516
  • rm File – Бришења File од тековниот директориум. Поддржани се џокер-знаци.
    • Прample: rm README.txt
  • големина File – Излезна големина на File во бајти.
    • Прample: големина Log112.csv
    • Излез: 11
  • прочитајте File + СТАРТ+ ТИП НА ДОЛЖИНА – Изнеси ја содржината на File почнувајќи од START и продолжувајќи кон LENGTH.
    Ако се испушти START, целиот file се пријавува. Ако се изостави LENGTH, се пријавува целата содржина од почетната точка. Ако се изостави TYPE, OpenLog по дифолт ќе пријавува во ASCII. Постојат три излезни TYPE:
    • ASCII = 1
    • HEX = 2
    • RAW = 3
    Може да изоставите некои заостанувачки аргументи. Проверете го следниов примерampлес.
    Основни ознаки за читање + изоставени:
    • Прample: прочитај LOG00004.txt
    • Излез: Акцелерометар X=12 Y=215 Z=317
    Читај од почеток 0 со должина од 5:
    • Прample: прочитај LOG00004.txt 0 5
    • Излез: Забрзување
    Читање од позиција 1 со должина од 5 во HEX:
    • Прample: прочитај LOG00004.txt 1 5 2
    • Излез: 63 63 65 6C
  • Читање од позиција 0 со должина од 50 во RAW:
  • • Прample: прочитај LOG00137.txt 0 50 3
  • • Резултат: Андре– -þ Проширен тест на карактери
  • мачка File – Напишете ја содржината на file во хексадецимален број до серискиот монитор за viewинг. Ова понекогаш е корисно за да се види дека file снима правилно без да мора да се извади SD картичката и view на file на компјутер.
    • Прample: мачка LOG00004.txt
    • Излез: 00000000: 41 63 65 6c 3a 20 31

Манипулација со директориуми

  • ls – Ги прикажува сите содржини од тековниот директориум. Поддржани се џокер-знаци.
    • Прampле: лс
    • Излез: \src
  • md Поддиректориум – Креирај поддиректориум во тековниот директориум.
    • Прample: md Example_Sketches
  • cd Поддиректориум – Промени во поддиректориум.
    • Прample: cd Здраво_Свет
  • cd .. – Префрли се на понизок директориум во дрвото. Забележете дека има празно место помеѓу „cd“ и „..“. Ова му овозможува на парсерот на стрингови да ја види командата cd.
    • Прampле: cd ..
  • rm Поддиректориум – Го брише поддиректориумот. Директориумот мора да биде празен за да работи оваа команда.
    • Прample: rm температури
  • rm -rf директориум – Брише директориум и кој било друг files содржани во него.
    • Прample: rm -rf Библиотеки

Команди на функции од ниско ниво

  • ? – Оваа команда ќе прикаже листа на достапни команди на OpenLog.
  • диск – Прикажете го ID-то на производителот на картичката, серискиот број, датумот на производство и големината на картичката. На пр.ampизлезот е:
    Тип на картичка: SD2
    ИД на производител: 3
    OEM ID: SD
    Производ: SU01G
    Верзија: 8.0
    Сериски број: 39723042
    Датум на производство: 1/2010 година
    Големина на картичката: 965120 KB
  • init – Повторно иницијализирајте го системот и повторно отворете ја SD-картичката. Ова е корисно ако SD-картичката престане да реагира.
  • синхронизација – Ги синхронизира моменталните содржини на баферот со SD картичката. Оваа команда е корисна ако имате помалку од 512 знаци во баферот и сакате да ги снимите на SD картичката.
  • ресетирање – Го префрла OpenLog на нулта локација, го стартува повторно bootloader-от, а потоа го иницијализира кодот. Оваа команда е корисна ако треба да ја уредите конфигурацијата file, ресетирајте го OpenLog и започнете со користење на новата конфигурација. Вклучувањето на електричната мрежа е сè уште претпочитаниот метод за ресетирање на плочката, но оваа опција е достапна.

Системски поставки

Овие поставки можат рачно да се ажурираат или уредуваат во config.txt file.

  • echo STATE – Ја менува состојбата на системското ехо и се складира во системската меморија. STATE може да биде вклучено или исклучено. Додека е вклучено, OpenLog ќе ги ехотира примените сериски податоци на командната линија. Додека е исклучено, системот не ги чита назад примените знаци.
    Забелешка: За време на нормалното евидентирање, ехото ќе биде исклучено. Потребните системски ресурси за ехо на примените податоци се превисоки за време на евидентирањето.
  • опширна STATE – Ја менува состојбата на опширното пријавување на грешки. STATE може да биде вклучена или исклучена. Оваа команда се складира во меморијата. Со исклучување на опширните грешки, OpenLog ќе одговори само со ! ако има грешка, наместо со непозната команда: COMMAND. Знакот ! е полесен за парсирање од целосната грешка за вградените системи. Ако користите терминал, оставањето на опширната функција вклучена ќе ви овозможи да ги видите сите пораки за грешка.
  • baud – Оваа команда ќе отвори системско мени кое ќе му овозможи на корисникот да внесе baud брзина. Поддржана е која било baud брзина помеѓу 300bps и 1Mbps. Изборот на baud брзина е моментален, а OpenLog бара исклучување за да стапат на сила поставките. Baud брзината се зачувува во EEPROM и се вчитува секој пат кога OpenLog се вклучува. Стандардната вредност е 9600 8N1.

Запомнете: Ако плочата се заглави во непозната брзина на пренос, можете да го поврзете RX со GND и да го вклучите OpenLog. LED диодите ќе трепкаат напред-назад 2 секунди, а потоа ќе трепкаат истовремено. Исклучете го OpenLog и отстранете го џамперот. OpenLog сега е ресетиран на 9600bps со знак за бегство притиснат три пати по ред со `CTRL-Z`. Оваа функција може да се замени со поставување на битот за итно заобиколување на 1.
Видете config.txt за повеќе информации.

  • постави – Оваа команда отвора системско мени за избор на режим на подигнување. Овие поставки ќе се појават на
    • при следното вклучување и се складираат во неиспарлива EEPROM меморија. Ново File Логирање – Овој режим креира нов file Секој пат кога OpenLog ќе се вклучи. OpenLog ќе испрати 1 (UART е активен), 2 (SD картичката е иницијализирана), потоа < (OpenLog е подготвен да прима податоци). Сите податоци ќе бидат снимени во LOG#####.txt. Бројот ##### се зголемува секој пат кога OpenLog ќе се вклучи (максимумот е 65533 логови). Бројот е зачуван во EEPROM и може да се ресетира од менито за поставки.
    Сите примени знаци не се повторуваат. Можете да излезете од овој режим и да влезете во режим на команди со испраќање на CTRL+z (ASCII 26). Сите баферирани податоци ќе бидат зачувани.

Забелешка: Доколку се креирани премногу логови, OpenLog ќе прикаже грешка **Премногу логови**, ќе излезе од овој режим и ќе се префрли на командната линија. Серискиот излез ќе изгледа како `12!Премногу логови!`.

  • Додадете File Логирање – Исто така познат како секвенцијален режим, овој режим создава file наречен SEQLOG.txt ако веќе не е таму, и ги додава сите примени податоци на fileOpenLog ќе испрати 12<, по што OpenLog е подготвен да прими податоци. Знаците не се повторуваат. Можете да излезете од овој режим и да влезете во режим на команди со испраќање на CTRL+z (ASCII 26). Сите баферирани податоци ќе бидат зачувани.
  • Командна линија – OpenLog ќе испрати 12>, по што системот е подготвен да прима команди. Забележете дека знакот > означува дека OpenLog е подготвен да прима команди, а не податоци. Можете да креирате files и додадете податоци во files, но ова бара одредено сериско парсирање (за проверка на грешки), па затоа не го поставуваме овој режим по дифолт.
  • Ресетирај ново File Број – Овој режим ќе го ресетира дневникот file број на LOG000.txt. Ова е корисно ако неодамна сте ја исчистиле microSD картичката и сакате да го внесете дневникот. file броеви за да почнат одново.
  • Нов знак за бегство – Оваа опција му овозможува на корисникот да внесе знак како што е CTRL+z или $ и да го постави како нов знак за бегство. Оваа поставка се ресетира на CTRL+z за време на итно ресетирање.
  • Број на знаци за бегство – Оваа опција му овозможува на корисникот да внесе знак (како што се 1, 3 или 17), ажурирајќи го новиот број на знаци за бегство потребни за префрлање во режим на команда. На пр.ampНа пример, внесувањето 8 ќе бара од корисникот да притисне CTRL+z осум пати за да влезе во режим на команди. Оваа поставка се ресетира на 3 за време на итно ресетирање.

Објаснување за знаците за бегство: Причината зошто OpenLog бара 3 притискања на `CTRL+z` за да влезе во режим на команда е за да се спречи случајно ресетирање на плочата за време на качувањето на нов код од Arduino IDE. Постои можност плочата да го види знакот `CTRL+z` за време на стартувањето (проблем што го видовме во раните верзии на фирмверот на OpenLog), па затоа ова има за цел да го спречи тоа. Ако некогаш се сомневате дека вашата плоча е блокирана поради ова, секогаш можете да направите итно ресетирање со држење на RX пинот до заземјувањето за време на вклучувањето.

Конфигурација File

Ако не сакате да го користите серискиот терминал за менување на поставките на вашиот OpenLog, можете да ги ажурирате поставките и со менување на CONFIG.TXT датотеката. file.
Забелешка: Оваа функција работи само на верзија на фирмвер 1.6 или понова. Ако сте купиле OpenLog по 2012 година, ќе користите верзија на фирмвер 1.6+
За да го направите ова, ќе ви треба читач на microSD картички и уредувач на текст. Отворете го config.txt file (големи букви од file името не е важно) и конфигурирајте го! Ако никогаш порано не сте го вклучиле вашиот OpenLog со SD картичката, можете и рачно да го креирате fileАко сте го вклучиле OpenLog со претходно вметната microSD картичка, треба да видите нешто како следново кога ќе ја прочитате microSD картичката.DEV-13712 SparkFun развојни плочи - уредувач на текстOpenLog креира config.txt и LOG0000.txt file при првото вклучување.
Стандардната конфигурација file има еден ред со поставки и еден ред со дефиниции.DEV-13712 SparkFun развојни табли - уредувач на текст 1Стандардна конфигурација file напишано од OpenLog.
Забележете дека ова се обични видливи знаци (нема невидливи или бинарни вредности) и секоја вредност е одделена со запирка.
Поставките се дефинирани на следниов начин:

  • baud: Брзина на комуникација. 9600bps е стандардна. Прифатливи вредности кои се компатибилни со Arduino IDE се 2400, 4800, 9600, 19200, 38400, 57600 и 115200. Можете да користите други брзини на пренос, но нема да можете да комуницирате со OpenLog преку серискиот монитор на Arduino IDE.
  • escape: ASCII вредноста (во децимален формат) на знакот escape. 26 е CTRL+z и е стандарден. 36 е $ и е често користен знак escape.
  • esc# : Потребен број на знаци за escape. Стандардно, тој е три, па затоа мора да го притиснете знакот за escape три пати за да влезете во режим на команда. Прифатливи вредности се од 0 до 254. Поставувањето на оваа вредност на 0 целосно ќе ја оневозможи проверката на знаците за escape.
  • режим: Системски режим. OpenLog стартува во режим на нов дневник (0) по дифолт. Прифатливи вредности се 0 = Нов дневник, 1 = Секвенцијален дневник, 2 = Режим на команда.
  • глагол: Опширен режим. Проширените (опширни) пораки за грешки се вклучени по дифолт. Поставувањето на 1 ги вклучува опширните пораки за грешки (како што е непозната команда: отстрани!). Поставувањето на 0 ги исклучува опширните грешки, но ќе одговори со ! ако има грешка. Исклучувањето на опширниот режим е корисно ако се обидувате да се справите со грешки од вграден систем.
  • echo : Режим на ехо. Додека сте во режим на команди, знаците се повторуваат по дифолт. Поставувањето на ова на 0 го исклучува ехото на знаците. Исклучувањето на ова е корисно ако работите со грешки и не сакате испратените команди да бидат повторувани назад во OpenLog.
  • ignoreRX : Итно префрлање. Нормално, OpenLog ќе се ресетира во итен случај кога RX пинот ќе се повлече ниско за време на вклучувањето. Поставувањето на ова на 1 ќе ја оневозможи проверката на RX пинот за време на вклучувањето. Ова може да биде корисно за системи кои ќе ја држат RX линијата ниско од различни причини. Ако Итното префрлање е оневозможено, нема да можете да го присилите уредот да се врати на 9600bps, а конфигурацијата file ќе биде единствениот начин за менување на брзината на пренос.

Како OpenLog ја менува конфигурацијата File
Постојат пет различни ситуации во кои OpenLog може да ја измени датотеката config.txt. file.

  • Конфигурација file пронајдено: За време на вклучувањето, OpenLog ќе побара config.txt file. Ако на file Ако се пронајде, OpenLog ќе ги користи вклучените поставки и ќе ги пребрише сите претходно зачувани системски поставки.
  • Нема конфигурација file пронајдено: Ако OpenLog не може да го пронајде config.txt file потоа OpenLog ќе креира config.txt и ќе ги запише моментално зачуваните системски поставки во него. Ова значи дека ако вметнете новоформатирана microSD картичка, вашиот систем ќе ги задржи своите моментални поставки.
  • Оштетена конфигурација file пронајдено: OpenLog ќе го избрише оштетениот config.txt file, и ќе ги преработи и внатрешните поставки на EEPROM и поставките на config.txt file до познатата добра состојба од 9600,26,3,0,1,1,0.
  • Недозволени вредности во конфигурацијата fileАко OpenLog открие какви било поставки што содржат нелегални вредности, OpenLog ќе ги пребрише оштетените вредности во config.txt file со моментално зачуваните системски поставки на EEPROM.
  • Промени преку командна линија: Ако системските поставки се променат преку командна линија (или преку сериска врска или преку сериски команди на микроконтролерот), тие промени ќе бидат снимени и во системската EEPROM меморија и во config.txt датотеката. file.
  • Итно ресетирање: Ако OpenLog се вклучи со џампер помеѓу RX и GND, а битот за итно префрлање е поставен на 0 (дозволува итно ресетирање), OpenLog ќе ги преработи и внатрешните поставки на EEPROM и поставките на config.txt. file до познатата добра состојба од 9600,26,3,0,1,1,0.

Решавање проблеми

Постојат неколку различни опции за проверка дали имате проблеми со поврзување преку серискиот монитор, имате проблеми со изгубени знаци во логовите или се борите со блокиран OpenLog.
Проверете го однесувањето на STAT1 LED диодата
STAT1 LED диодата покажува различно однесување за две различни вообичаени грешки.

  • 3 трепкања: MicroSD картичката не успеа да се иницијализира. Можеби ќе треба да ја форматирате картичката со FAT/FAT16 на компјутер.
  • 5 трепкања: OpenLog се промени на нова брзина на пренос и треба да се вклучи.

Двојна проверка на структурата на поддиректориумот
Ако го користите стандардниот OpenLog.ino exampЗначи, OpenLog ќе поддржува само два поддиректориуми. Ќе треба да го промените FOLDER_TRACK_DEPTH од 2 на бројот на поддиректориуми што треба да ги поддржувате. Откако ќе го направите ова, повторно компајлирајте го кодот и прикачете го изменетиот фирмвер.
Потврдете го бројот на Files во коренскиот директориум
OpenLog ќе поддржува само до 65,534 логови files во коренскиот директориум. Препорачуваме повторно форматирање на вашата microSD картичка за да ја подобрите брзината на евидентирање.
Проверете ја големината на вашиот изменет фирмвер
Ако пишувате прилагодена скица за OpenLog, потврдете дека вашата скица не е поголема од 32,256. Ако е така, таа ќе ги пресече горните 500 бајти од флеш меморијата, која ја користи серискиот подигнувач на Optiboot.
Двојна проверка File Имиња
Сите file Имињата треба да бидат алфанумерички. MyLOG1.txt е во ред, но Hi !e _.txt можеби нема да работи.
Користи 9600 бауди
OpenLog работи на ATmega328 и има ограничена количина на RAM меморија (2048 бајти). Кога испраќате сериски знаци до OpenLog, овие знаци се баферираат. Поедноставената спецификација за SD група дозволува SD картичката да потрае до 250 ms (дел 4.6.2.2 Запишување) за да сними блок од податоци во флеш меморијата.
На 9600bps, тоа се 960 бајти (10 бита по бајт) во секунда. Тоа се 1.04ms по бајт. OpenLog моментално користи бафер за прием од 512 бајти, така што може да баферира околу 50ms знаци. Ова му овозможува на OpenLog успешно да ги прима сите знаци што доаѓаат со 9600bps. Како што ја зголемувате брзината на пренос, баферот ќе трае помалку време.
Време на пречекорување на баферот на OpenLog

Baud Rate Време по бајт  Време до преполнување на баферот
9600bps 1.04 ms 532 ms
57600bps 0.174 ms 88 ms
115200bps 0.087 ms 44 ms

Многу SD картички имаат побрзо време на снимање од 250ms. На ова може да влијае „класата“ на картичката и количината на податоци што веќе се складирани на картичката. Решението е да се користи пониска брзина на пренос или да се зголеми времето помеѓу испратените знаци со повисока брзина на пренос.
Форматирајте ја вашата MicroSD картичка
Запомнете да користите картичка со малку или без files на неа. MicroSD картичка со ZIP меморија од 3.1GB files или MP3s имаат побавно време на одговор од празна картичка.
Ако не сте ја форматирале вашата microSD картичка на Windows оперативен систем, преформатирајте ја microSD картичката и креирајте DOS датотека. fileсистем на SD картичката.
Заменете ги MicroSD картичките
Постојат многу различни видови производители на картички, картички со преобележана етикета, големини на картички и класи на картички, и можеби не сите работат правилно. Ние обично користиме microSD картичка од 8GB класа 4, која работи добро со 9600bps. Ако ви требаат повисоки брзини на пренос или поголем простор за складирање, можеби ќе сакате да пробате картички од класа 6 или повисока.
Додај доцнења помеѓу пишувањето карактери
Со додавање на мало задоцнување помеѓу наредбите Serial.print(), можете да му дадете можност на OpenLog да го сними својот тековен
тампон.
За прampле:
Serial.begin(115200);
за(int i = 1; i < 10; i++) {
Serial.print(i, DEC);
Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”);
}

може да не се евидентира правилно, бидејќи многу знаци се испраќаат еден до друг. Вметнувањето мало задоцнување од 15ms помеѓу пишувањата на големи знаци ќе му помогне на OpenLog да снима без да испушта знаци.
Serial.begin(115200);
за(int i = 1; i < 10; i++) {
Serial.print(i, DEC);
Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”);
доцнење (15);
}

Додај компатибилност со сериски монитори на Arduino
Ако се обидувате да го користите OpenLog со вградената сериска библиотека или библиотеката SoftwareSerial, може да забележите проблеми со режимот на команди. Serial.println() испраќа и нов ред И враќање на вредност. Постојат две алтернативни команди за да се надмине ова.
Првиот е да се користи командата \r (ASCII враќање на карионот):
Serial.print(“ТЕКСТ\r”);
Алтернативно, можете да ја испратите вредноста 13 (децимална повратна вредност):
Serial.print(“ТЕКСТ”);
Serial.write(13);

Ресетирање за итни случаи
Запомнете, ако треба да го ресетирате OpenLog во стандардна состојба, можете да ја ресетирате плочката со поврзување на RX пинот со GND, вклучување на OpenLog, чекање додека LED диодите не почнат да трепкаат истовремено, а потоа исклучување на OpenLog и отстранување на џамперот.
Ако сте го промениле битот за итно презапишување на 1, ќе треба да ја измените конфигурацијата. file, бидејќи Итното ресетирање нема да работи.
Проверете со Заедницата
Доколку сè уште имате проблеми со вашиот OpenLog, ве молиме погледнете ги тековните и затворените проблеми на нашето GitHub репозиториум тука. Постои голема заедница што работи со OpenLog, па веројатно е дека некој пронашол решение за проблемот што го гледате.

Ресурси и одење понатаму

Сега кога успешно ги евидентиравте податоците со вашиот OpenLog, можете да поставите далечински проекти и да ги следите сите можни податоци што доаѓаат. Размислете за креирање на сопствен проект за граѓанска наука или дури и систем за следење на домашни миленици за да видите што прави Флафи кога е надвор!
Погледнете ги овие дополнителни ресурси за решавање проблеми, помош или инспирација за вашиот следен проект.

  • OpenLog GitHub
  • Проект Илумитун
  • Приклучок за сензор за светлина на LilyPad
  • BadgerHack: Додаток за сензор за почва
  • Започнување со OBD-II
  • Верние Фотопорта

Ви треба уште инспирација? Погледнете некои од овие поврзани упатства:
Фотон далечински сензор за ниво на вода
Научете како да изградите далечински сензор за ниво на вода за резервоар за вода и како да автоматизирате пумпа врз основа на отчитувањата!
Фотон далечински сензор за ниво на вода
Научете како да изградите далечински сензор за ниво на вода за резервоар за вода и како да автоматизирате пумпа врз основа на отчитувањата!
Евидентирање податоци во Google Sheets со Tessel 2
Овој проект опфаќа како да се евидентираат податоци во Google Sheets на два начина: користејќи IFTTT со web конекција или USB флеш драјв и „sneakernet“ без.
Податоци од графички сензори со Python и Matplotlib
Користете го matplotlib за да креирате графикон во реално време на податоци за температурата собрани од сензор TMP102 поврзан со Raspberry Pi.
Доколку имате повратни информации за упатствата, посетете ги коментарите или контактирајте го нашиот тим за техничка поддршка на TechSupport@sparkfun.com.

Лого на SparkFun

Документи / ресурси

SparkFun DEV-13712 SparkFun развојни плочи [pdf] Упатство за корисникот
DEV-13712, DEV-11114, DEV-09873, CAB-12016, COM-13833, COM-13004, PRT-00115, PRT-08431, DEV-13712 SparkFun развојни плочи, DEV-13712, SparkFun развојни плочи, развојни плочи, плочи

Референци

Оставете коментар

Вашата адреса за е-пошта нема да биде објавена. Задолжителните полиња се означени *