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

机器状态监视 IoT Foundation 与 Maximo 的连接性-2

机器状态监视 IoT Foundation 与 Maximo 的连接性-2

安装机器状态监视引擎要安装机器状态监视 Web 应用程序,需要将 machineconditionmonitoring-web.war 文件推送到您的 Bluemix 帐户。
此应用程序在 IBM Bluemix 上需要的最小磁盘空间量为 1GB。需要的最少内存量为 512MB,但您可能希望设置比此更高的内存量 - 例如 2GB。您为磁盘空间和内存分配的值取决于您的环境。
您可以使用 manifest.yml 文件更改磁盘空间和内存值。
确保您安装了最新版的 cf 工具。如果没有最新版本,可完成以下步骤来安装 cf 工具。
  • 可以在 github.com 上的以下位置找到最新版本:
  • 选择适合您平台的安装程序并下载它。
  • 解压安装程序并运行可执行代码。
完成以下步骤来安装机器状态监视应用程序:
  • 在本地系统的命令提示符上,使用下面这条命令连接到 Bluemix。 cf api https://api.ng.bluemix.net
  • 使用下面这条命令登录到 Bluemix。  cf login –u {Bluemix userid} –o {Bluemix organization} –s {Bluemix-space}
  • 从下面的 GitHub 位置下载机器状态监视引擎的源代码:  
  • 在 Eclipse IDE 中使用源代码构建一个 war 文件,并将它命名为“machineconditionmonitor-web.war”。
  • 将该 Web 应用程序推送到您的 IBM Bluemix 帐户,并提供一个唯一的应用程序名称(下面的示例使用“machineconditionmonitor-web”作为应用程序名称)。 cf push machineconditionmonitor-web
  • 在 Bluemix 中,单击 Dashboard > 选择该应用程序(此示例使用应用程序名“machineconditionmonitor-web”) > Files and Logs 并导航到“server.xml”位置。此位置位于“app/.liberty/usr/servers/defaultServer/server.xml”下。
  • 从 Bluemix 下载“server.xml”。
  • 在本地系统中创建一个名为“defaultServer”的文件夹。
  • 在此文件夹中添加“server.xml”文件,并将以下条目添加到“server.xml”文件中。  <webContainer deferServletLoad="false"/>
    在“server.xml”中将该应用程序的名称更改为您提供的名称。
  • 创建一个名为“apps”的文件夹,并将“machineconditionmonitoring-web.war”文件添加到该文件夹中。
  • 将该 war 文件推送回 IBM Bluemix,提供您之前使用的唯一应用程序名称(下面的示例使用了“machineconditionmonitor-web”作为应用程序名称) cf push machineconditionmonitor-web –p defaultServer
创建资产设备映射和创建操作映射的 REST 服务机器状态监视应用程序公开了以下 API。使用这些 API,您可以:
  • 创建资产设备映射。
  • 创建操作映射。
资产 API HTTP 方法  描述  有效负载  返回值  GET /assetMappings/assets  返回一个资产数组  –  JSON 数组  GET /assetMappings/assets/{assetId}  返回单个资产  –  JSONObject
POST /assetMappings/assets  将一个资产持久保存在 Cloudant 中。请注意此资产应存在于 Maximo 中  JSONObject  –  DELETE /assetMappings/assets/{assetId}  从 Cloudant 删除一个资产  –  –
操作 API HTTP 方法  描述  有效负载  返回值  GET /actionMappings/action  返回一个操作数组  –  JSON 数组  GET /actionMappings/action/{actionId}  返回单个操作  –  JSONObject
POST /actionMappings/action  将一个操作持久保存在 Cloudant 中。请注意,此操作应使用有效的用户名和密码指向一个有效的 URL  JSONObject  –  DELETE /actionMappings/action/{assetId}  从 Cloudant 删除一个资产  –  –
安装机器状态监视要安装机器状态监视 UI,您需要将机器状态监视 Node.js 应用程序推送到您的 Bluemix 帐户。
完成以下步骤来安装机器状态监视 UI:
根据“安装机器状态监视应用程序”的 1-3 步中的说明,这一步要求您已经拥有‘cf’工具
  • 在 IBM Bluemix 中的 Catalog 部分,在 Runtimes 部分选择 SDK for Node.js。
  • 输入一个唯一应用程序名称,例如“ThingsMaxUI”并单击 Create。
  • 创建应用程序后,绑定(而不是添加)您之前创建的服务: a.Business Rules 服务
    b.Cloudant NoSQL DB 服务
    c.Internet of Things 服务
  • 下图显示了绑定了服务的 Node.js 应用程序。
  • 为机器状态监视 Web 应用程序创建一个用户定义的环境变量 a. 选择 Environment Variables 选项卡
    b. 单击 User-Defined
    c. 添加一个名为“runtimeapp”的环境变量,其中包含您的机器状态监视 Web 应用程序的 URL。下面的链接  是机器状态监视 Web 应用程序的 URL。
  • 在您本地系统的命令提示符上,使用下面这条命令连接到 Bluemix  cf api https://api.ng.bluemix.net
  • 使用下面这条命令登录到 Bluemix cf login –u {Bluemix userid} –o {Bluemix organization} –s {Bluemix-space}
  • 从下面的 GitHub 位置下载机器状态监视:
  • 通过提供唯一的应用程序名称,将您的 Node.js 应用程序推送到您的 Bluemix 帐户(在下面的例子中,我提供了“machineconditionmonitor-GUI”作为名称)。
  • cf push machineconditionmonitoring-GUI
  • 在您的机器状态监视引擎中,调用 REST 服务,执行一次 POST 调用来在 Cloudant 数据库中填入特定于 Maximo 的数据。在此示例中,REST 服务在“machineconditionmonitor-web”上运行,所以要调用的 REST 服务为 。
  • 下面给出了要使用的有效负载。
  • {
    “thingsActionPassword”:“maximopassword”,
    “thingsActionUserId”:“maximouser”,
    “actionId”:“maximo”,
    “thingsActionURL”:“https://maximoURL/maximo_b1dk”
    }
  • 将有效负载内容替换为适合您的实例的内容。
  • 在 Cloudant 数据库中,调用绑定到机器状态监视引擎的 REST POST 服务 (https://username-for-cloudant-on ... invokedrules/_index) 并使用以下有效负载。
  • {“index”:{“fields”:[“deviceID”]}}
  • 将 REST URL 中的用户名和密码替换为适合您的 Cloudant 数据库的 URL。
流程测试
  • 浏览机器状态监视 UI 的 URL。从下拉列表中选择组织和资产。
  • 最初,资产和设备之间不存在映射。单击“Add Device Mapping”创建映射。
  • 上面的操作将显示 Bluemix 环境中针对同一个组织,用于 IoT Foundation 的设备列表。选择需要映射到资产的设备。这会显示规则链接。
  • 添加规则的 REST URL,我们已在 Business Rules 服务中获得它。
  • 从注册的设备发送一个设备事件,该设备的事件参数被设置为比最大允许阈值更高的值,以便生成一个工作订单。
  • 工作订单生成后,可在机器状态监视 UI 中看到它。
返回列表