스마트 홈이나 스마트 팜을 만들기 위해서는 여러 개의 디바이스가 필요합니다. 디바이스의 개수가 많아지면 디바이스를 서로 연결하기 위한 메시지 브로커가 필요하고, 이러한 디바이스를 통제할 대시보드도 필요하게 됩니다.
책 따라 하면서 배우는 사물인터넷에서는 라즈베리파이에 IoT 서버를 구성할 것을 권장합니다. IoT 서버의 기본 소프트웨어는 Mosquitto라는 메시지 브로커와 Node-RED라는 대시보드 소프트웨어입니다.
라즈베리파이는 5만원 정도에서 구입 가능한 싱글보드 컴퓨터입니다. 2.5A 정도의 USB어댑터를 전원으로 사용가능한 저전력 기기이므로 상시가동해도 부담이 적습니다.
라즈베리파이의 운영 체제(OS)는 "데비안" 계열의 리눅스입니다. 윈도우즈에만 익숙한 사용자라면 라즈베리파이에 여러 소프트웨어를 설치하는 것이 쉽지 않을 수 있습니다. 이러한 문제를 해결하기 위하여 IoTstack이라는 메뉴 방식의 스크립트를 중심으로 웹 페이지를 구성하였습니다. 처음 접하는 환경이라 낯설겠지만, 웹페이지의 내용을 따라하면 크게 어렵지 않게 IoT 서버를 구성할 수 있습니다.
이 웹페이지에는 Mosquitto와 Node-RED를 설치하는 방법뿐만 아니라 외부 인터넷에서 안전하게 접속하기 위한 VPN(가상사설망)과 사용자 도메인을 관리하기 위한 duckdns.org 설정 방법도 포함되어 있습니다. 또한 포트 포워딩으로 AP(공유기)를 외부에 개방하는 방법도 안내합니다.
이 웹페이지에서는 도커(Docker)라고 하는 컨테이너 개념의 소프트웨어 플랫폼을 이용하여 여러 소프트웨어를 쉽게 설치할 수 있게 도와줍니다. 처음에는 Mosquitto와 Node-RED만 설치하면 되지만 나중에 필요한 소프트웨어를 쉽게 추가할 수 있습니다. 예를 들면 IoT 센서 데이터를 보관하기 위한 데이타 베이스인 InfluxDB나 데이터를 비주얼하게 보여주는 Grafana와 같은 소프트웨어도 추가로 설치할 수 있습니다.
라즈베리파이에 IoT 서버를 만들면 IoT 시스템을 구성하는 것이 쉬워집니다.
라즈베리파이에 IoT 서버 설치하기