44
ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual [ ADIIoT_Master.zip ] [ ADIIoT_Master 라이브러리 예제 목록 ] E01.ADIIoT_TempHumi : 스마트홈 쉴드 온습도센서 예제 E02.ADIIoT_Light : 스마트홈 쉴드 조도센서 예제 E03.ADIIoT_Sound : 스마트홈 쉴드 소리감지센서 예제 E04.ADIIoT_Hall : 스마트홈 쉴드 자석/자기감지센서 예제 E05.ADIIoT_LEDButton : 스마트홈 쉴드 LED 버튼 예제 E06.ADIIoT_WiFi_AP : IoT 쉴드의 WiFi 모듈 AP장치 연결 예제 E07.ADIIoT_WiFi_MQTT : IoT 쉴드의 WiFi 모듈 MIK 플랫폼 연결 예제 E08.ADIIoT_WiFi_TCPClient : IoT 쉴드의 WiFi 모듈 TCP 클라이언트 예제 E09.ADIIoT_WiFi_UDPClient : IoT 쉴드의 WiFi 모듈 UDP 클라이언트 예제 E10.ADIIoT_WiFi_WebServer : IoT 쉴드의 WiFi 모듈 Web 서버 예제 E11.ADIIoT_WiFi_WebClient : IoT 쉴드의 WiFi 모듈 Web 클라이언트 HTTP Request 예제 E12.ADIIoT_WiFi_BLE : IoT 쉴드의 블루투스 모듈 동작 테스트 예제 E13.ADIIoT_WiFi_Beacon : IoT 쉴드의 블루투스 모듈 iBeacon 모드 예제 E14.ADIIoT_TempHumi_Light_MQTT : 온/습도, 조도 센서 데이터 MIK 플랫폼 전송 예제 E15.ADIIoT_Sound_Hall_MQTT : 소리감지, 자석 감지 데이터 MIK 플랫폼 전송 예제 E16.ADIIoT_LEDButton_MQTT : LED 제어 및 버튼 이벤트 데이터 MIK 플랫폼 전송 예제 E17.ADIIoT_TempHumi_WebServer : IoT 쉴드의 WiFi 모듈을 웹서버로 웹 브라우저를 통해 온/습도 데이터를 확인하는 예제 E18.ADIIoT_Sound_Hall_TCPClient : C# TCP 서버 예제와 연결하여 소리감지, 자석 감지 데이터를 전송하는 예제 E19.ADIIoT_TempHumi_Light_UDPClient : C# UDP 서버 예제와 연결하여 온/습도, 조도 센서 데이터를 전송하는 예제 E20.ADIIoT_LEDButton_BLE : 안드로이드 BLE 예제와 연결하여 LED on/off 신호를 송수신하는 예제 E21.ADIIoT_TempHumi_Beacon : IoT 쉴드의 블루투스 모듈 iBeacon 모드로 설정하여 온/습도 비콘 데이터를 전송하는 예제 2018 Copyright PHYSICOMTECH Inc. All rights reserved. 피지컴텍

ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

ADIIoT(Arduino Do It IoT) KIT

Arduino Library Manual[ ADIIoT_Master.zip ]

[ ADIIoT_Master 라이브러리 예제 목록 ]

E01.ADIIoT_TempHumi : 스마트홈 쉴드 온습도센서 예제

E02.ADIIoT_Light : 스마트홈 쉴드 조도센서 예제

E03.ADIIoT_Sound : 스마트홈 쉴드 소리감지센서 예제

E04.ADIIoT_Hall : 스마트홈 쉴드 자석/자기감지센서 예제

E05.ADIIoT_LEDButton : 스마트홈 쉴드 LED 버튼 예제

E06.ADIIoT_WiFi_AP : IoT 쉴드의 WiFi 모듈 AP장치 연결 예제

E07.ADIIoT_WiFi_MQTT : IoT 쉴드의 WiFi 모듈 MIK 플랫폼 연결 예제

E08.ADIIoT_WiFi_TCPClient : IoT 쉴드의 WiFi 모듈 TCP 클라이언트 예제

E09.ADIIoT_WiFi_UDPClient : IoT 쉴드의 WiFi 모듈 UDP 클라이언트 예제

E10.ADIIoT_WiFi_WebServer : IoT 쉴드의 WiFi 모듈 Web 서버 예제

E11.ADIIoT_WiFi_WebClient : IoT 쉴드의 WiFi 모듈 Web 클라이언트 HTTP Request 예제

E12.ADIIoT_WiFi_BLE : IoT 쉴드의 블루투스 모듈 동작 테스트 예제

E13.ADIIoT_WiFi_Beacon : IoT 쉴드의 블루투스 모듈 iBeacon 모드 예제

E14.ADIIoT_TempHumi_Light_MQTT : 온/습도, 조도 센서 데이터 MIK 플랫폼 전송 예제

E15.ADIIoT_Sound_Hall_MQTT : 소리감지, 자석 감지 데이터 MIK 플랫폼 전송 예제

E16.ADIIoT_LEDButton_MQTT : LED 제어 및 버튼 이벤트 데이터 MIK 플랫폼 전송 예제

E17.ADIIoT_TempHumi_WebServer : IoT 쉴드의 WiFi 모듈을 웹서버로 웹 브라우저를 통해 온/습도 데이터를 확인하는 예제

E18.ADIIoT_Sound_Hall_TCPClient : C# TCP 서버 예제와 연결하여 소리감지, 자석 감지 데이터를 전송하는 예제

E19.ADIIoT_TempHumi_Light_UDPClient : C# UDP 서버 예제와 연결하여 온/습도, 조도 센서 데이터를 전송하는 예제

E20.ADIIoT_LEDButton_BLE : 안드로이드 BLE 예제와 연결하여 LED on/off 신호를 송수신하는 예제

E21.ADIIoT_TempHumi_Beacon : IoT 쉴드의 블루투스 모듈 iBeacon 모드로 설정하여 온/습도 비콘 데이터를 전송하는 예제

2018 Copyright PHYSICOMTECH Inc. All rights reserved. 피지컴텍

Page 2: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

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

1-1. 블루투스 API

Ÿ 라이브러리 헤더파일 : ADIIoTBLE.h

구분 함수 설명

1 Begin() 아두이노 우노와 Bluetooth 모듈을 연결하기 위한 매소드

2 Version() Bluetooth 모듈의 펨워어 버전을 가져오기 위한 매소드

3 Reset() Bluetooth 모듈의 설정값을 저장하고 재시작하는 매소드

4 Renew() Bluetooth 모듈을 공장초기화 하기 위한 매소드

5 getAddress() Bluetooth 모듈의 MAC Address를 가져오기 위한 매소드

6 getUUID() Bluetooth 모듈의 UUID를 가져오기 위한 매소드

7 setUUID(String _name)Bluetooth 모듈의 UUID를 설정하기 위한 매소드

_name 지정할 디바이스 Name(ex. setUUID(“ADIIoT”) )

8 getName() Bluetooth 모듈의 이름을 가져오기 위한 매소드

9 setName(String _name) Bluetooth 모듈의 이름을 설정하기 위한 매소드

10 setAdvertisingType(String _para)

Bluetooth 모듈의 광고 유형을 설정하기 위한 매소드

_para

0 : Advertising, ScanResponse, 연결 가능, 1 : 1.28sec 안에 마지막 연결장

치만 연결 허용 2 : Advertising, ScanResponse 만 허용, 3 : Advertising 만

허용

11 setDeployMode(String _para)Bluetooth 모듈이 iBeacon으로 동작시

_para 1 : 브로드캐스트 및 스캔 허용, 2 : 브로드 캐스트만 허용

12 iBeacon() Bluetooth 모듈을 iBeacon으로 동작하고 있는 확인하기 위한 매소드

13 iBeacon(String _mode)Bluetooth 모듈이 iBeacon으로 설정하거나 해지하기 위한 매소드

_mode 0 : iBeacon 켜기, 1 : iBeacon 끄기

14 iBeaconUUID0(char* _uuid0)Bluetooth 모듈의 iBeacon 첫번째 UUID를 설정하기 위한 매소드

_uuid0 (00000001 ~ FFFFFFFE)

15 iBeaconUUID1(char* _uuid1)Bluetooth 모듈의 iBeacon 두번째 UUID를 설정하기 위한 매소드

_uuid1 (00000001 ~ FFFFFFFE)

16 iBeaconUUID2(char* _uuid2)Bluetooth 모듈의 iBeacon 세번째 UUID를 설정하기 위한 매소드

_uuid2 (00000001 ~ FFFFFFFE)

17 iBeaconUUID3(char* _uuid3)Bluetooth 모듈의 iBeacon 네번째 UUID를 설정하기 위한 매소드

_uuid3 (00000001 ~ FFFFFFFE)

18 iBeaconMajor(char* _major)Bluetooth 모듈의 iBeacon Major 값을 설정하기 위한 매소드

_major (0001 ~ FFFE)

19 iBeaconMinor(char* _minor)Bluetooth 모듈의 iBeacon Minor 값을 설정하기 위한 매소드

_minor (0001 ~ FFFE)

20 interval(String _para)Bluetooth 모듈이 iBeacon으로 동작할 경우 광고 간격을 설정하기 위한 매소드

_para (0(100ms) ~ F(7000ms))

21 BLECommand(String _ATCommand)아두이노 스케치에서 AT 명령어를 Bluetooth 모듈로 전달하거나 Bluetooth와 커넥팅된 디바

이스로 메시지를 전송하기 위한 매소드

22 BLEReply()AT 명령어 전달 후 Bluetooth 모듈로부터 응답 메시지를 수신하기 위한 매소드

return 응답 메시지를 시리얼 모니터로 출력

23 BLEReturn(char* reply, int _bufferSize)AT 명령어 전달 후 Bluetooth 모듈로부터 받는 응답 메시지를 String 값으로 반환해주는 매

소드(char 배열과 배열 사이즈를 매개변수로 전달)

[ 1/42 ]

Page 3: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

1-2. 와이파이 API

Ÿ 라이브러리 헤더파일 : ADIIoTWiFi.h

구분 함수 설명

Set up

setAP(String _ssid, String _pass) WiFi 모듈로 AP 정보 설정 매소드

wifiState()WiFi 모듈의 AP 연결 상태를 가져오는 매소드

return true : 연결됨, false : 연결 끊김

getIPAddress()WiFi 모듈이 AP에 연결된 Local IP를 호출하는 매소드

return String

MQTT

setMQTTInfo() ADIIoT 플랫폼 정보를 WiFi 모듈에 설정하기 위한 매소드

MQTTConnect(String _mqttID)WiFi 모듈을 ADIIoT 플랫폼에 접속하는 매소드

_mqttID ADIIoT 플랫폼 사이트에서 생성한 사용자 ID

setMQTTSubscribe(String _subTopic)ADIIoT 플랫폼으로부터 데이터를 수신하고자 하는 특정 토픽을 동록하는 매소드

_subTopic 데이터를 수신하고자 하는 특정 토픽의 이름

MQTTPublish(String _pubTopic, String

_deviceID, String _data)

ADIIoT 플랫폼의 특정 토픽으로 데이터를 송신하기 위한 매소드

_pubTopic 데이터를 송신하고자 하는 측정 토픽의 이름

_deviceID 데이터를 송신하고자 하는 디바이스의 이름

_data _pubTopic 토픽으로 송신하고자 하는 데이터 값

makeTopic(String _userID, String

_project, String _topic)

사용자 정보를 조합하여 MQTT 표준 프로토콜의 토픽 구조를 생성하기 위한 매소드

MQTT Topic

구조_userID/_project/_topic

AdiioTRecv()ADIIoT 플랫폼으로부터 데이터를 수신하기 위한 매소드

return true : 데이터 수신, false : 데이터 미수신

getDevice()수신한 데이터에 대한 디바이스 이름을 호출하는 매소드

Return String

getData()수신한 데이터를 호출하는 매소드

Return String

TCP

Client

TCPConnect(String _serverIP, String

_ServerPort

WiFi 모듈을 TCP Client로 TCP Server에 연결시키기 위한 매소드

_serverIP 연결하고자 하는 TCP Server의 IP

_ServerPort 연결하고자 하는 TCP Server의 Port

TCPSend(String _data)연결된 TCP Server로 데이터를 송신하기 위한 매소드

_data 전송하고자 하는 데이터 문자열

UDP

Client

udpSend(String _ip, String _port, String

_data)WiFi 모듈을 UDP Client로 설정하여 UDP Server로 데이터를 송신하는 위한 매소드

setUDPReceiver(String _port) UDP Server로 부터 데이터를 수신하기 위한 Port를 지정하는 매소드

Web

Server

webServerBegin() WiFi 모듈을 웹서버로 동작시키기 위한 매소드

webServerAvailable() 웹브라우저를 통해 WiFi 모듈로 접속이 이루어지는지 체크하는 매소드

webServerContent(String _data) 웹페이지를 구성하는 HTML 코드를 WiFi 모듈로 전달하기 위한 매소드endContent() 웹페이지를 구성하는 HTML 코드를 전부 전송하였음을 WiFi 모듈로 전달하기 위한 매소드

Web

Client

setRequestInfo(String _ip, String _port)웹서버로부터 데이터를 리퀘스트 하기 위한 웹서버 정보를 설정하기 위한 매소드

(매개변수 없이 사용할 경우 ADIIoT 플랫폼 정보 설정)

webRequest(String _url) 웹서버로부터 데이터를 리퀘스트 하기 위한 URL을 지정하는 매소드

RequestTimeOutCheck() 데이터 수신을 위한 5초간 응답 대기를 설정하기 위한 매소드

WiFiRecvTCP, UDP 통신을 통해 수신되는 데이터를 수신하기위한 매소드

Return String

SubStr(String * _arry, char _token, String _data) 수신된 데이터를 구분자(token)에 따라 파싱하기 위한 매소드

[ 2/42 ]

Page 4: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

2. ADIIoT 아두이노 라이브러리 예제

E01.ADIIoT_TempHumi

Ÿ ‘스마트홈 센서 쉴드’와 ‘온습도센서’를 활용하여 시리얼 모니터를 통해 온도와 습도 데이터를 출력하는 예제

가. 준비사항

Ÿ 온습도센서(DHT-11), 아두이노 우노, 스마트홈 센서 쉴드

나. 연결 방법

① ‘스마트홈 센서 쉴드’를 ‘아두이노 우노’에 결합한다.(‘스마트홈 센서 쉴드’ 없이 센서를 점프선으로 아두이노 우노에

직접 연결하여 사용할 수 있음)

② ‘스마트홈 센서 쉴드’의 ‘DHT-11’ 커넥터에 ‘온습도센서’를 연결한다.

③ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E01.ADIIoT_TempHumi 예제를 실행한다.

다. 실행 결과

[ 3/42 ]

Page 5: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

라. 예제 설명

Ÿ DHT11 온도센서를 사용하기 위해 1행과 같이 DHT11 라이브러리를 스케치에 포함 시켜준다.

Ÿ 온도센서를 스마트 홈 쉴드에 연결하고 연결한 디지털 핀 번호를 3행과 같이 상수로 설정한다.

Ÿ 5행은 DHT11 라이브러리를 사용하기 위해 DHT11 객체를 생성한다. 2.에서 지정한 디지털 핀의 정보를 매개변수로

넘겨준다.

Ÿ 8행은 아두이노를 통해 읽어 들인 온습도 센서의 데이터를 시리얼 모니터를 통해 보기 위해 begin함수를 통해 시리

얼 통신을 사용하겠다고 선언한다. 9600은 baudRate로 통신 속도를 의미한다. 스케치에 지정한 통신속도와 시리얼

통신을 하는 기기의 통신속도가 일치해야 통신이 가능하다.

Ÿ 12~13행은 온습도를 담을 변수와 온습도를 읽어 들이지 못할 경우 에러 코드를 담기 위한 변수를 선언한다.

Ÿ 15행의 read 매소드는 온도와 습도 데이터를 읽어 들이는 소드로 정상적으로 데이터를 읽어 들일 경우 return 값으

로 0을 반환하고 정상적으로 읽어 들이지 못한 경우 에러에 대한 정수 데이터를 반환한다.

Ÿ 16~20, 22~23행은 읽어 들인 데이터를 print, println 매소드를 통해 시리얼 모니터로 출력한다. print, println은 배열

을 제외한 모든 변수의 데이터를 출력하고 println은 데이터를 출력한 후 다음줄로 개행 해준다.

Ÿ delay 매소드는 아두이노의 동작을 잠시 멈추게 하는 매소드로 1/1000초 단위로 멈추게 한다. 26행과 같이

delay(1000)을 지정할 경우 루프 동작이 약 1초에 한번씩 반복하게 된다. (delay를 1초 이하로 설정할 경우 온습도

데이터를 제대로 읽어 들이지 못할 수 있음)

[ 4/42 ]

Page 6: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

E02.ADIIoT_Light

Ÿ ‘스마트홈 센서 쉴드’와 ‘조도센서’를 활용하여 시리얼 모니터를 통해 조도 데이터를 출력하는 예제

가. 준비사항

Ÿ 조도센서(BH1750), 아두이노 우노, 스마트홈 센서 쉴드

나. 연결 방법

① ‘스마트홈 센서 쉴드’를 ‘아두이노 우노’에 결합한다.(‘스마트홈 센서 쉴드’ 없이 센서를 점프선으로 아두이노 우노에

직접 연결하여 사용할 수 있음)

② ‘스마트홈 센서 쉴드’의 ‘BH1750’ 커넥터에 ‘조도센서’를 연결한다.

③ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E02.ADIIoT_Light 예제를 실행한다.

다. 실행 결과

[ 5/42 ]

Page 7: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

라. 예제 설명

Ÿ I2C 인터페이스를 사용하는 BH1750 조도 센서를 사용하기 위해 1~2행과 같이 Wire(I2C 라이브러리), BH1750 라이

브러리를 스케치에 포함시켜준다.

Ÿ 4행은 조도 센서를 사용하기 위해 BH1750 라이브러리에 대한 객체를 생성해준다.

Ÿ 8행은 begin함수를 통해 I2C통신을 초기화하고, 활성화 한다.

Ÿ 14행은 조도 데이터를 담기 위해 변수를 선언하고 readLightLevel 매소드를 이용해 측정되는 조도 데이터를 읽어 들

인다.

Ÿ 15~17행은 읽어 들인 조도 데이터를 시리얼모니터에 출력해준다.

[ 6/42 ]

Page 8: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

E03.ADIIoT_Sound

Ÿ ‘스마트홈 센서 쉴드’와 ‘소리감지센서’를 활용하여 소리가 감지되면 시리얼 모니터를 통해 “Sound Detected”라는 문

자열을 출력하는 예제

가. 준비사항

Ÿ 소리감지센서(LM386), 아두이노 우노, 스마트홈 센서 쉴드

나. 연결 방법

① ‘스마트홈 센서 쉴드’를 ‘아두이노 우노’에 결합한다.(‘스마트홈 센서 쉴드’ 없이 센서를 점프선으로 아두이노 우노에

직접 연결하여 사용할 수 있음)

② ‘스마트홈 센서 쉴드’의 ‘LM386’ 커넥터에 ‘소리감지센서’를 연결한다.

③ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E03.ADIIoT_Sound 예제를 실행한다.

다. 실행 결과

※ 소리 감지가 제대로 이루어지지 않을 경우 센서의 가변저항을 조절하여 감지 감도를 조절하세요.

[ 7/42 ]

Page 9: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

라. 예제 설명

Ÿ 소리감지센서를 스마트 홈 쉴드에 연결하고 연결한 디지털 핀 번호를 1행과 같이 상수로 설정한다.

Ÿ 소리감지센서의 소리 감지 여부를 저장할 변수를 3행과 같이 선언한다.

Ÿ 8행은 소리감지 센서에 연결한 디지털 핀을 통해 데이터를 입력받기위해 디지털 핀 번호와 INPUT(읽기) 모드로 입

력한다. 출력 모드로 사용할 INPUT 자리에 OUTPUT을 넣으면 된다.

Ÿ digitalRead 매소드는 디지털 데이터를 읽어 들이기 위한 매소드로 매개변수로 디지털 핀 번호를 넘겨준다. 11행과

같이 digitalRead 매소드에 소리감지센서를 연결한 디지털 핀을 설정하여 디지털 데이터를 읽어 들인다.

Ÿ 15~17행은 읽어 들인 데이터가 HIGH일 경우 시리얼에 모니터에 “Sound Detected”를 출력한다.

[ 8/42 ]

Page 10: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

E04.ADIIoT_Hall

Ÿ ‘스마트홈 센서 쉴드’와 ‘자석/자기감지센서’를 활용하여 자석이 접촉되면 시리얼 모니터를 통해 “Magnetic Detected”

라는 문자열을 출력하는 예제

가. 준비사항

Ÿ 자석/자기감지센서(KY-003), 아두이노 우노, 스마트홈 센서 쉴드

나. 연결 방법

① ‘스마트홈 센서 쉴드’를 ‘아두이노 우노’에 결합한다.(‘스마트홈 센서 쉴드’ 없이 센서를 점프선으로 아두이노 우노에

직접 연결하여 사용할 수 있음)

② ‘스마트홈 센서 쉴드’의 ‘KY-003’ 커넥터에 ‘자석/자기감지센서’를 연결한다.

③ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E04.ADIIoT_Hall 예제를 실행한다.

다. 실행 결과

[ 9/42 ]

Page 11: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

라. 예제 설명

Ÿ 자석/자기감지센서를 스마트 홈 쉴드에 연결하고 연결한 디지털 핀 번호를 1행과 같이 상수로 설정한다.

Ÿ 3행에서는 자석/자기감지센서에 자기 감지 여부를 저장할 변수를 선언한다.

Ÿ 7행은 자석/자기감지센서의 데이터를 읽어 들이기 위해 pinMode를 INPUT으로 설정한다.

Ÿ 11행은 digitalRead 매소드에 자석/자기감지센서를 연결한 디지털 핀 번호를 설정하고 읽어 들인 데이터를 변수에

저장한다.

Ÿ 13~15행은 HallState 변수의 데이터 값이 LOW일 경우 시리얼 모니터를 통해 Magnetic Detected를 출력한다.

[ 10/42 ]

Page 12: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

E05.ADIIoT_LEDButton

Ÿ ‘스마트홈 센서 쉴드’와 ‘LED버튼모듈’을 활용하여 버튼 입력 시 LED가 켜지는 예제

가. 준비사항

Ÿ LED버튼모듈, 아두이노 우노, 스마트홈 센서 쉴드, GROVE 케이블

나. 연결 방법

① ‘스마트홈 센서 쉴드’를 ‘아두이노 우노’에 결합한다.(‘스마트홈 센서 쉴드’ 없이 센서를 점프선으로 아두이노 우노에

직접 연결하여 사용할 수 있음)

② ‘스마트홈 센서 쉴드’의 ‘LED Push Button’ 커넥터에 ‘LED버튼모듈’을 ‘Grove 케이블’로 연결한다.

③ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E05.ADIIoT_LEDButton 예제를 실행한다.

다. 실행 결과

[ 11/42 ]

Page 13: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

라. 예제 설명

Ÿ LEDButton을 스마트 홈 쉴드에 연결하고 연결한 디지털 핀 번호를 1~2행과 같이 상수로 설정한다.

Ÿ 5,6행은 LEDButton의 LED와 Button을 제어하기 위해 입출력에 따라 INPUT, OUTPUT으로 설정해준다.

Ÿ 10행은 INPUT 모드로 동작하는 버튼의 입력값을 읽어 변수에 저장한다.

Ÿ digitalWrite 함수는 디지털 핀으로 출력을 전달하며 매개 변수로는 핀 번호와 HIGH, LOW 신호를 전달한다.

Ÿ 12~16행은 버튼의 입력값이 HIGH이면 LED를 켜고, 입력값이 LOW이면 LED를 끄는 기능을 한다.

[ 12/42 ]

Page 14: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

E06.ADIIoT_WiFi_AP

Ÿ ‘사물인터넷 쉴드’모듈의 WiFi 통신을 활용하여 WiFi 모듈을 AP(Access Point)장치에 연결하고, 연결된 WiFi 모듈의

‘Local IP’를 확인하는 예제

가. 준비사항

Ÿ 사물인터넷 쉴드, 아두이노 우노

나. 연결 방법

① ‘사물인터넷 쉴드’를 아두이노 우노에 결합하기 위해 먼저 연장핀을 사물인터넷 쉴드에 연결한다.

② 연장핀이 연결된 ‘사물인터넷 쉴드’를 아두이노 우노에 결합한다.

③ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E06.ADIIoT_WiFi_AP 예제를 실행한다.

※ 주의 : 연장핀을 연결하지 않고 바로 아두이노 우노에 결합할 경우

우노의 USN 커넥터 부분에 쉴드 뒷면이 접촉되어 쇼트가 발생합니다. 주의하세요.

다. 실행 결과

[ 13/42 ]

Page 15: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

라. 예제 설명

[ 2Page ADIIoT WiFi API(ADIIoTWiFi.h) 참조 ]

Ÿ ADIIoT 사물인터넷 쉴드의 WiFi 모듈을 사용하기 위해 1행과 같이 ADIIoTWiFi 헤더 파일을 스케치에 포함 시켜준다.

Ÿ ADIIoTWiFi 라이브러리를 사용하기 위해 ADIIoTWiFi의 객체를 생성 해준다.

Ÿ 5~6행은 AP 장치의 접속에 필요한 SSID, Password를 입력해준다.

Ÿ setAP 매소드는 WiFi 모듈로 접속할 AP의 정보를 전달하는 매소드로 12행과 같이 AP장치의 정보를 전달해준다.

Ÿ wifiState 매소드는 WiFi 모듈이 AP 장치에 연결되었는지 확인하는 매소드로 WiFi 모듈이 AP장치에 연결된 경우

ture를 반환하고 그렇지 않은 경우 false를 반환한다. 17~20행은 WiFi 모듈이 AP 장치에 접속할 때 까지 대기하는

것을 의미한다.

Ÿ 25행의 getIPAddress 매소드는 AP장치에 연결된 WiFi 모듈의 Local IP를 문자열로 반환해준다.

[ 14/42 ]

Page 16: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

E07.ADIIoT_WiFi_MQTT

Ÿ ‘사물인터넷 쉴드’모듈의 WiFi 통신을 활용하여 ADIIoT 플랫폼에 연결하고, ADIIoT 플랫폼의 ‘MQTT Socket’를 통해

지정된 MQTT 토픽으로 메시지를 송수신하는 예제

※ ADIIoT 플랫폼의 가입과 정보생성 및 ‘MQTT Socket’ 사용법은 ADIIoT 플랫폼 사용 매뉴얼 참고

가. 준비사항

Ÿ 사물인터넷 쉴드, 아두이노 우노

나. 연결 방법

① ‘사물인터넷 쉴드’를 아두이노 우노에 결합하기 위해 먼저 연장핀을 사물인터넷 쉴드에 연결한다.

② 연장핀이 연결된 ‘사물인터넷 쉴드’를 아두이노 우노에 결합한다.

③ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E07.ADIIoT_WiFi_MQTT 예제를 실행한다.

다. 실행 결과

[ 15/42 ]

Page 17: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

라. 예제 설명

[ 2Page ADIIoT WiFi API(ADIIoTWiFi.h) 참조 ]

Ÿ 5~11행에 AP 접속을 위한 정보(SSID, Password)와 MIK 플랫폼 접속을 위한 정보(userID) 메시지 송수신을 위한

Project, Subscribe Topic(수신), Publish Topic(송신), deviceID(장치간 구분)를 작성한다.

Ÿ 13~14행은 makeTopic 매소드를 이용해 ADIIoT 플랫폼으로 송수신하는 데이터의 토픽을 ADIIoT 플랫폼에서 요구하

는 포맷에 맞춰서 생성해준다.

Ÿ 35행의 setMQTTInfo 매소드를 통해 WiFi모듈에 ADIIoT플랫폼에 대한 접속 정보를 설정한다.

Ÿ 38행의 MQTTConnect 매소드를 통해 WiFi 모듈을 ADIIoT플랫폼으로 연결시킨다

Ÿ 40행의 setMQTTSubscribe 매소드를 통해 ADIIoT플랫폼에 토픽을 이용해 데이터 수신을 등록한다.

Ÿ 46행의 AdiiotRecv 매소드를 통해 WiFi 모듈이 ADIIoT플랫폼으로부터 받은 메시지를 수신한다.

Ÿ 49행의 getDevice 매소드를 통해 수신한 데이터에 대한 디바이스 이름을 호출한다.

Ÿ 51행의 getData 매소드를 통해 수신한 데이터를 호출한다.

Ÿ 58행의 MQTTPublish 매소드를 통해 ADIIoT플랫폼으로 메시지를 송신한다. 메시지 전송을 위해 Topic과 DeviceID,

데이터가 필요하다.

[ 16/42 ]

Page 18: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

E08.ADIIoT_WiFi_TCPClient

Ÿ ‘사물인터넷 쉴드’모듈의 WiFi 통신을 활용하여 별도로 구현된 TCP/IP 서버에 연결하여 메시지를 송수신 할 수 있는

아두이노 TCP 클라이언트 예제

※ 해당 예제는 사용자가 직접 구현하는 별도의 TCP 서버에 아두이노를 연동하기 위한 클라이언트 예제이며

ADIIoT에서는 제공하는 스마트홈 콘텐츠(ADIIoT_SmartHome_TCPServer)를 응용하여 구현이 가능

가. 준비사항

Ÿ 사물인터넷 쉴드, 아두이노 우노

나. 연결 방법

① ‘사물인터넷 쉴드’를 아두이노 우노에 결합하기 위해 먼저 연장핀을 사물인터넷 쉴드에 연결한다.

② 연장핀이 연결된 ‘사물인터넷 쉴드’를 아두이노 우노에 결합한다.

③ 원하는 기능의 TCP/IP 서버를 구현한다.

④ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E08.ADIIoT_WiFi_MQTT 예제를 불러온다.

⑤ E08.ADIIoT_WiFi_MQTT 예제를 구현된 TCP/IP 서버에 맞게 수정하여 실행한다.

다. 실행 결과

[ 17/42 ]

Page 19: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

라. 예제 설명

[ 2Page ADIIoT WiFi API(ADIIoTWiFi.h) 참조 ]

Ÿ 5~8행에 WiFi 모듈이 AP 장치에 접속하기 위한 정보(SSID, Password)와 TCP Server에 접속하기 위한 정보(TCP

Server IP, TCP Server Port)를 작성한다.

Ÿ 28행의 TCPConnect 매소드를 통해 TCP Server의 IP와 Port정보를 WiFi 모듈로 전송되고 전송받은 정보를 통해 WiFi

모듈이 TCP Server에 접속한다.

Ÿ 34행의 WiFiRecv 매소드를 통해 TCP Server로부터 WiFi 모듈이 수신하는 데이터를 수신한다.

Ÿ 14행의 TCPSend 매소드를 통해 TCP Server로 메시지를 송신한다.

※ TCPConnect 매소드 사용시 WiFi 모듈에 TCP Receiver 함께 등록

[ 18/42 ]

Page 20: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

E09.ADIIoT_WiFi_UDPClient

Ÿ ‘사물인터넷 쉴드’모듈의 WiFi 통신을 활용하여 별도로 구현된 UDP 서버에 연결하여 메시지를 송수신 할 수 있는 아

두이노 UDP 클라이언트 예제

※ 해당 예제는 사용자가 직접 구현하는 별도의 UDP 서버에 아두이노를 연동하기 위한 클라이언트 예제이며

ADIIoT에서는 제공하는 스마트홈 콘텐츠(ADIIoT_SmartHome_UDPServer)를 응용하여 구현이 가능

가. 준비사항

Ÿ 사물인터넷 쉴드, 아두이노 우노

나. 연결 방법

① ‘사물인터넷 쉴드’를 아두이노 우노에 결합하기 위해 먼저 연장핀을 사물인터넷 쉴드에 연결한다.

② 연장핀이 연결된 ‘사물인터넷 쉴드’를 아두이노 우노에 결합한다.

③ 원하는 기능의 UDP 서버를 구현한다.

④ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E09.ADIIoT_WiFi_UDPClient 예제를 불러온다.

⑤ E09.ADIIoT_WiFi_UDPClient 예제를 구현된 UDP 서버에 맞게 수정하여 실행한다.

다. 실행 결과

[ 19/42 ]

Page 21: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

라. 예제 설명

[ 2Page ADIIoT WiFi API(ADIIoTWiFi.h) 참조 ]

Ÿ 5~9행에 WiFi 모듈이 AP 장치에 접속하기 위한 정보(SSID, Password)와 UDP 프로토콜을 사용할 정보(Receive Port,

Send IP, Send Port)들을 작성한다.

Ÿ 29행에 데이터를 수신하기 위한 Port를 WiFi 모듈로 넘겨준다. Port를 설정할 경우 UDP 프로토콜을 사용하여 통신

하는 다른 장치로부터 메시지 수신이 가능하다.

Ÿ WiFiRecv 매소드를 이용하여 WiFi 모듈이 UDP 프로토콜로 수신한 데이터를 수신 받는다.

Ÿ udpSend는 UDP 프로토콜을 이용하여 메시지를 송신하기 위한 매소드로 42행과 같이 보낼곳의 IP와 Port, 메시지를

WiFi 모듈로 전송해준다.

[ 20/42 ]

Page 22: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

E10.ADIIoT_WiFi_WebServer

Ÿ ‘사물인터넷 쉴드’모듈의 WiFi 통신을 활용하여 WiFi 모듈을 Web 서버로 실행하여 외부 PC 혹은 모바일 인터넷을

통해 아두이노 웹서버 페이지에 접속하는 예제

가. 준비사항

Ÿ 사물인터넷 쉴드, 아두이노 우노

나. 연결 방법

① ‘사물인터넷 쉴드’를 아두이노 우노에 결합하기 위해 먼저 연장핀을 사물인터넷 쉴드에 연결한다.

② 연장핀이 연결된 ‘사물인터넷 쉴드’를 아두이노 우노에 결합한다.

③ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E10.ADIIoT_WiFi_WebServer 예제를 실행한다.

다. 실행 결과

[ 21/42 ]

Page 23: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

라. 예제 설명

[ 2Page ADIIoT WiFi API(ADIIoTWiFi.h) 참조 ]

Ÿ 5~6행에 WiFi 모듈이 AP 장치에 접속하기 위한 정보(SSID, Password)를 작성한다.

Ÿ 26행에 webServerBegin 매소드를 통해 WiFi 모듈을 WebServer로 구동시킨다.

Ÿ 26행의 webServerAvailable 매소드를 통해 웹브라우저를 통해 WebServer로 접속 유무를 확인한다.

Ÿ 33~35행은 webServerContent 매소드를 이용해 웹페이지를 구성하는 HTML 코드를 WiFi 모듈로 전송한다.

Ÿ 36행의 endContent 매소드는 웹페이지를 구성하는 HTML 코드의 전송이 완료되었음을 WiFi 모듈에 알린다.

[ 22/42 ]

Page 24: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

E11.ADIIoT_WiFi_WebClient

Ÿ ‘사물인터넷 쉴드’모듈의 WiFi 통신을 활용하여 WiFi 모듈을 Web 클라이언트로 실행하여 외부 PC 혹은 모바일 인터

넷을 통해 아두이노 웹서버 페이지에 접속하는 예제

가. 준비사항

Ÿ 사물인터넷 쉴드, 아두이노 우노

나. 연결 방법

① ‘사물인터넷 쉴드’를 아두이노 우노에 결합하기 위해 먼저 연장핀을 사물인터넷 쉴드에 연결한다.

② 연장핀이 연결된 ‘사물인터넷 쉴드’를 아두이노 우노에 결합한다.

③ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E11.ADIIoT_WiFi_WebClient 예제를 실행한다.

다. 실행 결과

[ 23/42 ]

Page 25: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

라. 예제 설명

[ 2Page ADIIoT WiFi API(ADIIoTWiFi.h) 참조 ]

Ÿ 5~7행에 WiFi 모듈이 AP 장치에 접속하기 위한 정보(SSID, Password)와 Request할 URL을 지정해준다.

Ÿ 27행의 setRequestInfo는 리퀘스트하기 위한 정보를 지정하는 매소드로 wifi.setRequestInfo 매소드의 매개 변수가 없

는 경우 ADIIoT 플랫폼의 리퀘스트 페이지 정보가 지정되고, 매개 변수로 IP와 Port를 넘겨줄 경우 사용자가 원하는

페이지로 리퀘스트 할 수 있다.

Ÿ 33행의 webRequest는 리퀘스트하는 매소드로 리퀘스트 할 페이지의 URL를 매개변수로 가진다.

Ÿ 34행의 RequestTimeOutCheck는 리퀘스트 요청 후 5초 동안 대기하면 5초 안에 데이터가 수신될 경우 수신된 메시

지를 출력하고 수신되지 않을 경우 Time out 메시지를 출력한다.

Ÿ 리퀘스트 후 수신할 데이터가 있는 경우 HTTP 상태코드, 데이터 형식으로 메시지를 수신한다.

Ÿ RequestURL 변수의 default 값을 1로 전달할 경우 default 1 OK를 HTTP 상태코드와 함께 리스폰 한다.

[ 24/42 ]

Page 26: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

E12.ADIIoT_BLE

Ÿ ‘사물인터넷 쉴드’모듈의 블루투스 통신을 활용하여 블루투스 모듈의 동작을 테스트하는 예제

가. 준비사항

Ÿ 사물인터넷 쉴드, 아두이노 우노

나. 연결 방법

① ‘사물인터넷 쉴드’를 아두이노 우노에 결합하기 위해 먼저 연장핀을 사물인터넷 쉴드에 연결한다.

② 연장핀이 연결된 ‘사물인터넷 쉴드’를 아두이노 우노에 결합한다.

③ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E12.ADIIoT_BLE 예제를 실행한다.

다. 실행 결과

라. 예제 설명

[ 1Page ADIIoT BLE API(ADIIoTBLE.h) 참조 ]

Ÿ ADIIoT ‘사물인터넷 쉴드’의 블루투스 모듈인 HM-10의 저정된 AT 명령서를 전송하여 응답 베시지를 수신

[ 25/42 ]

Page 27: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

E13.ADIIoT_BLE_iBeacon

Ÿ ‘사물인터넷 쉴드’모듈의 블루투스 통신을 활용하여 블루투스 모듈을 iBeacon 디바이스로 설정하여 비콘 모드를 동

작 시키는 예제

가. 준비사항

Ÿ 사물인터넷 쉴드, 아두이노 우노

나. 연결 방법

① ‘사물인터넷 쉴드’를 아두이노 우노에 결합하기 위해 먼저 연장핀을 사물인터넷 쉴드에 연결한다.

② 연장핀이 연결된 ‘사물인터넷 쉴드’를 아두이노 우노에 결합한다.

③ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E13.ADIIoT_BLE_iBeacon 예제를 실행한다.

다. 실행 결과

[ 26/42 ]

Page 28: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

라. 예제 설명

[ 1Page ADIIoT BLE API(ADIIoTBLE.h) 참조 ]

Ÿ E12.MIK_BLE 예제의 매소드들을 이용하여 Bluetooth 모듈을 iBeacon 모드로 동작 시킨다.

※ iBeacon으로 실행된 아두이노는 스마트폰 비콘 조회 앱을 통해 실행된 디바이스를 연결할 수 있습니다.

[ iBeacon 조회 스마트폰 앱 ]

[ 27/42 ]

Page 29: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

E14.ADIIoT_TempHumi_Light_MQTT

Ÿ ‘사물인터넷 쉴드’모듈의 WiFi 통신을 통해 ADIIoT 플랫폼에 연결하여 ‘온습도센서’, ‘조도센서’를 통해 측정된 센서

데이터를 ADIIoT 플랫폼으로 전송하는 예제

Ÿ ADIIoT에서 제공하는 스마트홈 콘텐츠(SmartHome_MQTT01, SmartHome_MQTT02) 예제를 활용

가. 준비사항

Ÿ 사물인터넷 쉴드, 아두이노 우노, 온습도센서, 조도센서, GROVE 케이블(2EA)

나. 연결 방법

① ‘사물인터넷 쉴드’를 아두이노 우노에 결합하기 위해 먼저 연장핀을 사물인터넷 쉴드에 연결한다.

② 연장핀이 연결된 ‘사물인터넷 쉴드’를 아두이노 우노에 결합한다.

③ 온습도센서와 조도센서를 GROVE 케이블을 사용하여 ‘사물인터넷 쉴드’에 연결한다.

④ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E14.ADIIoT_TempHumi_Light_MQTT 예제를 실행

한다.

다. 실행 결과

[ 28/42 ]

Page 30: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

Ÿ SmartHome_MQTT01 안드로이드 예제 및 C# 실행 후 ADIIoT 플랫폼 계정을 통해 로그인 후 Project, Device, Topic

을 설정하고 START THL MONITORING 버튼을 터치하여 설정 내용을 저장한다.

Ÿ 위 화면과 같이 온습도, 조도 데이터를 모니터링

Ÿ SmartHome_MQTT02 안드로이드 혹은 C# 예제도 위의 설정사항과 동일하게 설정하여 온습도, 조도 데이터를 그래

프형태로 모니터링

라. 예제 설명

Ÿ 연결된 센서의 데이터를 51,52행과 같이 읽어 들인다.

Ÿ 읽어 들인 데이터를 데이터 포맷에 맞춰 53행과 같이 문자열로 만들어 준다.

Ÿ 데이터 포맷에 맞춰 생성한 문자열을 53행의 MQTTPublish 매소드를 통해 ADIIoT 플랫폼으로 데이터를 송신한다.

Ÿ 전송된 데이터를 ADIIoT 플랫폼 사이트의 ‘MQTT Socket’ 페이지를 통해 확인하거나 안드로이드 애플리케이션 또는

C# 프로그램을 통해 확인한다.

[ 29/42 ]

Page 31: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

E15.ADIIoT_Sound_Hall_MQTT

Ÿ ‘사물인터넷 쉴드’모듈의 WiFi 통신을 통해 ADIIoT 플랫폼에 연결하여 ‘소리감지센서’, ‘자석/자기감지센서’를 통해 감

지되는 이벤트를 ADIIoT 플랫폼으로 전송하는 예제

Ÿ ADIIoT에서 제공하는 스마트홈 콘텐츠(SmartHome_MQTT03) 예제를 활용

가. 준비사항

Ÿ 사물인터넷 쉴드, 아두이노 우노, 소리감지센서, 자석/자기감지센서, GROVE 케이블(2EA)

나. 연결 방법

① ‘사물인터넷 쉴드’를 아두이노 우노에 결합하기 위해 먼저 연장핀을 사물인터넷 쉴드에 연결한다.

② 연장핀이 연결된 ‘사물인터넷 쉴드’를 아두이노 우노에 결합한다.

③ 소리감지센서와 자석/자기감지센서를 GROVE 케이블을 사용하여 ‘사물인터넷 쉴드’에 연결한다.

④ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E15.ADIIoT_Sound_Hall_MQTT 예제를 실행한다.

다. 실행 결과

[ 30/42 ]

Page 32: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

Ÿ SmartHome_MQTT03 안드로이드 예제 및 C# 예제 실행 후 ADIIoT 플랫폼 계정을 통해 로그인 후 Project, Device,

Topic을 설정하고 START HALL/SOUND MONITORING 버튼을 터치하여 설정 내용을 저장한다.

Ÿ 위 화면과 같이 자석/자기감지센서와 소리감지센서의 데이터를 수신하여 칩입을 감지

라. 예제 설명

Ÿ 소리감지센서의 데이터가 HIGH 일 경우 5초안에 자석/자기감지센서의 자석이 탈착될 경우 루프를 빠져나와 소리감

지센서와 자석/자기감지센서의 데이터를 ADIIoT 플랫폼으로 전송한다.

Ÿ 전송된 감지 이벤트 데이터를 ADIIoT 플랫폼 사이트의 ‘MQTT Socket’ 페이지를 통해 확인하거나 안드로이드 애플리

케이션 또는 C# 프로그램을 통해 확인한다.

[ 31/42 ]

Page 33: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

E16.ADIIoT_LEDButton_MQTT

Ÿ ‘사물인터넷 쉴드’모듈의 WiFi 통신을 통해 ADIIoT 플랫폼에 연결하고, ‘LED 버튼 모듈’을 사용하여 ADIIoT 플랫폼의

‘MQTT Socket’ 페이지를 통해 LED ON/OFF 제어 신호를 수신하여 모듈을 제어하는 예제

Ÿ ADIIoT에서 제공하는 스마트홈 콘텐츠(SmartHome_MQTT04) 예제를 활용

가. 준비사항

Ÿ 사물인터넷 쉴드, 아두이노 우노, LED 버튼모듈, GROVE 케이블

나. 연결 방법

① ‘사물인터넷 쉴드’를 아두이노 우노에 결합하기 위해 먼저 연장핀을 사물인터넷 쉴드에 연결한다.

② 연장핀이 연결된 ‘사물인터넷 쉴드’를 아두이노 우노에 결합한다.

③ ‘LED버튼모듈’을 GROVE 케이블을 사용하여 ‘사물인터넷 쉴드’에 연결한다.

④ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E16.ADIIoT_LEDButton_MQTT 예제를 실행한다.

다. 실행 결과

[ 32/42 ]

Page 34: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

Ÿ SmartHome_MQTT04 안드로이드 예제 및 C# 예제 실행 후 ADIIoT 플랫폼 계정을 통해 로그인 후 Project, Device,

Topic을 설정하고 START HALL/SOUND MONITORING 버튼을 터치하여 설정 내용을 저장한다.

Ÿ ON/OFF 버튼을 통해 조명을 제어

라. 예제 설명

Ÿ 51행의 AdiiotRecv 매소드를 통해 ON/OFF 신호를 수신한다.

Ÿ 52~55행은 getData를 통해 수신한 데이터가 1인지 0인지 검사하여 ledState 값을 HIGH와 LOW로 변경해준다.

Ÿ 변경된 ledState 값을 57행과 같이 ADIIoT 플랫폼으로 전송하고 58행의 digitalWrite 매소드를 통해 LED를 ON/OFF

제어한다.

Ÿ ADIIoT 플랫폼으로 전송된 ledState 값에 따라 C#, 안드로이드 애플리케이션 의 조명의 상태와 버튼의 상태가 변경

되는 것을 모니터링한다.

[ 33/42 ]

Page 35: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

E17.ADIIoT_TempHumi_WebServer

Ÿ ‘사물인터넷 쉴드’모듈의 WiFi 통신으로 아두이노를 웹서버로 구동하고, 웹 페이지를 통해 연결된 ‘온습도센서’의 데

이터를 출력하는 예제

가. 준비사항

Ÿ 사물인터넷 쉴드, 아두이노 우노, 온습도센서, GROVE 케이블

나. 연결 방법

① ‘사물인터넷 쉴드’를 아두이노 우노에 결합하기 위해 먼저 연장핀을 사물인터넷 쉴드에 연결한다.

② 연장핀이 연결된 ‘사물인터넷 쉴드’를 아두이노 우노에 결합한다.

③ ‘온습도센서’를 GROVE 케이블을 사용하여 ‘사물인터넷 쉴드’에 연결한다.

④ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E17.ADIIoT_TempHumi_WebServer 예제를 실행 한

다.

다. 실행 결과

Ÿ 웹브라우저 주소창에 아두이노 IDE 시리얼 모니터를 통해 확인한 WiFi 모듈의 IP를 입력

Ÿ 웹브라우저를 통해 온습도 데이터를 모니터링

[ 34/42 ]

Page 36: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

라. 예제 설명

Ÿ 온습도 센서를 스마트 홈 쉴드에 연결하여 데이터를 읽어 들인다.

Ÿ 읽어들인 데이터를 HTML 문법에 맞게 대입하여 webServerContent 매소드를 통해 42~48행과 같이 작성한다.

Ÿ HTML 코드 전송이 완료됨을 알리기위해 49행과 같이 endContent 메소를 호출한다.

Ÿ WiFi 모듈의 Local IP를 웹브라우저 주소에 입력하여 웹페이지를 통해 온습도 데이터를 모니터링 한다.

[ 35/42 ]

Page 37: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

E18.ADIIoT_Sound_Hall_TCPClient

Ÿ ‘사물인터넷 쉴드’모듈의 WiFi 통신으로 아두이노를 웹 클라이언트로 구동하고, 연결된 소리감지센서와 자석/자기감

지센서의 감지 이벤트를 외부의 TCP/IP 서버로 전송하는 예제

Ÿ ADIIoT에서 제공하는 스마트홈 콘텐츠(SmartHome_TCPServer) 예제를 활용

가. 준비사항

Ÿ 사물인터넷 쉴드, 아두이노 우노, 소리감지센서, 자석/자기감지센서, GROVE 케이블(2EA)

나. 연결 방법

① ‘사물인터넷 쉴드’를 아두이노 우노에 결합하기 위해 먼저 연장핀을 사물인터넷 쉴드에 연결한다.

② 연장핀이 연결된 ‘사물인터넷 쉴드’를 아두이노 우노에 결합한다.

③ ‘소리감지센서’와 ‘자석/자기감지센서’를 GROVE 케이블을 사용하여 ‘사물인터넷 쉴드’에 연결한다.

④ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E18.ADIIoT_Sound_Hall_TCPClient 예제를 실행

다. 실행 결과

Ÿ PC의 IP주소와 Port를 E18.ADIIoT_Sound_Hall_TCPClient에 입력하고 자석/자기감지센서와, 소리감지센서의 데이터를

수신하여 침입을 감지

[ 36/42 ]

Page 38: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

라. 예제 설명

Ÿ 소리감지센서의 데이터가 HIGH 일 경우 5초안에 자석/자기감지센서의 자석이 탈착될 경우 루프를 빠져나와 소리감

지센서와 자석/자기감지센서의 데이터를 TCPServer로 전송한다.

Ÿ 전송된 감지 이벤트 데이터를 C# 프로그램을 통해 확인한다.

[ 37/42 ]

Page 39: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

E19.ADIIoT_TempHumi_Light_UDPClient

Ÿ ‘사물인터넷 쉴드’모듈의 WiFi 통신으로 아두이노를 UDP 클라이언트로 구동하고, 연결된 온습도센서와 조도센서의

데이터를 외부의 UDP 서버로 전송하는 예제

Ÿ ADIIoT에서 제공하는 스마트홈 콘텐츠(SmartHome_UDPServer) 예제를 활용

가. 준비사항

Ÿ 사물인터넷 쉴드, 아두이노 우노, 온습도센서, 조도센서, GROVE 케이블(2EA)

나. 연결 방법

① ‘사물인터넷 쉴드’를 아두이노 우노에 결합하기 위해 먼저 연장핀을 사물인터넷 쉴드에 연결한다.

② 연장핀이 연결된 ‘사물인터넷 쉴드’를 아두이노 우노에 결합한다.

③ ‘소리감지센서’와 ‘자석/자기감지센서’를 GROVE 케이블을 사용하여 ‘사물인터넷 쉴드’에 연결한다.

④ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E19.ADIIoT_TempHumi_Light_UDPClient 예제를 실

행한다.

다. 실행 결과

Ÿ ADIIoT SmartHome_UDPServer c# 예제를 실행

Ÿ 실행한 PC의 IP주소와 Port를 E19.ADIIoT_TempHumi_Light_UDPClient에 입력하고 모니터링

[ 38/42 ]

Page 40: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

라. 예제 설명

Ÿ 각 센서를 ‘사물인터넷 쉴드’에 연결하여 40,41행과 같이 데이터를 읽어 들인다.

Ÿ 읽어 들인 데이터를 데이터 포맷에 맞춰 43행과 같이 문자열로 만들어 준다.

Ÿ 데이터 포맷에 맞춰 만들어진 문자열을 UDP 프로토콜을 이용해 데이터를 송신한다.

Ÿ C# SmartHome_UDPServer 프로그램을 통해 데이터를 모니터링 한다.

[ 39/42 ]

Page 41: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

E20.ADIIoT_LEDButton_BLE

Ÿ ‘사물인터넷 쉴드’모듈의 블루투스 통신을 활용하여 아두이노를 연결된 ‘LED버튼모듈’을 제어할 수 있는 블루투스 디

바이스로 구동하는 예제

Ÿ ADIIoT에서 제공하는 스마트홈 콘텐츠(SmartHome_BLE02) 예제를 활용

가. 준비사항

Ÿ 사물인터넷 쉴드, 아두이노 우노, LED버튼모듈, GROVE 케이블

나. 연결 방법

① ‘사물인터넷 쉴드’를 아두이노 우노에 결합하기 위해 먼저 연장핀을 사물인터넷 쉴드에 연결한다.

② 연장핀이 연결된 ‘사물인터넷 쉴드’를 아두이노 우노에 결합한다.

③ ‘LED버튼모듈’을 GROVE 케이블을 사용하여 ‘사물인터넷 쉴드’에 연결한다.

④ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E20.ADIIoT_LEDButton_BLE 예제를 실행

다. 실행 결과

Ÿ ADIIoT SmartHome_MQTT02 안드로이드 예제 실행 후 우측상단 CONNECT를 터치하여 블루투스 장치를 선택하여

connecting

Ÿ ON/OFF 버튼을 통해 조명을 제어

[ 40/42 ]

Page 42: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

라. 예제 설명

Ÿ ‘LED버튼모듈’을 ‘사물인터넷 쉴드’에 연결하고 LED와 Button을 연결한 각 핀을 3~4행과 같이 지정해준다.

Ÿ 10행과 같이 pinMode를 INPUT과 OUTPUT으로 설정해준다.

Ÿ BLEReturn 매소드는 Bluetooth 통신을 통해 받은 메시지를 문자열로 반환해주는 매소드이다.

Ÿ 19~24행은 수신된 데이터를 토대로 ledState 값을 변경해준다.

Ÿ digitalWrite를 통해 변경된 ledState 값대로 LED를 ON/OFF하고 ledState값을 안드로이드 애플리케이션으로 전송한

다.

Ÿ 26~30행은 버튼으로부터 입력 받은 데이터가 HIGH일 경우 Bluetooth 통신을 통해 “ADIIoT Device”를 전송한다.

[ 41/42 ]

Page 43: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

E21.ADIIoT_TempHumi_iBeacon

Ÿ ‘사물인터넷 쉴드’모듈의 블루투스 통신을 활용하여 아두이노를 Beacon 모드로 동작 시켜 연결된 ‘온습도센서’ 데이

터를 스마트폰 앱으로 전송하는 예제

Ÿ ADIIoT에서 제공하는 스마트홈 콘텐츠(SmartHome_BLE01) 예제를 활용

가. 준비사항

Ÿ 사물인터넷 쉴드, 아두이노 우노, 온습도센서, GROVE 케이블

나. 연결 방법

① ‘사물인터넷 쉴드’를 아두이노 우노에 결합하기 위해 먼저 연장핀을 사물인터넷 쉴드에 연결한다.

② 연장핀이 연결된 ‘사물인터넷 쉴드’를 아두이노 우노에 결합한다.

③ ‘온습도센서’를 GROVE 케이블을 사용하여 ‘사물인터넷 쉴드’에 연결한다.

④ ‘아두이노 우노’의 USB를 연결하고 아두이노 스케치 프로그램에서 E21.ADIIoT_TempHumi_iBeacon 예제를 실행

다. 실행 결과

Ÿ ADIIoT SmartHome_BLE01 안드로이드 예제 실행

Ÿ SCAN START 버튼을 터치하여 Major와 Minor값에 지정되어 있는 온습도 데이터를 모니터링한다.

[ 1/42 ]

Page 44: ADIIoT(Arduino Do It IoT) KIT Arduino Library Manualphysi.ipdisk.co.kr/publist/HDD1/2. Download/1.ADIIOT... · 2019-05-27 · ADIIoT(Arduino Do It IoT) KIT Arduino Library Manual

라. 예제 설명

Ÿ BLEName 매소드를 통해 Bluetooth 모듈의 이름을 지정해준다.

Ÿ 19행의 iBeacon 매소드를 통해 Bluetooth 모듈이 Beacon 모드로 동작하도록 모드를 1로 지정해준다.

Ÿ 24행의 AdvertisingInterval 매소드를 통해 Bluetooth 모듈이 Beacon 모드로 동작할 때 광고 간격을 지정해준다.

Ÿ 위 설정들을 Bluetooth 모듈에 적용하기 위해 28행과 같이 Bluetooth 모듈을 리셋 시켜준다.

Ÿ 온습도 센서로 받은 데이터를 37, 38행과 같이 실수에서 정수타입으로 변환해주고, 메이저와 마이너 값에 각각 데이

터를 실어 보내기 위해 39, 40행과 같이 헥사코드로 변환해준다.

Ÿ 변환된 온습도 데이터를 42, 44행과 같이 iBeaconMajor, iBeaconMinor 매소드를 이용해 메이저 마이너 값으로 설정

하고, 메이저 마이너 값으로 설정된 내용을 Bluetooth 모듈에 적용하기 위해 48행과 같이 Bluetooth 모듈을 리셋시

켜 설정 내용을 적용시킨다.

Ÿ 안드로이드 애플리케이션을 통해 Beacon 데이터를 수신하여 모니터링 한다.

[참고]

§ IoT 디바이스와 클라이언트 앱 간의 Publish 메시지에 특수문자 [ @ ] [ ; ] [ : ] [ / ]를 사용할

경우 오류가 발생할 수 있습니다. 따라서 위와 같은 특수문자가 메시지에 포함될 경우 다른 문자

로 변경하여 메시지를 전송하시기 바랍니다.

[ 42/42 ]