최근 IoT(사물인터넷) 기술이 비약적으로 발전하면서 많은 기업과 개발자들이 이를 활용한 솔루션을 찾고 있습니다. IoT 기기들을 효율적으로 관리하고, 수집된 데이터를 분석하며, 이를 시각화하는 것은 이제 선택이 아닌 필수가 되었습니다. 이러한 문제를 해결하기 위해 등장한 오픈소스 플랫폼이 바로 ThingsBoard입니다. ThingsBoard는 데이터 수집, 처리, 시각화 및 디바이스 관리 기능을 갖춘 강력한 IoT 플랫폼으로, 전 세계적으로 21,698개의 스타를 기록하며 큰 인기를 얻고 있습니다.
ThingsBoard의 특징
ThingsBoard는 다양한 기능을 제공하여 IoT 프로젝트의 모든 단계를 지원합니다. 주요 기능은 다음과 같습니다.
- 디바이스 및 자산 관리: ThingsBoard는 사용자가 IoT 기기와 자산을 효율적으로 관리할 수 있도록 돕습니다. 서버 사이드 API를 통해 장치 간 관계를 정의하고, 모니터링 및 제어를 안전하게 수행할 수 있습니다.
- 데이터 수집 및 시각화: IoT 기기에서 수집한 텔레메트리 데이터를 확장 가능하고 내결함성이 뛰어난 방식으로 저장하고 시각화할 수 있습니다. 내장된 또는 사용자 정의 위젯을 사용하여 데이터 대시보드를 만들고, 이를 고객과 공유할 수 있습니다.
- SCADA 대시보드: ThingsBoard는 산업 프로세스를 실시간으로 모니터링하고 제어할 수 있는 SCADA 기능을 제공합니다. 이를 통해 사용자는 원하는 대로 작업 흐름을 설계하고 운영을 감독할 수 있습니다.
- 데이터 처리 및 반응: 사용자는 데이터 처리 규칙 체인을 정의하고, 장치 데이터를 변환 및 정규화할 수 있습니다. 또한, 수신된 텔레메트리 이벤트, 속성 업데이트, 장치 비활성화 및 사용자 작업에 대해 경고를 발생시킬 수 있습니다.
- Java 8 이상
- PostgreSQL 9.6 이상
- Apache Kafka(옵션)
- RabbitMQ(옵션)
- ThingsBoard 다운로드:
- 설치:
- ThingsBoard 서비스 시작:
- 웹 브라우저에서 접속:
- 대시보드 메뉴에서 새로운 대시보드를 생성합니다.
- 다양한 위젯을 추가하여 실시간 데이터 시각화를 설정합니다.
설치 가이드
ThingsBoard는 온프레미스 또는 클라우드에서 설치할 수 있습니다. 아래는 온프레미스 설치를 위한 기본 단계입니다.
1. 시스템 요구 사항
2. ThingsBoard 설치
wget https://github.com/thingsboard/thingsboard/releases/download/v3.4.3/thingsboard-3.4.3.deb
sudo dpkg -i thingsboard-3.4.3.deb
sudo service thingsboard start
기본 URL은 http://localhost:8080입니다.
기본 사용법
ThingsBoard의 사용법을 간단하게 살펴보겠습니다. 다음은 기기를 연결하고 데이터를 전송하는 기본적인 예제입니다.
1. 디바이스 등록
웹 인터페이스에 로그인 후, "Device" 메뉴에서 새로운 디바이스를 추가하세요.
2. MQTT를 통한 데이터 전송
아래는 MQTT를 사용하여 데이터를 ThingsBoard로 전송하는 간단한 Python 코드입니다.
import paho.mqtt.client as mqtt
import json
# ThingsBoard의 MQTT 엔드포인트 및 인증 정보
MQTT_BROKER = "demo.thingsboard.io"
ACCESS_TOKEN = "YOUR_DEVICE_ACCESS_TOKEN"
# MQTT 클라이언트 설정
client = mqtt.Client()
client.username_pw_set(ACCESS_TOKEN)
client.connect(MQTT_BROKER, 1883, 60)
# 데이터를 ThingsBoard로 전송
data = {
"temperature": 22.5,
"humidity": 60
}
client.publish("v1/devices/me/telemetry", json.dumps(data), 1)
client.disconnect()
3. 대시보드 생성
실무에서의 활용 시나리오
ThingsBoard는 다양한 산업에 적용될 수 있습니다. 예를 들어, 농업 분야에서는 IoT 센서를 활용하여 토양 수분, 온도 및 습도를 모니터링하고, 이를 바탕으로 자동 물주기 시스템을 구현할 수 있습니다. 또한, 제조업에서는 기계의 작동 상태를 실시간으로 모니터링하고, 비정상적인 상태 발생 시 경고를 통해 사전 예방 조치를 취할 수 있습니다.
비슷한 도구들과 비교
ThingsBoard와 비슷한 도구로는 AWS IoT Core, Microsoft Azure IoT Hub, Google Cloud IoT 등이 있습니다. 이들 플랫폼은 클라우드 기반의 기능을 제공하지만, ThingsBoard는 강력한 오픈소스 솔루션으로, 유연한 커스터마이징이 가능합니다. 또한, 무료로 사용할 수 있다는 장점이 있습니다.
추천 대상
ThingsBoard는 IoT 솔루션을 필요로 하는 개발자, 스타트업, 중소기업, 대기업 모두에게 적합합니다. 클라우드 기반 솔루션을 찾는 기업이나 기술 스택을 구축하고자 하는 개발자에게 특히 유용합니다.
ThingsBoard의 매력을 느끼고 싶다면, GitHub 저장소에서 시작해 보세요. 공식 문서를 통해 더 많은 정보를 얻고, 커뮤니티와 소통하며 프로젝트를 확장해 나갈 수 있습니다.
ThingsBoard는 여러분의 IoT 프로젝트를 한 단계 발전시키는 데 큰 도움이 될 것입니다!