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

    文章

    1855

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    如何使用 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

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

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

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

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

    将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

    IBM推出新一代大型主机IBM z17

    今天,IBM(纽约证券交易所:IBM)宣布推出新一代大型主机 IBM z17。作为 IBM Z 主机系列的最新旗舰产品,IBM z17 搭载
    的头像 发表于 04-10 14:45 888次阅读

    从Delphi、C++ Builder和Lazarus连接到MySQL数据库

      从 Delphi、C++ Builder 和 Lazarus 连接到 MySQL 数据库 MySQL 数据访问组件(MyDAC)是一个组件库,提供从 Delphi 和 C++ Builder
    的头像 发表于 01-20 13:47 1353次阅读
    从Delphi、C++ Builder和Lazarus<b class='flag-5'>连接到</b>MySQL数据库

    使用插件将Excel连接到MySQL/MariaDB

    使用插件将 Excel 连接到 MySQL/MariaDB 适用于 MySQL 的 Devart Excel 插件允许您将 Microsoft Excel 连接到 MySQL 或 MariaDB
    的头像 发表于 01-20 12:38 1154次阅读
    使用插件将Excel<b class='flag-5'>连接到</b>MySQL/MariaDB

    请问ADS12935导联时WCT需要连接到什么?

    请问ADS12935导联时WCT需要连接到什么?还有TI有没有关于ADS1293和ARM的SPI连接的程序代码??谢谢!!
    发表于 01-09 08:04

    EE-321:将Blackfin处理器连接到AD7656 SAR ADC

    电子发烧友网站提供《EE-321:将Blackfin处理器连接到AD7656 SAR ADC.pdf》资料免费下载
    发表于 01-06 16:04 0次下载
    EE-321:将Blackfin处理器<b class='flag-5'>连接到</b>AD7656 SAR ADC

    EE-219:将字符LCD面板连接到ADSP-21262 SHARC DSP

    电子发烧友网站提供《EE-219:将字符LCD面板连接到ADSP-21262 SHARC DSP.pdf》资料免费下载
    发表于 01-05 10:10 0次下载
    EE-219:将字符LCD面板<b class='flag-5'>连接到</b>ADSP-21262 SHARC DSP

    在实际的电气连接中,是直接将Exposed Thermal Pad连接到AGND吗?

    Exposed Thermal Pad连接到AGND?有些芯片的Exposed Thermal Pad 数据手册上要求连接到VSS.
    发表于 12-24 06:04