DAMDA Docs
  • DAMDA Overview
  • Quick Start
    • 개발환경 구성하기
    • Hello DAMDA 따라하기
    • ThinQ 연결하기
    • 내 컴포넌트 로그 확인하기
    • 내 컴포넌트 원격 제어하기
  • FUNDAMENTALS
    • DAMDA 기기
      • DAMDA Installer
        • DAMDA Installer 설치하기
        • DAMDA 설치하기
        • DAMDA 삭제하기
        • DAMDA Installer 삭제하기
      • DAMDA Debugging Console
      • DAMDA Home
        • 기기 등록 하기
        • 기기 등록 해제하기
      • Custom Sub Device
        • Capability
        • Profile
        • Functions
    • DAMDA Cloud
      • 계정 관리
        • 계정 생성하기
        • 기타
      • 컴포넌트 관리
        • DAMDA Components
        • 컴포넌트 초기화하기
        • 컴포넌트 개발하기
        • 컴포넌트 생성하기
        • 컴포넌트 배포하기
    • DAMDA Tools
      • DAMDA CLI
        • Configuration
        • Component
        • Device
        • Deployment
      • DAMDA Simulator
  • REFERENCE
    • API Reference
      • ThinQ API
        • APIs
          • ThinQ 계정 등록
          • 사용자 홈 목록 가져오기
          • 사용자 기기 목록 가져오기
          • 기기 등록하기
          • 기기 정보 가져오기
          • 기기 제어하기
          • 기기 삭제하기
          • 기기 정보 전달하기
        • Error / Exceptions
      • Hub API
        • APIs
          • 지원 기기타입 가져오기
          • 기기 profile 가져오기
          • Capability 가져오기
          • 서브 디바이스 등록하기
          • 서브 디바이스 삭제하기
          • 등록 / 삭제 결과 확인하기
          • 서브 디바이스 리스트 조회
          • 서브 디바이스 정보 조회
          • 서브 디바이스 상태 조회
          • 서브 디바이스 제어
          • 제어 결과 확인
          • 서브 디바이스 상태 모니터링
          • 전체 서브 디바이스 상태 모니터링
        • Types
          • Device
          • DeviceState
      • 가전 API
        • 가전 상태 조회
        • 가전 제어
        • APIs
          • 공통 | Headers
          • 공통 | Response
          • 공통 | Error
          • 가전 목록 조회
          • 가전 상태 조회
          • 가전 Profile 조회
          • 가전 제어
          • EMP Access Token 발급
          • Event/Push Callback (Websocket)
        • Types
          • Device Type
          • Device Profile
      • webOS TV API
        • TV 리스트 조회
        • TV 등록
        • Custom SSAP Command
        • Control
          • ON/OFF
          • Channel
          • Audio
          • App
          • UI 및 기타
        • Remote
        • Subscribe
    • Samples
      • Hello DAMDA
      • ThinQ 연결하기
      • Debugging App
      • 가전 App
      • Proto Sub Device
      • TV화면 캡쳐 + AWS Rekognition
      • DAMDA Hub
Powered by GitBook
On this page
  • 개요
  • 샘플 코드
  • 실행 방법
  • 컴포넌트화 하기
  • 컴포넌트 스크립트
  • DAMDA Hub 사용하기
  • 서브기기 연동하기
  • 서브기기 제어하기
  1. REFERENCE
  2. Samples

DAMDA Hub

Hub 기능을 사용해볼 수 있는 샘플 예제입니다

PreviousTV화면 캡쳐 + AWS Rekognition

Last updated 2 years ago

com.damda.sample.damda-hub를 배포하여 사용할 수 있습니다.

개요

이 샘플앱에서는 서브기기를 등록하고 제어해볼 수 있습니다. 나만의 서브기기 타입을 추가하면, 정의한 기기타입과 허브가 연동되어 동작하는 것을 확인할 수 있습니다. 서브기기 타입을 추가하는 방법은 Custom Sub Device를 확인하시기 바랍니다.

앱 배포 후 Damda Home에 DAMDA Hub가 생성된 것을 확인할 수 있습니다. 아이콘을 눌러, damda-hub의 index.html로 이동합니다.

샘플 코드

damda-hub 코드는 사내용으로 공개합니다. 사내망에서만 다운받으실 수 있습니다.

curl -O http://10.178.133.16/damda-hub.zip

샘플로 제공하는 코드에서는 TPA를 통해 TV 캡처하는 기능은 동작하지 않습니다.

실행 방법

Hub 기능 테스트 (ThinQ 연동 제외)

로컬 PC에 docker 가 깔려있는경우, hub기능에 한정해서 테스트 해볼 수 있습니다 (ThinQ와 연동은 되지 않습니다) Readme를 참고하여 환경설정 해주시기 바랍니다.

ThinQ와 연동해보고 싶은 경우

컴포넌트로 만들어 damda가 설치된 라즈베리파이에서 실행 시킵니다.

컴포넌트화 하기

컴포넌트 스크립트

초기 설정

Script

python3 -m venv /damda/venv/damda-hub)
docker pull rabbitmq:management
docker pull redis

RequiresPrivilege

  • true

Timeout

  • 600

설치

환경 변수

  • VIRTUAL_ENV

Script

docker-compose -f {root}/damda-hub/docker-compose.yml down
docker-compose -f {root}/damda-hub/docker-compose.yml up -d
sh {root}/damda-hub/hub-init.sh {root}/damda-hub

RequiresPrivilege

  • true

Timeout

  • 600

실행

환경 변수

  • VIRTUAL_ENV

Script

	bash {root}/damda-hub/start-hub.sh {root}/damda-hub

RequiresPrivilege

  • true

Timeout

  • 600

DAMDA Hub 사용하기

DAMDA가 허브가 되어 동작합니다.

서브기기 연동하기

허브와 같은 네트워크상에 있는 서브기기들을 연동시켜 볼 수 있습니다. 기본적으로 연동 가능한 기기 타입은 motionCamera, sensorLight, webOSTV, sensorThermoHygrometer 입니다. webOSTV를 제외한 나머지 타입들은 시뮬레이터와 연동 하게 됩니다. 시뮬레이터는 해커톤 전에 제공될 예정입니다.

현재 시뮬레이터 제공이 늦어지고있어, webOSTV로만 테스트 가능합니다.

"추가하기"버튼을 눌러 서브 디바이스의 타입과 연결 하기위한 정보들을 입력합니다.

TV 등록하기 예시

webOSTV가 같은 네트워크 상에 있다면, TV를 등록하고 제어 해볼 수 있습니다.

  1. TV를 구분할 alias 를 입력해줍니다

  2. TV의 IP정보를 입력해줍니다

  3. "추가하기"버튼을 눌러줍니다.

서브기기 제어하기

연동된 서브기기들을 제어 해볼 수 있습니다. 서브기기 카드를 누르면 제어 할 수 있는 화면이 나옵니다. 제어 패널 안에서는 각 기기의 상세한 상태 값 또한 확인할 수 있습니다. 상태 값 및 제어 목록은 기기의 capability 파일을를 바탕으로 생성됩니다.

TV 제어하기

  1. TV 카드를 누릅니다.

  2. 기기 제어 패널에서 setVolume에 원하는 값을 입력합니다.

  3. "실행하기"를 클릭합니다.

  4. TV의 볼륨이 2로 설정됩니다.

상단의 "DAMDA HUB"를 클릭하면 앱 테마가 변경됩니다. 맘에 드는 색상으로 사용해 보세요

잠시 기다리면 TV 카드가 추가된 것을 확인할 수 있습니다.

나만의 기기 타입을 만들면 허브를 통해 내가 만든 기기를 등록하고 제어 수 있습니다. 새로 타입을 정의하는 방법은 를 참고하시기 바랍니다.

➕
✨
Custom Sub Device 가이드
퍼블릭 컴포넌트 탭에서 damda-hub 샘플앱 확인 가능
DAMDA HUB 첫화면
기기 추가 정보 입력
기기 제어 카드 (webOSTV setVolume 예제)