2015년 4월 21일 화요일

아두이노+라즈베리파이=?

 라스베리파이(이하 RPi)의 GPIO 핀들은 파이썬으로 제어할 수 있다는 점에서 무척 매력적이지만 GPIO 자체의 기능이 아두이노에 비해서도 빈약하다. 포트핀으로 흘릴 수 있는 전류가 수mA 정도로 제한되어 있으며 특히 PWM핀은 하나이고 아날로그 핀(ADC)은 없어서 아쉽다.
 
 그래서 아두이노의 기능을 얹은 RPi 인터페이스 보드들이 이러한 단점을 상쇄해 줄 수 있으리라 기대가 되어서 구글링 해보니 다음과 같이 몇 가지가 눈에 띄어서 정리해 보았다.

arduberry

 RPi 위에 장착하여 RPi에서 아두이노 IDE를 이용하여 프로그래밍 가능하다. getting start 를 대충 읽어보았는데 이것은 PC대신 RPi 로 프로그래밍한다는 개념인 것 같다. 필요한 프로그램을 설치하면 아두이노 IDE 의 다운로더 메뉴에 'Arduino GPIO' 메뉴가 생기고 이것을 선택하여 RPi에서 직접 코딩을 하고 컴파일과 다운로딩을 할 수 있다.


단순히 PC대신 RPi를 사용할 수 있도록 설계되었기 때문에 PC가 없는 환경이라면 초저가 아두이노 프로그래머를 RPi로 꾸밀 수 있겠으나,  PC를 이미 가진 사용자들에게 어떤 장점을 가지는 지는 의문이다.
 

2. alamode

 RPi 위에 장착가능한 아두이노 호환보드이며 아듀베리와 유사하게 시리얼포트가 연결되어서 RPi가 호스트가 되어 alamode 를 프로그래밍 할 수 있다.
그 뿐만 아니라 alamode 가 RPi를 이더넷쉴드로 사용할 수 있는 등 양방향 통신을 한다고 한다.

3. RPino GOGO

  아듀베리와 비숫한 개념의 국산 아두이노 보드이다. 특이한 점은 전용 스케치로더를 이용하면 독립적인 아두이노보드로 사용할 수 있다는 점이다. RPi 연결모드와 독립 사용 모드를 설정할 수 있다. RPi와 I2C 통신을 하기 위한 전압 레벨 변환기도 내장하고 있다. 개인적으로 구입해서 구동해 보았는데 잘 동작한다.
하지만 아듀베리와 마찬가지로 단순히 PC대신 RPi를 사용할 수 있도록 설계되었기 때문에 PC가 없는 환경이라면 초저가 아두이노 프로그래머를 RPi로 꾸밀 수 있겠으나,  PC를 이미 가진 사용자들에게 어떤 장점을 가지는 지는 의문이다.
 위의 세 가지 제품들은 라즈베리파이가 단순히 컴파일/다운로드를 수행하는 PC대신으로 사용하는 방식인데 사실 보통의 아두이노보드를 라즈베리파이와 USB로 연결해서 프로그램할 수 있으므로 확장보드로서의 의미가 크지 않다는게 필자의 생각이다. 단지 usb케이블을 이용하지 않고 깔끔하게 결합된다는 점과, alamode 의 경우 라즈베리파이를 이더넷쉴드 대용으로 사용할 수 있다는 점은 장점이라 할 수 있다.

4. piFace

 아두이노 호환은 아니지만 RPi GPIO핀에 장착하여 여러가지 IO실험을 할 수 있는 확장보드로 해외에서는 교육용으로 많이 사용되는 것 같다. 영국 맨체스터대에서 교육용으로 개발하였으며 파이썬 모듈을 제공하며 스크래치 언어와의 통합기능을 제공한다. 스크래치 언어를 지원한다는 것은 저학년 아이들의 교육에 무척 유용할 것이라는 예상을 할 수 있다.
piFace (왼쪽) 와 아두이노에 장착한 모습(오른쪽)

 입출력에 RPi의 GPIO 핀을 직접 사용하지 않고 MCP23S17 칩을 사용하며 I2C로 이를 제어하므로 대전류 구동이 가능하며 arduberry, alamode, RPino 와 다르게 독립적으로 구동되지 않고 반드시 RPi쪽에서 제어 프로그램을 구동하여야 한다.
 

5. pcDuino / 갈릴레오 보드 / udoo neo 보드

 이것들은 종류가 다른 보드이지만 리눅스 머신과 아두이노를 아예 하나의 보드 위에 섞어놓은 것이다. 아예 리눅스 보드 위에 아두이노 호환 핀들이 있는 것들이다. 따라서 아두이노가 지원하는 아날로그 핀이나 pwm 등을 바로 사용할 수 있다.
pcDuino3 nano : 아두이노 핀과 호환되기 때문에 아두이노 쉴드들을 바로 사용할 수 있다.
인텔 갈릴레오 gen 2 보드 : 피씨두이노와 마찬가지로 아두이노 쉴드를 바로 장착하여 사용할 수 있다.
 갈릴레오보드는 특이하게도 리눅스를 OS로 사용하지만 비디오 아웃풋 포트가 없으며, 호스트PC를 이용하여 아두이노IDE 와 동일한 인터페이스를 사용하여 프로그래밍할 수 있다는 것이 특징이다. 보드 자체는 아두이노에 비해서 훨씬 고성능이지만 포트핀들의 동작 속도는 아두이노보다 더 떨어지는 단점이 있다. ( 따라서 당연하게도 그렇다면 왜 궂이 이것을 사용해야 하는 지 의문이 드는 제품이다.)

 그리고 현재 (2015년 5월) udoo neo 라는 보드가 킥스타터에서 캠페인을 진행 중이다.


리눅스 보드인데 아두이노 호환 외부핀을 가지고 있으며 와이파이, 블루투스, 9축 가속센서를 내장하면서 $49불 정도의 가격에 판매될 거라고 한다.

6. 비글본블랙(beaglebone black)

  라즈베리파이를 사용하고 있는데 아두이노의 기능이 필요하다면 필자는 개인적으로 비글본블랙을 추천하고 싶다.
비글본 블랙 보드. 저 넘치도록많은 gpio 핀들에서 알 수 있듯이 왠만한 기능은 다 가지고 있다.
 최근에 출시된 dev C는 아예 데비안리눅스가 내장된 eMMC 플래시메모리(용량은 4G)에 올려져서 출시된다. 따라서 추가적인 외부메모리가 필요치 않다. 사진에서 보듯이 GPIO핀이 많을 뿐만 아니라 PWM과 ADC 핀도 넉넉하다. 라즈베리파이보다 약간 고성능인데다 개발에 편리한 기능(예를 들면 usb로 연결하면 바로 터미널 접속이 가능하다던지)들이 있다. 또한 파이썬으로 GPIO핀들을 제어할 수 있으므로 보다 복잡한 제어 알고리듬을 바로 적용해 볼 수 있다. 단 가격은 $55 정도로 라즈베리파이보다는 비싸고 USB포트도 하나 밖에 없는 것이 조금은 불편하다.

댓글 없음:

댓글 쓰기