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 카드 사용 시)
제품 사용 지침
필요한 자료:
- 아두이노 프로 미니 328 - 3.3V/8MHz
- SparkFun FTDI 기본 브레이크아웃 – 3.3V
- SparkFun Cerberus USB 케이블 – 6피트
- 어댑터가 포함된 microSD 카드 - 16GB(클래스 10)
- microSD USB 리더
- 여성 헤더
- 점퍼 와이어 프리미엄 6M/M 10개 팩
- 분리형 남성 헤더 - 직각
추천 독서:
하드웨어 오버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 카드 포함) |
소개
주의하세요! 이 튜토리얼은 시리얼 UART용 Open Log [DEV-13712]를 위한 것입니다. Qwiic OpenLog for I15164C [DEV-XNUMX]를 사용하는 경우, Qwiic OpenLog 연결 가이드를 참조하세요.
OpenLog Data Logger는 프로젝트의 직렬 데이터를 로깅하는 사용하기 쉬운 오픈 소스 솔루션입니다. OpenLog는 프로젝트의 데이터를 microSD 카드에 로깅할 수 있는 간단한 직렬 인터페이스를 제공합니다.
SparkFun 오픈로그
데브-13712
헤더가 있는 SparkFun OpenLog
데브-13955
상품을 찾을 수 없습니다
필요한 재료
이 튜토리얼을 완벽하게 따라 하려면 다음 부품이 필요합니다. 하지만 가지고 있는 부품에 따라 모든 부품이 필요하지 않을 수도 있습니다. 장바구니에 담고 가이드를 꼼꼼히 읽은 후, 필요에 따라 장바구니를 조정하세요.
OpenLog 연결 가이드
SparkFun 위시리스트
추천 독서
다음 개념에 익숙하지 않거나 편안하지 않은 경우 OpenLog Hookup 가이드를 계속 진행하기 전에 이 내용을 읽어보시기 바랍니다.
- 납땜 방법: 스루홀 솔더링. 이 튜토리얼에서는 스루홀 솔더링에 대해 알아야 할 모든 것을 다룹니다.
- 직렬 통신 비동기 직렬 통신 개념: 패킷, 신호 레벨, 통신 속도, UART 등!
- 직렬 주변 장치 인터페이스(SPI) SPI는 일반적으로 마이크로컨트롤러를 센서, 시프트 레지스터, SD 카드 등의 주변 장치에 연결하는 데 사용됩니다.
- 직렬 터미널 기본 사항 이 튜토리얼에서는 다양한 터미널 에뮬레이터 애플리케이션을 사용하여 직렬 장치와 통신하는 방법을 보여줍니다.
하드웨어 오버view
힘
OpenLog는 다음 설정에서 실행됩니다.
OpenLog 전력 등급
OpenLog가 microSD에 쓸 때 소모하는 전류는 약 20mA에서 23mA입니다. microSD 카드의 크기와 제조업체에 따라 OpenLog가 메모리 카드에 쓸 때 소모되는 전류는 달라질 수 있습니다. 통신 속도를 높이면 전류도 더 많이 소모됩니다.
마이크로 컨트롤러
OpenLog는 온보드 크리스털 덕분에 328MHz로 작동하는 온보드 ATmega16에서 실행됩니다. ATmega328에는 Optiboot 부트로더가 로드되어 있어 OpenLog가
Arduino IDE에서 "Arduino Uno" 보드 설정.
인터페이스
직렬 UART
OpenLog와의 주요 인터페이스는 보드 가장자리에 있는 FTDI 헤더입니다. 이 헤더는 Arduino Pro 또는 Pro Mini에 직접 연결되도록 설계되었으며, 이를 통해 마이크로컨트롤러가 직렬 연결을 통해 OpenLog에 데이터를 전송할 수 있습니다.
경고! 아두이노와 호환되는 핀 순서 때문에 FTDI 브레이크아웃 보드에 직접 연결할 수 없습니다.
자세한 내용은 하드웨어 연결에 대한 다음 섹션을 확인하세요.
에스피에이
보드 반대쪽 끝에는 SPI 테스트 포인트 328개가 있습니다. 이 테스트 포인트를 사용하여 ATmegaXNUMX의 부트로더를 재프로그래밍할 수 있습니다.
최신 OpenLog(DEV-13712)는 이러한 핀을 더 작은 도금 관통 구멍에 배치합니다. ISP를 통해 OpenLog에 새 부트로더를 재프로그래밍하거나 업로드해야 하는 경우, 포고 핀을 사용하여 이러한 테스트 지점에 연결할 수 있습니다.
- OpenLog와 통신하는 최종 인터페이스는 microSD 카드 자체입니다. 통신을 위해 microSD 카드는 SPI 핀을 필요로 합니다. OpenLog는 여기에 데이터를 저장할 뿐만 아니라, config.txt 파일을 통해 OpenLog의 설정을 업데이트할 수도 있습니다. file microSD 카드에.
마이크로 카드
OpenLog에 기록된 모든 데이터는 microSD 카드에 저장됩니다. OpenLog는 다음과 같은 기능을 갖춘 microSD 카드와 호환됩니다.
- 64MB - 32GB
- FAT16 또는 FAT32
OpenLog에는 문제 해결에 도움이 되는 두 개의 상태 LED가 있습니다.
- STAT1 – 이 파란색 표시등 LED는 Arduino D5(ATmega328 PD5)에 연결되어 있으며, 새 문자가 수신되면 켜지거나 꺼집니다. 직렬 통신이 작동 중이면 이 LED가 깜박입니다.
- STAT2 – 이 녹색 LED는 Arduino D13(SPI 시리얼 클럭 라인/ATmega328 PB5)에 연결되어 있습니다. 이 LED는 SPI 인터페이스가 활성화되어 있을 때만 깜박입니다. OpenLog가 microSD 카드에 512바이트를 기록할 때 깜박이는 것을 볼 수 있습니다.
하드웨어 연결
OpenLog를 회로에 연결하는 방법은 크게 두 가지가 있습니다. 연결하려면 헤더나 전선이 필요합니다. 단단히 연결하려면 보드에 납땜해야 합니다.
기본 직렬 연결
팁: OpenLog에 암컷 헤더가 있고 FTDI에 암컷 헤더가 있는 경우 연결하려면 M/F 점퍼 와이어가 필요합니다.
이 하드웨어 연결은 기본 직렬 연결을 통해 보드를 재프로그래밍하거나 데이터를 기록해야 하는 경우 OpenLog와 인터페이싱하도록 설계되었습니다.
다음과 같이 연결하십시오.
OpenLog → 3.3V FTDI 기본 브레이크아웃
- 접지 → 접지
- 접지 → 접지
- VCC → 3.3V
- TXO → RXI
- 수신 → 송신
- DTR → DTR
FTDI와 OpenLog를 직접 연결하지 않는다는 점에 유의하세요. TXO와 RXI 핀 연결을 바꿔야 합니다.
연결은 다음과 같습니다.
OpenLog와 FTDI Basic을 연결했으면 FTDI 보드를 USB 케이블과 컴퓨터에 연결하세요. 시리얼 터미널을 열고 FTDI Basic의 COM 포트에 연결하면 됩니다!
프로젝트 하드웨어 연결
팁: 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에 대한 모든 것을 안내해 드립니다. Arduino Pro Mini가 무엇이고, 무엇이 아닌지, 그리고 어떻게 사용하는지 설명합니다.
- Pro Mini를 프로그래밍한 후에는 FTDI 보드를 제거하고 OpenLog로 교체할 수 있습니다. Pro Mini와 OpenLog 모두 BLK로 표시된 핀을 연결해야 합니다. (GRN으로 표시된 핀도 제대로 연결하면 서로 일치합니다.)
- OpenLog를 Pro Mini에 직접 연결할 수 없는 경우(헤더가 맞지 않거나 다른 보드가 방해가 되는 경우), 점퍼 와이어를 사용하여 다음과 같이 연결할 수 있습니다.
OpenLog → Arduino Pro/Arduino Pro Mini
- 접지 → 접지
- 접지 → 접지
- VCC → VCC
- TXO → RXI
- 수신 → 송신
- DTR → DTR
작업이 완료되면 Arduino Pro Mini와 Arduino Pro의 연결은 다음과 같습니다. Fritzing 다이어그램은 헤더가 미러링된 OpenLogs를 보여줍니다. Arduino 상단을 기준으로 microSD 소켓을 뒤집으면 view, FTDI와 같이 프로그래밍 헤더와 일치해야 합니다.
OpenLog를 "거꾸로" 놓고(microSD를 위로 향하게 해서) 직접 연결해야 한다는 점에 유의하세요.
메모: OpenLog와 Arduino 사이의 Vcc와 GND는 헤더가 차지하고 있으므로 Arduino의 다른 핀에 전원을 연결해야 합니다. 그렇지 않으면 두 보드 모두의 노출된 전원 핀에 전선을 납땜할 수 있습니다.
시스템의 전원을 켜면 로깅을 시작할 준비가 됩니다!
아두이노 스케치
6가지의 다른 전이 있습니다ampOpenLog에 연결하면 Arduino에서 사용할 수 있는 스케치가 포함되어 있습니다.
- OpenLog_Benchmarking — 이 예ample는 OpenLog를 테스트하는 데 사용됩니다. 이 기능은 여러 번에 걸쳐 115200bps의 매우 큰 양의 데이터를 전송합니다. files.
- OpenLog_CommandTest — 이 예ample는 생성 및 추가 방법을 보여줍니다. file Arduino를 통한 명령줄 제어를 통해.
- 오픈로그_리드엑스ample — 이 전ample는 명령줄을 통해 OpenLog를 제어하는 방법을 설명합니다.
- 오픈로그_리드엑스ample_LargeFile - 전amp대용량 저장 장치를 여는 방법 file OpenLog에서 이를 확인하고 로컬 Bluetooth 연결을 통해 보고합니다.
- OpenLog_Test_Sketch — 대량의 직렬 데이터로 OpenLog를 테스트하는 데 사용됩니다.
- OpenLog_Test_Sketch_Binary — 바이너리 데이터와 이스케이프 문자로 OpenLog를 테스트하는 데 사용됩니다.
펌웨어
OpenLog에는 부트로더와 펌웨어라는 두 가지 주요 소프트웨어가 탑재되어 있습니다.
아두이노 부트로더
메모: 2012년 5월 이전에 구입한 OpenLog를 사용하는 경우 온보드 부트로더는 Arduino IDE의 "Arduino Pro 또는 Pro Mini 16V/328MHz w/ ATmegaXNUMX" 설정과 호환됩니다.
- 앞서 언급했듯이 OpenLog에는 Optiboot 시리얼 부트로더가 내장되어 있습니다. OpenLog를 Arduino Uno처럼 사용하여 파일을 업로드할 수 있습니다.amp보드에 코드나 새로운 펌웨어를 설치합니다.
- OpenLog가 망가져서 부트로더를 다시 설치해야 하는 경우, Optiboot도 보드에 업로드해야 합니다. 자세한 내용은 Arduino 부트로더 설치 튜토리얼을 참조하세요.
OpenLog에 펌웨어 컴파일 및 로드
메모: Arduino를 처음 사용하는 경우 다시 시도하십시오.view Arduino IDE 설치에 대한 튜토리얼을 참조하세요. 이전에 Arduino 라이브러리를 설치하지 않으셨다면, 설치 가이드를 확인하여 라이브러리를 수동으로 설치하세요.
- 어떤 이유로든 OpenLog의 펌웨어를 업데이트하거나 다시 설치해야 하는 경우 다음 프로세스를 통해 보드를 작동시킬 수 있습니다.
- 먼저 Arduino IDE v1.6.5를 다운로드하세요. 다른 버전의 IDE에서도 OpenLog 펌웨어를 컴파일할 수 있지만, 저희는 이 버전이 정상 작동한다고 확인했습니다.
- 다음으로, OpenLog 펌웨어와 필요한 라이브러리 번들을 다운로드합니다.
OPENLOG 펌웨어 번들(ZIP) 다운로드
- 라이브러리와 펌웨어를 다운로드했으면 Arduino에 라이브러리를 설치하세요. IDE에서 라이브러리를 수동으로 설치하는 방법을 모르시겠다면 "Arduino 라이브러리 설치: 라이브러리 수동 설치" 튜토리얼을 참조하세요.
메모:
- TX 및 RX 버퍼 크기를 임의로 지정하기 위해 SdFat 및 SerialPort 라이브러리의 수정된 버전을 사용하고 있습니다. OpenLog에서는 TX 버퍼가 매우 작아야 하고(0), RX 버퍼는 가능한 한 커야 합니다.
- 이 두 가지 수정된 라이브러리를 함께 사용하면 OpenLog의 성능이 향상됩니다.
최신 버전을 찾고 계신가요?
최신 버전의 라이브러리와 펌웨어를 원하시면 아래 링크된 GitHub 저장소에서 직접 다운로드하실 수 있습니다. SdFatLib 및 Serial Port 라이브러리는 Arduino 보드 관리자에서 표시되지 않으므로 라이브러리를 수동으로 설치해야 합니다.
- GitHub: OpenLog > 펌웨어 > OpenLog_Firmware
- 빌 그레이먼의 아두이노 라이브러리
- SdFatLib-베타
- 시리얼포트
- 다음으로, 앞서 나가기 위해tag수정된 라이브러리 중 SerialPort.hh를 수정합니다. file \Arduino\Libraries\SerialPort 디렉터리에서 찾을 수 있습니다. BUFFERED_TX를 0으로, ENABLE_RX_ERROR_CHECKING을 0으로 변경합니다. file, Arduino IDE를 엽니다.
- 아직 연결하지 않으셨다면 FTDI 보드를 통해 OpenLog를 컴퓨터에 연결하세요. 연결 전 내용을 다시 한번 확인해 주세요.amp이 작업을 올바르게 수행하는 방법을 모르는 경우 회로를 확인하세요.
- 도구>보드 메뉴에서 업로드하려는 OpenLog 스케치를 열고, "Arduino/Genuino Uno"를 선택하고, 도구>포트에서 FTDI 보드에 적합한 COM 포트를 선택합니다.
- 코드를 업로드하세요.
- 이제 OpenLog가 새 펌웨어로 프로그래밍되었습니다. 이제 시리얼 모니터를 열고 OpenLog와 상호 작용할 수 있습니다. 전원을 켜면 12> 또는 12<가 표시됩니다. 1은 시리얼 연결이 설정되었음을, 2는 SD 카드가 성공적으로 초기화되었음을, <는 OpenLog가 수신된 시리얼 데이터를 기록할 준비가 되었음을, >는 OpenLog가 명령을 수신할 준비가 되었음을 나타냅니다.
OpenLog 펌웨어 스케치
특정 애플리케이션에 따라 OpenLog에서 사용할 수 있는 스케치가 세 개 포함되어 있습니다.
- OpenLog – 이 펌웨어는 OpenLog에 기본적으로 제공됩니다. ? 명령을 전송하면 장치에 설치된 펌웨어 버전이 표시됩니다.
- OpenLog_Light – 이 스케치 버전은 메뉴와 명령 모드를 제거하여 수신 버퍼를 늘릴 수 있도록 합니다. 고속 로깅에 적합한 옵션입니다.
- OpenLog_Minimal – 통신 속도는 코드에서 설정하고 업로드해야 합니다. 이 스케치는 숙련된 사용자에게 권장되지만, 최고 속도 로깅을 위한 최상의 옵션이기도 합니다.
명령 세트
직렬 터미널을 통해 OpenLog에 접속할 수 있습니다. 다음 명령을 사용하면 읽고, 쓰고, 삭제할 수 있습니다. fileOpenLog의 설정을 변경할 수도 있습니다. 다음 설정을 사용하려면 명령 모드에 있어야 합니다.
OpenLog가 명령 모드에 있는 동안 STAT1은 수신되는 모든 문자에 대해 켜지거나 꺼집니다. LED는 다음 문자가 수신될 때까지 켜져 있습니다.
- 새로운 File – 새로운 것을 만듭니다 file 명명된 File 현재 디렉토리에 있습니다. 표준 8.3 file이름이 지원됩니다. 예를 들어amp예를 들어, "87654321.123"은 허용되지만 "987654321.123"은 허용되지 않습니다.
- Example: 새로운 file1.txt
- 추가 File – 텍스트를 끝에 추가합니다. File. 직렬 데이터는 UART에서 스트림으로 읽혀지고 추가됩니다. file. 직렬 터미널을 통해 에코되지 않습니다. File 이 함수가 호출될 때 존재하지 않습니다. file 생성될 것입니다.
- Example: 새로 추가file.csv
- 쓰다 File OFFSET – 텍스트를 작성합니다. File OFFSET 위치에서부터 file. UART에서 텍스트를 한 줄씩 읽어서 다시 에코합니다. 이 상태를 종료하려면 빈 줄을 전송합니다.
- Example: log.txt 516을 쓰세요
- rm File – 삭제합니다 File 현재 디렉토리에서. 와일드카드가 지원됩니다.
- Examp파일: rm README.txt
- 크기 File – 출력 크기 File 바이트 단위.
- Examp파일: 크기 Log112.csv
- 출력 : 11
- 읽다 File + START+ LENGTH TYPE – 콘텐츠 출력 File START부터 시작하여 LENGTH까지 이동합니다. START가 생략되면 전체 file 보고됩니다. LENGTH를 생략하면 시작 지점부터 전체 내용이 보고됩니다. TYPE을 생략하면 OpenLog는 기본적으로 ASCII 형식으로 보고합니다. 출력 TYPE에는 세 가지가 있습니다.
- 아스키 = 1
- 헥스 = 2
- 원시 = 3
- 후행 인수 중 일부는 생략할 수 있습니다. 다음 예시를 확인하세요.amp레.
- 기본 읽기 + 생략된 플래그:
- Example: LOG00004.txt를 읽어보세요
- 출력: 가속도계 X=12 Y=215 Z=317
- 시작 0부터 길이 5로 읽기:
- Example: LOG00004.txt 0 5 읽기
- 출력: 가속
- HEX에서 길이 1로 위치 5에서 읽습니다.
- Example: LOG00004.txt 1 5 2를 읽으세요
- 출력: 63 63 65 6C
- RAW에서 길이 0으로 위치 50에서 읽습니다.
- Example: LOG00137.txt 0 50 3를 읽으세요
- 출력: André– -þ 확장된 문자 테스트
- 고양이 File – 내용을 작성하세요 file 직렬 모니터에 대한 16진수 viewing. 이것은 때때로 다음을 보는 데 도움이 됩니다. file SD 카드를 빼지 않고도 올바르게 녹화가 가능합니다. view 그만큼 file 컴퓨터에서.
- Example: cat LOG00004.txt
- 출력: 00000000: 41 63 65 6c 3a 20 31
디렉토리 조작
- ls – 현재 디렉터리의 모든 내용을 나열합니다. 와일드카드가 지원됩니다.
- Examp르: ls
- 출력: \src
- md 하위 디렉토리 – 현재 디렉토리에 하위 디렉토리를 만듭니다.
- Example: md Example_스케치
- cd 하위 디렉토리 – 하위 디렉토리로 변경합니다.
- Example: cd Hello_World
- cd .. – 트리에서 하위 디렉터리로 이동합니다. 'cd'와 '..' 사이에 공백이 있습니다. 이 공백을 통해 문자열 파서가 CD 명령을 인식할 수 있습니다.
- Examp르: cd ..
- rm 하위 디렉터리 - 하위 디렉터리를 삭제합니다. 이 명령을 사용하려면 디렉터리가 비어 있어야 합니다.
- Example: rm 온도
- rm -rf 디렉토리 - 디렉토리 및 모든 항목을 삭제합니다. file그 안에 포함되어 있습니다.
- Example: rm -rf 라이브러리
저수준 함수 명령
- ? – 이 명령은 OpenLog에서 사용 가능한 명령 목록을 표시합니다.
- 디스크 - 카드 제조업체 ID, 일련 번호, 제조일자 및 카드 크기를 표시합니다. 예:amp출력은 다음과 같습니다.
- 카드 종류: SD2 제조사 ID: 3
- OEM ID: SD
- 제품: SU01G
- 버전: 8.0
- 일련번호: 39723042 제조일자: 1년 2010월 카드 크기: 965120KB
- init – 시스템을 다시 초기화하고 SD 카드를 다시 엽니다. SD 카드가 응답하지 않을 때 유용합니다.
- 동기화 – 버퍼의 현재 내용을 SD 카드에 동기화합니다. 이 명령은 버퍼에 512자 미만의 문자가 있고 이를 SD 카드에 기록하려는 경우 유용합니다.
- 재설정 – OpenLog를 0번 위치로 이동하고 부트로더를 다시 실행한 후 init 코드를 실행합니다. 이 명령은 구성을 편집해야 할 때 유용합니다. fileOpenLog를 재설정하고 새 구성을 사용하십시오. 보드 재설정에는 여전히 전원을 껐다 켜는 것이 권장되지만, 이 옵션도 사용할 수 있습니다.
시스템 설정
이러한 설정은 config.txt에서 수동으로 업데이트하거나 편집할 수 있습니다. file.
- 에코 STATE – 시스템 상태를 변경하며 시스템 메모리에 저장됩니다. STATE는 켜짐 또는 꺼짐으로 설정할 수 있습니다. 켜짐 상태인 경우 OpenLog는 수신된 직렬 데이터를 명령 프롬프트에 표시합니다. 꺼짐 상태인 경우 시스템은 수신된 문자를 다시 읽지 않습니다.
메모: 일반 로깅 중에는 에코가 꺼집니다. 로깅 중 수신된 데이터를 에코하는 데 필요한 시스템 리소스가 너무 높습니다.
- 자세한 상태 - 자세한 오류 보고 상태를 변경합니다. 상태는 켜거나 끌 수 있습니다. 이 명령은 메모리에 저장됩니다. 자세한 오류를 끄면 OpenLog는 오류가 있는 경우 알 수 없는 명령 대신 !만 응답합니다. C OMMAND.D..T 임베디드 시스템에서는 전체 오류보다 ! 문자를 사용하는 것이 구문 분석하기 더 쉽습니다. 터미널을 사용하는 경우 자세한 상태를 켜 두면 전체 오류 메시지를 볼 수 있습니다.
- baud – 이 명령을 사용하면 사용자가 통신 속도를 입력할 수 있는 시스템 메뉴가 열립니다. 300bps에서 1Mbps 사이의 모든 통신 속도가 지원됩니다. 통신 속도는 즉시 선택되며, OpenLog의 설정을 적용하려면 전원을 껐다 켜야 합니다. 통신 속도는 EEPROM에 저장되며 OpenLog가 켜질 때마다 로드됩니다. 기본값은 9600 8N1입니다.
기억하다: 보드가 알 수 없는 통신 속도(baud rate)로 인해 멈춘 경우, RX를 GND에 연결하고 OpenLog의 전원을 켜세요. LED가 2초 동안 앞뒤로 깜박이다가 동시에 깜박입니다. OpenLog의 전원을 끄고 점퍼를 제거하세요. 이제 이스케이프 문자 `CTRL-Z`를 세 번 연속 누르면 OpenLog가 9600bps로 재설정됩니다. 이 기능은 비상 오버라이드 비트를 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)를 입력하여 명령 모드로 전환하는 데 필요한 이스케이프 문자 수를 업데이트할 수 있습니다. 예를 들어amp8을 입력하면 명령 모드로 전환하려면 사용자가 CTRL+z를 여덟 번 눌러야 합니다. 이 설정은 비상 재설정 시 3으로 재설정됩니다.
- 이스케이프 문자 설명: OpenLog에서 명령 모드로 진입하기 위해 `CTRL+z`를 세 번 눌러야 하는 이유는 Arduino IDE에서 새 코드를 업로드하는 동안 보드가 실수로 리셋되는 것을 방지하기 위한 것입니다. 부트로딩 중에 보드에 `CTRL+z` 문자가 입력될 가능성이 있는데(OpenLog 펌웨어 초기 버전에서 발생했던 문제), 이 기능은 이를 방지하기 위한 것입니다. 이 문제로 인해 보드가 고장 났다고 의심되는 경우, 전원을 켤 때 RX 핀을 접지에 연결하여 비상 리셋을 수행할 수 있습니다.
구성 File
OpenLog의 설정을 수정하기 위해 직렬 터미널을 사용하지 않으려면 CONFIG.TXT를 수정하여 설정을 업데이트할 수도 있습니다. file.
메모: 이 기능은 펌웨어 버전 1.6 이상에서만 작동합니다. 2012년 이후에 OpenLog를 구매하신 경우 펌웨어 버전 1.6 이상이 설치되어 있습니다.
- 이렇게 하려면 microSD 카드 리더와 텍스트 편집기가 필요합니다. config.txt 파일을 엽니다. file (대문자 사용 file 이름은 중요하지 않습니다.) 그리고 설정을 완료하세요! 이전에 SD 카드로 OpenLog를 켜본 적이 없다면, 수동으로 생성할 수도 있습니다. file이전에 microSD 카드를 삽입한 상태에서 OpenLog의 전원을 켠 경우, microSD 카드를 읽으면 다음과 비슷한 내용이 표시됩니다.
OpenLog는 config.txt와 LOG0000.txt를 생성합니다. file 처음 전원을 켤 때.
- 기본 구성 file 설정은 한 줄, 정의는 한 줄로 되어 있습니다.
기본 구성 file OpenLog에서 작성되었습니다.
- 이는 일반적으로 표시되는 문자이며(표시되지 않는 값이나 이진 값은 없음) 각 값은 쉼표로 구분됩니다.
설정은 다음과 같이 정의됩니다.
- baud: 통신 보드 속도입니다. 기본값은 9600bps입니다. Arduino IDE와 호환되는 값은 2400, 4800, 9600, 19200, 38400, 57600, 115200입니다. 다른 보드 속도를 사용할 수는 있지만, Arduino IDE 직렬 모니터를 통해 OpenLog와 통신할 수 없습니다.
- Escap:e 이스케이프 문자의 ASCII 값(26진수 형식). 36은 CTRL+z이며 기본값입니다. XNUMX은 $이며 일반적으로 사용되는 이스케이프 문자입니다.
- Esc #: 필요한 이스케이프 문자 수입니다. 기본적으로 0개이므로 명령 모드로 전환하려면 이스케이프 문자를 세 번 입력해야 합니다. 사용 가능한 값은 254에서 0까지입니다. 이 값을 XNUMX으로 설정하면 이스케이프 문자 확인 기능이 완전히 비활성화됩니다.
- 모드: 시스템 모드. OpenLog는 기본적으로 새 로그 모드(0)에서 시작합니다. 사용 가능한 값은 0 = 새 로그, 1 = 순차 로그, 2 = 명령 모드입니다.
- 동사: 자세한 모드. 확장(자세한) 오류 메시지는 기본적으로 켜져 있습니다. 이 값을 1로 설정하면 자세한 오류 메시지(예: unknown command: remove ! )가 켜집니다. 이 값을 0으로 설정하면 자세한 오류 메시지가 꺼지지만, 오류가 발생하면 ! 로 응답합니다. 임베디드 시스템의 오류를 처리하려는 경우 자세한 모드를 끄는 것이 유용합니다.
- 에코: 에코 모드. 명령 모드에서는 기본적으로 문자가 에코됩니다. 이 값을 0으로 설정하면 문자 에코가 해제됩니다. 오류를 처리하고 전송된 명령이 OpenLog.II로 에코되는 것을 원하지 않을 때 이 값을 해제하면 편리합니다.
- iignoreRXEmergency Override. 일반적으로 OpenLog는 전원 켜짐 시 RX 핀이 Low로 설정되면 비상 리셋을 실행합니다. 이 값을 1로 설정하면 전원 켜짐 시 RX 핀 확인이 비활성화됩니다. 이는 다양한 이유로 RX 라인을 Low로 유지하는 시스템에 유용할 수 있습니다. Emergency Override가 비활성화되면 장치를 9600bps로 강제로 되돌릴 수 없으며, 구성이 file 통신 속도를 변경할 수 있는 유일한 방법입니다.
OpenLog가 구성을 수정하는 방법 File
OpenLog가 config.txt를 수정하는 데에는 5가지 상황이 있습니다. file.
- 구성 file 발견됨: 전원을 켜는 동안 OpenLog는 config.txt를 찾습니다. file. 만약 file 발견되면 OpenLog는 포함된 설정을 사용하고 이전에 저장된 시스템 설정을 덮어씁니다.
- 구성 없음 file found: OpenLog가 config.txt를 찾을 수 없는 경우 file 그러면 OpenLog가 config.txt를 생성하고 현재 저장된 시스템 설정을 기록합니다. 즉, 새로 포맷된 microSD 카드를 삽입해도 시스템은 현재 설정을 유지합니다.
- 손상된 구성 file 발견됨: OpenLog가 손상된 config.txt를 지웁니다. file, 내부 EEPROM 설정과 config.txt 설정을 모두 다시 작성합니다. file 알려진 양호한 상태인 9600,26,3,0,1,1,0으로.
- config에 잘못된 값이 있습니다 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 ex를 사용하는 경우ampOpenLog는 하위 디렉터리를 두 개만 지원합니다. FOLDER_TRACK_DEPTH 값을 2에서 지원해야 하는 하위 디렉터리 수로 변경해야 합니다. 변경 후 코드를 다시 컴파일하고 수정된 펌웨어를 업로드하세요.
- 수를 확인하세요 File루트 디렉토리의 s
- OpenLog는 최대 65,534개의 로그만 지원합니다. file루트 디렉터리에 s가 있습니다. 로깅 속도를 향상시키려면 microSD 카드를 다시 포맷하는 것이 좋습니다.
- 수정된 펌웨어의 크기 확인
- OpenLog용 커스텀 스케치를 작성하는 경우, 스케치 크기가 32,256바이트를 넘지 않도록 주의하세요. 500바이트를 넘으면 Optiboot 시리얼 부트로더가 사용하는 플래시 메모리의 상위 XNUMX바이트를 차지하게 됩니다.
- 더블 체크 File 이름
- 모두 file 이름은 영숫자여야 합니다. MyLOG1.txt는 괜찮지만 Hi !e _ .txtt는 작동하지 않을 수 있습니다.
- 9600 보드를 사용하세요
- OpenLog는 ATmega328에서 실행되며 제한된 RAM 용량(2048바이트)을 가지고 있습니다. OpenLog에 직렬 문자를 전송하면 해당 문자는 버퍼링됩니다. SD 그룹 단순화 사양에 따라 SD 카드는 플래시 메모리에 데이터 블록을 기록하는 데 최대 250ms(4.6.2.2 쓰기 섹션)가 소요될 수 있습니다.
- 9600bps는 초당 960바이트(바이트당 10비트)입니다. 즉, 바이트당 1.04ms입니다. OpenLog는 현재 512바이트 수신 버퍼를 사용하므로 약 50ms의 문자를 버퍼링할 수 있습니다. 이를 통해 OpenLog는 9600bps로 수신되는 모든 문자를 성공적으로 수신할 수 있습니다. 통신 속도를 높이면 버퍼 지속 시간이 줄어듭니다.
OpenLog 버퍼 오버런 시간
전송 속도 | 바이트당 시간 | 버퍼가 오버런될 때까지의 시간 |
9600bps | 1.04ms | 532ms |
57600bps | 0.174ms | 88ms |
115200bps | 0.087ms | 44ms |
많은 SD 카드의 기록 시간은 250ms보다 빠릅니다. 이는 카드의 '클래스'와 카드에 저장된 데이터 양에 따라 달라질 수 있습니다. 해결책은 낮은 통신 속도를 사용하거나 높은 통신 속도로 전송되는 문자 간 간격을 늘리는 것입니다.
카드가 거의 없거나 전혀 없는 카드를 사용하는 것을 잊지 마세요. files가 있습니다. 3.1GB 용량의 ZIP 파일이 있는 microSD 카드 files 또는 MP3는 빈 카드보다 응답 속도가 느립니다. Windows OS에서 microSD 카드를 포맷하지 않은 경우, microSD 카드를 다시 포맷하고 DOS를 생성하세요. fileSD 카드의 시스템.
카드 제조업체, 재분류된 카드, 카드 크기, 카드 등급 등 다양한 종류가 있으며, 모두 제대로 작동하지 않을 수 있습니다. 일반적으로 8bps에서 잘 작동하는 4GB Class 9600 microSD 카드를 사용합니다. 더 높은 통신 속도나 더 큰 저장 공간이 필요하면 Class 6 이상의 카드를 사용해 보세요.
Serial.print() 명령문 사이에 작은 지연 시간을 추가하면 OpenLog가 현재 버퍼를 기록할 수 있습니다.
- 직렬.시작(115200);
int i = 1 ; i < 10 ; i++ { Serial.print(i, DEC); Serial.println(":abcdefghijklmnopqrstuvwxyz-!#"); }
많은 문자가 나란히 전송되기 때문에 제대로 기록되지 않을 수 있습니다. 큰 문자 쓰기 사이에 15ms의 짧은 지연 시간을 삽입하면 OpenLog가 문자 손실 없이 기록하는 데 도움이 됩니다.
- 직렬.시작(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("TEXT\r");
또는 값 13(XNUMX진수 캐리지 리턴)을 보낼 수 있습니다.
- Serial.print("TEXT");
- Serial.write(13);
비상 리셋
OpenLog를 기본 상태로 재설정해야 하는 경우 RX 핀을 GND에 연결하고 OpenLog에 전원을 공급한 다음 LED가 동시에 깜박이기 시작할 때까지 기다린 다음 OpenLog의 전원을 끄고 점퍼를 제거하여 보드를 재설정할 수 있습니다.
비상 재정의 비트를 1로 변경한 경우 구성을 수정해야 합니다. file비상 재설정은 작동하지 않습니다.
커뮤니티에 문의하세요
OpenLog에 여전히 문제가 있는 경우, GitHub 저장소에서 현재 문제 및 종료된 문제를 확인해 보세요. OpenLog와 관련된 대규모 커뮤니티가 활동하고 있으므로, 누군가 현재 겪고 계신 문제에 대한 해결책을 찾았을 가능성이 높습니다.
리소스 및 추가 진행
이제 OpenLog로 데이터를 성공적으로 기록했으니 원격 프로젝트를 설정하고 수집 가능한 모든 데이터를 모니터링할 수 있습니다. 시민 과학 프로젝트를 직접 만들거나, 플러피가 외출했을 때 어떤 행동을 하는지 확인할 수 있는 반려동물 추적기를 만들어 보는 건 어떠세요?
다음 프로젝트에 대한 문제 해결, 도움말 또는 영감을 얻으려면 다음 추가 리소스를 확인하세요.
- 오픈로그 깃허브
- 일루미튠 프로젝트
- LilyPad 조도 센서 연결
- BadgerHack: 토양 센서 추가 기능
- OBD-II 시작하기
- 버니어 포토게이트
더 많은 영감이 필요하신가요? 다음 관련 튜토리얼을 확인해 보세요.
- 포톤 원격 수위 센서
물 저장 탱크를 위한 원격 수위 센서를 만드는 방법과 판독값을 기반으로 펌프를 자동화하는 방법을 알아보세요! - Blynk 보드 프로젝트 가이드
Blynk 보드를 다시 프로그래밍하지 않고도 설정할 수 있는 일련의 Blynk 프로젝트입니다. - Tessel 2를 사용하여 Google 시트에 데이터 로깅
이 프로젝트에서는 IFTTT를 사용하여 Google 시트에 데이터를 기록하는 두 가지 방법을 다룹니다. web 연결이나 USB 펜 드라이브가 없이도 "스니커넷"을 사용할 수 있습니다. - Python과 Matplotlib을 사용하여 센서 데이터 그래프 만들기
Raspberry Pi에 연결된 TMP102 센서에서 수집한 온도 데이터의 실시간 플롯을 생성하려면 matplotlib을 사용합니다.
튜토리얼 피드백이 있으시면 댓글을 방문하시거나 기술 지원팀에 문의해 주세요. TechSupport@sparkfun.com.
자주 묻는 질문
OpenLog에 권장되는 전원 입력은 무엇입니까?
OpenLog에 권장되는 전원 입력 전압은 3.3V~5V입니다.
OpenLog는 유휴 상태일 때 얼마나 많은 전류를 소모합니까?
OpenLog는 microSD 카드 없이 유휴 상태일 때 약 2mA~5mA의 전류를 소모하고, microSD 카드가 삽입된 경우에는 약 5mA~6mA의 전류를 소모합니다.
OpenLog에 대한 microSD USB Reaboutn의 목적은 무엇입니까?
microSD USB 리더를 사용하면 OpenLog와 함께 사용되는 microSD 카드에서 컴퓨터로 데이터를 쉽게 전송할 수 있습니다.
문서 / 리소스
![]() |
SparkFun DEV-13712 납땜용 구멍이 있는 입자 광자 [PDF 파일] 사용자 가이드 DEV-13712, DEV-13955, DEV-13712 납땜용 구멍이 있는 입자 광자, DEV-13712, 납땜용 구멍이 있는 입자 광자, 납땜용 구멍, 납땜용, 납땜 |