-
-
Notifications
You must be signed in to change notification settings - Fork 2
TMA‐1 설정 도구 가이드
TMA-1 데이터로거의 기능을 활성화/비활성화하여 펌웨어를 빌드하고 장비에 업로드하는 GUI 도구입니다.
펌웨어 작업 중에는 GUI가 응답없음 상태가 됩니다. 콘솔 출력 메시지를 보면서 기다리면 돌아옵니다.
TMA-1 설정 도구는 최초 1회에 한하여 약 1.2GB를 인터넷에서 다운로드하며, 최소 5.5GB의 저장 공간이 필요합니다.
보안 경고는 모노리스 실행 파일이 pyinstaller로 패키징된 파이썬 스크립트이기 때문에 발생합니다. (관련 이슈)
- 인스톨러는 릴리즈 페이지의
monolith-<version>.zip
을 다운받아 C:/monolith 에 압축을 푸는 작업을 수행하며, 관리자 권한은 C:/ 경로에 새 디렉터리를 생성하는데 사용됩니다.- 모노리스가 C:/monolith에 설치되는 것은 경로가 길면 ESP32 펌웨어 빌드가 실패하기 때문입니다. (Windows Command-line string limitation)
-
다운로드 페이지에서 최신 monolith 설치 파일(
monolith-installer-<version>.exe
)을 다운로드합니다. - 설치 파일을 다운로드하거나 실행하면 다음과 같은 보안 경고가 표시됩니다.
- Chrome SafeBrowsing
우측의▸
버튼을 클릭한 다음계속 다운로드
를 누릅니다.
- Windows Defender SmartScreen
추가 정보를 클릭한 다음실행
을 누릅니다.
- 기타 백신 프로그램
다운로드한 설치 파일을 백신에서 실행 허용합니다.
- Chrome SafeBrowsing
- 설치 파일을 실행하고 잠시 기다리면 C:/monolith 경로에 모노리스가 설치됩니다.
- Installation complete! 메시지가 출력되면 인스톨러를 닫습니다.
- 파일 탐색기를 열어 C:/monolith/builder 경로로 이동합니다.
-
main.exe
파일을 실행해 TMA-1 설정 도구를 실행합니다.
TMA-1의 주요 기능은 모두 STM32F4 개발보드가 담당합니다. 보드에 펌웨어를 업로드해야 정상적으로 작동합니다.
TMA‐1 기능 및 사용 가이드를 참고하여 사용할 기능을 활성화합니다.
-
Datalogging
- Output
- SD Card
Micro SD 카드에 로그를 저장합니다. 기본 기능으로 비활성화할 수 없습니다. - Telemetry
무선 실시간 모니터링 기능을 활성화합니다. - Serial
LTX 핀에서 115200bps 3.3V UART로 로그를 출력합니다. 사용하지 않는다면 비활성화해야 성능이 향상됩니다.
- SD Card
- Sensors
각 측정 기능의 활성화 여부를 선택합니다. 입력 전압과 CPU 온도 모니터링은 기본 기능으로 비활성화할 수 없습니다.
- Output
-
Upload
-
Debug Mode
TMA-1의 디버그 메시지를 DEBUG UART 포트로 출력합니다.
활성화 시 데이터로깅 성능을 심각하게 저해하므로 작동 확인 시에만 사용해야 합니다.
Debug Mode를 비활성화해도 DEBUG UART 포트를 통한 RTC 동기화 기능은 정상적으로 작동합니다. -
Release Build
빌드 시 릴리즈 옵션(-O2
)으로 컴파일합니다. 비활성화하면-g -gdwarf-2
옵션으로 빌드합니다.
STLink 런타임 디버깅을 사용할 것이 아니라면 항상 활성화된 상태로 둡니다.
-
STLink는 이 제품을 사용합니다. 다른 것도 무방합니다.
먼저 STLink를 컴퓨터에 연결하기 전에 STLink Driver를 설치합니다.
STM32F4 개발보드와 STLink의 SWDIO
, SWCLK
, GND
를 서로 연결하고, STLink를 컴퓨터와 연결합니다.
장비에 전원을 공급하고 FLASH TMA-1
버튼을 누르면 자동으로 펌웨어를 빌드하고 장비에 업로드합니다.
작업이 실패했다면 콘솔에 출력되는 메시지를 복사하여 Discussions에 Q&A로 올리면 됩니다.
TMA-1의 RTC 시계를 수동으로 컴퓨터와 동기화합니다.
- TMA-1의 DEBUG UART 핀 헤더를 UART to USB 컨버터를 통해 연결합니다.
- TMA-1의
TX
핀은 컨버터의RX
에, TMA-1의RX
는 컨버터의TX
에 연결합니다. -
Sync RTC
버튼을 누르고, UART to USB 컨버터의 COM 포트를 선택하면 동기화가 진행됩니다.
- 동기화에 여러 번 실패한다면 TMA-1 전원을 껐다 켠 후 재시도합니다.
- 텔레메트리 기능을 사용한다면 서버와 연결할 때 자동으로 시간을 동기화하므로 수동 RTC 동기화를 진행할 필요가 없습니다.
텔레메트리 기능을 사용하려면 ESP32에도 펌웨어를 업로드해야 합니다.
ESP32가 연결할 Wi-Fi Hotspot과 텔레메트리 채널 등을 설정합니다.
ESP32는 차량에 탑승하는 드라이버의 스마트폰 핫스팟 네트워크와 연결하여 인터넷에 접속합니다.
- Wi-Fi Hotspot SSID
ESP32가 연결할 Wi-Fi 핫스팟 네트워크의 이름입니다. - Wi-Fi Hotspot Password
핫스팟 네트워크의 비밀번호입니다. - Channel Name
서버 사용자 등록 시 설정한 채널 이름입니다. - Channel key
서버 사용자 등록 시 설정한 passkey입니다. - Server Name
사용할 TMA-2 텔레메트리 서버 주소입니다.
별도로 구축하지 않았다면 기본값인monolith.luftaquila.io
로 둡니다. - COM Port
펌웨어 업로드 시 사용할 시리얼 포트입니다.
공란으로 두면 자동으로 CP2102 UART 칩셋을 찾아 업로드를 시도합니다.
업로드가 잘 되지 않는다면 장치 관리자에서 정확한 시리얼 포트를 찾아 포트 이름을 입력합니다.
ESP32의 C타입 USB 단자와 컴퓨터를 연결하고 Flash ESP32
버튼을 누르기만 하면 모든 과정을 자동으로 진행합니다.
단, ESP32는 프로그램 업로드 시 DOWNLOAD_BOOT
모드로 진입해야 합니다. 여기에는 두 가지 방법이 있습니다.
ESP32를 TMA-1 보드에 장착하고, 보드에 C1
10uF 커패시터를 장착했다면 자동으로 ESP32가 업로드 모드로 진입합니다.
ESP32를 TMA-1 보드에서 분리한 상태로 펌웨어를 업로드하려면 2번 방법을 사용해야 합니다.
ESP32 개발보드에는 EN 버튼이 있습니다. Flash ESP32
버튼을 누르고 조금 기다리면 콘솔에 다음과 같은 메시지가 표시됩니다.
INFO: flashing TMA-1 ESP32 binary...
esptool.py v4.5.1
Serial port COM #
이 때, ESP32의 EN 버튼을 누르면 펌웨어 업로드가 진행됩니다.
Writing at 0x########... (## %)
메시지가 표시될 때까지 버튼을 계속 누르고 있다가, 메시지가 표시되면 뗍니다.
- C:/monolith 디렉터리를 삭제합니다.
사용하면서 문제나 궁금한 내용이 있다면 자작자동차포럼의 데이터 분석 카테고리에 question
태그를 달아 올려주세요.
If you have any problems or questions while using monolith, you can post it as a Q&A in the Discussions.