Home » 산딸기 가지고 놀기 » 라즈베리파이 활용 강좌 : 라즈베리파이 커맨드창에서 알피노(아두이노) 컴파일 및 업로드 하기

RPino Command Line Compile&Upload with RPi

RPino를 RPi와 연동하기 위해 주로 vnc를 사용하여 x10 상의 Arduino Sketch로 Compile&Upload 할 것이다.
간편하긴 하지만, RPi의 CPU 사용율이 상당히 증가함을 x10의 StatusBar 를 통해 알 수 있을 것이다.
이에, 이번에는 명령어로 RPino에 Upload하는 방법을 알아보자.
Arduino사용법을 가져온 것이기 때문에 모든 Arduino에 적용 가능하다.
1. RPino와 RPi 연동하기 

“RPino for RaspberryPi install Manual”에 RPino와 RPi 를 연동하여 Arduino Sketch로 사용하는 방법이 잘 정리되어 있다. 중요 명령어를 나열하자면 아래와 같다.

pi@rasplay $ sudo apt-get update
pi@rasplay $ sudo apt-get upgrade
pi@rasplay $ sudo apt-get install arduino
pi@rasplay $ wget http://rasplay.iptime.org/data/source/RPino.tar.gz
pi@rasplay $ tar xvf RPino.tar.gz
pi@rasplay $ cd RPino
pi@rasplay $ ./setup
pi@rasplay $ sudo reboot

 

2. Command Line Compile Setting

RPino Project의 Command Line Compile에는 SCons Tool을 사용할 것이다.

이에 대해서는 https://scons.org 에서 참고하기 바란다.

추가로 SCons를 사용하기 위해 python-serial package를 설치하고, SConstruct file을 download한다.

pi@rasplay $ sudo apt-get install python-serial scons
pi@rasplay $ mkdir sketch
pi@rasplay $ cd sketch
pi@rasplay $ git clone https://code.google.com/r/kylecgordon-arscons/

 

3. Coding, Compile and Upload

테스트 RPino Project Name을 “myinoprj”로 하였다.

pi@rasplay $ mkdir myinoprj
pi@rasplay $ cd myinoprj
pi@rasplay $ cp ../kylecgordon-arscons/SConstruct ./

간단한 arduino source를 작성한다. file name은 꼭 project name (directory name)과 같도록 한다. 여기서는 “myinoprj.ino”로 하였다.

pi@rasplay $ vi myinoprj.ino

#define PIN_LED 13
void setup(void)
{
pinMode(PIN_LED, OUTPUT);
}
void loop(void)
{
digitalWrite(PIN_LED, HIGH);
delay(5000);
digitalWrite(PIN_LED, LOW);
delay(5000);
}

SCons를 실행하여 Compile 및 Upload를 수행한다.

아래와 같이 몇가지 옵션을 설정해주면 RPino에 정상적으로 Upload가 진행된다.

Upload를 제외한 Compile 만을 위해서는 “upload” parameter를 제외하면 되겠다.

pi@rasplay $ scons ARDUINO_PORT=/dev/ttyS0 ARDUINO_BOARD=atmega328 ARDUINO_VER=1.0.1 ARDUINO_HOME=/usr/share/arduino upload

참고로, 테스트 도중 실수했던 사항이 다른 Serial Module Test를 위해 ttyAMA0 device를 사용하는 program을 띄운 채 scons를 실행했던 적이 있다. 이 경우는 compile은 완료되나 upload에서 error가 발생한다.

이 program을 종료하고 scons를 실행하니 정상적으로 upload가 완료되었다.

 

[참고사이트]

o http://www.webweavertech.com/ovidiu/weblog/archives/000482.html

o https://code.google.com/r/kylecgordon-arscons/

o https://scons.org

산딸기마을 포스트 검색

공동제작 공동프로젝트 무상후원 기관

산딸기마을 기부하기

산딸기마을 방문자 현황

Flags Countries Visits Page views
South Korea 626063 1845660
United States 10882 26091
Japan 5011 13204
Germany 2755 5151
India 1897 2902
Canada 1729 4640
United Kingdom 1596 2642
Australia 1240 2901
Russia 1219 1677
China 1077 2239
Total Pageviews: 1936700