펌웨어 빌드
GateKeyPer의 펌웨어를 구성을 위한 환경구축 / 방법 안내
1. IDE 설치
아두이노 공식 홈페이지(arduino.cc)에 접속하여 Arduino IDE를 설치합니다.
다음과 같은 흐름에 따라 손쉽게 설치가 가능합니다.
아두이노 공식 홈페이지 arduino.cc 에 접속하여, Software 항목을 클릭합니다.
Downloads항목에서, Windows ZIP files 를 선택합니다.
GateKeyPer팀의 개발 환경은, Windows10 - 64bit 환경이며 IDE 1.8.16을 사용중입니다.
Arduino.exe를 통해 Arduino IDE를 실행합니다.
2. 라이브러리 설치
하드웨어에서 채택한, Adafruit-fingerprint 라이브러리를 이용하기위해 설치합니다.
다음과 같은 흐름에 따라 설치합니다.
라이브러리를 다운로드 하기위해 다음과 같은 경로에 진입합니다.
Arduino IDE -> 스케치 -> 라이브러리 포함하기 -> 라이브러리 관리

팝업된 라이브러리 매니저에, "Fingerprint"로 입력하여, Adafruit Fingerprint Sensor Library 항목을 버전 2.0.7로 설치합니다.

Git 링크를 통해 Key_0.6v.ino(변경될 수 있음) 파일을 카피하여 작업중인 IDE에 붙여넣습니다.
정상적으로 설치되었다면, 컴파일 버튼을 눌렀을 때, 컴파일 완료라는 명령어가 표시됩니다.
정상적으로 설치되지 않았다면, 5행의 Adafruit_Fingerprint 변수를 읽지 못한다는 오류가 표시됩니다.
3. 펌웨어 다운로드 / 모니터링
git 페이지에서 제공되는 펌웨어를 복사 또는 다운로드 하여 실행합니다.
Git 링크를 통해 키에 해당하는 제품에는 Key_0.6v.ino(버전이 변경될 수 있음) 파일을 다운로드 하고, 락에 해당하는 제품에는 Lock_0.5v.ino(버전이 변경될 수 있음) 파일을 다운로드 합니다.
다운로드는 좌측 상단의 컴파일 옆 버튼을 통해 할 수 있습니다.
기존 연결되어있던 아두이노를 연결 해지하면 컴포트를 다시 설정해주어야합니다.
IDE 우측 상단의 돋보기 아이콘을 클릭하여 로그 모니터를 열 수 있습니다.
모니터 하단의 보드레이트를 반드시 57600baud 로 클릭하여야 정상 송/수신 됩니다.
정상 수신될 경우, 기능 실행 시 모니터에 단계별 log가 토출됩니다.

4-1. 초기 설정(지문 등록)
현재 제작 완성도 단계가 MVP3인 상황(MVP 링크)에 따라, 지문 권한 부여 기능이 없는 상태인 관계로 로컬 디바이스 별로 지문을 등록해 주어야 합니다.
WEB 연동/권한부여 없이 기능을 이용하려면, 지문 ID17/ID18로 등록해야 합니다.
User-ID17에 지문을 등록한 경우, Lock-ID7로 설정된 자물쇠는 열 수 있습니다.
User-ID18에 지문을 등록한 경우, Lock-ID8로 설정된 자물쇠는 열 수 있습니다.
아무런 지문이 등록되어 있지 않더라도 Lock-ID9로 설정된 자물쇠는 열 수 있습니다.
** 상기 기본 세팅은, 권한 재설정 시 덮어씌워짐
[지문 등록 방법]
github -> IoT_GateKeyPer_Keeper/IoT(Arduino)/enroll_example.ino을 복사합니다.
Arduino IDE에 붙여 넣은 후, 도어키와 PC를 연결, 다운로드를 진행합니다.
Serial Monitor를 열어, 화면에 도시되는 대로 희망하는 ID를 Serial 입력합니다.
지문을 대어 인식합니다. 해당 과정을 시리얼 안내사항에 따라 1회 반복합니다.
완료!
4-2. 초기 설정(RTC 절대시간 등록)
제품을 처음 구성한 후, RTC의 시간 기준값을 설정해 주어야 합니다.
최초 1회 이후에는 키의 배터리 전원이 방전되더라도 현재 시간이 유지됩니다.
[시간 설정 방법]
IoT_GateKeyPer_Keeper/IoT(Arduino)/RTC_Setting.ino을 복사합니다.
Arduino IDE에 붙여 넣은 후, 잠금키와 PC를 연결, 다운로드를 진행합니다.
Serial Monitor(Baud:9600)를 열어, 화면에 비정상적인 날짜가 표시됨을 확인합니다.
현재 시간에 맞추어 날짜/시간/요일 등의 정보를 담은 명령어를 입력합니다.
명령어 입력 이후, 희망하는 날짜로 변경되었는지 확인합니다.
완료!
[ 명령어 참조 ]
T(설정명령) + 년(00~99) + 월(01~12) + 일(01~31) + 시(00~23) + 분(00~59) + 초(00~59) + 요일(1~7, 일1 월2 화3 수4 목5 금6 토7)
예: T2110191310203 (2021년 10월 19일 13시 10분 20초 화요일)
Next. WEB 빌드
하드웨어와 초기세팅까지 모두 마쳤습니다. 다음 챕터에서는 PC와 연결하여 데이터를 확인하기 위해, 웹을 빌드 합니다.
* 웹 빌드가 되지 않더라도 기본 기능은 정상적으로 동작합니다. 다만 PC에서 데이터 확인이 불가능합니다.
Last updated
Was this helpful?
