怎样连接到IBM Watson IoT

电子说

1.2w人已加入

描述

步骤1:开始之前

确保已存在以下内容:

您已经完成了本教程的第1部分。

一个Bluemix帐户。

爱迪生中已安装Node-Red Watson IoT节点模块。为此,请查看官方文档。

步骤2:Watson IoT Application

此处的入口部分是创建Bluemix应用程序它将收集设备的数据,在这种情况下为LED状态。为此,请转到Bluemix目录并选择Internet of Things Platform Starter样板,如果愿意,请转到此链接并创建您的应用程序。

https://console.ng.bluemix.net/catalog/starters/internet-of-things-platform-starter/

请注意,通过此样板,您可以将Node.js运行时,物联网平台和Cloudant NoSQL DB服务绑定到该应用程序。我们对本教程感兴趣的是物联网平台和Node.js,因为它带有Node-Red。

创建应用程序后,转到物联网平台服务仪表板。在其中,您会找到按钮启动仪表板。单击它

在Watson IoT Platform仪表板中,转到设备,然后选择设备类型选项卡并创建设备类型。

在设备页面中,现在选择浏览标签,然后点击添加设备。选择您刚刚创建的设备类型并为其设置一个名称。完成向导,然后在结果页面中保存设备的详细信息,因为您需要它们来连接物理设备(此数据无法恢复)。要存储的重要数据是:

组织ID。

设备类型。

设备ID。

身份验证令牌。

步骤3:将电路连接到IoT

IBM

将电路连接到IoT

在本部分中,您将在Edison中修改Node-Red中的流,以现在就可以从IoT实例向IoT实例发送数据和接收命令,并从IoT实例接收命令,从而使其可以从Internet(而不是互联网)进行控制

此外,本节还假定Watson IoT节点已安装在Edison的Node-Red中。如果没有,请按照此处的说明

https://www.npmjs.com/package/node-red-contrib-ibm 。..

在爱迪生中启动Node-Red添加和配置Watson IoT连接。在这里,LED将连接到IoT平台,因此它可以从设备收集数据并发送命令以通过Internet打开和关闭它。

步骤4:读取LED状态

在输入抽屉中,选择 gpio 节点并将其拖放到画布上。双击它并指定:

电路板:您在第1部分中配置的电路板。

类型:数字(0/1)。

引脚:我使用了引脚6。

名称:ReadLED。

步骤5:形成Watson IoT的消息

Watson IoT期望一个非常特殊的消息。基本上,您需要从有效负载中读取LED的状态,并将其分配给Watson IoT期望的属性,这是JSON消息中的d属性。

为此,请使用 功能抽屉中的“功能”节点,然后在其中输入以下代码(不要忘记双击它)。

var ledState = msg.payload;

msg.payload = {

“d”: {

“led_state”: ledState

}

};

return msg;

现在

步骤6:将数据发送到IoT

选择 Watson IoT 从 Output 抽屉中将其拖放到画布上。双击它。

在将数据发送到IoT平台之前,您需要配置连接。为此,请点击凭据字段中的铅笔图标。在生成的表单中,输入本教程的 Watson IoT应用程序部分中创建设备时获得的凭据的信息。

一旦配置了凭据,请指定其余字段:

连接为:设备

已注册:应选择已注册的无线电

凭据:您刚刚配置的凭据

事件类型:事件

格式:json

单击完成,连接功能和该节点并部署更改。如果一切配置正确,ReadLED(如上图)和Watson IoT节点都将有一个指示灯,指示它们已正确连接。

步骤7:从IoT读取命令

现在将LED数据发送到IoT平台。但是,尚无法从Internet对其进行操作。基本上,它只是数据源,没有采取任何措施。现在可以从Internet读取状态并将其反映在LED上。这就是命令。

在输入抽屉中,找到 Watson IoT 节点并将其拖放到画布上。双击它并指定以下内容:

连接为:设备

凭据:您刚刚使用的凭据配置

命令:闪烁

保存节点。

步骤8:格式化传入消息

IBM

由于来自Watson IoT的传入消息具有特定格式,因此您需要提取要反映在物理LED中的状态。从 Functions 抽屉中拖放 function 节点,然后输入以下代码。

var ledState = msg.payload.d.led_state;

msg.payload = ledState;

return msg;

连接两个节点。最后,将功能节点与在本教程的第1部分中创建的LED节点连接起来。

最后,如果您遵循第1部分和第2部分中的这一部分,那么Edison中的流程应类似于此步骤中的图像。此图像的前两行节点已在第1部分中完成,而最后一行已在本节中完成。

步骤9:从IoT读取和控制设备

一旦设备通过Edison中的Node-Red连接到Watson IoT平台,就该在Bluemix应用程序中创建流以接收该信息并将命令发送到打开和关闭LED。这将使用与第1部分中使用的HTTP请求非常相似的HTTP请求来完成。

首先,您需要在Bluemix中启动Node-Red应用程序。为此,请转到Bluemix仪表板,然后在所有应用程序中单击应用程序的 Route 。出现的页面上有一个大按钮,显示转到您的Node-RED流编辑器。单击它,Node-Red编辑器将准备就绪,可以开始创建流了。

步骤10:读取数据

这是一项琐碎的任务在Watson IoT节点中已经预先安装了Watson IoT节点,因此可以在Bluemix中使用。就像从 Input 抽屉中添加 Watson IoT 节点并指定以下属性一样简单:

身份验证:Bluemix服务

输入:设备事件

设备类型:您在凭证中使用的那个。

设备ID :您在凭据中使用的设备

事件:+

Format :json

我将此节点连接到 debug 节点,只是为了在 Debug 窗格,但是通常的想法是,当设备将数据发送到IoT实例时,您应该适当地对待它,可能会向移动设备或电子邮件发送通知,或者可能会向连接到IoT的设备触发命令。

步骤11:HTTP请求

在Node-Red的 Input 抽屉中,选择 HTTP 节点,将其拖放到画布上。双击画布中的节点并指定以下参数:

方法:GET

URL :/led/:state

步骤12:从HTTP请求中提取操作

您可以在上面的URL中看到,操作作为URL的最后一部分传递。因此,我们需要提取它。 Node-Red使您可以使用标准Express API从请求中获取变量。

从 Function 抽屉中选择 function 节点并拖动并将其拖放到画布上。双击并放置以下JavaScript代码。

if (msg.req.path == “/led/on”) {

msg.payload = 1;

msg.httpMsg = “On”

} else if (msg.req.path == “/led/off”) {

msg.payload = 0;

msg.httpMsg = “Off”

} else {

msg = null;

}

return msg;

输入代码后,单击完成并连接两个节点。

步骤13:将命令发送到设备

消息正确形成后,您可以将该命令发送到设备。从“输出”抽屉中拖放一个Watson IoT节点,然后双击它。指定以下内容:

身份验证:Bluemix服务

输出类型:设备命令

设备类型:您凭据中的一个

设备ID :您凭据中的一个

命令 类型:闪烁

格式:json

数据:{“ d” :{“错误”:“有错误”}}

单击完成并将功能连接到该节点。

注意 Data 属性正在使用形成的JSON消息。只要其中具有 d 属性,该消息就会被替换。基本上是在说如果在消息中没有找到 d 属性,然后将错误消息发送到设备。在功能节点中,我们确保消息中存在该属性。

步骤14:发回响应

因为此请求是通过以下方式发起的:一个HTTP请求,您必须以HTTP响应完成它。为此,在 Output 抽屉中选择一个 HTTP Response 节点并将其拖放到画布上。将该节点连接到先前创建的功能以形成客户端消息。

单击部署以使流程栩栩如生。

第15步:测试流程

IBM

现在已经创建了流程,您可以使用网站了浏览器或处理HTTP请求(例如cURL或WGET)的任何其他程序来对其进行测试。

打开Web浏览器并使用这两个URL之一。就我而言,我的Bluemix应用程序的地址是https://vsiotll.mybluemix.net

https://vsiotll.mybluemix.net/led/on

https://vsiotll.mybluemix.net/led/off

注意:随着我将自己的空间用于自己的空间,此网址很快就会消失教育目的。

第16步:结论

使用适当的平台和工具,可以带给您永久的价值。相对轻松地实现生活中任何疯狂的想法。今天,与硬件和软件进行交互非常简单,此外,构建有趣的东西可以帮助您使生活更轻松:也许是一种能够感应到植物的水分或湿度,然后在需要时浇水的设备,或者是一种宠物饲养设备,单击移动设备中的按钮即可触发。可能性是无止境的!

您应该牢记的一件重要事情是:安全是一个大话题,永远不可低估。这是诸如IBM Watson IoT之类的平台帮助您保护和管理设备的机会。
       责任编辑:wv

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • IBM

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分