14
ADIIoT(Arduino Do It IoT) KIT Application Library Manual [ ADIIoT_App_Android.zip, ADIIoT_App_PC.zip ] [ ADIIoT Application 라이브러리 목록 ] ① ADIIoT_App_Android.zip : ADIIoT 플랫폼 기반의 스마트폰 서비스 애플리케이션 개발을 위한 안드로이드 라이브러리 및 예제 Ÿ ADIIoTServiceAndroid : ADIIoT 안드로이드 모듈 라이브러리 Ÿ ADIIoT_A01 : ADIIoTServiceAndroid 모듈 라이브러리를 활용한 안드로이드 서비스 애플리케이션 샘플 예제 ② ADIIoT_App_PC.zip : ADIIoT 플랫폼 기반의 PC 서비스 애플리케이션 개발을 위한 C# 라이브러리 및 예제 Ÿ ADIIoTServicePC : ADIIoT C# 프로젝트 라이브러리 Ÿ ADIIoT_A02 : ADIIoTServicePC 프로젝트 라이브러리를 활용한 C# 서비스 애플리케이션 샘플 예제 2017 Copyright Segang Inc. All rights reserved. Segang 세강

ADIIoT(Arduino Do It IoT) KIT Application Library Manualsegang.ipdisk.co.kr/publist/HDD1/3. 설치파일/MIK/ADIIoT_App... · ŸAndroid와 C# 환경에서 ADIIoT플랫폼을 통한

  • Upload
    haque

  • View
    221

  • Download
    3

Embed Size (px)

Citation preview

Page 1: ADIIoT(Arduino Do It IoT) KIT Application Library Manualsegang.ipdisk.co.kr/publist/HDD1/3. 설치파일/MIK/ADIIoT_App... · ŸAndroid와 C# 환경에서 ADIIoT플랫폼을 통한

ADIIoT(Arduino Do It IoT) KIT

Application Library Manual[ ADIIoT_App_Android.zip, ADIIoT_App_PC.zip ]

[ ADIIoT Application 라이브러리 목록 ]

① ADIIoT_App_Android.zip : ADIIoT 플랫폼 기반의 스마트폰 서비스 애플리케이션 개발을 위한 안드로이드 라이브러리

및 예제

Ÿ ADIIoTServiceAndroid : ADIIoT 안드로이드 모듈 라이브러리

Ÿ ADIIoT_A01 : ADIIoTServiceAndroid 모듈 라이브러리를 활용한 안드로이드 서비스 애플리케이션 샘플 예제

② ADIIoT_App_PC.zip : ADIIoT 플랫폼 기반의 PC 서비스 애플리케이션 개발을 위한 C# 라이브러리 및 예제

Ÿ ADIIoTServicePC : ADIIoT C# 프로젝트 라이브러리

Ÿ ADIIoT_A02 : ADIIoTServicePC 프로젝트 라이브러리를 활용한 C# 서비스 애플리케이션 샘플 예제

2017 Copyright Segang Inc. All rights reserved. Segang 세강

Page 2: ADIIoT(Arduino Do It IoT) KIT Application Library Manualsegang.ipdisk.co.kr/publist/HDD1/3. 설치파일/MIK/ADIIoT_App... · ŸAndroid와 C# 환경에서 ADIIoT플랫폼을 통한

1. ADIIoT 아두이노 라이브러리 API

1-1. ADIIoT Application 라이브러리란?

Ÿ Android와 C# 환경에서 ADIIoT플랫폼을 통한 사물인터넷 서비스 애플리케이션을 개발하기 위한 라이브러리

Ÿ 각각의 애플리케이션 개발환경에 맞는 라이브러리를 추가하고, 참조된 ADIIoTClient Class를 통해 사용자 인증 및

MQTT 서비스를 제공

1-2. ADIIoT Application 라이브러리 적용하기

[ ADIIoTServiceAndroid : 안드로이드 모듈 라이브러리 ]

Ÿ Step 1. 새 프로젝트 생성

Ÿ Step 2. [File] -> [New] -> [Import Module] 클릭

Ÿ Step 3. [찾아보기]를 통해 ADIIoTServiceAndroid 추가 및 모듈 이름 지정 후 확인

Ÿ Step 4. [Project]탭의 app 우클릭 -> [Open Module Settings] 클릭

Ÿ Step 5. [app] 하위의 [Dependencies] 탭 선택 -> 오른쪽 상단의 추가 버튼[+] 클릭 -> [Module Dependency] 클릭

Ÿ Step 7. ADIIoTServiceAndroid 모듈 선택 후 확인

Ÿ Step 8. 추가된 ADIIoTServiceAndroid 모듈 확인 후 완료

[ 1/13 ]

Page 3: ADIIoT(Arduino Do It IoT) KIT Application Library Manualsegang.ipdisk.co.kr/publist/HDD1/3. 설치파일/MIK/ADIIoT_App... · ŸAndroid와 C# 환경에서 ADIIoT플랫폼을 통한

[ ADIIoTServicePC : C# 프로젝트 라이브러리 ]

Ÿ Step 1. 새 프로젝트 생성

Ÿ Step 2. 솔루션 우클릭 -> [추가] 클릭 -> [기존 프로젝트] 선택

Ÿ Stop 3. ADIIoTServicePC 폴더 하위의 ADIIoTServicePC.csproj 열기

Ÿ Step 4. 솔루션 탐색기 목록에 추가된 ADIIoTServicePC 프로젝트 확인

Ÿ Step 5. [참조 추가] 속성 클릭

Ÿ Step 6. 프로젝트 탭의 ADIIoTServicePC 선택 후 확인

Ÿ Step 7. 참조 항목에 추가된 ADIIoTServicePC 확인

[ 2/13 ]

Page 4: ADIIoT(Arduino Do It IoT) KIT Application Library Manualsegang.ipdisk.co.kr/publist/HDD1/3. 설치파일/MIK/ADIIoT_App... · ŸAndroid와 C# 환경에서 ADIIoT플랫폼을 통한

1-3. ADIIoT Application 라이브러리 사용하기

1) [ ADIIoTClient ] 인스턴스화

Ÿ 로그인 및 MQTT 기능을 사용하기 위해서 먼저 ADIIoTClient 클래스를 객체로 생성

Ÿ ADIIoT Application 라이브러리에서의 ADIIoTClient 클래스의 인터스터화는 일반적인 객체생성방법인 new 생성자가

아닌 getInstance() 매소드를 사용

Ÿ ADIIoTClient 객체 생성 예시 : ADIIoTClient adiiotClient = ADIIoTClient.getInstance();

※ 주의 : ADIIoTClient 객체 생성을 위해 new 생성자를 사용할 경우 접근 권한 오류 발생

ADIIoTClient adiiotClient = new ADIIoTClient();

2) [ ADIIoTClient ] 사용자 권한 획득하기 – login()

Ÿ ADIIoT 플랫폼의 MQTT 기능을 사용하기 위해서는 로그인을 통해 사용자 권한을 획득

Ÿ ADIIoTClient 클래스의 로그인은 login() 매소드를 사용

Ÿ login() 메소드는 문자열 형태의 사용자 ID, Password를 매개변수로 전달, 문자열 형태의 결과 코드를 리턴

※ 요청/결과 코드 종류 및 의미는 18page의 요청/응답 코드표 참조

[ 3/13 ]

Page 5: ADIIoT(Arduino Do It IoT) KIT Application Library Manualsegang.ipdisk.co.kr/publist/HDD1/3. 설치파일/MIK/ADIIoT_App... · ŸAndroid와 C# 환경에서 ADIIoT플랫폼을 통한

[ 4/13 ]

Page 6: ADIIoT(Arduino Do It IoT) KIT Application Library Manualsegang.ipdisk.co.kr/publist/HDD1/3. 설치파일/MIK/ADIIoT_App... · ŸAndroid와 C# 환경에서 ADIIoT플랫폼을 통한

3) [ ADIIoTClient ] 요청결과 핸들러 등록하기

Ÿ ADIIoTClient 핸들러란? ADIIoT Application 라이브러리 기반의 애플리케이션이 ADIIoT 플랫폼 서버로부터 웹 소켓

통신 기반의 메시지를 수신을 위한 리스너

Ÿ ADIIoT Client와 ADIIoT 플랫폼 간 요청/응답이 비동기로 작동함에 따라 Subscribe/Publish 등의 요청결과를 수신 받

기 위한 리스너 등록 필요

Ÿ ADIIoTClient의 요청결과 리스너는 개발 환경에 따라 핸들러(Android) 또는 이벤트(C#)를 사용

[ 5/13 ]

Page 7: ADIIoT(Arduino Do It IoT) KIT Application Library Manualsegang.ipdisk.co.kr/publist/HDD1/3. 설치파일/MIK/ADIIoT_App... · ŸAndroid와 C# 환경에서 ADIIoT플랫폼을 통한

4) [ ADIIoTClient ] ADIIoT 플랫폼 연결하기

Ÿ ADIIoT 플랫폼 : ADIIoT에서 제공하는 MQTT to HTTP 서비스 구동 서버

Ÿ ADIIoT Client에서 Publish와 Subscribe을 사용하기 위해서 ADIIoT 플랫폼과 ADIIoT Client 간의 Socket 연결이 필요

Ÿ ADIIoTClient 클래스에서는 ADIIoT 플랫폼과 Socket 연결을 제어하기 위해 socketConnect()/socketDisconnect() 매소

드를 사용

Ÿ socketConnect() 호출 시 소켓 연결 상태를 요청결과 리스너를 통해 전달

[ 6/13 ]

Page 8: ADIIoT(Arduino Do It IoT) KIT Application Library Manualsegang.ipdisk.co.kr/publist/HDD1/3. 설치파일/MIK/ADIIoT_App... · ŸAndroid와 C# 환경에서 ADIIoT플랫폼을 통한

5) [ ADIIoTClient ] Subscribe 리스너 등록하기 – onSubscribeListener()

Ÿ ADIIoT Client에서 Subscribe Topic에 대한 메시지를 수신하기 위해서는 Subscribe 리스너를 등록

Ÿ ADIIoTClient 클래스에서는 Subscribe 리스너를 등록하기 위해 onSubscribeListener() 메소드를 사용

Ÿ onSubscribeListener() 메소드는 Boolean 형태로 전달되는 매개변수를 통해 Subscribe 리스너를 제어

Ÿ Subscribe 리스너 등록 후 Subscribe Topic에 대한 수신 메시지는 개발 환경에 따라 핸들러(Android)와 이벤트(C#)를

통해 수신

ü adiiotClient.onSubscribeListener(true); // Subscribe 리스너 등록

ü adiiotClient.onSubscribeListener(false); // Subscribe 리스너 해제

[ 7/13 ]

Page 9: ADIIoT(Arduino Do It IoT) KIT Application Library Manualsegang.ipdisk.co.kr/publist/HDD1/3. 설치파일/MIK/ADIIoT_App... · ŸAndroid와 C# 환경에서 ADIIoT플랫폼을 통한

[ 8/13 ]

Page 10: ADIIoT(Arduino Do It IoT) KIT Application Library Manualsegang.ipdisk.co.kr/publist/HDD1/3. 설치파일/MIK/ADIIoT_App... · ŸAndroid와 C# 환경에서 ADIIoT플랫폼을 통한

[ 9/13 ]

Page 11: ADIIoT(Arduino Do It IoT) KIT Application Library Manualsegang.ipdisk.co.kr/publist/HDD1/3. 설치파일/MIK/ADIIoT_App... · ŸAndroid와 C# 환경에서 ADIIoT플랫폼을 통한

6) [ ADIIoTClient ] Publish 메시지 전송하기 – publisher()

Ÿ ADIIoT Client에서 Publish 기능은 publisher() 매소드를 사용

Ÿ publisher() 매소드는 문자열 형태의 Project, Device, Topic, Msg를 매개변수로 전달

Ÿ Publish 기능 수행의 결과를 요청결과 리스너를 통해 전달

※ Project / Device / Topic 정보는 ADIIoT 플랫폼에 등록된 정보와 일치해야 함.

[ 10/13 ]

Page 12: ADIIoT(Arduino Do It IoT) KIT Application Library Manualsegang.ipdisk.co.kr/publist/HDD1/3. 설치파일/MIK/ADIIoT_App... · ŸAndroid와 C# 환경에서 ADIIoT플랫폼을 통한

6) [ ADIIoTClient ] Subscribe 메시지 수신 시작하기 – subscriber()

Ÿ ADIIoT Client에서 Subscribe 기능은 subscriber() 매소드를 사용

Ÿ subscriber() 매소드는 문자열 형태의 Project, Device, Topic를 매개변수로 전달

Ÿ Subscribe 기능 수행의 결과를 요청결과 리스너를 통해 전달

※ Project / Device / Topic 정보는 ADIIoT 플랫폼에 등록된 정보와 일치해야 함.

[ 11/13 ]

Page 13: ADIIoT(Arduino Do It IoT) KIT Application Library Manualsegang.ipdisk.co.kr/publist/HDD1/3. 설치파일/MIK/ADIIoT_App... · ŸAndroid와 C# 환경에서 ADIIoT플랫폼을 통한

7) [ ADIIoTClient ] Subscribe 메시지 수신 종료하기 – subscriber()

Ÿ ADIIoT Client에서 Unsubscribe은 Subscribe 종료 기능으로 unsubscriber() 매소드를 사용

Ÿ unsubscriber() 매소드는 문자열 형태의 Project, Device, Topic를 매개변수로 전달

Ÿ Unsubscribe 기능 수행의 결과를 요청결과 리스너를 통해 전달

※ Project / Device / Topic 정보는 ADIIoT 플랫폼에 등록된 정보와 일치해야 함.

[ 12/13 ]

Page 14: ADIIoT(Arduino Do It IoT) KIT Application Library Manualsegang.ipdisk.co.kr/publist/HDD1/3. 설치파일/MIK/ADIIoT_App... · ŸAndroid와 C# 환경에서 ADIIoT플랫폼을 통한

7) [ ADIIoTClient ] 요청/응답 코드표

[ 13/13 ]