首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

利用物联网来节约用水,第 3 部分(2)

利用物联网来节约用水,第 3 部分(2)

步骤 2. 创建                API现在,您将设计两个 API,支持可视化应用程序检索其数据。第一个 API 将会检索可用传感器的列表,第二个 API 将会从特定传感器中检索数据。此表提供了这些 API                的规范:
URL参数描述 /sensors 无参数 返回所有传感器的 JSON                                列表。例如:
[
                                {"name":"BramPlantSensor"},
                                {"name":"KaiPlantSensor"},
                                {"name":"KaisGrove"},
                                {"name":"TheGruPi"},
                                {"name":"TheGruSensor"}
]
/sensors/{sensor}/history
返回包含指定的 {sensor}                            的传感器读数的一个 CSV 列表。默认情况下,结果被限制为过去 14 天内的值,但可以重写该值。
历史 API                            将会返回一个包含传感器读数的历史记录的 CSV 列,这些传感器读数中包含时间戳、温度、湿度和压力水平。                                
例如:
timestamp,temperature,moisture,pressure
2014-10-26T22:14:42.733658,21.14,304,1022.69
2014-10-26T23:44:47.624428,20.74,372,1022.16
2014-10-27T00:44:50.906463,20.63,380,1021.98
2014-10-27T01:14:52.528547,20.5,335,1022.1
2014-10-27T02:14:55.786745,20.39,343,1022.29
2014-10-27T04:45:03.834080,20.1,271,1022.58
2014-10-27T05:45:07.169473,20.87,323,1022.74
sensor 传感器的名称(惟一 ID)
days 可选参数。要返回的传感器读数的天数
使用 Node-RED 实现 API:
  • 打开   DevOps Services 存储库并将                    /Tutorial3/Node-red/API_cloudant_proxy_flow.json 文件的内容复制到剪贴板中。
  • 浏览到 Bluemix 应用程序的公共页面并单击 Go to your Node-RED flow editor
  • 单击 + 创建一个新的工作表,双击该选项卡,并将工作表重命名为 REST API。
  • 从菜单中选择 Import > Clipboard,粘贴代码,单击                    Ok,并将代理流程放置在您的工作表上的某个地方。
  • 单击节点中的每个 "HTTP in"(Sensor History 和 Sensor List)来查看它在                    info 选项卡中的配置。
  • 编辑两个 Convert To Cloudant URL 功能节点(双击该节点),并更改                        cloudantHost 变量,使之与您的 Cloudant 实例相匹配。
  • 更新 Cloudant GET 节点,以便使用基本的身份验证:
    • 保留 URL 字段为空(该 URL 是由以前的节点提供的)。
    • 选择 Use basic authentication? 复选框。
    • 对于 Username,可以输入您的 Cloudant 实例的名称。
    • 对于 Password,可以输入您的 Cloudant 实例的密码。
  • Add CORS Header 节点将 Access-Control-Allow-Origin                            HTTP 标头添加到了 REST 调用的 HTTP 响应中。此标头支持  ,所以可以在与托管 API 的域不同的域中,从 Web 页面调用 API。

    浏览 Add CORS Header 功能节点和 HTTP Response                    节点的属性。
  • 单击 Deploy 来激活此代理流程。
  • 通过浏览到                    http://poseidon_host/sensors(例如,http://poseidon.mybluemix.net/sensors)来测试                    list-sensors API。您会收到传感器的 JSON 列表。
  • 通过浏览到                    http://poseidon_host/sensors/sensor_id/history(例如,http://poseidon.mybluemix.net/sensors/BramPlantSensor/history)来测试                    retrieve-history API。您将收到传感器值的 CSV 列表。
您的开放数据 API 已经为使用做好了准备,且无需身份验证。
返回列表