사물인터넷을 위한 라즈베리파이 3 활용 (개정판)
사물인터넷에 대한 아이디어를 구현할 수 있도록
비전공자도 쉽게 라즈베리파이를 구현할 수 있는 활용서!!!
IT 관련 일을 시작한 지 20년 가까운 시점에 처음으로 책을 저술하게 되었다. 20년 동안 개발 관련 일을 하면서 그간 쌓은 기술 및 노하우를 책을 통해 전달하려 했지만 늘 시간이 부족하다는 핑계로 흐지부지되곤 하였다. 하지만 더 늦으면 안 되겠다는 생각에 책 집필을 가장 우선적으로 진행하기로 마음먹고 현재 화두가 되고 있는 사물인터넷 분야에 가장 적합한 환경인 라즈베리파이에 관한 책을 집필하기로 결정하였다. 필자는 몇 해 전부터 국내 여러 기관에서 라즈베리파이 교육을 해 오고 있었으며 주위에서 라즈베리파이 관련 책 집필에 대한 요구를 많이 받은 상태였기 때문에 이 책을 집필하게 되었다.
책 집필에 대한 결심 후, 독자들에게 유용한 정보를 전달하기 위해 어디부터 어떻게 시작할지 많은 고민을 하였다. 시중에 출간된 관련 서적들도 많이 읽어 보고 빈틈없는 실습 준비 끝에 책의 집필을 시작하였다. 이 책을 저술하면서 가장 중점을 둔 것은 보다 실무적이고 현업에서 많이 사용되는 내용을 담고자 하였다.
이 책은 비전공자라도 오픈소스 플랫폼에 관심이나 프로그래밍에 대한 조금의 지식만 있으면 쉽게 시작할 수 있도록 하였다. 이 책에 나오는 예제들을 따라 해보면 라즈베리파이를 쉽게 다루게 되고 라즈베리파이를 이용하여 본인이 생각하고 있는 아이디어를 쉽게 구현할 수 있는 발판이 될 것이다.
이 책은 라즈베리파이를 제어하기 위해 기초적이고 꼭 필요한 사용법을 시작으로 파이썬 프로그래밍 언어에 대한 내용, 리눅스에 대한 개념, 장치 제어 및 사물인터넷 구현에 핵심 중의 하나인 웹 서버 구현에 관한 내용으로 구성되어 있다. 라즈베리파이에서 많이 사용되는 프로그래밍 언어가 사용하기 쉽고 배우기 쉬운 파이썬인 만큼 이 책의 상당 부분이 파이썬에 대하여 다루고 있다. 이 책에서 언급된 파이썬 관련 부분만 잘 숙지하여도 파이썬 기반의 프로그램을 작성하기에 충분하다고 생각한다.
라즈베리파이의 기본 운영 체제가 리눅스 기반이므로 리눅스에 대한 개념을 전달하려고 하였으며, 이 책의 후반부에는 블루투스를 포함한 시리얼 통신, SPI, I2C, 카메라 등과 같은 장치들을 제어하는 방법을 다루었다. 이러한 장치 제어를 위하여 사용된 예제는 파이썬과 C 언어 기반으로 작성하여 독자들은 장치 제어에 있어 두 언어의 장단점을 이해할 수 있을 것으로 판단된다.
이 책의 마지막 부분에는 사물인터넷 활용을 위한 실무적인 내용으로 클라우드 서비스를 활용하는 방법과 더불어 웹 서버를 구현하는 방법 및 테스트 절차에 대하여 기술하였다.
이 책에 사용된 실습 기자재들은 여러 쇼핑몰을 통하여 각각 구매할 수도 있지만 국내의 한 쇼핑몰(www.toolparts.co.kr)과 협약하여 부품들을 쉽게 구매할 수 있도록 하였다.