화요일, 1월 06, 2015

[독서광] 처음 시작하는 인텔 갈릴레오

오늘은 한빛미디어에서 선물로 보내주신 아두이노 관련 서적을 하나 소개드리려 한다. 그런데 어떻게 된 영문인지 이름에 '아두이노'가 없고 '갈릴레오'만 들어있으니 여기에 대해 먼저 설명하고 넘어갈 필요가 있겠다.

Atmega CPU를 장착한 아두이노와는 달리 갈릴레오는 인텔의 32비트 x86 호환 쿼크 코어를 탑재하고 있다. 특별한 운영체제가 없이 펌웨어 수준에서 동작하는 아두이노와는 달리 갈릴레오는 리눅스 운영체제로 동작한다. 갈릴레오는 리눅스 상에서 아두이노 하드웨어/소프트웨어를 그대로 동작시킬 수 있게(하드웨어와 소프트웨어 핀 호환을 목표로 한다) 특수 하드웨어와 수정된 소프트웨어를 탑재하고 있다고 보면 이해가 쉽겠다. 100% 호환을 목표로 두고 있긴 하지만 갈릴레오에 존재하는 미묘한 문제(예: GPIO 속력과 PWM 관련해 문제가 많았기에 2세대 갈릴레오가 등장했다는 기사 참조)와 상대적으로 큰 보드 크기와 복잡도로 인해 완벽하게 아두이노를 대체하기는 어렵다는 생각이다. 뭐 그럼에도 불구하고 교육과 실험 목적으로는 크게 나쁘지 않다. 잘만 하면 임베디드 부문에서 리눅스와 아두이노 둘 다 다뤄볼 수 있으니까.

이제 갈릴레오와 아두이노의 관계를 알았으므로 책 내용으로 들어가보자. 지난 번에 소개드린 33가지 프로젝트로 배우는 아두이노와는 달리 이 책은 C도 잘 모르는 초보자가 보기에 적합한 내용을 담고 있다. 목차를 보면 알겠지만 일단 갈릴레오 소개와 보드 기초 사항을 설명한 다음 출력(디지털/아날로그)과 입력(디지털/아날로그)을 설명하고 반복문과 시리얼을 사용한 고급(?) 기법을 소개한다. 그리고 이더넷이 내장된 갈릴레오의 특성을 살려(아두이노 같으면 별도 확장 실드를 구매해야 하므로 여러 가지 면에서 번거롭다) 네트워크에 접속하고 웹 서버를 구동하는 방법을 설명한다. 이 과정에서 갈릴레오에 셀로 접속하는 트릭도 알려주므로 아두이노와는 또 다른 갈릴레오만의 접근 방식을 엿볼 수 있다.

단순히 갈릴레오를 아두이노처럼 사용하는 에물레이터를 벗어나 중간에 리눅스와 아두이노가 어떤 식으로 상호 작용하는지 알려주기 위해 /proc 파일 시스템을 사용해 센서를 읽고 액추에이터에 명령을 내리는 방법을 소개하며, 파이썬을 사용해 만든 프로그램과 연동하는 방법(아두이노 프로그램에서 popen 확장 명령으로 외부 명령을 수행한 다음 결과를 얻는 방식)도 설명하고 있다. 아두이노의 기본 명령이 아니라 갈릴레오에서 사용할 수 있는 확장 명령인 경우 명시적으로 이런 사실을 알려주므로 혼동의 여지를 없앴다. 책의 마지막 부분에는 부록 형태로 아두이노(+갈릴레오 전용) 프로그래밍 참조 문서를 제공하므로 많이 사용하는 명령을 한 눈에 확인할 수 있다.

이 책을 읽으면서 아주 복잡한 프로젝트를 수행하기는 어렵겠지만, 기초적인 개념 설명과 함께 어렵지 않은 실험거리를 제공하므로 '처음 시작하는'이라는 제목과 잘 어울린다는 생각이다.

결론: 갈릴레오/아두이노를 처음 접해 아두이노/갈릴레오로 뭔가를 하고는 싶은데 C 프로그래밍 언어나 전자 회로 기초가 부족해 곤란을 겪고 있는 초보자분들께 추천한다.

EOB

댓글 없음:

댓글 쓰기