?>

Hard Copy World

HCW

IoT technical info

Home > Learning >

IoT technical info

오픈소스를 이용한 사물인터넷 구현 - 1. 사물 인터넷

페이지 정보

작성자 최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일16-02-15 11:48 조회2,573회 댓글0건

본문

 

 

오픈소스를 이용한 사물인터넷 구현 목차

  • 1. 사물 인터넷
  • 2. 오픈소스와 사물 인터넷
  • 3. 마이크로 컨트롤러 - 아두이노
  • 4. 단일 보드 컴퓨터(SBC) - 라즈베리 파이
  • 5. USB, 이더넷 통신
  • 6. 블루투스
  • 7. RF 통신
  • 8. WiFi
  • 9. MQTT 메시징 프로토콜과 HA(Home Automation)
  • 10. 사물 인터넷 솔루션 제작

 

 

1. 사물 인터넷

 

인터넷이 폭발적으로 성장하던 90년대 말과 2000년대에는 가상 현실이라는 단어가 자주 사용되었던 기억이 납니다. 분자적, 물리적 구조 위에서 동작하던 서비스와 정보들이 인터넷으로 이식되면서 비트에 기반한 정보 네트워크의 중요성이 커진걸 빗댄 표현이겠죠. 업무의 효율을 위해서는 필기감 좋은 펜보다 터치감 좋은 키보드가 필요한 세상이 됐으니까요. 

좋은 펜과 키보드 중 당신의 선택은?

하지만 '가상 현실' 시절의 정보들은 아직 공간에 한정적이었습니다. 고정적인 유선 통신망이 제공되는 사무실이나 집이라는 공간에서만 접속이 가능한 네트워크였기 때문에 아직은 데스크탑-PC의 시대였습니다.

2000년 초반에도 사람들의 주머니엔 휴대폰이란게 있었고, 일부 얼리 어댑터들은 PDA(Personal Digital Assistant, 개인 정보 단말기) 란 기기를 적극 활용하기도 했습니다. 어찌보면 현재의 '스마트 폰' 이란게 그 시절에도 2개의 기기로 나뉘어 존재했었다고 볼 수 있습니다. 다만 우리는 (적어도 저는) '이동 통신'과 'PDA' 결합의 의미를 알지 못했고, 그 파장도 예상치 못했을 뿐입니다. 아이폰의 등장 이전까지는 이런 변화가 올바른 방향인가에 대한 확신 또는 공감대가 부족했을 수도 있겠습니다.

15661315_1360968182.jpg

지금은 누구도 모바일의 위력을 과소평가하지 못할겁니다. 수많은 전통의(?) IT 강자들이 몰락하며 그 자리를 신흥 모바일 회사들이 대체하고 있으니까요. '이동 통신' 기술과 '모바일 기기'의 결합으로 정보의 물길이 바뀌고 확장된다는 것이 얼마나 큰 의미가 있는지를 지난 10년간 몸소 체험할 수 있었습니다.

 

근래들어 '사물 인터넷'(IoT, Internet of Things) 란 단어가 자주 들리는 것도 이런 맥락에서 이해할 수 있을겁니다. 인터넷 확산과 모바일 혁명처럼 또 한번 정보의 흐름이 변화하길 기대하며 그 속에서 기회를 찾고자 하는 이에게 보이는 아지랭이 속 오아시스. 표현이 조금 시니컬했지만 우린 2000년대 흔히 들어왔던 유비쿼터스(Ubiquitous)의 기억이 있잖습니까. 단어도 생소한 유비쿼터스는 눈 앞의 미래처럼 소개되던 개념이지만 결국 기술적 실체보다는 시대를 풍미한 마케팅 트렌드로 기억되듯 '사물 인터넷'이란 단어도 이런 의구심에서 자유로울 순 없을겁니다. 어찌보면 사물 인터넷은 유비쿼터스의 또 다른 이름이며, 사람들이 항상 바래왔던 미래의 '실행가능해 보이는' 조각들인지도 모릅니다.

 

t1.daumcdn.jpg

 

하지만 사물 인터넷은 '모바일'이라는 훌륭한 유산을 상속받았습니다. 스마트 폰 탓에 인터넷은 사람들의 일상에까지 침투해서 정보들을 수집하고 새로운 서비스를 만들어 심어두었습니다. 트렌드에 발맞춰 임베디드 장치들은 더욱 소형화되었고 저전력으로 동작하며, 스마트 폰을 허브로 인터넷 연결 통로도 갖추게 되었습니다. 정보 네트워크는 손바닥이라는 제약을 벗어나 생활 곳곳으로 스며들 준비가 된 것처럼 보입니다.

 

사물 인터넷은 흥미로운 그리고 기술적인 주제입니다. 추억의 '카오스' 세탁기처럼 마케팅 트렌드처럼 사용되거나 개념적인 접근에 치우치는 면이 있지만 임베디드 장치들 뿐 아니라 저전력 통신 기술, 관련된 오픈소스들의 진화 덕택에 기술적인 기반도 다져지고 있습니다. 마음만 먹으면 직접 이게 똥인지 된장인지 직접 테스트 해볼 수도 있습니다.

이 문서를 포함한 '오픈소스를 이용한 사물 인터넷 구현' 시리즈에서 다루고자 하는 내용이 바로 이겁니다. 상업적인 수준의 제품이나 서비스를 제작하기 위한 기술이나 노하우보다는 사물 인터넷의 컨셉을 구현한 프로토타입을 제작해서 잠재적 가치를 테스트 해볼 수 있도록 하는겁니다. 이를 위해 이어지는 문서에서는 아래 3가지 주제를 가지고 내용을 구성했습니다.

  • 피지컬 컴퓨팅
  • 기기간 통신 방법
  • 통신 프로토콜과 서버(서비스) 연동

아무래도 다루는 주제가 '사물 인터넷' 이다보니 물리적인 장치부터 통신, 프로토콜, 서버, UI 까지 언급해야 할 기술 범위가 넓을 수 밖에 없습니다. 따라서 각 분야를 깊이있게 다루지는 못합니다.(그럴만한 능력이 안되기도 합니다...) 그보다는 분야별 표준이나 오픈소스 프로그램, 라이브러리를 적극 활용해서 원하는 목표를 구현하는 방법에 집중할 것입니다. 이 문서에 언급되지 못한 세부적인 내용들은 인터넷을 통해 더 깊이있게 연구하실 수 있을 겁니다.

사물 인터넷의 중요한 부분이 센서와 같은 하드웨어와 전자적인 제어이긴 하지만 가장 신경써야 할 부분은 장치들이 서로 정보를 교환하는 '통신 방법'과 프로토콜입니다. 실제 IoT 기기의 특성은 어떤 통신 방법을 선택하느냐에 가장 큰 영향을 받습니다. 따라서 통신 관련된 내용들은 가장 비중있게 다룰 예정이며 시간이 허락하는대로 내용을 추가, 수정할 것입니다.

예제 구현을 위해 C/C++, Python, Java Script, HTML 등의 언어가 사용되었습니다. 하지만 해당 언어에 대한 심도깊은 이해가 필요한 것은 아니며 기본적인 프로그래밍 지식과 언어별 기본 문법 정도를 익히는 정도면 충분합니다. 또한 라즈베리 파이 같은 리눅스 기반 창치를 사용하므로 기본적인 리눅스 문법과 텍스트 에디터(nano, vi 등등)를 알아두면 좋습니다.

 

 

주의!!! 사물인터넷 시리즈 관련 문서들은 무단으로 내용의 일부 또는 전체를 게시하여서는 안됩니다. 계속 내용이 업데이트 되는 문서이며, 문서에 인용된 일부 자료의 경우 원작자의 라이센스 문제가 있을 수 있습니다.

 

추천 0
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글목록

등록된 댓글이 없습니다.