http://junwha0511.blog.me/221535738246
안녕하세요!
오늘은 정보가 별로 없는 아두이노 라이브러리 매니저에 라이브러리를 등록하고, 지속적으로 업데이트하는 방법을 포스팅하려고 합니다.
이 글은 별로 인기가 없을 것 같긴 하지만... 그래도 정보가 많이 없어서 힘들었던만큼 꼭 필요한 포스팅이라고 생각합니다.
아두이노 라이브러리는 크게 네 부류의 파일로 이루어집니다.
소스코드, 예제, 키워드, README
이렇게 네 가지로 분류되는데요,
소스코드는 개발한 라이브러리의 cpp파일과 헤더파일을 src 폴더에 넣으시면 되고,
예제에는 개발한 라이브러리를 사용한 간단한 예제 ino파일을 넣어주시면 됩니다.
키워드 파일이 관건인데요,
키워드 파일은 사용자가 아두이노 IDE에서 라이브러리를 사용할 때
하이라이팅 되어야할 용어들을 설정해두는 것입니다.
기본적으로 함수명들이 들어가야겠죠?
아래 코드는 제가 개발한 한글 출력 라이브러리의 kewords.txt 파일입니다.
KEYWORD1에 라이브러리명을 적어주시고, KEWORD2에 함수나 로컬변수(?) 네임등을 적어주세요.
###########################################
# Syntax Coloring Map For LiquidCrystal_I2C_Hangul
###########################################
###########################################
# Datatypes (KEYWORD1)
###########################################
LiquidCrystal_I2C_Hangul KEYWORD1
###########################################
# Methods and Functions (KEYWORD2)
###########################################
init KEYWORD2
begin KEYWORD2
clear KEYWORD2
home KEYWORD2
noDisplay KEYWORD2
display KEYWORD2
noBlink KEYWORD2
blink KEYWORD2
noCursor KEYWORD2
cursor KEYWORD2
scrollDisplayLeft KEYWORD2
scrollDisplayRight KEYWORD2
leftToRight KEYWORD2
rightToLeft KEYWORD2
shiftIncrement KEYWORD2
shiftDecrement KEYWORD2
noBacklight KEYWORD2
backlight KEYWORD2
autoscroll KEYWORD2
noAutoscroll KEYWORD2
createChar KEYWORD2
setCursor KEYWORD2
print KEYWORD2
blink_on KEYWORD2
blink_off KEYWORD2
cursor_on KEYWORD2
cursor_off KEYWORD2
setBacklight KEYWORD2
load_custom_character KEYWORD2
printstr KEYWORD2
printHangul KEYWORD2
setDelayTime KEYWORD2
###########################################
# Constants (LITERAL1)
###########################################
마지막으로 README 파일인데요, 이 파일에는 사용자가 보고 라이브러리를 사용할 수 있도록 사용 방법을 적어주시거나, 저작권과 관련된 내용을 기재해주시면 됩니다.
자 이렇게 해서 아래 사진과 같이 폴더와 파일이 완성되었을텐데요,
이제 아두이노 라이브러리 매니저에 등록하는 법을 알려드리겠습니다.
먼저 파일을 모두 Github에 업로드 해 주세요.
Github 저장소에 접근했을 때 아래 사진과 같이 releases가 보이실텐데요,
releases를 클릭하시고 create new release 버튼을 클릭해주세요.
그럼 이렇게 새로운 릴리즈를 배포할 수 있는 양식이 뜹니다.
여기서 잠시 알아봐야할 것이 유의적 버전이라는 개념인데요,
https://semver.org/lang/ko/spec/v2.0.0.html
유의적 버전 2.0.0
Semantic Versioning spec and website
semver.org
위 링크에서 상세한 설명을 볼 수 있지만
요약하자면 1.0.0 에서
첫번째 숫자는 기존 버전과 호환 되지 않을 때,
두번째 숫자는 기존 버전과 호환 되면서 새로운 기능을 추가할 때,
세번째 숫자는 기존 버전과 호환 되면서 버그를 수정한 경우입니다.
이 세 숫자를 주, 부, 수 숫자라고 합니다.
그럼 다시 돌아가봅시다.
Tag version에는 처음 배포를 하는 것이니 1.0.0을 작성하시고,
title에 제목을, Describe에 설명을 작성하시면 되겠습니다.
이제 이 release 페이지의 주소를 복사해서 아두이노의 Github 저장소로 이동합니다.
https://github.com/arduino/Arduino
arduino/Arduino
open-source electronics prototyping platform. Contribute to arduino/Arduino development by creating an account on GitHub.
github.com
Issue 탭으로 이동하시면 Please Add Library 라는 문구를 많이 발견할 수 있는데요,
여러분도 저 사람들 중 한명이 될 것입니다.
new Issue 버튼을 클릭하시고,
아까 복사해두었던 release 페이지의 주소를 붙여넣기 한 후
영어로 정성껏 라이브러리에 추가해달라고 작성해주세요.
제 경우에는 약 2주 정도 걸렸는데요, 기다리고 나면 아두이노 측에서 검토 후 라이브러리 등록을 위처럼 승인해줍니다.
오늘 한글 출력 라이브러리를 1.1.0 버전으로 업데이트 하려고 했는데 방법을 모르겠어서 아두이노 측에 Issue로 물어봤더니
위와 같은 답변을 주었습니다.
제 Github 저장소에서 새로운 release를 배포하면 자동으로 업데이트가 이루어진다고 하네요.
이렇게 오늘은 아두이노 라이브러리를 개발한 후 라이브러리 매니저에 등록하고, 지속적으로 업데이트 하는 방법을 알아봤습니다.
'아두이노' 카테고리의 다른 글
아두이노 16x2 LCD 한글 출력 라이브러리 1편-사용법 (4) | 2019.05.04 |
---|---|
아두이노 16x2 LCD 한글 출력 라이브러리 (0) | 2019.05.04 |
리니어 모터 드라이버 (0) | 2019.05.04 |
릴레이의 원리 (0) | 2019.05.04 |
댓글