아두이노 피지컬컴퓨팅 교구로 활용할 수 있는 실 생할용품 메이킹 프로젝트(워터맨IOT) 아홉번째.

 

 

IFTTT :  IFTTT (IF This Then That) 만약 This 조건이 맞으면 That 액션을 자동으로 수행하라 는 기능을 서비스해 주는 사물인터넷(IOT) 플랫폼이다. 이때  조건과 액션의 쌍을 다양하게 지정함으로써 다양한 IOT서비스들을 만들어 낼 수 있다. 예를 들어 사진을 찍으면 페북에 올려라. 또는 학교에 도착하면 진동모드로 바꿔라 든지 하는 서비스를 직접 만들 수 있을 뿐만 아니라 삼성,LG 등 가전기기에서도 IFTTT를 지원하는 추세이므로 내가 아파트 입구에 도착하면 에어컨을 켜라 라는 등의 가전기기의 스마트 제어 IOT기능을 개발할 수도 있다.

 

 본 프로젝트에서는 화분에 토양수분이 부족해지면 지정된 스마트폰에 물 부족해 “목마르다” 는 메시지를  자동으로 전송하는 용도로 활용해 본다.   

 

IFTTT가입 : https://ifttt.com 에 접속하여 신규회원으로 가입한다. 그런데 IFTTT 서비스는 MS 익스를로러 브라우저를 지원하지 않으므로 구글크롬 브라우저를 이용해야 하며, 구글계정이나 페이스북 계정을 이용하여 회원가입할 수도 있다. 

 

 

 

 

 

 

IFTTT Applet만들기  

 

 

 

새로운 Applet를 생성하기 위해 My Applet메뉴에서 New Applet버튼을 선택한다

 

 

This조건을 지정하기 위해 +this 버튼을 선택한다.

 

 

This조건으로 지정할 수 있는 수백가지 서비스들이 표시되는데 web이라는 조건을 검색하여 webhook라는 서비스를 선택한다.

 

 

Webhook라는 서비스는 web으로 메시지를 받아 특정 조건에 해당하는지 여부를 Check 하기 위한 것으로, 본 프로젝트에서는 Waterman-IOT기기에서 토양수분/온도를 확인하여 필요할 경우 이 Webhook서비스에 web message를 전송하는 방식이다.   

 

 

Event Name에 iot_test 라 입력하고 Create trigger 버튼을 선택한다. 이 Event Name으로 추후 프로그램에서 조건의 종류를 구분하게 되며, 생성이 완료되면 아래와 같이 If 조건부에 webhook 아이콘이 표시되고, That 액션을 선택할 있는 상태가 된다.

 

 

   

 

That Action으로 사용할 수 있는 서비스도 수백가지 있는데 아래와 같이 notification으로 검색하여 스마트폰 Notification 서비스를 선택한다.

 

 

 

 

 

 

 

 

Messge란에는 Notification이 올 때 함께 표시될 메시지 내용을 입력하고 Create action 버튼을 선택하면 Applet에 대한 설정이 완료된다.

 

 

 

스마트폰 APP 설치

 

 

본 서비스는 스마트폰 연동용이므로 스마트폰에도 IFTTT APP을 설치한다.

 

 

 

 

Play스토어에서 “IFTTT”라고  검색하여 APP을 설치한다. 

 

 

 

 

PC에서 접속했던 동일한 ID로 접속한다.

 

 

IFTTT 기능 테스트

 

 

 

크롬 웹브라우저에서 https://ifttt.com/maker_webhooks에 접속한 후 Documentation 버튼을 선택하여 Webhooks 테스트 안내 페이지를 표시해 본다.  

 

 

 

 

여기에서 표시되는 key가 사용자별 webhook서비스 키값으로써 추후 프로그램에서 기능 호출할 때 지정해 주어야 하는 키값이다.

 

 

{event} 부분에 이전에 작성했던 iot_test 라는 event_name을 지정하고 Test it 버튼을 선택하면 IFTTT가 설치된 본인의 스마트폰에 다음과 같이 메시지가 전송된다.

 

 

 

 

크롬 웹브라우저 주소창에 위 형식으로 입력해도 마찬가지로 스마트폰에 메시지가 전송된다, 즉 ESP8266 에서 웹에 접속하여 위 형식으로 http request를 해도 스마트폰으로  메시지가 전송되게 된다.

 

 

 

 

 

 

 

 

아두이노 피지컬컴퓨팅 교구로 활용할 수 있는 실 생할용품 메이킹 프로젝트(워터맨IOT) 여덟번째.

 

 

ThingSpeak에 데이터 저장하기 : 다음과 같이 인터넷으로 ThingSpeak서버에 접속하여 Write API Key와 함께 Field별 데이터 값을 지정해 주면 된다.

 

 

  3  line:  접속할 ThingSpeak 서버 주소
  4  line:  본인 ThingSpeak 채널의 Write API key
  8  line:  접속하고자 하는 공유기의 SSID와 password
 14  line:  Field1에 12, Field2에 34 .. 와 같이 Field별 저장할 값을 지정한다.
 19  line:  X-THINGSPEAKAPIKEY라는 http header에 API key값을 지정한다.

 

 

스마트폰으로 ThingSpeak챠트 보는 방법

 

 

 

1) Play스토어에서 “thingview” 검색하여 APP을 설치한다. 

 

2) 조회할 채널을 추가한다.

 

 

3)채널ID를 입력, Private지정하고 Read API키를 입력한다.

 

4) 이상이 완료되면 해당 채널의 챠트가 표시된다.

 

 

중간과제

 

 

 매1분마다 온도,습도,조도,토양수분 값을 측정하여 ThingSpeak서버에 전송하고 변화내역을 챠트로 조회하는 기능을 구현해 보기 

 

 

 

 

 

중간과제 샘플

 

 

16~19 : 각자의 환경에 맞는 공유기 SSID/Password와 각자 채널별 Write API key
20~38  line:  온습도,조도 센서값웹 읽기 및 토양수분센서에 전원 공급하고 측정하기
39~77 line:  ThingSpeak서버에 접속하여 센서측정값 upload하기

 

 

아두이노 피지컬컴퓨팅 교구로 활용할 수 있는 실 생할용품 메이킹 프로젝트(워터맨IOT) 일곱번째.

 

ThingSpeak :  수치해석용 소프트웨어인 MATHLAB이라는 제품으로 유명한 MathWorks사에서 제공하는 사물인터넷(IOT) 플랫폼이다. Thingspeak 서비스를 이용하면 각종 데이터를 인터넷 클라우드 기능으로 수집,저장해 놓고 MATHLAB 툴을 이용하여 각종 분석을 할 수 있으며,  데이터를 Chart형태로 시각화 하거나 API기능을 이용하여 여러가지  웹서비스를 개발할 수도 있다.

즉, ThingSpeak서버에 자신만의 채널을 개설해 놓고 각종 센서에서 계속 발생되는 데이터를 인터넷을 통해 자동으로 ThingSpaeak서버에 전송,축적함으로써 필요할 때 데이터가 변화되는 모양을 그래프형태로 참조하기 위한 용도로 많이 사용하는 IOT 클라우드 서비스이다.

최근 ThingSpaek 서비스는 유료화 되었지만, 하루 8200개 이하의 데이터 저장은 무료이므로 개인용 또는 학습용도의 웬만한 기능은 문제없이 무료로 사용할 수 있다.    

 

ThingSpeak가입 : https://thingspeak.com에 접속하여 신규회원으로 가입한다.

 

 

회원가입정보를 입력하면 입력한 Email주소로 확인메일이 오게 되는데 이를 확인하면 ThingSpeak서비스에 로그인할 수 있게 된다. 

 

 

 

 

 

ThingSpeak채널개설

 

데이터수집의 용도별로 채널이라는 것을 개설하고 하나의 채널에 8개까지의 필드를 구분하여 데이터를 수집할 수 있다.  ThingSpeak메뉴의 Channels -> My Channelss -> New Channel을 선택하여 새 채널을 생성하고 내용을 설정한다    

 

 

 

채널의 Name과 Description은 각자 원하는 대로 입력한다.

 

채널에는 4개의 필드를 추가하여 온도,습도,조도,토양수분 용도로 각각 적당한 명칭을 지정한다. 이 명칭은 추후 챠트를 조회할 때 챠트의 명칭으로 표시된다.

 

프로그램에서는 filed명의 순서로 데이터를 지정하므로 field1=온도,field2=습도, field3=조도, field4=토양수분 의 순서가 되도록 차례대로 영칭을 부여한다.

 

 

 

 

 

채널이 등록 완료된 후 채널의 데이터들을 사용하려면 Channel ID와 API Key를 지정해 주어야 한다. 즉, Channel Settings 메뉴의 Channel ID와 API Key 메뉴의 Write API Key와 Read API Key를 별도로 메모해 두어야 한다. 

 

 

 

 

 

+ Recent posts