Endpoint 사용해 보기
엔드 포인트 사용
Thinger.io에서 엔드 포인트는 장치에서 액세스 할 수 있는 일종의 외부 리소스로 정의됩니다. 엔드 포인트 기능을 사용하면 장치에서 전자 메일, SMS, 외부 웹 서비스로 데이터 전송, IFTTT 및 WebHook (HTTP / HTTPS URL 호출)을 사용하여 수행 할 수있는 일반적인 작업을 손쉽게 수행 할 수 있습니다.
엔드 포인트를 호출하는 것은 Arduino 스케치에서 매우 쉽습니다. 그것은 thing 클래스의 call_endpoint 메소드를 호출하기만 하면 된다.
thing.call_endpoint("endpoint_id");
당신은 단순히 미리 정의 된 이메일을 보내는처럼 어떤 행동을하거나, 또한 당신의 장치에 데이터를 소비하는 타사 서비스를 사용하는 경우 특히 유용합니다 일부 데이터와 엔드 포인트를 호출하는 엔드 포인트를 호출 할 수 있습니다.
당신은 자원을 호출하는 동안 특별한주의를 가지고, 적절한 속도로 그들을 호출해야합니다. 그렇지 않으면, 쉽게 사용할 수있는 데이터를 소비 이메일 백을 수신하거나 타사 서비스에서 API 호출을 소모 할 수 있습니다.
엔드 포인트를 호출
이 경우 우리는 온도 값에 따라 이메일 경고를 보낼 수있는 간단한 예를 볼 수 있습니다. 이 예를 들어, 우리는라는 이메일 엔드 포인트 설정 한
high_temp_email온도에 대한 몇 가지 경고 텍스트를 포함합니다. 이 경우를 위해 우리는 온도를 밀리 초마다 확인하고 싶지 않아, 그래서 우리는 감지 및 경고 주파수를 제어하는 몇 가지 변수를 도입하고있다. 이 예에서, 온도는 매 시간마다 체크하고,이 30 ℃ 이상이면, 그것은라는 엔드 포인트 호출 high_temp_email미리 정의 된 텍스트로 저희에게 이메일을 보내드립니다. 여기를 중요 지연을 추가하지 마십시오 가 필요한 실행을 차단하므로, 루프 방법 안에 thing.handle()방법을, 그래서 우리는 여기에 기반 비 블로킹 지연 사용하는 millis()기능.unsigned long lastCheck = 0;
loop(){
thing.handle(); // required thing handle
unsigned long currentTs = millis();
if(currentTs-lastCheck>=60*60*1000){
lastCheck = currentTs;
if(dht.readTemperature()>30){
thing.call_endpoint("high_temp_email");
}
}
}
여기 너무 창조 및 장치의 위치가 예상과 때 습도 센서, 식물에 물이 없음을보고 할 때 존재 센서는 검출을 할 때 엔드 포인트를 호출, 그리고 다른 많은 것들을 할 수 있습니다. 엔드 포인트를 사용하여 다른 흥미로운 방법은 IFTTT과의 통합에 의해, 그래서 여러 타사 서비스와 상호 작용할 수 있습니다!
엔드 포인트 데이터 전송
(JSON 형식) 엔드 포인트에 데이터를 보내기도 매우 간단합니다. 우리는 또한 호출 할 필요는
call_endpoint방법을하지만,이 경우에 따라 몇 가지 정보를 추가 pson자동으로 JSON으로 변환됩니다 데이터 형식. 우리가 Keen.io 같은 타사 서비스에 데이터를보고 할 경우 예를 들어, 우리는 콘솔의 엔드 포인트 같은 종류를 만들 수 있습니다. 일단 구성되면, 우리는 DHT 센서의 습도와 온도 값, 예를 들어, 우리의 판독과 끝점을 호출 할 수있다.// be careful of sending data at an appropriate rate!
pson data;
data["temperature"] = dht.readTemperature();
data["humidity"] = dht.readHumidity();
thing.call_endpoint("keen_endpoint", data);
또한 정의 된 자원을 기반으로 데이터를 보낼 수, 즉, 이미 온도와 습도를 제공하는 자원이 있다고 가정합니다. 다음의 예에서와 같이, 센서 판독을 재정의 할 필요없이 엔드 포인트에 동일한 데이터를 전송하기위한 이러한 정의를 재사용 할 수있다.
setup(){ // defined resource in the setup for reading a sensor value thing["data"] >> (pson& out){ out["temperature"] = dht.readTemperature(); out["humidity"] = dht.readHumidity(); } } loop(){` // be careful of sending data at an appropriate rate! thing.call_endpoint("endpoint", thing["data"]); }여기까지는 Thinger.io 문서에 기술된 내용을 Google 번역기로 번역한 내용이다.직접 아두이노 스케치를 통해서 엔드 포인트를 사용해 보자!먼저, Thinger.io 클라우드에서 Endpoint를 생성한다.
Thinger.io 클라우드에서 "Endpoints" 탭을 클릭하고, "Add Endpoint"버튼을 클릭한다.
"Endpoint Identifier"는 아두이노 스케치에서 사용되므로, 잘 기억해 둔다.
"Endpoint Type"에서 "Email"을 선택하고, Email 계정을 입력한다.

메일의 내용을 미리 기술해 둔다.


"Add Endpoint"버튼을 클릭하고, Endpoint 탭에서 생성된 Endpoint를 확인한다.

아두이노 스케치를 작성해 보자!
- #include <ESP8266WiFi.h>
- #include <ThingerESP8266.h>
- #define USERNAME "*********" // Thinger.io User Name
- #define DEVICE_ID "*********" // Thinger.io Device ID
- #define DEVICE_CREDENTIAL "********" // Thinger.io Device Credential
- #define SSID "******" // WiFi Name
- #define SSID_PASSWORD "*********" // WiFi Password
- ThingerESP8266 thing(USERNAME, DEVICE_ID, DEVICE_CREDENTIAL);
- void setup() {
- pinMode(0, INPUT);
- digitalWrite(0, HIGH); // pull-up register enable.
- thing.add_wifi(SSID, SSID_PASSWORD);
- }
- void loop() {
- thing.handle();
- if( digitalRead(0) == LOW ) {
- thing.call_endpoint("Gmail_Send");
- delay(500);
- }
- }
Port-0가 Low이면, "Gmail_Send"라는 Endpoint를 호출한다.



댓글
댓글 쓰기