리눅스 - 아두이노

Download Report

Transcript 리눅스 - 아두이노

리눅스 - 아두이노
INO를 활용한 리눅스 커맨드라인에서의 아두이노 프로그래밍
INO란?
• 커맨드라인상에서 아두이노에 관련된 작업을 하도록 도와주는 툴킷
• 아두이노 IDE의 기능이 대부분 들어가 있다.
• 빌드를 할 때 진행상황이 눈에 보이기 때문에, 기본 라이브러리에 어떤 헤더가 포
함되어있는지, 스케치 파일이 어떤 과정을 거쳐 hex가 되는지 알 수 있다.
INO 설치법
먼저 python-pip를 설치한다.
INO 설치법
sudo pip install ino를 실행하면 ino를 알아서 설치한다.
ino -h
설치가 끝나고 ino –h를 실행하면 사용할 수 있는 기능의
명령어들을 알 수 있다.
프로젝트 생성법
아무 장소에나 빈 폴더를 하나 생성하고 그 안에서
Ino init –t blink(혹은 empty)를 실행하면 프로젝트가 생성된다.
스케치 편집
cat으로 프로젝트 내의 src폴더에 들어있는 sketch.ino를 읽어볼 수 있다.
Ino init –t blink로 생성했기 때문에 내장LED 점멸 소스가 들어있다.
스케치 편집
vim으로 열어서 편집
빌드
소스코드 작성이 끝났으면
ino build 명령어로 빌드 할
수 있다.
빌드하는 중에 참조하는
파일이나 hex에 포함될
라이브러리 안에 들어가는
c코드의 목록을 볼 수 있다.
wiring.c부터
IPAddress.cpp까지는 빈
프로젝트를 빌드해도
들어가는 기본 라이브러리.
tree
파일 위치를 파악하기 좋은 tree를 설치한다.
tree
sketch.ino밖에 없던 프로젝트
폴더에 빌드에 사용될 파일 들이
들어와 있는 것을 볼 수 있다.
sketch.cpp
Tree로 확인한 sketch.cpp를 열어보면 sketch.ino가 어떻게 변하는지
볼 수 있다.
preproc
Ino preproc src/sketch.ino를
사용하면
빌드 하지 않고도 sketch.ino가
sketch.cpp로 어떻게 변하는지
볼 수 있다.
Src폴더 내에서 하면 안되고
프로젝트 최상위 폴더에서만
작동한다.
헤더 추가
Servo.h를 포함하는 코드
빌드하면 어떤 파일이 추가되는지 본다.
헤더 추가
Servo.cpp가 추가되고
libServo.a로 따로 묶는 것을
볼 수 있다.
시리얼포트 열기
빌드가 끝났으니 업로드를 해야하는데 오류가 발생했다.
시리얼포트를 여는 권한을 먼저 줘야한다.
시리얼포트 열기
sudo usermod – a –G tty <유저이름>
sudo usermod –a –G dialout <유저이름>
이 두 명령어를 실행하면 시리얼포트 사용 권한이 열린다.
재시작
업로드
다시 ino upload 명령으로 업로드를 시도해본다.
이번엔 제대로 시리얼포트를 잡아 hex파일을 업로드 했다.
시리얼 모니터
Ino는 picocom을 사용한 시리얼 모니터를 제공하는데
Picocom이 설치되어 있지 않다.
시리얼 모니터
Sudo apt –get install picocom
picocom을 설치
시리얼 모니터
Ino serial로 시리얼 모니터를 시작한다.
Ctrl+a, Ctrl+x로 종료할 수 있다.
시리얼 모니터
Picocom을
사용하면
아두이노 쪽에서
보내는 걸 볼 수만
있고 사용자가
메시지를 보내는
기능이 없으므로
GUI환경에선
cutecom이나
아두이노IDE UI에
포함된 시리얼
모니터를 사용
클린
Ino clean을 입력하면 프로젝트를 빌드하기 이전 상태로 만들어준다.
알고보면 그냥 .build 폴더를 지울 뿐이다.
build -h
Build에는 여러가지 모드가 있는데, 그 중에 아두이노 모델설정과,
Verbose 모드가 있다.
Verbose모드는 빌드시에 makefile의 전체 내용을 보여준다.
List models
Ino list-models로 build와 upload에서 설정할 수 있는 모델의 종류를
볼 수 있다.
List models
아두이노 데시밀라에 업로드 하고 싶을 때에는
Ino build –m decimilla, Ino upload –m decimilla 명령어로
빌드/업로드 하면 된다. 초기값은 우노.