2013년 3월 20일 수요일

[콘티키/Contiki] Contiki 2.6을 ubuntu 12.04에 설치하기!


Contiki 2.6 on ubuntu 12.04

콘티키 설치하는 방법

콘티키 홈페이지에는 윈도우 환경에서 vmware를 이용하여 ‘우분투 + 콘티키’를 한꺼번에 설치할 수 있는 이미지를 제공하는데, 이미 우분투가 깔려있는 환경에선 어떻게 콘티키를 설치할까?

1. 먼저 msp430 tool chain을 설치 합니다.

sudo apt-get install binutils-msp430 gcc-msp430 msp430-libc

2. AVR tool chain을 설치 합니다.

sudo apt-get install gcc-avr binutils-avr gdb-avr avr-libc avrdude

3. JRE and JDK를 설치 합니다.

sudo apt-get install openjdk-7-jdk openjdk-7-jre

4. setup JAVA_HOME and PATH environment variables. 환경 변수 경로 설정을 해줍니다.
vi ~/.bashrc 으로 파일을 열고

export JAVA_HOME=/usr/java/<your version of java>
export PATH=${PATH}:${JAVA_HOME}/bin

이 두줄을 추가해 줍니다.

5. cooja simulator를 돌리기 위해서 필요한 Ant를 설치합니다.

sudo apt-get install ant

6. 이제 마지막으로 contiki source code를 다운로드 합니다.  다운로드
여기 링크를 따라가서 contiki2.6.zip를 다운 받습니다.

7. contiki2.6.zip 파일의 압축을 플고 적당한 경로에 위치시키면 설치 끝!
제대로 설치 됬는지 확인하기 위해서 contiki2.6 폴더 안에  Examples/Hello-world 를 실행시켜 봅니다.

make TARGET=native hello-world

이 명령어로 컴파일을 하고

./hello-world.native

이 명령어로 실행을 하면
아래와 같은 결과가 출력 됩니다.

Contiki 2.6 started
Rime started with address 2.1
MAC nullmac RDC nullrdc NETWORK Rime
Hello, world

설치끝!!




출처 : http://beyondtechs.blogspot.de/2012/05/install-contiki-25-on-ubuntu-1110.html

[콘티키/Contiki] 콘티키 소개



Contiki는 TinyOS와 같은 간단한 디바이스에서 돌아가는 OS라고 볼 수 있다.

TinyOS의 개발자가 개발 이후 10년 동안의 경험을 기술해놓은 "Experiences from a Decade of TinyOS Development" 라는 paper를 보면 콘티키를 소개하고 있는데, 다음과 같이 이야기 하고 있습니다.


Other sensor network OSes have emerged to fill the voids left by TinyOS’s evolution. Contiki, for example, is written entirely in C and provides a more traditional operating system model of a core kernel and applications which compile against it. While TinyOS is more efficient and cleaner, starting with Contiki is much easier. Today a significant fraction of sensor network research builds on top of Contiki rather than TinyOS.

Contiki도 TinyOS와 같은 sensor network OS 인데, C언어로 프로그래밍 가능하다. 처음에 배우기가 훨씬 용이하고, 요즘에는 Contiki기반에서 network research가 많은 부분을 차지하고 있다고 합니다.

저도 Contiki와 TinyOS를 둘다 어느정도 사용해본 결과, TinyOS는 Contiki에 비해서 처음 만들어진 부분에서 기능들이 계속 추가 된 듯한 느낌, 잘 융화시켜서 쓰기 힘들다는 느낌이 들었던 반면에, Contiki는 처음부터 잘 설계되었다는 느낌을 받았는데요, 아무래도 Contiki가 더 늦게 만들어져서 당연한게 아닐까 합니다.

하지만 위의 설명에도 나와있뜻이 TinyOS가 더 efficient, cleaner하고 가볍다는 느낌은 있는데요, 사용하기에는 확실히 Contiki가 편리하지 않나 생각합니다.

앞으로 Contiki로 개발을 진행하면서 제가 공부하는 내용을 정리해볼까 합니다. ㅋ