物联网资讯汇流第一站,教你如何以以MQTT连接微软Azure
679 次检阅

物联网资讯汇流第一站,教你如何以以MQTT连接微软Azure

IoT Hub 是 Azure 物联网套件中的主要 PaaS 服务,负责管理与连接物联网装置并协助企业蒐集、管理和处理从物联网装置上所产生的资料。

这个文章将提供逐步引导,如何以 MQTT 连接微软 Azure IoT Hub,以及进阶设定指令,与程式码範例。

微软 Azure 初步设定

1.  若您没有帐号,请于 https://azure.microsoft.com/en-us 建立

物联网资讯汇流第一站,教你如何以以MQTT连接微软Azure

2.  登入您的帐号

物联网资讯汇流第一站,教你如何以以MQTT连接微软Azure

3.  选取 New > Internet of Things > Azure IoT Hub.

物联网资讯汇流第一站,教你如何以以MQTT连接微软Azure

4.  为新增的 Azure* IoT Hub 输入必要资讯,并点选 Create

物联网资讯汇流第一站,教你如何以以MQTT连接微软Azure

您的 Azure* IoT Hub 将马上建立

取得共用存取签章 token ,作为 administrative 管理用途

一旦您的 Azure IoT Hub 被创造,您必须取得 SAS 签章 token ,以执行主管理员动作,像是新增或列出装置。
欲达成目标:

1. 在主控台,点选您新增的 Azure IoT Hub 连结.

2. 点选 Settings > Shared access policies > registryReadWrite.

物联网资讯汇流第一站,教你如何以以MQTT连接微软Azure

3. 取得 Primary key 以及其对应的 Connection string

4. 新增 SAS token,如下步骤:

sastoken < 您的 IoT Hub 名>.azure-devices.net/devices/ < 您的 primary key> 1440 registryReadWrite

该 SAS token 只会于 24 小时内有效,且只可用作执行 administrative 功能,例如新增新装置。每个装置亦需他自己的 SAS token,将在后续步骤中建立。

您可以在 support\azure 下找到 SAS token 程式, Windows 、 OS X 和 Linux 可在 support\azure\build 资料夹下找到 Precompiled binaries 档。

新增新装置

你可以使用 cURL 指令于你的 Azure* IoT Hub 新增新装置,以 SAS token registryReadWrite 权限获取,如上述提及。例如,新增一个名为“edison1”的新装置,请输入以下指令:

若您使用 Windows ,您需安装 Cygwin 才可使用 cURL 。相关资讯请参考 installing cygwin.md。
您应接收到如下回应:

物联网资讯汇流第一站,教你如何以以MQTT连接微软Azure
取得装置列表

您可以使用 cURL 指令,以 SAS token registryReadWrite 权限获取您的 Azure* IoT Hub 目前装置清单,如下所示:

您应接收到如下回应:

物联网资讯汇流第一站,教你如何以以MQTT连接微软Azure

将装置与 Azure* IoT Hub 连接,您需要装置的 Primary key 或 Secondary key 以取得 SAS token 。

获取装置用 SAS token

您需要新建一个 SAS token ,让 Intel® Edison board 与您的 Azure* IoT Hub 连接并录取资料。此种 SAS token 的权限比 administrative 的 SAS token 权限相较较小。您可以使用 SAS token 如下:

您的 SAS token 应和下图类似:

物联网资讯汇流第一站,教你如何以以MQTT连接微软Azure

它的有效期限为 24 小时,且只应使用于它创建的装置上。也就是说,每个您欲连接的装置都需要自己的 SAS token。

总结

若您依照上述步骤执行,应已经拥有您的程式与 MQTT 伺服器连接所需资讯:

C++附加设定

在 Intel® Edison board 执行您的 C++ 程式码时,您需要在 Eclipse 设定 MQTT 客户端参数如下:

1.  于 Run configurations 以及 Commands to execute before application field 里执行以下设定:

2.  点选 Apply 存取设定。

3.  点选 Run ,于您的主板上执行该程式码。

Javascript 附加设定

在 Intel® Edison board 执行您的 JavaScript 程式码时,您需要在 Intel® XDK IDE 设定 MQTT 客户端参数。新增以下设定至 config.json 档:

物联网资讯汇流第一站,教你如何以以MQTT连接微软Azure
上一篇: 下一篇:
随机文章
热门文章