스타트업의 상상을 현실로…오픈소스 하드웨어의 힘

출처: 머니투데이 테크 M 편집부

URL: http://news.mt.co.kr/mtview.php?no=2015062314530531884

 

지난 2월 초, 오픈소스 하드웨어 커뮤니티에 반가운 두 가지 소식이 들려왔다.

먼저 영국의 라즈베리파이 재단이 기존 모델보다 고성능 CPU와 메모리를 장착한 ‘라즈베리파이2’를 기존 모델과 같은 가격인 35달러에 출시한다는 소식이었다. 라즈베리파이의 성공에 편승해 보다 고성능의 호환보드를 앞다퉈 출시해 온 타 제조사와 다른 행보였다. 라즈베리파이는 낮은 가격에 최소한의 필요 부품만 최적화해 업그레이드했다. 성능은 대폭 향상시키면서도 기존 모델로 형성된 생태계를 그대로 유지할 수 있게 한 것이다.

이와 동시에 마이크로소프트(MS)는 올 여름 출시 예정인 운영체제(OS) ‘윈도10’을 라즈베리파이2에서 실행될 수 있도록 이식해 무료로 제공하겠다고 발표했다. 기존 오픈소스 하드웨어는 리눅스나 안드로이드와 같은 오픈소스 OS를 기반으로 전 세계 개발자들의 자발적인 참여로 성장해왔다. 그런데 오픈소스 진영에 관심이 없었던 MS가 데스크톱이나 서버용 OS인 윈도를 신용카드 크기의 라즈베리파이용으로 제작한다니 놀라운 소식이 아닐 수 없었다.


오픈소스 진영과 손잡는 IT 공룡들
MS가 라즈베리파이2용으로 제작한 윈도10은 현재 프리뷰 버전을 무료로 사용할 수 있다. 또 다른 거대기업인 구글은 라즈베리파이의 본고장인 영국에서 ‘피카데미(Picademy)’라는 교육기관을 설립해 교사를 대상으로 오픈소스 하드웨어 활용 및 프로그래밍 무료 교육을 실시하고 있다. CPU 제조사인 인텔은 ‘아두이노’와 호환되는 ‘갈릴레오 보드’로 오픈소스 하드웨어 시장에 진입한 후 최근에는 우표 크기의 x86 기반 ‘에디슨 보드’를 출시했다.

전 세계 IT시장을 선도하고 있는 이들 공룡기업이 신용카드 크기의 작은 하드웨어 보드에 무료로 OS를 제공하고 다른 국가에서 교육기관을 운영하기로 한 이유는 무엇일까? 오픈소스 진영이 이제 더 이상 흔히 ‘긱(Geek)’이라고 불리는 소수 마니아층만의 소유물이 아니며 산업 트렌드 전반에 영향을 미치고 있음을 시사하는 사례라고 볼 수 있다.

시장을 주도하는 IT 기기는 사물인터넷(IoT)과 웨어러블 기기의 활성화가 가속되면서 데스크톱 PC에서 스마트폰, 태블릿과 같은 모바일기기로 중심이 이동한지 얼마 되지 않은 상황임에도 점점 더 소형화되고 가벼워지고 있다. 이렇게 소형화된 IT기기는 기기의 동작방식을 담고 있는 프로그램이 적은 전력으로 실행돼야 한다. 키보드, 마우스, 모니터와 같은 전통적인 입출력 장치는 이제 필수가 아닌 선택 사항이다. 이러한 시대적인 흐름에 가장 잘 부합하는 것이 오픈소스 하드웨어이고 거대 기업들도 이들과 협력해 공존해야 하는 세상이 온 것이다.

오픈소스 하드웨어는 누구나 제작, 수정, 배포할 수 있도록 설계가 공개돼 있다. 이러한 오픈 라이선스 정책은 개인이나 단체, 분야나 제품에 관한 차별을 두지 않고 적용된다. 하드웨어 상에서 수행되는 소프트웨어나 파생 하드웨어에도 제한을 두지 않으므로 활용될 수 있는 분야에 한계가 없다. 라즈베리파이를 컴퓨터 교육용으로 개발했던 최초 제작자는 라즈베리파이가 화분의 습도를 측정해 자동으로 물 주는데 사용될 것이라고 상상했을까?
오픈소스 하드웨어가 많은 관심을 받으면서 확산될 수 있었던 이유는 저렴한 가격에 구입할 수 있고 제작사나 커뮤니티를 통해 활용법에 대한 정보를 쉽게 얻을 수 있기 때문이다. 전통적인 가전제품은 제조사가 개발한 제품을 구매한 사용자가 정해진 매뉴얼에 따라 사용하는 반면, 오픈소스 하드웨어는 사용자가 이용할 소프트웨어와 주변장치를 선택해 어떤 용도로든 자유롭게 사용할 수 있다.

오픈소스 하드웨어의 성공 여부는 커뮤니티로부터 얼마나 많은 참여와 지원을 받는가에 의해 결정된다. 오픈소스 소프트웨어가 개발자들의 자발적인 참여에 의해 기능이 추가되고 버그가 수정되면서 완성도가 높아지는 것과 마찬가지다.

오픈소스 하드웨어도 제품 설계 단계부터 해당 하드웨어 동작하는 오픈소스 소프트웨어 개발자와 연계해 기능을 확장할 수 있는 외부 기기를 제작하는 메이커(maker)의 참여를 유도하는 것이 필수적이다.

‘해커스페이스(Hackerspaces)’나 ‘팹랩(Fab Lab)’ 같은 오픈소스 하드웨어 커뮤니티에서 활동하는 사람들은 전문 개발자, 발명가, DIY(Do It Yourself) 전문가가 많다. 이들은 직접 기기를 제작해 기능을 추가하거나 기존 기능을 확장시키는 것을 좋아하며, 이를 다른 사람들과 나누면서 성취감을 얻는다. 오픈소스 하드웨어가 커뮤니티 구성원들로부터 관심을 받게 되면 구성원들의 자발적인 참여를 통해 새로운 아이디어가 제시되고 의견 교류도 일어난다.

커뮤니티에서 적극적으로 참여하고 지원하는 오픈소스 하드웨어는 활용분야가 다양해지고 완성도도 높아진다. 이러한 커뮤니티의 참여가 지속되면 전문적인 지식이 없는 일반 사용자도 가전제품처럼 쉽게 사용할 수 있을 정도로 발전하게 된다. 한 예로 라즈베리파이는 오픈소스 멀티미디어 플레이어 커뮤니티인 ‘코디(Kodi, 구 XBMC)’의 지원으로 낮은 하드웨어 사양에서도 풀(Full) HD 영상을 재생할 수 있을 정도로 최적화돼 홈 엔터테인먼트 기기로 사용하기에 불편함이 없다. 영화나 음악 감상을 위한 목적으로 라즈베리파이를 구매하는 일반 사용자도 많아지고 있다.

오픈소스 하드웨어의 발전에는 커뮤니티와 함께 이들 하드웨어와 기능 확장을 위해 필요한 각종 센서나 전자부품, 스타터키트 등을 쉽게 구매할 수 있는 ‘엘레먼트(Element)14’, ‘RS’, ‘스파크펀(SparkFun)’, ‘씨드 스튜디오(Seed Studio)’와 같은 온라인 쇼핑몰의 역할도 크다고 할 수 있다.

 


아두이노 -오픈소스 하드웨어의 선두 주자
시중에 출시된 오픈소스 하드웨어에는 수많은 종류가 있고 파생된 호환보드도 매우 많다. 아두이노(Arduino) 플랫폼은 2005년 이탈리아에서 교육용으로 개발된 이후 현재 대표적인 오프소스 하드웨어로 자리 잡았다.


아두이노는 ‘ATmega’나 ‘Cortex-M3’ CPU 기반의 저사양 오픈소스 하드웨어 플랫폼으로 인터랙티브 기기를 개발하고 다양한 센서나 스위치로부터 입력을 받고, 라이트나 모터, 다른 물리적 출력을 제어하는데 사용될 수 있다. 아두이노 보드는 독립적으로 실행될 수도 있고 컴퓨터에서 실행되는 다른 소프트웨어와 통신할 수도 있다.

CPU와 전압, 입출력 핀의 개수, RAM 용량, USB 포트 수, LAN 지원여부 등 스펙에 따라 ‘우노(Uno)’, ‘듀(Due)’, ‘레오나르도(Leonardo)’, ‘미니(Mini)’, ‘나노(Nano)’, ‘릴리패드(LilyPad)’, ‘윤(Yun)’ 등 수많은 종류의 호환 보드가 제공된다.

어떤 보드는 임베디드용으로 설계돼 확장 가능한 인터페이스를 제공하지 않는 것도 있으며, 3.7v 전원 또는 5v 이상의 전원을 필요로 하는 모델도 있다. 구현하려는 프로젝트에 맞는 보드를 확인하려면 아두이노 사이트에서 제공하는 모델별 스펙을 비교해 적합한 모델을 선택하면 된다.

아두이노는 마이크로컨트롤러의 동작 과정을 단순화함으로써 다른 하드웨어 플랫폼에 비해 저렴하며 윈도, 맥(Mac) OS X, 리눅스 등 여러 OS에서 실행되는 통합 개발환경으로 ‘아두이노 IDE’를 제공한다. C++ 라이브러리 및 AVC C 개발언어까지 지원함으로써 초보자부터 전문가까지 사용할 수 있다.

 

 


라즈베리파이-교육용에서 범용 미니컴퓨터로
라즈베리파이는 신용카드 크기의 저가형 컴퓨터로, 영국의 라즈베리파이 재단에 의해 2012년 초기 모델이 출시됐다. 브로드컴의 ‘BCM2835 SoC’를 기반으로 입출력을 위해 HDMI와 USB 포트를 제공하며 하드디스크 대신에 SD카드에 저장된 OS 이미지를 로드해 실행한다. 전원은 휴대폰 충전에 사용되는 마이크로 USB 5V 입력을 사용하며 네트워킹을 위해 이더넷 포트가 제공된다.

작은 폼팩터에서도 데스크톱 PC를 사용하는 것처럼 컴퓨터 모니터나 TV에 화면 출력이 가능하고 표준 키보드나 마우스를 사용하고 인터넷에 연결될 수 있도록 최적화돼 설계됐다.

OS는 리눅스 ‘데비안’을 라즈베리파이 하드웨어에 최적화한 ‘라즈비안(Raspbian)’이 많이 사용되는데, 최근에는 리눅스 ‘우분투’나 ‘페도라’ 사용층도 늘어나고 있다.

또 사용목적에 맞게 OS 커널과 멀티미디어용 오픈소스 라이브러리를 최적화하는 활동이 여러 커뮤니티에서 활발하게 이뤄지고 있다. 동영상이나 음악 감상 등에 최적화된 ‘OpenELEC’, ‘OSMC’, ‘Volumio’ 등이 대표적이다.

‘스크래치’나 ‘파이선’ 같은 언어를 이용해 프로그래밍 교육용으로 사용할 수도 있다. 또 기존에 리눅스용으로 개발된 수많은 오픈소스 소프트웨어를 이용할 수 있어 웹 브라우징이나 동영상 재생, 스프레드시트 작성, 워드프로세싱이나 게임처럼 범용 목적으로도 사용된다.

라즈베리파이는 외부 하드웨어와 연결하기 위해 26개 핀으로 구성된 ‘다용도 입출력 포트(GPIO)’를 제공한다. GPIO는 3.3V와 5V 전원, 그라운드 같은 전력공급부터 입.출력을 위한 핀을 사용한 I2C, SPI, UART, 직렬 통신 연결 등 다양한 용도로 사용할 수 있다.

 


갈릴레오-인텔의 IoT 공략 포석
데스크톱 및 서버용 CPU 제조업체인 인텔도 IoT와 웨어러블 트렌드에 발맞춰 2013년 10월 아두이노 호환보드인 ‘갈릴레오’를 출시해 오픈소스 하드웨어 시장에 진입한다. 이어 2014년에 일부 하드웨어 스펙을 변경한 2세대 제품인 ‘갈릴레오 Gen2’와 우표 크기의 ‘에디슨’ 제품까지 출시했다.

갈릴레오 보드는 인텔의 32비트 펜티엄 SoC인 쿼크 X1000(Quark X1000) 기반의 마이크로컨트롤러 보드로서 아두이노 Uno R3용 하드웨어 및 소프트웨어와 호환되도록 개발된 오픈소스 하드웨어이다. 기존 아두이노 기반의 보드는 임베디드 환경에서 사용할 수 있도록 작은 크기로 제작되므로 개발환경을 구성하려면 여러 가지 별도의 부품을 연결해야 하는 불편함이 있다.

하지만 갈릴레오는 기본적으로 외부 연결이 필요한 전원, 이더넷 포트, 마이크로 SD 슬롯을 제공하고 있어 아두이노 개발환경을 구성하기에 보다 편리하다. 그 외에도 미니 PCI-E, 6핀 3.3V USB TTL UART헤더, USB 호스트 포트, USB 클라이언트 포트 등 복잡한 제품을 만들 때에도 입출력 포트가 부족하지 않도록 제공하고 있다. 아직까지 아두이노나 라즈베리파이만큼 많은 사용자를 보유하고 있지는 않다.

하지만 아두이노 개발환경을 편리하고 효율적으로 구성할 수 있는 장점을 제공하는 보드로, 향후 개발 및 교육용 플랫폼으로 점차 자리잡아갈 것으로 예상된다.

 


다목적 활용 가능한 오픈소스 하드웨어
공개 라이선스 정책을 기반으로 하는 오픈소스 하드웨어는 세부 설계가 공개돼 있고, 이를 확장해 사용하는 데 제약이 적기 때문에 다양한 목적으로 사용되고 기능을 확장하는데 한계가 없다.

하드웨어 성능이 다소 부족하기는 하지만, 기존 데스크톱 PC에서 사용하던 웹 브라우징, 문서 작성, 게임 등을 실행하고 멀티미디어 재생기로도 활용할 수 있다. 에뮬레이터를 실행해 기존 오락실 게임을 실행하거나 윈도3.1 OS를 실행하기도 한다. 리눅스 OS를 이용해 웹이나 FTP 서버, 메일서버, 파일서버 등의 용도로도 사용할 수 있다. 예를 들어 웹 서버에 워드프레스와 같은 설치형 블로그 서비스를 설치해 개인 웹사이트를 운영하는 것도 가능하다.

하드웨어와 소프트웨어, 프로그래밍의 기본원리를 익히기 위한 교육용으로도 사용될 수 있다. 실제 많은 교육현장에서 오픈소스 하드웨어를 파이썬이나 스크래치와 같은 언어의 프로그래밍 교육을 하고 있다. IoT 입문자에게 필요한 프로그래밍 언어의 하드웨어 입출력을 제어하는 기술을 익히는 데는 오픈소스 하드웨어가 가장 적절한 플랫폼이라고 할 수 있다.

오픈소스 하드웨어는 기존 데스크톱 PC 환경과 다르게 키보드, 마우스, 모니터와 같은 전통적인 입출력 장치 대신에 특정 목적을 수행하는 소형모듈, 센서들과 상호작용한다. 이를 위해 오픈소스 하드웨어들은 외부 장치와 통신하기 위한 스펙과 방법을 제공한다. 예를 들어 라즈베리파이는 26개 핀으로 구성된 GPIO를 제공하는데 각 핀의 고유 번호를 통해 프로그램 상에서 데이터를 입출력할 수 있고, 외부 장치로부터 전원을 받거나 제공할 수도 있다.

 

프로그램 코드에서 각 핀에 연결된 센서로부터 온도, 습도 정보를 읽을 수도 있고 LED 전구를 제어할 수도 있다. 모터의 회전방향과 속도를 조절해 RC카를 만들거나 연결된 스피커로 소리를 재생할 수도 있다. 개발과정에서는 여러 전자부품이나 센서를 이용해 개발과 디버깅 과정을 거치게 되는데, 브레드보드(Breadboard)를 이용하면 별도의 회로판을 구성하거나 납땜 작업이 필요없어 편리하다.

자주 사용하는 센서나 전자부품들을 모아 스타터킷(Smarter Kit)이라는 이름의 패키지 형태로도 판매하고 있어 초보자들이 쉽게 접근할 수 있다. 오픈소스 하드웨어에 연결돼 특정 기능을 수행하도록 모듈 형태로 제공되는 쉴드(shield) 기판은 GPIO 커넥터를 이용해 여러 개의 쉴드를 레고 블럭을 조립하는 것처럼 쌓을 수도 있다.

 


프로토타입을 집에서도 만든다
오픈소스 하드웨어는 개발자나 하드웨어 제작에 관심이 있는 일부 전문 사용자층을 중심으로 소규모로 개발돼 왔다.

그러나 커뮤니티를 통해 기반 인프라 및 활용분야가 넓어지고 사용할 수 있는 오픈소스 소프트웨어 콘텐츠가 다양해짐에 따라 점차 전문가가 아닌 일반 사용자도 사용할 수 있을 정도로 보편화되고 있다. 일반 소비자를 대상으로 하는 가전제품 시장은 전통적으로 규모의 경제 원리가 적용되는 곳인데, 오픈소스 진영의 완성도와 발전 속도는 이제 대형 제조업체를 긴장시킬 정도로 빠르게 진화하고 있다.

전 세계의 오픈소스 하드웨어와 오픈소스 소프트웨어 전문가들의 집단지성이 자발적으로 모여 보다 효율적인 방안들을 도출해내고 실험하고 수정 보완하는 개발 작업이 진행되고 있기 때문이다.

모든 사물이 네트워크에 연결돼 삶을 풍요롭게 하려는 IoT가 현실화되고 있는 상황에서 오픈소스 하드웨어는 아이디어를 현실로 구체화하는데 견인차 역할을 하게 될 것이다. 오픈소스 하드웨어는 회로 설계 및 도면과 같은 세부 정보가 공개돼 있고 무료 라이선스 정책을 사용한다.
이를 활용한 제품이나 소프트웨어를 개발하는데 로열티를 제공하는 등 제약이 적고 높은 완성도의 시제품을 빠른 시간 내에 개발할 수 있어 하드웨어 스타트업 업체가 쉽게 시장에 진입할 수 있는 발판이 되고 있다. 기존에는 고가의 연구개발시설을 통해서만 제작이 가능했던 프로토타입을 집에서도 만들 수 있게 된 것이다.

 


글 김순근 한국마이크로소프트 책임연구원