将 Intel Edison 连接到 Azure IoT 中心 (C)

在本教程中,从学习如何使用 Intel Edison 的基础知识开始。 然后学习如何使用 Azure IoT 中心将设备无缝连接到云。

还没有工具包? 从 这里 开始。

准备工作

  • 安装 Intel Edison 和 Grove 模块。
  • 创建 IoT 中心。
  • 在 IoT 中心内为 Edison 注册设备。
  • 在 Edison 上运行示例应用程序,以将传感器数据发送到 IoT 中心。

将 Intel Edison 连接到创建的 IoT 中心。 然后,在 Edison 上运行示例应用程序,从 Grove 温度传感器收集温度和湿度数据。 最后,将传感器数据发送到 IoT 中心。

学习内容

  • 如何创建 Azure IoT 中心以及如何获取新的设备连接字符串。
  • 如何将 Edison 与 Grove 温度传感器连接起来。
  • 如何通过在 Edison 上运行示例应用程序收集传感器数据。
  • 如何将传感器数据发送到 IoT 中心。

需要什么

需要什么

  • Intel Edison 开发板
  • Arduino 扩展板
  • 一个有效的 Azure 订阅。 如果没有 Azure 帐户,只需花费几分钟就能创建一个 Azure 试用帐户
  • 运行 Windows 或 Linux 的 Mac 或电脑。
  • Internet 连接。
  • Micro B - Type A USB 线缆
  • 直流 (DC) 电源。 电源应符合以下条件:
    • 7-15V DC
    • 至少 1500mA
    • 中心/内部插头应为电源的正极

以下项可选:

  • Grove Base Shield V2
  • Grove - 温度传感器
  • Grove 电缆
  • 任何垫条或螺钉(随附在工具包内),其中包括两颗螺钉(用于将模块固定到扩展板上)以及四组螺钉和塑料垫片。

Note

上述项为可选项,因为代码示例支持模拟的传感器数据。

创建 IoT 中心

  1. Azure 门户中,依次单击“新建” > “物联网” > “IoT 中心”。

    在 Azure 门户中创建 IoT 中心

  2. 在“IoT 中心”窗格中,输入 IoT 中心的以下信息:

    名称:输入 IoT 中心的名称。 如果输入的名称有效,则显示一个绿色复选标记。

    定价和缩放级别:选择“F1 - 免费”级别。 此选项对于本演示来说已足够。 有关详细信息,请参阅定价和缩放级别

    资源组:创建用于托管 IoT 中心的资源组,或使用现有的资源组。 有关详细信息,请参阅使用资源组管理 Azure 资源

    位置:选择与创建的 IoT 中心最靠近的位置。

    固定仪表板:选中此选项可以方便地从仪表板访问 IoT 中心。

    输入创建 IoT 中心所需的信息

    Important

    IoT 中心将公开为 DNS 终结点,因此,命名时请务必避免包含任何敏感信息。

  3. 单击“创建” 。 创建 IoT 中心可能需要数分钟的时间。 可在“通知”窗格中查看进度。

    查看 IoT 中心的进度通知

  4. 创建 IoT 中心后,请在仪表板中单击它。 记下“主机名”,并单击“共享访问策略”。

    获取 IoT 中心的主机名

  5. 在“共享访问策略”窗格中单击“iothubowner”策略,并复制并记下 IoT 中心的连接字符串。 有关详细信息,请参阅控制对 IoT 中心的访问

Note

此设置教程不需要此 iothubowner 连接字符串。 不过,在完成此设置以后,可能需要将其用于某些讲述其他 IoT 方案的教程。

获取 IoT 中心连接字符串

在 IoT 中心为设备进行设备注册

  1. Azure 门户中打开 IoT 中心。
  2. 单击“设备资源管理器”。
  3. 在“设备资源管理器”窗格中,单击“添加”将设备添加到 IoT 中心。 然后执行以下操作:

    设备 ID:输入新设备的 ID。 设备 ID 区分大小写。

    身份验证类型:选择“对称密钥”。

    自动生成密钥:选中此复选框。

    将设备连接到 IoT 中心:单击“启用”。

    在 IoT 中心的设备资源管理器中添加设备

    Important

    收集的日志中可能会显示设备 ID 用于客户支持和故障排除,因此,在为日志命名时,请务必避免包含任何敏感信息。

  4. 单击“保存” 。

  5. 创建设备后,在“设备资源管理器”窗格中打开设备。
  6. 记下连接字符串的主密钥。

    获取设备连接字符串

安装 Intel Edison

组装开发板

本部分包括将 Intel® Edison 模块连接到扩展板的步骤。

  1. 将 Intel® Edison 模块放在扩展板的白色边框内,将模块上的孔对准扩展板上的螺钉。

  2. 将手指放在 What will you make? 文字下方,按压模块,直至感觉模块已就位。

    组装开发板 2

  3. 用两颗六角螺母(随附在工具包内)将模块固定到扩展板上。

    组装开发板 3

  4. 将一颗螺钉插入扩展板上的一个角孔(共四个)。 在螺钉上放置白色塑料垫片,转动并拧紧。

    组装开发板 4

  5. 重复上述步骤安装其他三个角垫。

    组装开发板 5

现在,开发板就已组装完毕。

组装开发板

连接 Grove Base Shield 和温度传感器

  1. 将 Grove Base Shield 放在板上。 确保所有引脚都紧紧插入板中。

    Grove Base Shield

  2. 通过 Grove 电缆将 Grove 温度传感器连接到 Grove Base Shield A0 端口。

    连接到温度传感器 Edison 和传感器连接

传感器现准备就绪。

为 Edison 接通电源

  1. 插入电源。

    插入电源

  2. 此时,绿色 LED(Arduino* 扩展板上标记为 DS1)应点亮并持续这一状态。

  3. 稍等片刻,等待开发板完成启动。

    Note

    如果没有 DC 电源,仍可通过 USB 端口为开发板供电。 有关详细信息,请参阅 Connect Edison to your computer 部分。 采用这种方式为开发板供电可能会导致开发板出现异常,尤其是在使用 Wi-Fi 或驱动电机时。

将 Edison 连接到计算机

  1. 向下拨动微动开关,使之朝向两个 micro USB 端口,将 Edison 设置为设备模式。 有关设备模式与主机模式的区别,请参阅 此处

    向下扳动微动开关

  2. 将 micro USB 电缆插入顶部的 micro USB 端口。

    顶部的 micro USB 端口

  3. 将 USB 电缆的另一端插入计算机。

    计算机 USB

  4. 如果计算机安装了新驱动器,则可确定开发板已完全初始化(就像将一张 SD 卡插入计算机)。

下载并运行配置工具

请从此链接(在 Installers 标题下列出)获取最新配置工具。 运行该工具,并按照屏幕上的说明进行操作,在需要时单击“下一步”

刷写固件

  1. Set up options页面上,单击Flash Firmware
  2. 执行以下操作之一选择要刷写到开发板上的映像:
    • 若要下载 Intel 提供的最新固件映像并使用该映像来刷写开发板,请选择 Download the latest image version xxxx
    • 若要使用计算机上已保存的映像来刷写开发板,请选择 Select the local image。 浏览到要刷写到开发板的映像并选择。
  3. 安装工具将尝试刷写开发板。 整个刷写过程最长可能需要 10 分钟。

设置密码

  1. Set up options页面上,单击Enable Security
  2. 可为 Intel® Edison 开发板设置自定义名称。 这是可选的。
  3. 为开发板键入密码,并单击 Set password
  4. 记下密码,稍后会用到此密码。

连接 Wi-Fi

  1. Set up options页面上,单击Connect Wi-Fi。 计算机将扫描可用的 Wi-Fi 网络,此过程最长可能需要 1 分钟。
  2. Detected Networks 下拉列表中,选择网络。
  3. Security 下拉列表中,选择网络的安全类型。
  4. 提供登录名和密码信息,并单击 Configure Wi-Fi
  5. 记下 IP 地址,稍后会用到此地址。

Note

确保 Edison 与计算机连接到同一网络。 计算机通过 IP 地址连接到 Edison。

连接到温度传感器

祝贺! Edison 已配置成功。

在 Intel Edison 上运行示例应用程序

准备 Azure IoT 设备 SDK

  1. 使用主计算机的以下任一 SSH 客户端连接到 Intel Edison。 IP 地址来自配置工具,密码与该工具中设置的相同。

    • PuTTY for Windows。
    • Ubuntu 或 macOS 上的内置 SSH 客户端(运行 ssh root@"the IP address")。
  2. 将示例客户端应用克隆到设备中。

    git clone https://github.com/Azure-Samples/iot-hub-c-intel-edison-client-app.git
    
  3. 然后导航到存储库文件夹,运行以下命令生成 Azure IoT SDK

    cd iot-hub-c-intel-edison-client-app
    sed -i -e 's/\r$//' buildSDK.sh
    chmod 755 buildSDK.sh
    ./buildSDK.sh
    

配置示例应用程序

  1. 通过运行以下命令,打开配置文件:

    nano config.h
    

    配置文件

    此文件中有两个可配置的宏。 第一个是 INTERVAL,它确定发送到云的两条消息之间的时间间隔。 第二个是 SIMULATED_DATA,它是一个布尔值,指示是否使用模拟的传感器数据。

    如果没有传感器,请将 SIMULATED_DATA 值设置为 1,使示例应用程序创建和使用模拟的传感器数据。

  2. 通过按“Ctrl-O”>“Enter”>“Ctrl-X”保存并退出。

生成并运行示例应用程序

  1. 通过运行以下命令,生成示例应用程序:

    cmake . && make
    

    生成输出

  2. 通过运行以下命令,生成示例应用程序:

    sudo ./app '<your Azure IoT hub device connection string>'
    

    Note

    确保将设备连接字符串复制并粘贴到单引号中。

应看到以下输出,其中显示传感器数据以及发送至 IoT 中心的消息。

输出 - 从 Intel Edison 发送到 IoT 中心的传感器数据

后续步骤

此时已运行示例应用程序,收集传感器数据并将其发送到 IoT 中心。

若要继续了解 Azure IoT 中心入门知识并浏览其他 IoT 方案,请参阅以下文章: