65.9K
CodeProject 正在变化。 阅读更多。
Home

将 Intel® IoT 网关连接到 Microsoft Azure

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2016 年 9 月 9 日

CPOL

5分钟阅读

viewsIcon

5333

本指南将引导您完成将 IoT Cloud 存储库添加到 Intel® IoT 网关并添加对 Microsoft Azure 的支持,以便您可以使用自己喜欢的编程语言开始为该平台开发应用程序。

获取新的 Intel® IoT 开发人员套件,这是一个完整的硬件和软件解决方案,使开发人员能够使用 Intel® Galileo 和 Intel® Edison 板创建令人兴奋的新解决方案。请访问 Intel® 物联网开发人员中心

本指南将引导您完成将 IoT Cloud 存储库添加到 Intel® IoT 网关并添加对 Microsoft* Azure* 的支持,以便您可以使用自己喜欢的编程语言开始为该平台开发应用程序。

必备组件

  • 运行 IDP 3.1 或更高版本的 Intel® IoT Gateway 技术,并具有互联网访问权限
  • 一台与 Intel® IoT Gateway 在同一网络中的开发设备(例如笔记本电脑)
  • 从您的开发设备访问 Intel® IoT Gateway 的终端权限
  • Microsoft Azure 帐户: https://portal.azure.com/

有关设置 Intel® IoT 网关的信息,请参阅以下文档:https://software.intel.com/en-us/node/633284

将 IoT Cloud 仓库添加到您的 Intel® IoT Gateway

  1. 通过直接连接的显示器和键盘或 SSH(推荐)访问网关上的控制台。
  2. 使用以下命令添加云存储库的GPG密钥
    rpm --import http://iotdk.intel.com/misc/iot_pub.key
  3. 在您的开发设备(例如笔记本电脑)上,打开 Web 浏览器,然后在地址栏中输入网关的 IP 地址,加载 IoT 网关开发人员中心界面。

    提示:您可以使用“ifconfig”命令查找网关的 IP 地址。

  4. 使用凭据 **root:root** 登录到 IoT 网关开发人员中心界面。

  5. 添加 IoT Cloud 存储库。
    1. 转到 **Packages** 部分,然后单击 **Add Repo + ** 按钮。

      使用以下信息填充字段,然后单击 **Add Repository**

      名称: IoT_Cloud

      URL: http://iotdk.intel.com/repos/iot-cloud/wrlinux7/rcpl13

      最后,单击 **Update Repositories ** 按钮以更新包列表。

为 Intel® IoT 网关添加 Microsoft* Azure* 支持

  1. 单击**添加软件包 +**按钮以调出您可以安装的软件包列表。

  2. 使用包窗口顶部的搜索框搜索 **cloud-azure**。单击 **packagegroup-cloud-azure** 条目旁边的 **Install** 按钮。

设置 Azure* IoT Hub

  1. 在浏览器中,导航到 Azure* Portal ( https://portal.azure.com ) 并登录您的 Azure 帐户。
  2. 创建一个新的 IoT Hub。
    1. 在 Azure Portal 的左上角选择 **New**。从列表中选择 **Internet Of Things**,然后选择“**IoT Hub**”。

    2. 为您的新 IoT Hub 指定一个唯一的 **Name**,并选择所需的 **Pricing and scale tier**。
    3. 在 **Resource Group** 部分,选择 **Create New**,然后在提供的框中为其指定一个唯一的名称。
    4. 选择离您最近的“**Location**”,然后单击 **Create**。

      部署新的资源组和 IoT Hub 需要一些时间,但最终您应该会收到 **Deployments succeeded** 通知。

    5. 创建新的资源组后,通过选择左侧面板中的 **Resource groups** 选项,然后从列表中选择您刚刚创建的资源组来导航到它。

    6. 从列表中选择您刚刚创建的 IoT Hub,然后单击 **Keys** 图标。从策略列表中选择 **iothubowner**,然后单击 **Connection string-primary** 键旁边的 **Copy** 按钮,将您的 IoT Hub 连接字符串复制到剪贴板。

创建一个新的 Azure* IoT Device

提示:为了更轻松地复制连接字符串,建议您使用 SSH 连接到网关或通过 Intel Developer Hub 界面访问命令行。如果您直接使用键盘和鼠标访问网关的命令行,则需要在下一节中手动输入连接字符串。

  1. 在您的网关控制台中输入以下命令将其添加到您的 IoT Hub
    iothub-explorer "[YOUR CONNECTION STRING]" create IntelIoTGateway --connection-string

    如果设备成功添加,您将看到类似以下的输出

  2. 加载 Node-RED 界面。转到 IoT 网关开发人员中心的 **Administration** 部分,然后在 Node-RED 图标下单击 **Launch**。

  3. 配置 Node-RED 流。
    1. 将“**inject**”、“**function**”和“**azureiothub**”节点从左侧的节点面板拖到当前流中(您可能需要向下滚动节点面板)。将“**inject**”、“**function**”和“**azureiothub**”节点从左侧的节点面板拖到当前流中(您可能需要向下滚动节点面板)。

    2. 按照上面的屏幕截图排列和连接节点。在这里,我们有一个 inject 节点,它将在指定的时间间隔发送一个触发信号到一个函数,该函数将随机生成一个数字发送到您的 Azure IoT Hub。首先,我们需要配置节点。

    3. 双击 **timestamp** 节点以打开配置对话框。将设置更改为与下面的屏幕截图匹配,完成后单击 **Ok**。这将设置节点每 5 秒发送一次触发信号。

    4. 双击“**function**”节点以打开配置对话框。在这里,我们将添加一些简单的代码来生成一个随机数,我们可以将其发送到我们的 Azure IoT Hub。实际上,这可以是一个传感器读数,例如。
    5. 在“**Function**”框中,按照下面的屏幕截图输入以下代码
      msg.payload = Math.round(Math.random() * 100);

      完成后单击 **Ok** 按钮,关闭配置对话框。

    6. 再次双击 **Azure IoT Hub** 节点以打开配置对话框。将您之前复制/保存的 **device** 连接字符串添加到 **Connection String** 框中,然后单击 **Ok**。(确保您输入的是 **device** 连接字符串,而不是 IoT Hub 的连接字符串!)

  4. 现在您的流已配置完毕,您可以部署您的流。单击屏幕右上角的 **Deploy** 按钮。

    如果一切正常,**Azure IoT Hub** 节点的状态应变为 **Connected**,然后变为 **Sent message**,如以下屏幕截图所示。当流运行时,每五秒将有一个消息发送到您的 Azure IoT Hub。

    如果您导航回 Azure* Portal 并加载您的 IoT Hub 实例,您将在 **Usage** 磁贴中看到消息计数正在增加。

  5. 监视设备事件(可选)。

    您可以使用命令行中的 **iothub-explorer** 工具监视 IoT Hub 中的设备。

    还有一个名为 **Device Explorer** 的 Windows 实用程序,如果您更喜欢可视化应用程序: https://github.com/Azure/azure-iot-sdks/blob/master/tools/DeviceExplorer/doc/how_to_use_device_explorer.md

    要在您的网关上通过命令行监视设备事件,请运行以下命令

    iothub-explorer "[YOUR IOT HUB CONNECTION STRING]" monitor-events [YOUR DEVICE NAME]

    如果 Node-RED 流已部署并正在运行,您应该会在控制台输出中看到类似下图的发送到 Azure* 的随机数。

© . All rights reserved.