리눅스 - 아두이노

27
리리리 - 리리리리 INO 리 리리리 리리리 리리리리리리리리 리리리리 리리리리리

description

리눅스 - 아두이노. INO 를 활용한 리눅스 커맨드라인에서의 아두이노 프로그래밍. INO 란 ?. 커맨드라인상에서 아두이노에 관련된 작업을 하도록 도와주는 툴킷 아두이노 IDE 의 기능이 대부분 들어가 있다 . 빌드를 할 때 진행상황이 눈에 보이기 때문에 , 기본 라이브러리에 어떤 헤더가 포함되어있는지 , 스케치 파일이 어떤 과정을 거쳐 hex 가 되는지 알 수 있다. INO 설치법. 먼저 python-pip 를 설치한다. INO 설치법. - PowerPoint PPT Presentation

Transcript of 리눅스 - 아두이노

Page 1: 리눅스 - 아두이노

리눅스 - 아두이노INO 를 활용한 리눅스 커맨드라인에서의 아두이노 프로그래밍

Page 2: 리눅스 - 아두이노

INO 란 ?

• 커맨드라인상에서 아두이노에 관련된 작업을 하도록 도와주는 툴킷

• 아두이노 IDE 의 기능이 대부분 들어가 있다 .

• 빌드를 할 때 진행상황이 눈에 보이기 때문에 , 기본 라이브러리에 어떤 헤더가 포함되어있는지 , 스케치 파일이 어떤 과정을 거쳐 hex 가 되는지 알 수 있다 .

Page 3: 리눅스 - 아두이노

INO 설치법

먼저 python-pip 를 설치한다 .

Page 4: 리눅스 - 아두이노

INO 설치법

sudo pip install ino 를 실행하면 ino 를 알아서 설치한다 .

Page 5: 리눅스 - 아두이노

ino -h

설치가 끝나고 ino –h 를 실행하면 사용할 수 있는 기능의 명령어들을 알 수 있다 .

Page 6: 리눅스 - 아두이노

프로젝트 생성법

아무 장소에나 빈 폴더를 하나 생성하고 그 안에서Ino init –t blink( 혹은 empty) 를 실행하면 프로젝트가 생성된다 .

Page 7: 리눅스 - 아두이노

스케치 편집

cat 으로 프로젝트 내의 src 폴더에 들어있는 sketch.ino 를 읽어볼 수 있다 .Ino init –t blink 로 생성했기 때문에 내장 LED 점멸 소스가 들어있다 .

Page 8: 리눅스 - 아두이노

스케치 편집

vim 으로 열어서 편집

Page 9: 리눅스 - 아두이노

빌드

소스코드 작성이 끝났으면 ino build 명령어로 빌드 할 수 있다 .

빌드하는 중에 참조하는 파일이나 hex 에 포함될 라이브러리 안에 들어가는 c코드의 목록을 볼 수 있다 .

wiring.c 부터 IPAddress.cpp 까지는 빈 프로젝트를 빌드해도 들어가는 기본 라이브러리 .

Page 10: 리눅스 - 아두이노

tree

파일 위치를 파악하기 좋은 tree 를 설치한다 .

Page 11: 리눅스 - 아두이노

tree

sketch.ino 밖에 없던 프로젝트 폴더에 빌드에 사용될 파일 들이 들어와 있는 것을 볼 수 있다 .

Page 12: 리눅스 - 아두이노

sketch.cpp

Tree 로 확인한 sketch.cpp 를 열어보면 sketch.ino 가 어떻게 변하는지 볼 수 있다 .

Page 13: 리눅스 - 아두이노

preproc

Ino preproc src/sketch.ino를 사용하면빌드 하지 않고도 sketch.ino가 sketch.cpp 로 어떻게 변하는지 볼 수 있다 .

Src 폴더 내에서 하면 안되고프로젝트 최상위 폴더에서만 작동한다 .

Page 14: 리눅스 - 아두이노

헤더 추가

Servo.h 를 포함하는 코드빌드하면 어떤 파일이 추가되는지 본다 .

Page 15: 리눅스 - 아두이노

헤더 추가Servo.cpp 가 추가되고libServo.a 로 따로 묶는 것을 볼 수 있다 .

Page 16: 리눅스 - 아두이노

시리얼포트 열기

빌드가 끝났으니 업로드를 해야하는데 오류가 발생했다 .시리얼포트를 여는 권한을 먼저 줘야한다 .

Page 17: 리눅스 - 아두이노

시리얼포트 열기

sudo usermod – a –G tty < 유저이름 >sudo usermod –a –G dialout < 유저이름 >이 두 명령어를 실행하면 시리얼포트 사용 권한이 열린다 .

Page 18: 리눅스 - 아두이노

재시작

Page 19: 리눅스 - 아두이노

업로드

다시 ino upload 명령으로 업로드를 시도해본다 .이번엔 제대로 시리얼포트를 잡아 hex 파일을 업로드 했다 .

Page 20: 리눅스 - 아두이노

시리얼 모니터

Ino 는 picocom 을 사용한 시리얼 모니터를 제공하는데Picocom 이 설치되어 있지 않다 .

Page 21: 리눅스 - 아두이노

시리얼 모니터

Sudo apt –get install picocompicocom 을 설치

Page 22: 리눅스 - 아두이노

시리얼 모니터

Ino serial 로 시리얼 모니터를 시작한다 .Ctrl+a, Ctrl+x 로 종료할 수 있다 .

Page 23: 리눅스 - 아두이노

시리얼 모니터

Picocom 을 사용하면 아두이노 쪽에서 보내는 걸 볼 수만 있고 사용자가 메시지를 보내는 기능이 없으므로

GUI 환경에선 cutecom 이나 아두이노 IDE UI에 포함된 시리얼 모니터를 사용

Page 24: 리눅스 - 아두이노

클린

Ino clean 을 입력하면 프로젝트를 빌드하기 이전 상태로 만들어준다 .

알고보면 그냥 .build 폴더를 지울 뿐이다 .

Page 25: 리눅스 - 아두이노

build -h

Build 에는 여러가지 모드가 있는데 , 그 중에 아두이노 모델설정과 , Verbose 모드가 있다 . Verbose 모드는 빌드시에 makefile 의 전체 내용을 보여준다 .

Page 26: 리눅스 - 아두이노

List models

Ino list-models 로 build 와 upload 에서 설정할 수 있는 모델의 종류를 볼 수 있다 .

Page 27: 리눅스 - 아두이노

List models

아두이노 데시밀라에 업로드 하고 싶을 때에는Ino build –m decimilla, Ino upload –m decimilla 명령어로 빌드 / 업로드 하면 된다 . 초기값은 우노 .