Логотип SparkFunПосібник з підключення OpenLog

вступ

Увага! Цей посібник стосується Open Log для послідовного UART [DEV-13712]. Якщо ви використовуєте Qwiic OpenLog для IC [DEV-15164], зверніться до Посібника з підключення Qwiic OpenLog.
Реєстратор даних OpenLog — це просте у використанні рішення з відкритим кодом для реєстрації послідовних даних з ваших проектів. OpenLog надає простий послідовний інтерфейс для реєстрації даних з проекту на карту microSD.Плати розробки DEV-13712 SparkFunSparkFun OpenLog
• DEV-13712Плати розробки DEV-13712 SparkFun - ЗапчастиниSparkFun OpenLog із заголовками
• DEV-13955

товару не знайдено
Необхідні матеріали
Щоб повністю опанувати цей посібник, вам знадобляться наступні компоненти. Однак, вам може знадобитися не все, залежно від того, що у вас є. Додайте все до кошика, прочитайте посібник і за потреби налаштуйте кошик.
Посібник з підключень OpenLog Список бажань SparkFun

Плати розробки DEV-13712 SparkFun - частини 1 Arduino Pro Mini 328 – 3.3 В/8 МГц
DEV-11114
Він синій! Він тонкий! Це Arduino Pro Mini! Мінімалістичний підхід SparkFun до дизайну Arduino. Це Arduino на 3.3 В …
Плати розробки 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 USB-кабель SparkFun Cerberus – 6 м
CAB-12016
У вас неправильний USB-кабель. Неважливо, який у вас, це неправильний. Але що, якби ви могли мати…
Плати розробки DEV-13712 SparkFun - частини 4 SparkFun OpenLog
DEV-13712
SparkFun OpenLog — це реєстратор даних з відкритим кодом, який працює через просте послідовне з’єднання та підтримує…
Плати розробки DEV-13712 SparkFun - частини 5 Карта microSD з адаптером – 16 ГБ (клас 10)
COM-13833
Це карта пам'яті microSD класу 10 об'ємом 16 ГБ, ідеально підходить для розміщення операційних систем одноплатних комп'ютерів…
Плати розробки DEV-13712 SparkFun - частини 6 USB-зчитувач microSD
COM-13004
Це чудовий маленький USB-зчитувач карт microSD. Просто вставте карту microSD у USB-роз'єм, і…
Плати розробки DEV-13712 SparkFun - частини 7 Жіночі заголовки
ПРТ-00115
Один ряд 40-отвірних роз'ємів, жіночий. Можна обрізати за розміром кусачками. Стандартна відстань 1 дюйма. Ми використовуємо …
Плати розробки DEV-13712 SparkFun - частини 8 Дроти для перемичок преміум-класу 6″ M/M, упаковка з 10 штук
ПРТ-08431
Це ексклюзив від SparkFun! Це перемички довжиною 155 мм із чоловічими роз'ємами на обох кінцях. Використовуйте їх для…
Плати розробки DEV-13712 SparkFun - частини 9 Відривні чоловічі заголовки – прямий кут
ПРТ-00553
Ряд прямих кутових чоловічих роз'ємів – ламаються для підгонки. 40 контактів, які можна обрізати до будь-якого розміру. Використовується з нестандартними друкованими платами або генераторами…

Рекомендована література
Якщо ви не знайомі або не відчуваєте себе комфортно з наступними концепціями, радимо ознайомитися з ними, перш ніж продовжувати роботу з посібником з підключення OpenLog.
Як паяти: пайка через отвір
Цей посібник охоплює все, що вам потрібно знати про паяння через отвір.
Послідовний периферійний інтерфейс (SPI)
SPI зазвичай використовується для підключення мікроконтролерів до периферійних пристроїв, таких як датчики, регістри зсуву та SD-карти.
Послідовний зв'язок
Концепції асинхронного послідовного зв'язку: пакети, рівні сигналів, швидкість передачі даних, UART та багато іншого!
Основи послідовного терміналу
У цьому посібнику ви дізнаєтесь, як взаємодіяти з послідовними пристроями за допомогою різноманітних програм емулятора терміналу.

Обладнання закінченоview

потужність
OpenLog працює з такими налаштуваннями:
Номінальні потужності OpenLog

Вхід VCC 3.3 В - 12 В (рекомендовано 3.3 В - 5 В)
Вхід RXI 2.0В-3.8В
Вихід передавального пристрою 3.3 В
Споживання струму холостого ходу ~2 мА-5 мА (без карти microSD), ~5 мА-6 мА (з картою microSD)
Струм активного запису ~20-23 мА (з картою microSD)

Споживання струму OpenLog під час запису на картку microSD становить приблизно від 20 мА до 23 мА. Залежно від розміру картки microSD та її виробника, активне споживання струму може змінюватися, коли OpenLog записує на картку пам'яті. Збільшення швидкості передачі даних також призведе до збільшення споживання струму.
Мікроконтролер
OpenLog працює на вбудованому мікроконтролері ATmega328 з частотою 16 МГц завдяки вбудованому кристалу. На ATmega328 завантажено завантажувач Optiboot, що забезпечує сумісність 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
Також на протилежному кінці плати є чотири тестові виходи SPI. Ви можете використовувати їх для перепрограмування завантажувача на ATmega328.Плати розробки DEV-13712 SparkFun - край плати 2В останньому варіанті OpenLog (DEV-13712) ці контакти виведені на менші наскрізні отвори з гальванічним покриттям. Якщо вам потрібно скористатися послугами інтернет-провайдера для перепрограмування або завантаження нового завантажувача в OpenLog, ви можете використовувати контакти pogo для підключення до цих тестових точок.
Останнім інтерфейсом для зв'язку з OpenLog є сама карта microSD. Для зв'язку карті microSD потрібні контакти SPI. Тут не тільки зберігаються дані OpenLog, але й можна оновлювати конфігурацію OpenLog через файл config.txt. file на карті microSD.
Картка microSD
Усі дані, що реєструються OpenLog, зберігаються на картці microSD. OpenLog працює з картками microSD, які мають такі функції:

  • Від 64 Мб до 32 Гб
  • FAT16 або FAT32

Плати розробки DEV-13712 SparkFun - край плати 3

Статус LED
На OpenLog є два світлодіоди стану, які допоможуть вам у вирішенні проблем.

  • STAT1 – Цей синій індикаторний світлодіод підключений до Arduino D5 (ATmega328 PD5) і вмикається/вимикається, коли отримується новий символ. Цей світлодіод блимає, коли працює послідовний зв'язок.
  • STAT2 – Цей зелений світлодіод підключено до Arduino D13 (лінія послідовного тактового сигналу SPI/ATmega328 PB5). Цей світлодіод блимає лише тоді, коли інтерфейс SPI активний. Ви побачите, як він блимає, коли OpenLog записує 512 байт на карту microSD.

Плати розробки DEV-13712 SparkFun - край плати 4

Підключення апаратного забезпечення

Існує два основних способи підключення вашого OpenLog до схеми. Вам знадобляться деякі роз'єми або дроти для підключення. Переконайтеся, що ви припаяли до плати для надійного з'єднання.
Базове послідовне з'єднання
Порада: Якщо у вас є роз'єм типу "мама" (OpenLog) та роз'єм типу "мама" (FTDI), вам знадобляться перемички M/F для їх підключення.Плати розробки DEV-13712 SparkFun – базове послідовне з'єднання

Це апаратне з'єднання призначене для взаємодії з OpenLog, якщо вам потрібно перепрограмувати плату або записувати дані через базове послідовне з'єднання.
Виконайте такі з’єднання:
OpenLog → Базовий прохідний модуль FTDI 3.3V

  • GND → GND
  • GND → GND
  • VCC → 3.3 В
  • 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 для деяких прикладів.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
  • ВКС → ВКС
  • TXO → RXI
  • RXI → TXO
  • ДТР → ДТР

Після завершення ваші з'єднання з Arduino Pro Mini та Arduino Pro повинні виглядати наступним чином.
На діаграмі Фрітцінга показано OpenLogs із дзеркально відображеними заголовками. Якщо перевернути роз'єм microSD відносно верхньої частини Arduino view, вони повинні відповідати заголовку програмування, як у FTDI.Плати розробки DEV-13712 SparkFun - Підключення апаратного забезпечення проекту 1

Примітка що з’єднання пряме, з OpenLog «догори ногами» (карткою microSD догори).
⚡Примітка: Оскільки Vcc та GND між OpenLog та Arduino зайняті роз'ємами, вам потрібно буде підключити живлення до інших доступних контактів на Arduino. В іншому випадку ви можете припаяти дроти до відкритих контактів живлення на будь-якій платі.
Увімкніть свою систему, і ви готові розпочати ведення журналу!

Ескізи Arduino

Існує шість різних колишніхampвключено кілька скетчів, які можна використовувати на Arduino при підключенні до OpenLog.

  • OpenLog_Benchmarking — Цей ексample використовується для тестування OpenLog. Він надсилає дуже великі обсяги даних зі швидкістю 115200 біт/с через кілька files.
  • OpenLog_CommandTest — Цей example показує, як створити та додати file через керування з командного рядка через Arduino.
  • OpenLog_ReadExampле — Цей колишнійampУ цьому документі описано, як керувати OpenLog через командний рядок.
  • OpenLog_ReadExample_LargeFile — Прampлекція про те, як відкрити велике сховище file на OpenLog та повідомити про це через локальне з’єднання Bluetooth.
  • OpenLog_Test_Sketch — Використовується для тестування OpenLog з великою кількістю послідовних даних.
  • OpenLog_Test_Sketch_Binary — Використовується для тестування OpenLog з двійковими даними та escape-символами.

Прошивка

OpenLog має два основні програмні компоненти: завантажувач та прошивку.
Завантажувач Arduino
Примітка: Якщо ви використовуєте OpenLog, придбаний до березня 2012 року, вбудований завантажувач сумісний з налаштуванням «Arduino Pro або Pro Mini 5V/16MHz w/ ATmega328» в середовищі розробки Arduino.
Як згадувалося раніше, OpenLog має вбудований послідовний завантажувач Optiboot. Ви можете використовувати OpenLog так само, як Arduino Uno під час завантаження...ampкод або нову прошивку на плату.
Якщо ви врешті-решт заблокували OpenLog і вам потрібно буде перевстановити завантажувач, вам також потрібно буде завантажити Optiboot на плату. Будь ласка, ознайомтеся з нашим посібником зі встановлення завантажувача Arduino для отримання додаткової інформації.
Компіляція та завантаження прошивки в OpenLog
Примітка: Якщо ви вперше використовуєте Arduino, будь ласка, повторітьview наш посібник зі встановлення середовища розробки Arduino. Якщо ви раніше не встановлювали бібліотеку Arduino, будь ласка, ознайомтеся з нашим посібником зі встановлення, щоб встановити бібліотеки вручну.
Якщо з будь-якої причини вам потрібно оновити або перевстановити прошивку на вашому OpenLog, наступний процес допоможе вам запустити та запустити вашу плату.
Спочатку завантажте Arduino IDE версії 1.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
  • Бібліотеки Білла Греймана для Arduino
    SdFatLib-бета-версія
    Серійний порт

Далі, щоб скористатися перевагамиtagСеред змінених бібліотек, модифікуйте SerialPort.h file знаходиться в каталозі \Arduino\Libraries\SerialPort. Змініть BUFFERED_TX на 0 та ENABLE_RX_ERROR_CHECKING на 0. Збережіть fileта відкрийте середовище розробки Arduino.
Якщо ви ще цього не зробили, підключіть свій 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 вмикатиметься/вимикатиметься для кожного прийнятого символу. Світлодіод світитиметься, доки не буде отримано наступний символ.

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 ЗМІЩЕННЯ – Написати текст до File від розташування OFFSET у межах fileТекст зчитується з UART рядок за рядком і відсилається назад. Щоб вийти з цього стану, надішліть порожній рядок.
    • Напрample: записати logs.txt 516
  • rm File – Видалення File з поточного каталогу. Підтримуються шаблони підстановки.
    • Напрampфайл: rm README.txt
  • розмір File – Розмір виводу File у байтах.
    • Напрampле: розмір Log112.csv
    • Вихід: 11
  • читати File + ПОЧАТОК+ ТИП ДОВЖИНИ – Вивести вміст File починаючи з ПОЧАТКУ та продовжуючи ДОВЖИНУ.
    Якщо START пропущено, весь file повідомляється. Якщо LENGTH пропущено, повідомляється весь вміст з початкової точки. Якщо TYPE пропущено, OpenLog за замовчуванням повідомлятиме у форматі ASCII. Існує три типи виводу:
    • ASCII = 1
    • Шістнадцяткове число = 2
    • СИРИЙ формат = 3
    Ви можете пропустити деякі завершальні аргументи. Перевірте наступний прикладampлес.
    Базові прапорці читання + пропущені:
    • Напрample: читання LOG00004.txt
    • Вихід: Акселерометр X=12 Y=215 Z=317
    Читання з початку 0 з довжиною 5:
    • Напрample: читання LOG00004.txt 0 5
    • Вихід: Прискорення
    Читання з позиції 1 довжиною 5 у шістнадцятковому форматі:
    • Напр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 на комп’ютері.
    • Напрampфайл: cat 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ле: кд ..
  • rm Піддиректорія – Видаляє піддиректорію. Директорія має бути порожньою, щоб ця команда працювала.
    • Напрample: температура в повітрі
  • rm -rf Каталог – Видаляє каталог та будь-які fileщо містяться в ньому.
    • Напрample: rm -rf Бібліотеки

Команди функцій низького рівня

  • ? – Ця команда відобразить список доступних команд у OpenLog.
  • диск – Показати ідентифікатор виробника карти, серійний номер, дату виробництва та розмір карти. Наприкладampвихідний сигнал:
    Тип карти: SD2
    Ідентифікатор виробника: 3
    Ідентифікатор OEM: SD
    Продукт: SU01G
    Версія: 8.0
    Серійний номер: 39723042
    Дата виготовлення: 1/2010
    Розмір картки: 965120 КБ
  • init – Переініціалізація системи та повторне відкриття SD-карти. Це корисно, якщо SD-карта перестала відповідати.
  • sync – Синхронізує поточний вміст буфера з SD-картою. Ця команда корисна, якщо у вашому буфері менше 512 символів, і ви хочете записати їх на SD-карту.
  • reset – Перемикає OpenLog до нульової позиції, перезапускає завантажувач, а потім ініціалізує код. Ця команда корисна, якщо вам потрібно редагувати конфігурацію. file, скиньте OpenLog та почніть використовувати нову конфігурацію. Вимкнення та вимикання живлення все ще є кращим методом скидання налаштувань плати, але ця опція доступна.

Налаштування системи

Ці налаштування можна оновити вручну або відредагувати у файлі config.txt file.

  • echo STATE – Змінює стан системного echo та зберігається в системній пам'яті. STATE може бути як увімкнено, так і вимкнено. Якщо увімкнено, OpenLog відображатиме отримані послідовні дані в командному рядку. Якщо вимкнено, система не зчитує отримані символи.
    Примітка: Під час звичайного ведення журналу відлуння буде вимкнено. Вимоги до системних ресурсів для відображення отриманих даних під час ведення журналу занадто високі.
  • verbose STATE – Змінює стан детального звітування про помилки. STATE може бути як увімкнено, так і вимкнено. Ця команда зберігається в пам'яті. Якщо вимкнути детальні звіти про помилки, OpenLog відповідатиме лише символом !, якщо є помилка, а не невідомою командою: COMMAND. Символ ! легше розібрати для вбудованих систем, ніж повну помилку. Якщо ви використовуєте термінал, якщо залишити verbose увімкненим, ви зможете бачити повні повідомлення про помилки.
  • бод – Ця команда відкриє системне меню, яке дозволить користувачеві ввести швидкість передачі даних. Підтримується будь-яка швидкість передачі даних від 300 біт/с до 1 Мбіт/с. Вибір швидкості передачі даних відбувається миттєво, і OpenLog потребує вимкнення та вимкнення живлення, щоб налаштування набули чинності. Швидкість передачі даних зберігається в EEPROM та завантажується щоразу, коли OpenLog увімкнено. Значення за замовчуванням – 9600 8N1.

Пам'ятайте: Якщо плата зависла на невідомій швидкості передачі даних, ви можете підключити RX до GND та увімкнути OpenLog. Світлодіоди блиматимуть туди-сюди протягом 2 секунд, а потім блиматимуть синхронно. Вимкніть OpenLog та зніміть перемичку. Тепер швидкість OpenLog скидається до 9600 біт/с після триразового натискання клавіші `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 готовий приймати команди, а не дані. Ви можете створити fileта додавати дані до files, але це вимагає певного послідовного розбору (для перевірки помилок), тому ми не встановлюємо цей режим за замовчуванням.
  • Скинути Нове File Номер – Цей режим скине журнал file номер до LOG000.txt. Це корисно, якщо ви нещодавно очистили карту microSD і хочете, щоб журнал file числа, щоб почати спочатку.
  • Новий символ керування – ця опція дозволяє користувачеві ввести символ, такий як CTRL+z або $, і встановити його як новий символ керування. Цей параметр скидається до CTRL+z під час аварійного скидання.
  • Кількість escape-символів – ця опція дозволяє користувачеві ввести символ (наприклад, 1, 3 або 17), оновлюючи нову кількість escape-символів, необхідних для переходу в командний режим. Наприкладampтобто, введення числа 8 вимагатиме від користувача натиснути CTRL+z вісім разів, щоб перейти в командний режим. Цей параметр скидається до значення 3 під час аварійного скидання.

Пояснення символів керування: Причина, чому OpenLog вимагає триразового натискання `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.
Зверніть увагу, що це звичайні видимі символи (немає невидимих ​​або двійкових значень), і кожне значення розділяється комою.
Налаштування визначаються наступним чином:

  • бод: Швидкість передачі даних. За замовчуванням 9600 біт/с. Прийнятні значення, сумісні з 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. Якщо аварійне перезавантаження вимкнено, ви не зможете примусово повернути пристрій до 9600 біт/с, і конфігурація... 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
Світлодіод STAT1 показує різну поведінку для двох різних поширених помилок.

  • 3 миготіння: Не вдалося ініціалізувати карту microSD. Можливо, вам потрібно буде відформатувати карту у файловій системі FAT/FAT16 на комп’ютері.
  • 5 миготінь: OpenLog змінив швидкість передачі даних і потребує повторного ввімкнення/вимкнення живлення.

Подвійна перевірка структури підкаталогів
Якщо ви використовуєте стандартний OpenLog.ino exampОтже, OpenLog підтримуватиме лише два підкаталоги. Вам потрібно буде змінити FOLDER_TRACK_DEPTH з 2 на кількість підкаталогів, які потрібно підтримувати. Після цього перекомпілюйте код і завантажте змінену прошивку.
Перевірте кількість Fileв кореневому каталозі
OpenLog підтримуватиме лише до 65,534 XNUMX журналів. files у кореневому каталозі. Ми рекомендуємо переформатувати карту microSD, щоб покращити швидкість запису.
Перевірте розмір модифікованої прошивки
Якщо ви пишете власний ескіз для OpenLog, переконайтеся, що ваш ескіз не перевищує 32,256 500. Якщо так, він займатиме верхні XNUMX байт флеш-пам'яті, які використовуються послідовним завантажувачем Optiboot.
Подвійна перевірка File імена
всі file імена мають бути літерно-цифровими. MyLOG1.txt — це нормально, але Hi !e _.txt може не працювати.
Використовуйте 9600 бод
OpenLog працює на базі ATmega328 та має обмежений обсяг оперативної пам'яті (2048 байт). Коли ви надсилаєте послідовні символи до OpenLog, ці символи буферизуються. Спрощена специфікація SD Group дозволяє SD-карті записувати блок даних у флеш-пам'ять до 250 мс (розділ 4.6.2.2 Запис).
При швидкості 9600 біт/с це становить 960 байт (10 біт на байт) за секунду. Це 1.04 мс на байт. OpenLog наразі використовує буфер прийому розміром 512 байт, тому може буферизувати близько 50 мс символів. Це дозволяє OpenLog успішно отримувати всі символи, що надходять зі швидкістю 9600 біт/с. Зі збільшенням швидкості передачі даних буфер працюватиме коротше.
Час переповнення буфера OpenLog

Швидкість передачі даних Час на байт  Час до переповнення буфера
9600 біт/с 1.04 мс 532 мс
57600 біт/с 0.174 мс 88 мс
115200 біт/с 0.087 мс 44 мс

Багато SD-карт мають час запису швидше, ніж 250 мс. На це може впливати «клас» карти та обсяг даних, що вже зберігаються на карті. Рішенням є використання нижчої швидкості передачі даних або збільшення часу між символами, що надсилаються з вищою швидкістю передачі даних.
Відформатуйте карту MicroSD
Пам’ятайте, що потрібно використовувати картку з невеликою кількістю або взагалі без fileна ньому. Карта microSD із ZIP-архівом обсягом 3.1 ГБ files або MP3-файли мають повільніший час відгуку, ніж порожня карта.
Якщо ви не форматували карту microSD в ОС Windows, переформатуйте її та створіть DOS-файл. fileсистема на SD-карті.
Заміна карт MicroSD
Існує багато різних виробників карток, карток із перемаркуванням, розмірів карток та класів карток, і не всі вони можуть працювати належним чином. Зазвичай ми використовуємо картку microSD класу 8 на 4 ГБ, яка добре працює зі швидкістю 9600 біт/с. Якщо вам потрібна вища швидкість передачі даних або більший обсяг пам’яті, ви можете спробувати картки класу 6 або вище.
Додати затримки між записами символів
Додавши невелику затримку між операторами Serial.print(), ви можете дати OpenLog можливість записати свій поточний
буфер.
наприкладampле:
Serial.begin(115200);
для(int i = 1; i < 10; i++) {
Serial.print(i, DEC);
Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”);
}

може не записуватися належним чином, оскільки багато символів надсилається поруч один з одним. Вставка невеликої затримки в 15 мс між записом великих символів допоможе 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, зачекавши, поки світлодіоди почнуть блимати синхронно, а потім вимкнувши OpenLog та знявши перемичку.
Якщо ви змінили біт аварійного керування на 1, вам потрібно буде змінити конфігурацію. file, оскільки аварійне скидання не працюватиме.
Зверніться до спільноти
Якщо у вас все ще виникають проблеми з вашим OpenLog, будь ласка, перегляньте поточні та закриті проблеми в нашому репозиторії GitHub тут. Над OpenLog працює велика спільнота, тому є ймовірність, що хтось знайшов виправлення проблеми, яку ви бачите.

Ресурси та подальші кроки

Тепер, коли ви успішно зареєстрували дані за допомогою OpenLog, ви можете налаштовувати віддалені проекти та відстежувати всі можливі дані, що надходять. Подумайте про створення власного проекту «Громадянська наука» або навіть трекера для домашніх тварин, щоб побачити, що робить Пухнастик, коли він у дорозі!
Перегляньте ці додаткові ресурси для усунення несправностей, допомоги або натхнення для вашого наступного проєкту.

  • OpenLog GitHub
  • Проєкт «Ілюмітюн»
  • Підключення датчика світла LilyPad
  • BadgerHack: Доповнення до датчика ґрунту
  • Початок роботи з OBD-II
  • Фотоворота Верньєра

Потрібно ще натхнення? Перегляньте деякі з цих пов'язаних навчальних посібників:
Датчик рівня води Photon для дистанційного керування
Дізнайтеся, як створити дистанційний датчик рівня води для резервуара для зберігання води та як автоматизувати насос на основі показань!
Датчик рівня води Photon для дистанційного керування
Дізнайтеся, як створити дистанційний датчик рівня води для резервуара для зберігання води та як автоматизувати насос на основі показань!
Запис даних у Google Таблиці за допомогою Tessel 2
У цьому проєкті розглядається двома способами запису даних у Google Таблиці: за допомогою IFTTT з web підключення або USB-накопичувач та «снікернет» без нього.
Графічне побудування даних датчиків за допомогою Python та Matplotlib
Використовуйте matplotlib для створення графіка даних про температуру в реальному часі, зібраних з датчика TMP102, підключеного до Raspberry Pi.
Якщо у вас є відгуки про навчальний посібник, будь ласка, перегляньте коментарі або зв’яжіться з нашою службою технічної підтримки за адресою TechSupport@sparkfun.com.

Логотип SparkFun

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

Плати розробки SparkFun DEV-13712 [pdfПосібник користувача
DEV-13712, DEV-11114, DEV-09873, CAB-12016, COM-13833, COM-13004, PRT-00115, PRT-08431, DEV-13712 Плати розробки SparkFun, DEV-13712, Плати розробки SparkFun, Плати розробки, Плати

Список літератури

Залиште коментар

Ваша електронна адреса не буде опублікована. Обов'язкові поля позначені *