SparkFun DEV-13712 Фотон на честички со дупки за лемење
Спецификации
- Име на производ: OpenLog логер на податоци
- Модел: DEV-13712
- Влез на напојување: 3.3V-12V (препорачано 3.3V-5V)
- RXI влезен волуменtagд: 2.0V-3.8V
- TXO излезен волуменtagд: 3.3V
- Потрошувачка на струја во мирување: ~2mA-5mA (без microSD картичка), ~5mA-6mA (со microSD картичка)
- Потрошувачка на струја за активно пишување: ~20-23mA (со microSD картичка)
Упатство за употреба на производот
Потребни материјали:
- Arduino Pro Mini 328 – 3.3V/8MHz
- SparkFun FTDI основен пробив – 3.3V
- SparkFun Cerberus USB кабел – 6 метри
- microSD картичка со адаптер – 16GB (класа 10)
- microSD USB читач
- Женски заглавија
- Премиум жици за цедење, пакување од 6, 10 M/M
- Машки заглавија за отцепување – прав агол
Препорачано читање:
- Како да се леми: Лемење низ дупки
- Основи на сериската комуникација
- Сериски периферен интерфејс (SPI)
- Основи на сериски терминал
Хардвер завршиview:
OpenLog работи со следниве поставки:
VCC влез | RXI влез | TXO излез | Потрошувачка на струја во мирување | Тековно исцрпување на активното пишување |
---|---|---|---|---|
3.3V-12V (Препорачани 3.3V-5V) | 2.0V-3.8V | 3.3V | ~2mA-5mA (без microSD картичка), ~5mA-6mA (со microSD картичка) | ~20-23mA (со/ microSD картичка) |
Вовед
Внимание! Ова упатство е за Open Log за сериски UART [DEV-13712]. Ако го користите Qwiic OpenLog за IC [DEV-15164], ве молиме погледнете го Водичот за поврзување на Qwiic OpenLog.
OpenLog Data Logger е едноставно за употреба, решение со отворен код за евидентирање на сериски податоци од вашите проекти. OpenLog обезбедува едноставен сериски интерфејс за евидентирање на податоци од проект на microSD картичка.
SparkFun OpenLog
DEV-13712
SparkFun OpenLog со заглавија
DEV-13955
Не е пронајден производ
Потребни материјали
За целосно да го обработите ова упатство, ќе ви бидат потребни следниве делови. Можеби нема да ви бидат потребни сите делови, во зависност од тоа што имате. Додадете ги во вашата кошничка, прочитајте го упатството и прилагодете ја кошничката по потреба.
Водич за поврзување на OpenLog
Список на желби на SparkFun
Препорачана литература
Доколку не сте запознаени или не ви се допаѓаат следните концепти, препорачуваме да ги прочитате пред да продолжите со Водичот за поврзување на OpenLog.
- Како да се леми: Лемење низ дупки. Ова упатство опфаќа сè што треба да знаете за лемење низ дупки.
- Сериска комуникација Концепти за асинхрона сериска комуникација: пакети, нивоа на сигнали, бауд стапки, UART и друго!
- Сериски периферен интерфејс (SPI) SPI најчесто се користи за поврзување на микроконтролери со периферни уреди како што се сензори, регистри за поместување и SD картички.
- Основи на сериски терминал Ова упатство ќе ви покаже како да комуницирате со вашите сериски уреди користејќи различни апликации за терминален емулатор.
Хардвер завршиview
Моќ
OpenLog работи со следниве поставки:
Оценки на моќност на OpenLog
Потрошувачката на струја на OpenLog е околу 20mA до 23mA при запишување на microSD картичка. Во зависност од големината на microSD картичката и нејзиниот производител, активната потрошувачка на струја може да варира кога OpenLog запишува на мемориската картичка. Зголемувањето на брзината на пренос, исто така, ќе повлече повеќе струја.
Микроконтролер
OpenLog работи на вградениот ATmega328, кој работи на 16MHz, благодарение на вградениот кристал. ATmega328 го има вчитан Optiboot bootloader-от, што му овозможува на OpenLog да биде компатибилен со
Поставки на плочката „Arduino Uno“ во Arduino IDE.
Интерфејс
Сериски UART
Примарниот интерфејс со OpenLog е FTDI заглавието на работ од плочката. Ова заглавие е дизајнирано да се приклучи директно во Arduino Pro или Pro Mini, што му овозможува на микроконтролерот да ги испраќа податоците преку сериска врска до OpenLog.
Предупредување! Поради подредувањето на пиновите што го прави компатибилен со Arduino-та, не може директно да се приклучи на FTDI разделна плоча.
За повеќе информации, проверете го следниот дел за поврзување на хардвер.
СПИ
Исто така, на спротивниот крај од плочата се распоредени четири SPI тест точки. Можете да ги користите за репрограмирање на bootloader-от на ATmega328.
Најновиот 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
На OpenLog има две LED диоди за статус кои ќе ви помогнат при решавање проблеми.
- STAT1 – Оваа сина LED индикаторска диода е прикачена на Arduino D5 (ATmega328 PD5) и се вклучува/исклучува кога ќе се прими нов знак. Оваа LED диода трепка кога функционира сериската комуникација.
- STAT2 – Оваа зелена LED диода е поврзана со Arduino D13 (SPI Serial Clock Line/ ATmega328 PB5). Оваа LED диода трепка само кога SPI интерфејсот е активен. Ќе ја видите како трепка кога OpenLog ќе запише 512 бајти на microSD картичката.
Хардверско поврзување
Постојат два главни методи за поврзување на вашиот OpenLog со струјно коло. Ќе ви бидат потребни неколку конектори или жици за поврзување. Осигурајте се дека сте ги залемиле на плочата за безбедна врска.
Основна сериска врска
СоветАко имате женски заглавие на OpenLog и женски заглавие на FTDI, ќе ви бидат потребни M/F џампер жици за поврзување.
Оваа хардверска конекција е дизајнирана за поврзување со OpenLog ако треба да ја репрограмирате плочката или да ги евидентирате податоците преку основна сериска конекција.
Направете ги следните врски:
OpenLog → 3.3V FTDI основен прекинувач
- 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 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.
Забележете дека поврзувањето е директно со 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 со бинарни податоци и знаци за бегство.
Фирмвер
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.hh 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 во тековниот директориум. Стандард 8.3 fileподдржани се имиња. На пр.ampна пример, „87654321.123“ е прифатливо, додека „987654321.123“ не е.
- Exampле: ново file1.txt
- Додадете File – Додавање текст на крајот од FileСериските податоци потоа се читаат од UART во поток и се додаваат во fileНе се емитува преку серискиот терминал. Ако File не постои кога се повикува оваа функција, file ќе се создаде.
- Example: додавај новоfile.csv
- Напиши File OFFSET – Пишување текст во File од локацијата OFFSET во рамките на fileТекстот се чита од UART, ред по ред, и се повторува назад. За да излезете од оваа состојба, испратете празен ред.
- Example: пишување logs.txt 516
- rm File – Ги брише File од тековниот директориум. Поддржани се џокер-знаци.
- Example: rm README.txt
- големина File – Излезна големина на File во бајти.
- Example: големина Log112.csv
- Излез: 11
- Прочитајте File + СТАРТ+ ТИП НА ДОЛЖИНА – Изнеси ја содржината на File почнувајќи од START и продолжувајќи по LENGTH. Ако START се изостави, целиот file се пријавува. Ако се изостави LENGTH, се пријавува целата содржина од почетната точка. Ако се изостави TYPE, OpenLog по дифолт ќе пријавува во ASCII. Постојат три излезни TYPE:
- ASCII = 1
- ХЕКСАДЕНЦА = 2
- RAW = 3
- Може да изоставите некои заостанувачки аргументи. Проверете го следниов примерampлес.
- Основни ознаки за читање + изоставени:
- Example: прочитај LOG00004.txt
- Излез: Акцелерометар X=12 Y=215 Z=317
- Читај од почеток 0 со должина од 5:
- Example: прочитај LOG00004.txt 0 5
- Излез: Забрзување
- Читање од позиција 1 со должина од 5 во HEX:
- Example: прочитај LOG00004.txt 1 5 2
- Излез: 63 63 65 6C
- Читање од позиција 0 со должина од 50 во RAW:
- Example: прочитај LOG00137.txt 0 50 3
- Резултат: Андре– -þ Проширен тест на карактери
- Мачка File – Напишете ја содржината на file во хексадецимален број до серискиот монитор за viewинг. Ова понекогаш е корисно за да се види дека file снима правилно без да мора да се извади SD картичката и view на file на компјутер.
- Example: мачка LOG00004.txt
- Излез: 00000000: 41 63 65 6c 3a 20 31
Манипулација со директориуми
- ls – Ги прикажува сите содржини од тековниот директориум. Поддржани се џокер-знаци.
- Exampле: лс
- Излез: \src
- md Поддиректориум – Креирајте поддиректориум во тековниот директориум.
- Example: md Example_Sketches
- cd Поддиректориум – Промени во поддиректориум.
- Example: cd Здраво_Свет
- cd .. – Префрлете се на понизок директориум во дрвото. Забележете дека има празно место помеѓу „cd“ и „..“. Ова му овозможува на парсерот на стрингови да ја види командата CD.
- Exampле: cd ..
- rm Поддиректориум – Го брише поддиректориумот. Директориумот мора да биде празен за да работи оваа команда.
- Example: rm температури
- rm -rf директориум – Го брише директориумот и сите други files содржани во него.
- Example: 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-от, а потоа и init кодот. Оваа команда е корисна ако треба да ја уредите конфигурацијата. file, ресетирајте го OpenLog и започнете со користење на новата конфигурација. Вклучувањето и ресетирањето на напојувањето е сè уште претпочитаниот метод за ресетирање на плочата, но оваа опција е достапна.
Системски поставки
Овие поставки можат рачно да се ажурираат или уредуваат во config.txt file.
- Echo STATE – Ја менува состојбата на системот и се складира во системската меморија. STATE може да биде вклучен или исклучен. Додека е вклучен, OpenLog ќе ги ехотира примените сериски податоци на командната линија. Додека е исклучен, системот не ги чита назад примените знаци.
Забелешка: За време на нормалното евидентирање, ехото ќе биде исклучено. Потребните системски ресурси за ехо на примените податоци се превисоки за време на евидентирањето.
- Verbose STATE – Ја менува состојбата на детално известување за грешки. STATE може да биде вклучена или исклучена. Оваа команда се складира во меморијата. Со исклучување на деталните грешки, OpenLog ќе одговори само со ! ако има грешка, наместо со непозната команда: C OMMAND.D..T Карактерите се полесни за парсирање од целосната грешка за вградените системи. Ако користите терминал, оставањето на детално известување ќе ви овозможи да ги видите целосните пораки за грешка.
- 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 картичката.
OpenLog креира config.txt и LOG0000.txt file при првото вклучување.
- Стандардната конфигурација file има еден ред со поставки и еден ред со дефиниции.
Стандардната конфигурација file беше напишано од OpenLog.
- Забележете дека ова се обични видливи знаци (нема невидливи или бинарни вредности) и секоја вредност е одделена со запирка.
Поставките се дефинирани на следниов начин:
- baud: Брзина на комуникација. 9600 bps е стандардна. Прифатливи вредности кои се компатибилни со Arduino IDE се 2400, 4800, 9600, 19200, 38400, 57600 и 115200. Можете да користите други брзини на пренос, но нема да можете да комуницирате со OpenLog преку серискиот монитор на Arduino IDE.
- Escap:e ASCII вредноста (во децимален формат) на знакот за бегство. 26 е CTRL+z и е стандардна. 36 е $ и е често користен знак за бегство.
- Esc #: Потребниот број на знаци за escape. Стандардно, тој е три, па затоа мора да го притиснете знакот за escape три пати за да влезете во режим на команда. Прифатливи вредности се од 0 до 254. Поставувањето на оваа вредност на 0 целосно ќе ја оневозможи проверката на знаците за escape.
- Режим Системски режим. OpenLog стартува во режим на нов дневник (0) по дифолт. Прифатливи вредности се 0 = Нов дневник, 1 = Секвенцијален дневник, 2 = Режим на команда.
- Глагол: Опширен режим. Проширените (опширни) пораки за грешки се вклучени по дифолт. Поставувањето на 1 ги вклучува опширните пораки за грешки (како што е непозната команда: отстрани!). Поставувањето на 0 ги исклучува опширните грешки, но ќе одговори со ! ако има грешка. Исклучувањето на опширниот режим е корисно ако се обидувате да се справите со грешки од вграден систем.
- Ехо: Режим на ехо. Додека сте во режим на команди, знаците се повторуваат по дифолт. Поставувањето на ова на 0 го исклучува ехото на знаците. Исклучувањето на ова е корисно ако работите со грешки и не сакате испратените команди да се повторуваат назад во OpenLog.II.
- iignoreRXEmergency Override. Нормално, OpenLog ќе се ресетира во итен случај кога RX пинот ќе се повлече ниско за време на вклучувањето. Поставувањето на ова на 1 ќе ја оневозможи проверката на RX пинот за време на вклучувањето. Ова може да биде корисно за системи кои ќе ја држат RX линијата ниско од различни причини. Ако Итното Override е оневозможено, нема да можете да го присилите уредот да се врати на 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 _ .txtt можеби нема да работи.
- Користи 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. На ова може да влијае „класата“ на картичката и количината на податоци што веќе се складирани на картичката. Решението е да се користи пониска брзина на пренос или да се зголеми времето помеѓу испратените знаци со повисока брзина на пренос.
Запомнете да користите картичка со малку или без files на неа. MicroSD картичка со ZIP меморија од 3.1GB files или MP3 има побавно време на одговор од празна картичка. Ако не сте ја форматирале вашата microSD картичка на Windows оперативен систем, преформатирајте ја microSD картичката и креирајте DOS датотека. fileсистем на SD картичката.
Постојат многу различни видови производители на картички, картички со преобележана етикета, големини на картички и класи на картички, и можеби не сите работат правилно. Ние обично користиме microSD картичка од 8GB класа 4, која работи добро со 9600bps. Ако ви требаат повисоки брзини на пренос или поголем простор за складирање, можеби ќе сакате да пробате картички од класа 6 или повисока.
Со додавање на мало задоцнување помеѓу наредбите Serial.print(), можете да му дадете шанса на OpenLog да го сними својот тековен бафер.
- 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-!#”); delay(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
- Верние Фотопорта
Ви треба уште инспирација? Погледнете некои од овие поврзани упатства:
- Фотон далечински сензор за ниво на вода
Научете како да изградите далечински сензор за ниво на вода за резервоар за вода и како да автоматизирате пумпа врз основа на отчитувањата! - Водич за проектот Blynk Board
Серија Blynk проекти што можете да ги поставите на Blynk плочката без никогаш да ја репрограмирате. - Евидентирање податоци во Google Sheets со Tessel 2
Овој проект опфаќа како да се евидентираат податоци во Google Sheets на два начина: користејќи IFTTT со web конекција или USB флеш драјв и „sneakernet“ без. - Податоци од графички сензори со Python и Matplotlib
Користете го matplotlib за да креирате графикон во реално време на податоци за температурата собрани од сензор TMP102 поврзан со Raspberry Pi.
Доколку имате повратни информации за упатствата, посетете ги коментарите или контактирајте го нашиот тим за техничка поддршка на TechSupport@sparkfun.com.
Најчесто поставувани прашања
Колкава е препорачаната влезна моќност за OpenLog?
Препорачаниот влезен напон за OpenLog е помеѓу 3.3V и 5V.
Колку струја троши OpenLog кога е во мирување?
OpenLog троши приближно 2mA до 5mA кога е неактивен без microSD картичка, и околу 5mA до 6mA кога е вметната microSD картичка.
Која е намената на microSD USB Reaaboutn до OpenLog?
MicroSD USB читачот овозможува лесен пренос на податоци од microSD картичката што се користи со OpenLog на компјутер.
Документи / ресурси
![]() |
SparkFun DEV-13712 Фотон на честички со дупки за лемење [pdf] Упатство за корисникот DEV-13712, DEV-13955, DEV-13712 Фотон на честички со дупки за лемење, DEV-13712, Фотон на честички со дупки за лемење, Дупки за лемење, За лемење, Лемење |