0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样连接到IBM Watson IoT

454398 来源:网络整理 作者:网络整理 2019-11-25 15:56 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤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 Watson IoT

将电路连接到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:格式化传入消息

由于来自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步:测试流程

现在已经创建了流程,您可以使用网站了浏览器或处理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

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

    关注

    3

    文章

    1891

    浏览量

    77206
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    可以从 PHY 将 ETH1 连接到 MII2 以及将 ETH2 连接到 MII3 吗?

    我有 2 个 4 线以太网(ETH1、ETH2)10/100mbps。 我可以从 PHY 将 ETH1 连接到 MII2 以及将 ETH2 连接到 MII3 吗?我只使用 RMII。
    发表于 04-24 06:40

    IoT模组与IoT网关有什么区别和联系

    IoT模组 IoT网关 功能定位 设备端通信与数据处理核心 网络边缘的数据汇聚与协议转换枢纽 核心作用 实现设备与网络的连接及基础数据处理 连接异构设备、优化数据传输、保障安全 技术
    的头像 发表于 10-24 15:24 1091次阅读

    如何使用 NuMaker 板和 Mbed OS 上的连接字符串连接到 Azure IoT

    使用 NuMaker 板和 Mbed OS 上的连接字符串连接到 Azure IoT
    发表于 09-04 07:46

    如何在NuMaker-IoT-M467 上使用 FreeRTOS 和 CycloneTCP 的 MQTT 连接

    NuMaker-IoT-M467 上使用 FreeRTOS 和 CycloneTCP 的 MQTT 连接
    发表于 09-04 06:27

    NB-IoT 网络对功耗的真实影响:Otii实测 Thales 模组的注册与连接行为全解析

    减少超50%。而且,如果该设备尝试再次连接到已知基站时,比如从深度睡眠中唤醒后,重新附着时间更短,仅需4秒。请见图表3。 图表1:在漫游状态下PLMN扫描网络时,NB-IoT连接网络时的电流消耗 图表
    发表于 09-02 17:44

    如何增加连接到外部 USB 集线器时支持的设备数量?

    如何增加连接到外部 USB 集线器时支持的设备数量?
    发表于 08-27 06:23

    如何在AMD Vitis Unified 2024.2中连接到QEMU

    在本篇文章我们将学习如何在 AMD Vitis Unified 2024.2 中连接到 QEMU。 这是本系列的第 2 篇博文。要了解如何设置和使用 QEMU + 协同仿真,请参阅开发者分享|在 AMD Versal 自适应 SoC 上使用简单的 QEMU + 协同仿真示例。
    的头像 发表于 08-06 17:24 2107次阅读
    如何在AMD Vitis Unified 2024.2中<b class='flag-5'>连接到</b>QEMU

    设备快线连接运设备是提示无法连接到SSL VPN怎么解决?

    设备快线连接运设备是提示无法连接到SSL VPN
    发表于 08-05 08:27

    TC387无法连接到调试器,并且ESR0输出低怎么解决?

    TC387无法连接到调试器,并且连接到ESR0的LED D106变为红色,这意味着ESR0输出低电平。我认为原因是无法释放复位状态,因此设备无法跳转到用户SW。那么如何让它成功跳转到用户SW以便我可以连接到调试器?
    发表于 08-04 08:01

    CYBLE-416045_EVAL BLE如何连接到Windows?

    Bluetooth_LE_Hello_Sensor 来将PSoC™作为外围设备,但当我尝试连接时它失败了。 失败意味着:在 Windows 中配对完成并连接,但在 Windows 中 5 秒内显示断开连接。 您能否为我提供一
    发表于 07-24 07:03

    企业级AI的未来:IBM实现通用型企业级 AI 智能体的重大突破

    ),同时拥有计算机技术与软件专业系统架构设计师技术资格。他现在是 IBM 科技事业部数据与人工智能资深技术专家,拥有 20 多年数据分析软件相关技术经验,是 IBM 认证的大数据架构师和 Watson
    的头像 发表于 07-21 15:14 562次阅读
    企业级AI的未来:<b class='flag-5'>IBM</b>实现通用型企业级 AI 智能体的重大突破

    WICED IDE 6.6.1.1怎样才能连接到自定义硬件?

    设备? 我们怎样才能指示 WICED-IDE 使用我们的 4 通道 UART2USB 转换器提供的 “普通” VCOM COM 端口之一? 有人能给我一些关于如何连接我们的定制硬件并验证基本功能的说明和见解吗。 任何帮助将不胜感激
    发表于 07-09 07:01

    外围设备通过手机连接到BLE应用程序,为什么不能连接到Infineaon BLE?

    使用 ch06_ex01_periab \" le 项目创建了外围设备。\" \" 使用像 LightBlue 这样的移动应用程序,我能够连接到这个外围设备并更改特征值。 我已经使用 \"
    发表于 07-07 08:06

    将CYW20706基于硅的蓝牙模块(CYBT-343151-02)连接到定制板上的MCU,怎样才能将链接配置为未确认数据模式?

    我将 CYW20706 基于硅的蓝牙模块(CYBT-343151-02)连接到定制板上的 MCU。 它在确认数据模式下工作,没有问题 但是我怎样才能将链接配置为未确认数据模式
    发表于 06-27 08:23

    STM32的DCode bus是连接到bus matrix的吗?

    stm32参考手册里的系统架构图中把Dcode连接到bus matirx,但是其对Dcode bus的描述却是连接m3的Dcode到flash的数据接口。 cortex-m3的TRM里面也明确说了
    发表于 06-17 07:40