Ръководство за свързване на OpenLog
Въведение
Внимание! Този урок е за Open Log за сериен UART [DEV-13712]. Ако използвате Qwiic OpenLog за IC [DEV-15164], моля, вижте Ръководството за свързване на Qwiic OpenLog.
OpenLog Data Logger е лесно за използване решение с отворен код за регистриране на серийни данни от вашите проекти. OpenLog предоставя опростен сериен интерфейс за регистриране на данни от проект към microSD карта.SparkFun OpenLog
• DEV-13712SparkFun OpenLog със заглавки
• DEV-13955
не е намерен продукт
Необходими материали
За да се справите напълно с това ръководство, ще ви трябват следните части. Възможно е обаче да не ви е необходимо всичко, в зависимост от това с какво разполагате. Добавете го в количката си, прочетете ръководството и коригирайте количката, ако е необходимо.
Ръководство за свързване на OpenLog Списък с желания на SparkFun
![]() |
Arduino Pro Mini 328 – 3.3V/8MHz DEV-11114 Синьо е! Тънко е! Това е Arduino Pro Mini! Минималистичният дизайнерски подход на SparkFun към Arduino. Това е 3.3V Arduino … |
![]() |
SparkFun FTDI Basic Breakout – 3.3V DEV-09873 Това е най-новата версия на нашия [FTDI Basic](http://www.sparkfun.com/commerce/product_info.php?products_id=… |
![]() |
USB кабел SparkFun Cerberus – 6 м CAB-12016 Имате грешен USB кабел. Няма значение кой имате, грешният е. Но какво ще стане, ако можехте да имате... |
![]() |
SparkFun OpenLog DEV-13712 SparkFun OpenLog е регистратор на данни с отворен код, който работи през обикновена серийна връзка и поддържа ми… |
![]() |
microSD карта с адаптер – 16GB (клас 10) COM-13833 Това е microSD карта памет клас 10 с капацитет 16GB, идеална за съхранение на операционни системи за едноплаткови компютри... |
![]() |
USB четец за microSD карти COM-13004 Това е страхотен малък USB четец за microSD карти. Просто плъзнете вашата microSD карта във вътрешността на USB конектора и… |
![]() |
Женски заглавки PRT-00115 Един ред женски конектори с 40 дупки. Може да се реже по размер с клещи за тел. Стандартно разстояние 1″. Използваме … |
![]() |
Премиум кабели за пускане на кабели 6″ M/M, пакет от 10 PRT-08431 Това е ексклузивно за SparkFun! Това са джъмпери с дължина 155 мм с мъжки конектори от двата края. Използвайте ги, за да… |
![]() |
Отделящи се мъжки конектори – прав ъгъл 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, което позволява OpenLog да бъде съвместим с настройката на платката „Arduino Uno“ в Arduino IDE.Интерфейс
Сериен UART
Основният интерфейс с OpenLog е FTDI конекторът на ръба на платката. Този конектор е проектиран за директно включване в Arduino Pro или Pro Mini, което позволява на микроконтролера да изпраща данните през серийна връзка към OpenLog.
Внимание! Поради подредбата на пиновете, която го прави съвместим с Arduino, той не може да се включи директно в FTDI платка. За повече информация, не забравяйте да разгледате следващия раздел за свързването на хардуера.
SPI
На противоположния край на платката има и четири SPI тестови изхода. Можете да ги използвате за препрограмиране на буутлоудъра на ATmega328.Най-новият OpenLog (DEV-13712) изгражда тези пинове на по-малки, плакнати проходни отвори. Ако трябва да използвате интернет доставчик, за да препрограмирате или качите нов буутлоудър в OpenLog, можете да използвате pogo пинове, за да се свържете с тези тестови точки.
Последният интерфейс за комуникация с OpenLog е самата microSD карта. За комуникация microSD картата изисква SPI пинове. Това не само е мястото, където OpenLog съхранява данните, но можете също да актуализирате конфигурацията на OpenLog чрез config.txt. file на microSD картата.
microSD карта
Всички данни, регистрирани от OpenLog, се съхраняват на microSD картата. OpenLog работи с microSD карти, които имат следните функции:
- 64MB до 32GB
- FAT16 или FAT32
LED статус
На OpenLog има два светодиода за състояние, които ще ви помогнат при отстраняване на неизправности.
- STAT1 – Този син индикаторен светодиод е свързан към Arduino D5 (ATmega328 PD5) и се включва/изключва, когато бъде получен нов символ. Този светодиод мига, когато серийната комуникация функционира.
- STAT2 – Този зелен светодиод е свързан към Arduino D13 (SPI Serial Clock Line/ ATmega328 PB5). Този светодиод мига само когато SPI интерфейсът е активен. Ще го видите да мига, когато OpenLog запише 512 байта към microSD картата.
Хардуерно свързване
Има два основни метода за свързване на вашия OpenLog към електрическата верига. Ще ви трябват някои конектори или проводници за свързване. Уверете се, че сте запоили към платката за сигурна връзка.
Основна серийна връзка
Съвет: Ако имате женски конектор OpenLog и женски конектор на FTDI, ще ви трябват M/F джъмперни кабели за свързване.
Тази хардуерна връзка е предназначена за взаимодействие с OpenLog, ако е необходимо да препрограмирате платката или да регистрирате данни през основна серийна връзка.
Направете следните връзки:
OpenLog → 3.3V FTDI Basic Breakout
- GND → GND
- GND → GND
- VCC → 3.3V
- TXO → RXI
- RXI → TXO
- ДТР → ДТР
Обърнете внимание, че това не е директна връзка между FTDI и OpenLog – трябва да размените местата на пиновете TXO и RXI.
Вашите връзки трябва да изглеждат по следния начин: След като осъществите връзките между OpenLog и FTDI Basic, включете вашата FTDI платка в USB кабел и в компютъра.
Отворете сериен терминал, свържете го към COM порта на вашия FTDI Basic и действайте!
Свързване на хардуер на проекта
Съвет: Ако женските конектори са запоени на OpenLog, можете да запоите мъжките конектори към Arduino Pro Mini, за да свържете платките заедно без нужда от кабели.Въпреки че взаимодействието с 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
- VCC → VCC
- TXO → RXI
- RXI → TXO
- ДТР → ДТР
След като приключите, вашите връзки трябва да изглеждат по следния начин с Arduino Pro Mini и Arduino Pro.
Диаграмата на Fritzing показва OpenLogs с огледално обърнати заглавки. Ако обърнете microSD гнездото спрямо горната част на Arduino view, те трябва да съответстват на програмния заглавен файл като FTDI.
Забележка че връзката е права, като OpenLog е „обърнат надолу“ (с microSD картата нагоре).
⚡Забележка: Тъй като Vcc и GND между OpenLog и Arduino са заети от конекторите, ще трябва да свържете захранването към другите налични пинове на Arduino. В противен случай можете да запоите проводници към откритите захранващи пинове на която и да е платка.
Включете системата си и сте готови да започнете да логвате!
Скици на Ардуино
Има шест различни бившиampВключени са скици, които можете да използвате на Arduino, когато сте свързани към OpenLog.
- OpenLog_Benchmarking — Този бившample се използва за тестване на OpenLog. Това изпраща много големи количества данни със скорост 115200bps през множество files.
- OpenLog_CommandTest — Това е билоample показва как да се създаде и добави file чрез управление от командния ред през Arduino.
- OpenLog_ReadExampле — Този бившample обяснява как да се управлява OpenLog чрез командния ред.
- OpenLog_ReadExample_LargeFile — Прampкак да отворите голямо съхранено file в OpenLog и го докладвайте през локална Bluetooth връзка.
- OpenLog_Test_Sketch — Използва се за тестване на OpenLog с много серийни данни.
- OpenLog_Test_Sketch_Binary — Използва се за тестване на OpenLog с двоични данни и escape символи.
фърмуер
OpenLog има два основни софтуера на борда: буутлоудъра и фърмуера.
Буутлоудър на Ардуино
Забележка: Ако използвате OpenLog, закупен преди март 2012 г., вграденият буутлоудър е съвместим с настройката „Arduino Pro или Pro Mini 5V/16MHz с ATmega328“ в Arduino IDE.
Както бе споменато по-рано, OpenLog има вграден сериен буутлоудър Optiboot. Можете да третирате OpenLog точно като Arduino Uno, когато качвате exampкод или нов фърмуер към платката.
Ако в крайна сметка блокирате вашия OpenLog и се наложи да преинсталирате буутлоудъра, ще трябва да качите и Optiboot на платката. Моля, вижте нашето ръководство за инсталиране на буутлоудър на Arduino за повече информация.
Компилиране и зареждане на фърмуер в 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 > Фърмуер > OpenLog_Firmware
- Библиотеките на Бил Грейман за Arduino
SdFatLib-бета
Сериен порт
След това, за да вземем предварителноtagот модифицираните библиотеки, модифицирайте SerialPort.h file намира се в директорията \Arduino\Libraries\SerialPort. Променете BUFFERED_TX на 0 и ENABLE_RX_ERROR_CHECKING на 0. Запазете fileи отворете Arduino IDE.
Ако все още не сте го направили, свържете вашия OpenLog към компютъра чрез FTDI платка. Моля, проверете отново exampверигата, ако не сте сигурни как да направите това правилно.
Отворете скицата на 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 ще бъдат създадени.
• Прampле: добавяне на новоfile.csv - пишете File OFFSET – Напишете текст до File от местоположението OFFSET в рамките на fileТекстът се чете от UART ред по ред и се връща обратно. За да излезете от това състояние, изпратете празен ред.
• Прampле: запис на 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
• HEX = 2
• СУРОВИ = 3
Може да пропуснете някои заключителни аргументи. Проверете следния примерampлес.
Основни флагове за четене + пропуснати:
• Прampле: прочетете LOG00004.txt
• Изход: Акселерометър X=12 Y=215 Z=317
Четене от началото 0 с дължина 5:
• Прampле: прочетете LOG00004.txt 0 5
• Изход: Ускорение
Четене от позиция 1 с дължина 5 в HEX:
• Прampле: прочетете LOG00004.txt 1 5 2
• Изход: 63 63 65 6C - Четене от позиция 0 с дължина 50 в RAW:
- • Прampле: прочетете LOG00137.txt 0 50 3
- • Изход: André– -þ Разширен тест за характер
- котка File – Напишете съдържанието на file в шестнадесетичен код към серийния монитор за viewинг. Понякога е полезно да се види, че file записва правилно, без да е необходимо да изваждате SD картата и view на file на компютър.
• Прampфайл: cat LOG00004.txt
• Изход: 00000000: 41 63 65 6c 3a 20 31
Манипулация на директории
- ls – Изброява цялото съдържание на текущата директория. Поддържат се заместващи символи (wildcards).
• Прampле: лс
• Изход: \src - md поддиректория – Създаване на поддиректория в текущата директория.
• Прampле: мд Прил.ample_Sketches - cd Поддиректория – Промяна в поддиректория.
• Прampле: cd Здравей_Свят - cd .. – Преминаване към по-долна директория в дървото. Обърнете внимание, че има интервал между 'cd' и '..'. Това позволява на анализатора на низове да види командата cd.
• Прampле: cd .. - rm Поддиректория – Изтрива поддиректория. Директорията трябва да е празна, за да работи тази команда.
• Прampле: rm темп. - rm -rf Директория – Изтрива директорията и всички fileсъдържащи се в него.
• Прampле: rm -rf Библиотеки
Функционални команди от ниско ниво
- ? – Тази команда ще изведе списък с наличните команди в OpenLog.
- диск – Показва идентификационния номер на производителя на картата, серийния номер, датата на производство и размера на картата. Напр.ampизходът е:
Тип карта: SD2
Идентификационен номер на производителя: 3
OEM ID: SD
Продукт: SU01G
Версия: 8.0
Сериен номер: 39723042
Дата на производство: 1/2010г
Размер на картата: 965120 KB - init – Реинициализирайте системата и отворете отново SD картата. Това е полезно, ако SD картата спре да отговаря.
- sync – Синхронизира текущото съдържание на буфера със SD картата. Тази команда е полезна, ако имате по-малко от 512 символа в буфера и искате да ги запишете на SD картата.
- reset – Прескача OpenLog до позиция нула, стартира отново bootloader-а и след това инициализира кода. Тази команда е полезна, ако трябва да редактирате конфигурацията file, нулирайте OpenLog и започнете да използвате новата конфигурация. Рециклирането на захранването все още е предпочитаният метод за нулиране на платката, но тази опция е налична.
Системни настройки
Тези настройки могат да бъдат актуализирани ръчно или редактирани във файла config.txt file.
- echo STATE – Променя състоянието на системния echo и се съхранява в системната памет. STATE може да бъде включено или изключено. Докато е включено, OpenLog ще извежда получените серийни данни в командния ред. Когато е изключено, системата не чете обратно получените символи.
Забележка: По време на нормално регистриране, ехото ще бъде изключено. Изискванията на системни ресурси за ехо на получените данни са твърде високи по време на регистриране. - verbose STATE – Променя състоянието на подробното докладване на грешки. STATE може да бъде включено или изключено. Тази команда се съхранява в паметта. Чрез изключване на подробните грешки, OpenLog ще отговори само с !, ако има грешка, а не с неизвестна команда: COMMAND. Символът ! е по-лесен за анализиране от вградените системи, отколкото пълната грешка. Ако използвате терминал, оставянето на verbose включено ще ви позволи да видите пълните съобщения за грешки.
- бод – Тази команда ще отвори системно меню, позволяващо на потребителя да въведе скорост на предаване в бодове. Поддържа се всяка скорост на предаване между 300bps и 1Mbps. Изборът на скорост на предаване в бодове е незабавен и OpenLog изисква прекъсване на захранването, за да влязат в сила настройките. Скоростта на предаване в бодове се съхранява в EEPROM и се зарежда всеки път, когато OpenLog се включи. Стойността по подразбиране е 9600 8N1.
Запомнете: Ако платката заседне с неизвестна скорост на предаване, можете да свържете RX към GND и да включите OpenLog. Светодиодите ще мигат напред-назад за 2 секунди и след това ще мигат едновременно. Изключете OpenLog и премахнете джъмпера. OpenLog вече се нулира на 9600bps с трикратно натискане на escape символа `CTRL-Z`. Тази функция може да бъде отменена чрез задаване на бита за аварийно отменяне на 1.
Вижте config.txt за повече информация.
- set – Тази команда отваря системно меню за избор на режим на зареждане. Тези настройки ще се изпълнят в
• при следващото включване и се съхраняват в енергонезависимата 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 по време на аварийно рестартиране.
Обяснение на escape символите: Причината OpenLog да изисква `CTRL+z` да се натисне 3 пъти за влизане в команден режим е, за да се предотврати случайно рестартиране на платката по време на качване на нов код от 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 картата.OpenLog създава config.txt и LOG0000.txt file при първото включване.
Конфигурацията по подразбиране file има един ред с настройки и един ред с дефиниции.Конфигурация по подразбиране 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 = Команден режим.
- verb: Подробен режим. Разширените (подробни) съобщения за грешки са включени по подразбиране. Задаването на 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 светодиодът показва различно поведение за две различни често срещани грешки.
- 3 мигания: Инициализацията на microSD картата не е успешна. Може да се наложи да форматирате картата с FAT/FAT16 на компютър.
- 5 мигания: OpenLog е променил скоростта на предаване и трябва да се включи и изключи захранването.
Двойна проверка на структурата на поддиректориите
Ако използвате OpenLog.ino файла по подразбиранеampНапример, 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 и има ограничено количество RAM (2048 байта). Когато изпращате серийни символи към OpenLog, те се буферират. Опростената спецификация на SD Group позволява на SD картата да отнеме до 250 ms (раздел 4.6.2.2 Запис), за да запише блок данни във флаш паметта.
При 9600bps това са 960 байта (10 бита на байт) в секунда. Това е 1.04ms на байт. OpenLog в момента използва 512-байтов буфер за приемане, така че може да буферира около 50ms символи. Това позволява на OpenLog успешно да приема всички символи, идващи със скорост 9600bps. С увеличаване на скоростта на предаване, буферът ще издържа по-малко време.
Време за препълване на буфера на OpenLog
Скорост на предаване | Време на байт | Време до препълване на буфера |
9600bps | 1.04 мс | 532 мс |
57600bps | 0.174 мс | 88 мс |
115200bps | 0.087 мс | 44 мс |
Много SD карти имат време за запис по-бързо от 250 ms. Това може да бъде повлияно от „класа“ на картата и количеството данни, които вече са съхранени на картата. Решението е да се използва по-ниска скорост на предаване или да се увеличи времето между символите, изпратени при по-висока скорост на предаване.
Форматирайте вашата MicroSD карта
Не забравяйте да използвате карта с малко или никакви files на него. MicroSD карта с ZIP файл с обем 3.1 GB fileили MP3 файловете имат по-бавно време за реакция от празна карта.
Ако не сте форматирали microSD картата си в операционна система Windows, преформатирайте я и създайте DOS файл. fileсистема на SD картата.
Смяна на MicroSD карти
Има много различни видове производители на карти, карти с различни етикети, размери на карти и класове карти и е възможно не всички да работят правилно. Обикновено използваме 8GB microSD карта клас 4, която работи добре при 9600bps. Ако имате нужда от по-високи скорости на предаване или по-голямо пространство за съхранение, може да опитате карти клас 6 или по-висок.
Добавяне на закъснения между записите на символи
Чрез добавяне на малко забавяне между операторите Serial.print(), можете да дадете на OpenLog възможност да запише текущото си
буфер.
Напримерampле:
Serial.begin(115200);
за(int i = 1; i < 10; i++) {
Serial.print(i, DEC);
Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”);
}
може да не се регистрира правилно, тъй като се изпращат много символи един до друг. Вмъкването на малко забавяне от 15 ms между записите на големи символи ще помогне на OpenLog да записва без изпускане на символи.
Serial.begin(115200);
за(int i = 1; i < 10; i++) {
Serial.print(i, DEC);
Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”);
забавяне (15);
}
Добавете съвместимост с Arduino Serial Monitor
Ако се опитвате да използвате 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, можете да настройвате отдалечени проекти и да наблюдавате всички възможни постъпващи данни. Помислете за създаване на собствен проект за гражданска наука или дори за проследяване на домашни любимци, за да видите какво прави Fluffy, когато е навън!
Разгледайте тези допълнителни ресурси за отстраняване на неизправности, помощ или вдъхновение за следващия ви проект.
- OpenLog GitHub
- Проект „Илюмитюн“
- Свързване на сензор за светлина LilyPad
- BadgerHack: Допълнение за сензор за почва
- Първи стъпки с OBD-II
- Фотопорта на Верние
Нуждаете се от още вдъхновение? Вижте някои от тези свързани уроци:
Фотонен дистанционен сензор за ниво на водата
Научете как да изградите дистанционен сензор за нивото на водата за резервоар за съхранение на вода и как да автоматизирате помпа въз основа на показанията!
Фотонен дистанционен сензор за ниво на водата
Научете как да изградите дистанционен сензор за нивото на водата за резервоар за съхранение на вода и как да автоматизирате помпа въз основа на показанията!
Записване на данни в Google Таблици с Tessel 2
Този проект обхваща как да се регистрират данни в Google Таблици по два начина: чрез IFTTT с web връзка или USB флаш устройство и „sneakernet“ без.
Графично представяне на данни от сензори с Python и Matplotlib
Използвайте matplotlib, за да създадете графика в реално време на температурни данни, събрани от сензор TMP102, свързан към Raspberry Pi.
Ако имате обратна връзка относно урока, моля, посетете коментарите или се свържете с нашия екип за техническа поддръжка на TechSupport@sparkfun.com.
Документи / Ресурси
![]() |
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, Развойни платки, Платки |