开发者

基于 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。必填。

请妥善保管设备密钥。如果密钥泄露,请通过设备密钥图标生成新密钥:旧密钥将立即失效。

开关

打开或关闭开关,存储最多三个数值,或读取其当前状态。

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"}

传感器

存储最多三个读数,或读取最新数值。

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 定位

存储位置及最多四个额外数值,或读取最新位置。

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 服务配合使用:设备状态变化时,平台会向你的主题发布消息;你的设备则向 iotBind 发布 JSON 消息。

  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请求过多:请放慢速度,或检查你的方案限额。

你的下一个项目值得拥有一朵云

一分钟创建免费账户,今天就连接你的第一台设备。