개발자

iotBind로 개발하기

마이크로컨트롤러를 위해 설계된 간단한 API: URL 하나, 기기 키, 그리고 몇 개의 매개변수면 됩니다.

HTTP / HTTPS

GET 또는 POST 요청으로 데이터를 보내고 읽으며, JSON으로 응답을 받습니다.

MQTT

MQTT.one 브로커를 통해 게시하고 구독하여 명령을 즉시 전달합니다.

Webhooks

이벤트가 발생하면 사용자의 서버에서 서명된 알림을 받습니다.

빠른 시작

  1. 1

    계정 만들기

    무료로 가입하고 이메일 주소를 인증하세요.

  2. 2

    기기 추가하기

    스위치, 센서, 탱크 또는 트래커를 추가한 다음 키 아이콘을 열어 고유 ID와 비밀 키를 복사하세요.

  3. 3

    첫 요청 보내기

    아래 예제를 스케치에 사용하거나 브라우저에서 테스트해 보세요.

기본 사항

API 버전 1의 기본 주소는 http://api.iotbind.com/v1입니다(HTTPS 지원). 모든 요청에는 다음 매개변수를 쿼리 문자열(GET) 또는 양식 필드(POST)로 포함합니다:

매개변수설명
method"get" or "post": 매개변수를 보내는 방식. 항상 필수입니다.
key기기의 비밀 API 키. 항상 필수입니다.
uid기기의 고유 ID. 항상 필수입니다.

기기 키는 비밀로 유지하세요. 유출된 경우 기기 키 아이콘에서 새 키를 생성하세요. 이전 키는 즉시 사용할 수 없게 됩니다.

스위치

스위치를 켜거나 끄고, 최대 3개의 값을 저장하거나, 현재 상태를 읽습니다.

GET | POST http://api.iotbind.com/v1/switch.php

매개변수설명
cmd 선택 명령: onoffgetping
data1 저장할 텍스트 또는 숫자(선택).
data2 저장할 텍스트 또는 숫자(선택).
data3 저장할 텍스트 또는 숫자(선택).
데이터 보내기
http://api.iotbind.com/v1/switch.php?method=get&key=DEVICE_KEY&uid=UNIQUE_ID&cmd=on&data1=24.5&data2=OK
응답: {"MESSAGE":"UPDATED"}
기기 읽기
http://api.iotbind.com/v1/switch.php?method=get&key=DEVICE_KEY&uid=UNIQUE_ID&cmd=get
{
  "uid": "UNIQUE_ID", "name": "Living room", "type": "RGB Light", "cmd": "on",
  "data1": "24.5", "data1_unit": "C", "data2": "OK", "data2_unit": "", "data3": "", "data3_unit": ""
}

같은 매개변수를 POST 양식 필드로도 사용할 수 있습니다. 이때 다음을 지정합니다: method=post · 기기가 연결되어 있음을 알리려면 다음을 보내세요: cmd=ping → {"MESSAGE":"PING OK"}

센서

최대 3개의 측정값을 저장하거나 최신 값을 읽습니다.

GET | POST http://api.iotbind.com/v1/sensor.php

매개변수설명
cmd 선택 명령: getping
data1 저장할 텍스트 또는 숫자(선택).
data2 저장할 텍스트 또는 숫자(선택).
data3 저장할 텍스트 또는 숫자(선택).
데이터 보내기
http://api.iotbind.com/v1/sensor.php?method=get&key=DEVICE_KEY&uid=UNIQUE_ID&data1=23.4&data2=41&data3=1012
응답: {"MESSAGE":"UPDATED"}
기기 읽기
http://api.iotbind.com/v1/sensor.php?method=get&key=DEVICE_KEY&uid=UNIQUE_ID&cmd=get
{
  "uid": "UNIQUE_ID", "name": "Greenhouse", "type": "Temperature",
  "data1": "23.4", "data1_unit": "C", "data2": "41", "data2_unit": "%", "data3": "1012", "data3_unit": "hPa"
}

같은 매개변수를 POST 양식 필드로도 사용할 수 있습니다. 이때 다음을 지정합니다: method=post · 기기가 연결되어 있음을 알리려면 다음을 보내세요: cmd=ping → {"MESSAGE":"PING OK"}

액체 탱크

탱크 수위와 온도를 저장하고, 펌프를 제어하거나, 상태를 읽습니다.

GET | POST http://api.iotbind.com/v1/tank.php

매개변수설명
cmd 선택 명령(탱크 펌프 켜기/끄기): onoffgetping
level 탱크 수위(숫자).
temperature 탱크 온도(숫자, 선택).
데이터 보내기
http://api.iotbind.com/v1/tank.php?method=get&key=DEVICE_KEY&uid=UNIQUE_ID&cmd=on&level=67&temperature=21
응답: {"MESSAGE":"UPDATED"}
기기 읽기
http://api.iotbind.com/v1/tank.php?method=get&key=DEVICE_KEY&uid=UNIQUE_ID&cmd=get
{
  "uid": "UNIQUE_ID", "name": "Roof tank", "type": "Water Level", "cmd": "on",
  "level": "67", "level_unit": "%", "temperature": "21", "temperature_unit": "C"
}

같은 매개변수를 POST 양식 필드로도 사용할 수 있습니다. 이때 다음을 지정합니다: method=post · 기기가 연결되어 있음을 알리려면 다음을 보내세요: cmd=ping → {"MESSAGE":"PING OK"}

GPS 추적

최대 4개의 추가 값과 함께 위치를 저장하거나 최신 위치를 읽습니다.

GET | POST http://api.iotbind.com/v1/tracking.php

매개변수설명
cmd 선택 명령: getping
latitude 위도(숫자).
longitude 경도(숫자).
data1 저장할 텍스트 또는 숫자(선택).
data2 저장할 텍스트 또는 숫자(선택).
data3 저장할 텍스트 또는 숫자(선택).
data4 저장할 텍스트 또는 숫자(선택).
데이터 보내기
http://api.iotbind.com/v1/tracking.php?method=get&key=DEVICE_KEY&uid=UNIQUE_ID&latitude=24.7136&longitude=46.6753&data1=62
응답: {"MESSAGE":"UPDATED"}
기기 읽기
http://api.iotbind.com/v1/tracking.php?method=get&key=DEVICE_KEY&uid=UNIQUE_ID&cmd=get
{
  "uid": "UNIQUE_ID", "name": "Car", "type": "GPS tracking",
  "latitude": "24.7136", "longitude": "46.6753", "data1": "62", "data1_unit": "km/h"
}

같은 매개변수를 POST 양식 필드로도 사용할 수 있습니다. 이때 다음을 지정합니다: method=post · 기기가 연결되어 있음을 알리려면 다음을 보내세요: cmd=ping → {"MESSAGE":"PING OK"}

MQTT

iotBind는 MQTT.one 서비스와 연동됩니다. 기기 상태가 바뀌면 플랫폼이 사용자의 토픽에 게시하고, 기기는 JSON 메시지를 iotBind에 게시합니다.

  1. MQTT.one 계정을 만들고 필요한 토픽을 추가합니다.
  2. 플랫폼에서 "MQTT 서비스"를 열고 MQTT.one 계정을 연결합니다.
  3. 기기 설정에서 "MQTT 메시지 게시"를 켜고 토픽을 선택합니다.
  4. MQTT.one 정보를 사용해 클라이언트 ID iotbind-<UNIQUE_ID>로 보드를 브로커에 연결합니다.
  5. 계정에 표시된 iotbind 토픽으로 JSON 메시지를 게시합니다.
iotbind/switch/ 토픽으로 보내는 메시지
{ "key": "DEVICE_KEY", "uid": "UNIQUE_ID", "cmd": "off", "data1": "24.5" }

MQTT를 사용하려면 MQTT 기능이 포함된 요금제와 다음 사이트의 계정이 필요합니다: MQTT.one

오류 코드

400잘못된 요청: 주소, 매개변수 또는 본문이 올바르지 않습니다.
401인증 실패: 기기 키 또는 고유 ID가 올바르지 않습니다.
404찾을 수 없음: 요청한 리소스가 존재하지 않습니다.
429요청이 너무 많음: 속도를 줄이거나 요금제 한도를 확인하세요.

다음 프로젝트에는 클라우드가 필요합니다

1분 만에 무료 계정을 만들고 오늘 바로 첫 기기를 연결하세요.