Delete diff files
До Ширина: | Высота: | Размер: 19 KiB |
До Ширина: | Высота: | Размер: 5.4 KiB |
До Ширина: | Высота: | Размер: 23 KiB |
До Ширина: | Высота: | Размер: 5.8 KiB |
До Ширина: | Высота: | Размер: 24 KiB |
До Ширина: | Высота: | Размер: 5.8 KiB |
До Ширина: | Высота: | Размер: 22 KiB |
До Ширина: | Высота: | Размер: 20 KiB |
До Ширина: | Высота: | Размер: 34 KiB |
До Ширина: | Высота: | Размер: 28 KiB |
До Ширина: | Высота: | Размер: 23 KiB |
До Ширина: | Высота: | Размер: 16 KiB |
До Ширина: | Высота: | Размер: 15 KiB |
|
@ -1,302 +0,0 @@
|
|||
<a name="how-to-certify-iot-devices-running-linux-with-azure-iot-sdk"></a>如何使用 Azure IoT SDK 认证运行 Linux 的 IoT 设备
|
||||
===
|
||||
---
|
||||
|
||||
|
||||
# <a name="table-of-contents"></a>目录
|
||||
|
||||
- [简介](#Introduction)
|
||||
- [步骤 1:配置 Azure IoT 中心](#Configure)
|
||||
- [步骤 2:注册设备](#Register)
|
||||
- [步骤 3:使用 Node JS 客户端库生成并验证示例](#Build)
|
||||
- [3.1:在设备上加载 Azure IoT 代码和必备组件](#Load)
|
||||
- [3.2 生成示例](#BuildSamples)
|
||||
- [3.3:运行并验证示例](#Run)
|
||||
- [步骤 4:打包并共享](#PackageShare)
|
||||
- [4.1:打包生成日志和示例测试结果](#Package)
|
||||
- [4.2 与工程支持人员共享包](#Share)
|
||||
- [4.3:后续步骤](#Next)
|
||||
- [步骤 5:故障排除](#Troubleshooting)
|
||||
|
||||
<a name="Introduction"></a>
|
||||
# <a name="introduction"></a>简介
|
||||
|
||||
**关于本文档**
|
||||
|
||||
本文档向 IoT 硬件发布人员提供有关如何使用 Azure IoT SDK 认证已启用 IoT 的硬件的分步指南。 此过程由多个步骤组成,其中包括:
|
||||
- 配置 Azure IoT 中心
|
||||
- 注册 IoT 设备
|
||||
- 在设备上生成并部署 Azure IoT SDK
|
||||
- 打包并共享日志
|
||||
|
||||
|
||||
**准备**
|
||||
|
||||
在执行以下任一步骤之前,请仔细阅读每个过程的每个步骤,确保全盘了解整个过程。 在开始过程前,应已准备好以下项目:
|
||||
|
||||
- 用于认证的所需硬件
|
||||
|
||||
***注意:****如果尚未联系 Microsoft 来申请成为“Azure IoT 认证”合作伙伴,请先提交此[表单](<https://iotcert.cloudapp.net/>)请求此身份,然后遵照本文中的说明操作。*
|
||||
|
||||
<a name="Configure"></a>
|
||||
# <a name="step-1-sign-up-to-azure-iot-hub"></a>步骤 1:注册 Azure IoT 中心
|
||||
|
||||
遵照[此处](https://account.windowsazure.com/signup?offer=ms-azr-0044p)的说明了解如何注册 Azure IoT 中心服务。
|
||||
|
||||
在注册过程中,将会收到连接字符串。
|
||||
|
||||
- **IoT 中心连接字符串**:下面显示了 IoT 中心连接字符串的示例:
|
||||
|
||||
HostName=[YourIoTHubName];CredentialType=SharedAccessSignature;CredentialScope=[ContosoIotHub];SharedAccessKeyName=[YourAccessKeyName];SharedAccessKey=[YourAccessKey]
|
||||
|
||||
<a name="Register"></a>
|
||||
# <a name="step-2-register-device"></a>步骤 2:注册设备
|
||||
|
||||
在本部分,我们将使用 DeviceExplorer 注册设备。 DeviceExplorer 是与 Azure IoT 中心对接的 Windows 应用程序,可执行以下操作:
|
||||
|
||||
- 设备管理
|
||||
- 创建新设备
|
||||
- 列出现有设备,公开设备中心内存储的设备属性
|
||||
- 可更新设备密钥
|
||||
- 可删除设备
|
||||
- 监视设备的事件。
|
||||
- 向设备发送消息。
|
||||
|
||||
若要运行 DeviceExplorer 工具,请根据[步骤 1](#Configure) 中所述使用配置字符串:
|
||||
|
||||
- IoT 中心连接字符串
|
||||
|
||||
**步骤:**
|
||||
|
||||
1. 单击[此处](<https://github.com/Azure/azure-iot-sdk-csharp/blob/master/tools/DeviceExplorer/doc/how_to_use_device_explorer.md>)下载并安装 DeviceExplorer。
|
||||
|
||||
2. 添加“配置”选项卡下面的连接信息,然后单击“更新”按钮。
|
||||
|
||||
3. 根据以下说明创建设备并将其注册到 IoT 中心。
|
||||
|
||||
a.在“解决方案资源管理器”中,右键单击项目文件夹下的“引用”文件夹,然后单击“添加引用”。 单击“管理”选项卡。
|
||||
|
||||
b.保留“数据库类型”设置,即设置为“共享”。 注册的设备将显示在列表中。 如果你的设备未显示在列表中,请单击“刷新”按钮。 如果这是第一次注册设备,请不要检索任何信息。
|
||||
|
||||
c. 单击“创建”按钮创建设备 ID 和密钥。
|
||||
|
||||
d.单击“下一步”。 成功创建设备后,该设备将列在 DeviceExplorer 中。
|
||||
|
||||
e.在“新建 MySQL 数据库”边栏选项卡中,接受法律条款,然后单击“确定”。 右键单击该设备,然后从上下文菜单中选择“复制所选设备的连接字符串”。
|
||||
|
||||
f. 在记事本中保存此信息。 后面的步骤需要用到此信息。
|
||||
|
||||
***不是在电脑上运行 Windows?*** - 请遵照[此处](<https://github.com/Azure/azure-iot-device-ecosystem/blob/master/manage_iot_hub.md>)的说明预配设备并获取其凭据。
|
||||
|
||||
<a name="Build"></a>
|
||||
# <a name="step-3-build-and-validate-the-sample-using-node-js-client-libraries"></a>步骤 3:使用 Node JS 客户端库生成并验证示例
|
||||
|
||||
本部分逐步讲解如何在运行 Linux 操作系统的设备上生成、部署和验证 IoT 客户端 SDK。 我们将在设备上安装必备组件。 完成后,将生成并部署 IoT 客户端 SDK,然后验证使用 Azure IoT SDK 进行 IoT 认证所需的示例测试。
|
||||
|
||||
<a name="Load"></a>
|
||||
## <a name="31-load-the-azure-iot-bits-and-prerequisites-on-device"></a>3.1:在设备上加载 Azure IoT 代码和必备组件
|
||||
|
||||
- 通过 Google Playstore 或访问 URL ( **[https://termux.com/](https://termux.com/)** ) 安装 **Termux** 应用
|
||||
|
||||
- 打开 Termux 应用。
|
||||
- 运行以下命令安装必备组件:
|
||||
|
||||
apt update
|
||||
apt upgrade
|
||||
apt install -y coreutils nano openssl-tool git nodejs
|
||||
|
||||
- 检查是否已成功安装 NodeJS
|
||||
|
||||
node --version
|
||||
|
||||
- 在 Termux 应用中发出以下命令,将 SDK 下载到开发板
|
||||
|
||||
git clone https://github.com/Azure/azure-iot-sdk-node.git
|
||||
|
||||
- 验证 ~/azure-iot-sdk-node 目录中现在是否有源代码的副本。
|
||||
|
||||
<a name="BuildSamples"></a>
|
||||
## <a name="32-build-the-samples"></a>3.2 生成示例
|
||||
|
||||
- 设置 **IOTHUB\_CONNECTION\_STRING** 环境变量。
|
||||
|
||||
export IOTHUB_CONNECTION_STRING='<IoT Hub Connection String>'
|
||||
|
||||
将上述占位符替换为在[步骤 2](#Register) 中注册设备时使用的“IoT 中心连接字符串”。
|
||||
|
||||
- 运行以下命令生成开发环境
|
||||
|
||||
cd ~/azure-iot-sdk-node
|
||||
sh build/dev-setup.sh
|
||||
sh build/build.sh | tee LogFile.txt
|
||||
|
||||
***注意:*** 应将上述命令中的 LogFile.txt 替换为要将生成输出写入到的文件名。
|
||||
|
||||
- 转到示例。
|
||||
|
||||
cd ~/azure-iot-sdk-node/node/device/samples
|
||||
|
||||
- 安装 npm 包以运行示例。
|
||||
|
||||
**对于 AMQP 协议:**
|
||||
|
||||
npm install azure-iot-device-amqp
|
||||
|
||||
**对于 HTTP 协议:**
|
||||
|
||||
npm install azure-iot-device-http
|
||||
|
||||
**对于 MQTT 协议:**
|
||||
|
||||
npm install azure-iot-device-mqtt
|
||||
|
||||
- 运行以下命令更新示例
|
||||
|
||||
nano simple_sample_device.js
|
||||
|
||||
- 此时会启动基于控制台的文本编辑器。 向下滚动到以下代码行所写入到的协议信息位置。
|
||||
|
||||
var Protocol = require('azure-iot-device-amqp').Amqp;
|
||||
|
||||
- 如果使用的协议不是 amqp,请替换上述代码行。
|
||||
|
||||
**对于 HTTP 协议:**
|
||||
|
||||
var Protocol = require('azure-iot-device-http').Http;
|
||||
|
||||
**对于 MQTT 协议:**
|
||||
|
||||
var Protocol = require('azure-iot-device-mqtt').Mqtt;
|
||||
|
||||
- 找到 IoT 连接字符串的以下占位符:
|
||||
|
||||
var connectionString = "[IoT Device Connection String]";
|
||||
|
||||
- 将上述占位符替换为设备连接字符串。 可根据[步骤 2](#Register) 中所述,从 DeviceExplorer 获取这个已复制到记事本的连接字符串。
|
||||
|
||||
- 按 Ctrl+O 保存更改,当 nano 提示是否保存到同一文件时,按 ENTER 即可。
|
||||
|
||||
- 按 Ctrl+X 退出 nano。
|
||||
|
||||
- 在退出 **~/azure-iot-sdk-node/device/samples** 目录之前运行以下命令
|
||||
|
||||
npm link azure-iot-device
|
||||
|
||||
<a name="Run"></a>
|
||||
## <a name="33-run-and-validate-the-samples"></a>3.3 运行并验证示例
|
||||
|
||||
在本部分,我们将运行 Azure IoT 客户端 SDK 示例来验证设备与 Azure IoT 中心服务之间的通信。 我们要向 Azure IoT 中心服务发送消息,然后验证 IoT 中心是否成功接收数据。 此外,我们还会监视从 Azure IoT 中心发送到客户端的任何消息。
|
||||
|
||||
**注意:** 请对以下部分中执行的所有操作进行屏幕截图(如示例屏幕截图)。 在[步骤 4](#Share) 中需要使用这些屏幕截图。
|
||||
|
||||
### <a name="331-send-device-events-to-iot-hub"></a>3.3.1 向 IoT 中心发送设备事件:
|
||||
|
||||
1. 如[步骤 2](#Register) 中所述启动 DeviceExplorer,并导航到“数据”选项卡。 从设备 ID 下拉列表中选择创建的设备名称,然后单击“监视”按钮。
|
||||
|
||||
![DeviceExplorer_Monitor](images/3_3_1_01.png)
|
||||
|
||||
2. 现在,DeviceExplorer 正在监视从选定设备发送到 IoT 中心的数据。
|
||||
|
||||
3. 在 Termux 应用中发出以下命令运行该示例:
|
||||
|
||||
node ~/azure-iot-sdk-node/device/samples/simple_sample_device.js
|
||||
|
||||
4. 检查是否已成功发送和接收数据。 如果出现任何问题,则可能表示未正确复制设备中心连接信息。
|
||||
|
||||
**如果使用 AMQP 协议:**
|
||||
|
||||
![SampleAMQP\_result\_terminal](images/3_3_1_02.png)
|
||||
|
||||
**如果使用 HTTP 协议:**
|
||||
|
||||
![SampleHTTP\_result\_terminal](images/3_3_1_04.png)
|
||||
|
||||
**如果使用 MQTT 协议:**
|
||||
|
||||
![SampleMQTT\_result\_terminal](images/3_3_1_06.png)
|
||||
|
||||
5. DeviceExplorer 应显示 IoT 中心已成功接收示例发送的数据。
|
||||
|
||||
**如果使用 AMQP 协议:**
|
||||
|
||||
![SampleAMQP\_result\_DeviceExplorer](images/3_3_1_03.png)
|
||||
|
||||
**如果使用 HTTP 协议:**
|
||||
|
||||
![SampleHTTP\_result\_DeviceExplorer](images/3_3_1_05.png)
|
||||
|
||||
**如果使用 MQTT 协议:**
|
||||
|
||||
![SampleMQTT\_result\_DeviceExplorer](images/3_3_1_07.png)
|
||||
|
||||
|
||||
### <a name="332-receive-messages-from-iot-hub"></a>3.3.2 从 IoT 中心接收消息
|
||||
|
||||
1. 若要验证是否可从 IoT 中心向设备发送消息,请转到 DeviceExplorer 中的“发送到设备的消息”选项卡。
|
||||
|
||||
2. 使用设备 ID 下拉列表选择创建的设备。
|
||||
|
||||
3. 在“消息”字段中添加一些文本,然后单击“发送”按钮。
|
||||
|
||||
![MessageSend_DeviceExplorer](images/3_3_2_01.png)
|
||||
|
||||
4. 应会在客户端示例的控制台窗口中看到收到的命令。
|
||||
|
||||
**如果使用 AMQP 协议:**
|
||||
|
||||
![MessageSend\_terminal](images/3_3_2_02.png)
|
||||
|
||||
**如果使用 HTTP 协议:**
|
||||
|
||||
![MessageSend\_terminal](images/3_3_2_03.png)
|
||||
|
||||
**如果使用 MQTT 协议:**
|
||||
|
||||
![MessageSend\_terminal](images/3_3_2_04.png)
|
||||
|
||||
<a name="PackageShare"></a>
|
||||
# <a name="step-4-package-and-share"></a>步骤 4:打包并共享
|
||||
|
||||
<a name="Package"></a>
|
||||
## <a name="41-package-build-logs-and-sample-test-results"></a>4.1:打包生成日志和示例测试结果
|
||||
|
||||
从设备打包以下项目:
|
||||
|
||||
1. 生成运行过程中在日志文件记录的生成日志和 E2E 测试结果。
|
||||
|
||||
2. 前面“**向 IoT 中心发送设备事件**”部分中显示的所有屏幕截图。
|
||||
|
||||
3. 前面“**从 IoT 中心接收消息**”部分中的所有屏幕截图。
|
||||
|
||||
4. 向我们发送明确的说明,告知如何在硬件上运行此示例(具体强调客户所要执行的新步骤)。 请使用[此处](<https://github.com/Azure/azure-iot-device-ecosystem/blob/master/iotcertification/templates/template-linux-nodejs.md>)提供的模板创建特定于设备的说明。
|
||||
|
||||
有关说明形式的指导,请参考[此处](<https://github.com/Azure/azure-iot-device-ecosystem/tree/master/get_started>) GitHub 存储库中发布的示例。
|
||||
|
||||
<a name="Share"></a>
|
||||
## <a name="42-share-package-with-engineering-support"></a>4.2 与工程支持人员共享包
|
||||
|
||||
1. 转到[合作伙伴仪表板](<https://catalog.azureiotsuite.com/devices>)。
|
||||
2. 单击设备右上角的“上载”图标。
|
||||
|
||||
![Share\_Results\_upload\_icon](images/4_2_01.png)
|
||||
|
||||
3. 此时将打开上载对话框。 单击“上载”按钮浏览文件。
|
||||
|
||||
![Share\_Results\_upload\_dialog](images/4_2_02.png)
|
||||
|
||||
可以上载同一个设备的多个文件。
|
||||
|
||||
4. 上传所有文件后,单击“提交审查”按钮。
|
||||
|
||||
***注意:****提交文件供审查后,若要更改/删除文件,请联系 iotcert 团队。*
|
||||
|
||||
|
||||
<a name="Next"></a>
|
||||
## <a name="43-next-steps"></a>4.3:后续步骤
|
||||
|
||||
与我们共享文档后,我们将在接下来的 48 到 72 个工作小时内与你取得联系,以提供后续步骤。
|
||||
|
||||
<a name="Troubleshooting"></a>
|
||||
# <a name="step-5-troubleshooting"></a>步骤 5:疑难解答
|
||||
|
||||
如需故障排除的帮助,请通过 <iotcert@microsoft.com> 联系工程支持人员。
|
До Ширина: | Высота: | Размер: 16 KiB |
До Ширина: | Высота: | Размер: 15 KiB |
До Ширина: | Высота: | Размер: 26 KiB |
До Ширина: | Высота: | Размер: 23 KiB |
До Ширина: | Высота: | Размер: 46 KiB |
До Ширина: | Высота: | Размер: 45 KiB |
До Ширина: | Высота: | Размер: 17 KiB |
До Ширина: | Высота: | Размер: 20 KiB |
До Ширина: | Высота: | Размер: 118 KiB |
До Ширина: | Высота: | Размер: 23 KiB |
|
@ -1,201 +0,0 @@
|
|||
<a name="how-to-certify-iot-devices-running-android-with-azure-iot-sdk"></a>如何使用 Azure IoT SDK 认证运行 Android 的 IoT 设备
|
||||
===
|
||||
---
|
||||
|
||||
# <a name="table-of-contents"></a>目录
|
||||
|
||||
- [简介](#Introduction)
|
||||
- [步骤 1:注册 Azure IoT 中心](#Step_1)
|
||||
- [步骤 2:注册设备](#Step_2)
|
||||
- [步骤 3:使用 Java 客户端库生成并验证示例](#Step_3)
|
||||
- [3.1 在设备上安装 Azure IoT 设备 SDK 和必备组件](#Step_3_1)
|
||||
- [3.2 运行并验证示例](#Step_3_2)
|
||||
- [步骤 4:打包并共享](#Step_4)
|
||||
- [4.1:打包生成日志和示例测试结果](#Step_4_1)
|
||||
- [4.2 与 Azure IoT 认证团队共享](#Step_4_2)
|
||||
- [4.3:后续步骤](#Step_4_3)
|
||||
- [步骤 5:故障排除](#Step_5)
|
||||
|
||||
<a name="Introduction"></a>
|
||||
# <a name="introduction"></a>简介
|
||||
|
||||
**关于本文档**
|
||||
|
||||
本文档向 IoT 硬件发布人员提供有关如何使用 Azure IoT Java SDK 认证已启用 IoT 的硬件的分步指南。 此过程由多个步骤组成,其中包括:
|
||||
- 配置 Azure IoT 中心
|
||||
- 注册 IoT 设备
|
||||
- 在设备上生成并部署 Azure IoT SDK
|
||||
- 打包并共享日志
|
||||
|
||||
**准备**
|
||||
|
||||
在执行以下任一步骤之前,请仔细阅读每个过程的每个步骤,确保全盘了解整个过程。
|
||||
|
||||
在开始过程前,应已准备好以下项目:
|
||||
|
||||
- 准备好一台装有 GitHub 并且可以访问 [azure-iot-sdk-java](https://github.com/Azure/azure-iot-sdk-java) GitHub 公共存储库的计算机。
|
||||
- 需要认证的硬件。
|
||||
|
||||
<a name="Step_1"></a>
|
||||
# <a name="step-1-sign-up-to-azure-iot-hub"></a>步骤 1:注册 Azure IoT 中心
|
||||
|
||||
遵照[此处](https://account.windowsazure.com/signup?offer=ms-azr-0044p)的说明了解如何注册 Azure IoT 中心服务。
|
||||
|
||||
在注册过程中,将会收到连接字符串。
|
||||
|
||||
- **IoT 中心连接字符串**:下面显示了 IoT 中心连接字符串的示例:
|
||||
|
||||
HostName=[YourIoTHubName];SharedAccessKeyName=[YourAccessKeyName];SharedAccessKey=[YourAccessKey]
|
||||
|
||||
<a name="Step_2"></a>
|
||||
# <a name="step-2-register-device"></a>步骤 2:注册设备
|
||||
|
||||
- 遵照[此处](<https://github.com/Azure/azure-iot-device-ecosystem/blob/master/manage_iot_hub.md>)所述的说明,了解如何预配设备并获取其凭据。
|
||||
|
||||
<a name="Step_3"></a>
|
||||
# <a name="step-3-build-and-validate-the-sample-using-java-client-libraries"></a>步骤 3:使用 Java 客户端库生成并验证示例
|
||||
|
||||
本部分逐步讲解如何在运行 Android OS 4.0.3 或更高版本的设备上生成、部署和验证 IoT 客户端 SDK。 我们将在设备上安装必备组件。 完成后,将生成并部署 IoT 客户端 SDK,然后验证使用 Azure IoT SDK 进行 IoT 认证所需的示例测试。
|
||||
|
||||
<a name="Step_3_1"></a>
|
||||
## <a name="31-prepare-your-development-environment"></a>3.1 准备开发环境
|
||||
|
||||
- 从[此处](<http://www.oracle.com/technetwork/java/javase/downloads/index.html>)下载并安装最新的 JDK。
|
||||
|
||||
- 将 [Android Studio](<https://developer.android.com/studio/index.html> 下载到 Windows 计算机上,然后遵照安装说明操作。
|
||||
|
||||
- 使用 USB 电缆将设备插入开发计算机。 如果在 Windows 上开发,可能需要安装设备适用的 USB 驱动程序。 有关安装驱动程序的帮助,请参阅 [OEM USB 驱动程序](<https://developer.android.com/studio/run/oem-usb.html>)文档。
|
||||
- 在设备上启用 USB 调试。 在 Android 4.0 和更高版本上,请转到“设置”>“开发人员选项”。
|
||||
|
||||
***注意***:在 Android 4.2 及更高版本上,“开发人员选项”默认为隐藏。*若要使其可见,请转到“设置”>“关于手机”,然后点击“软件版本号”七次。返回上一屏幕即可找到“开发人员选项”。*
|
||||
|
||||
<a name="Step_3_2"></a>
|
||||
## <a name="32-build-the-samples"></a>3.2 生成示例
|
||||
|
||||
1. 启动 Android Studio 的新实例并从该位置打开 Android 项目:
|
||||
|
||||
azure-iot-sdk-java/device/iot-device-samples/android-sample/
|
||||
|
||||
2. 转到“MainActivity.java”,将 **[device connection string]** 占位符替换为在[步骤 2](#Step_2) 中创建的设备连接字符串,然后保存该文件。
|
||||
|
||||
3. 转到“生成”菜单并选择“生成项目”,以生成项目。
|
||||
|
||||
|
||||
<a name="Step_3_3"></a>
|
||||
## <a name="33-run-and-validate-the-samples"></a>3.3 运行并验证示例
|
||||
|
||||
在本部分,我们将运行 Azure IoT 客户端 SDK 示例来验证设备与 Azure IoT 中心之间的通信。 我们要向 Azure IoT 中心服务发送消息,然后验证 IoT 中心是否成功接收数据。 此外,我们还会监视从 Azure IoT 中心发送到客户端的任何消息。
|
||||
|
||||
***注意:****请对本部分中执行的所有操作进行屏幕截图。* 在[步骤 4](#Step_4_2) 中需要使用这些屏幕截图。
|
||||
|
||||
<a name="Step_3_2_1"></a>
|
||||
### <a name="321-run-the-sample"></a>3.2.1 运行示例:
|
||||
|
||||
#### <a name="run-on-the-device"></a>在设备上运行
|
||||
|
||||
- 选择一个项目文件,然后单击工具栏上的“运行”。
|
||||
- 在显示的“选择设备”窗口中,选中“选择正在运行的设备”单选按钮,选择你的设备,然后单击“确定”。
|
||||
- Android Studio 将在连接的设备上安装并启动应用。
|
||||
|
||||
#### <a name="run-on-the-emulator"></a>在模拟器上运行
|
||||
|
||||
1. 通过“工具”菜单 >“Android”>“AVD Manager”启动“AVD Manager”。
|
||||
2. 在模拟器中启动虚拟设备。 如果列表中未显示任何设备,请创建一个设备。
|
||||
3. 加载并运行设备后,请通过“运行”菜单 >“运行 ‘模块名称’”或者单击 **Shift + F10** **运行**应用。
|
||||
4. 在“选择部署目标”弹出窗口中选择虚拟设备。
|
||||
5. 随后将在模拟器中加载应用。
|
||||
|
||||
<a name="Step_3_2_2"></a>
|
||||
### <a name="322-send-device-events-to-iot-hub"></a>3.2.2 向 IoT 中心发送设备事件:
|
||||
|
||||
1. 如[步骤 2](#Step_2) 中所述启动 DeviceExplorer,并导航到“数据”选项卡。 从设备 ID 下拉列表中选择创建的设备名称,并单击“监视”按钮。
|
||||
|
||||
![DeviceExplorer\_监视](images/de_monitordevice.png)
|
||||
|
||||
2. 现在,DeviceExplorer 正在监视从选定设备发送到 IoT 中心的数据。
|
||||
|
||||
3. 在设备(或模拟器)上运行应用后,应用会立即开始向 IoT 中心发送消息。
|
||||
|
||||
4. 查看“Android Monitor”窗口。 检查确认消息中是否显示“正常”。 如果没有,则可能表示未正确复制设备中心连接信息。
|
||||
|
||||
**如果使用 HTTP 协议:**
|
||||
![Terminal\_HTTP\_send\_event](images/androidmonitor_logcat_sendmessages_http.png)
|
||||
|
||||
**如果使用 MQTT 协议:**
|
||||
![Terminal\_MQTT\_send\_event](images/androidmonitor_logcat_sendmessages_mqtt.png)
|
||||
|
||||
6. DeviceExplorer 应显示 IoT 中心已成功接收示例测试发送的数据。
|
||||
|
||||
**如果使用 HTTP 协议:**
|
||||
![DeviceExplorer\_HTTP\_message\_received](images/de_sendmessages_http.png)
|
||||
|
||||
**如果使用 MQTT 协议:**
|
||||
![DeviceExplorer\_MQTT\_message\_received](images/de_sendmessages_mqtt.png)
|
||||
|
||||
<a name="Step_3_2_3"></a>
|
||||
### <a name="323-receive-messages-from-iot-hub"></a>3.2.3 从 IoT 中心接收消息
|
||||
|
||||
1. 若要验证是否可从 IoT 中心向设备发送消息,请转到 DeviceExplorer 中的“发送到设备的消息”选项卡。
|
||||
|
||||
2. 使用设备 ID 下拉列表选择创建的设备。
|
||||
|
||||
3. 在“消息”字段中添加一些文本,然后单击“发送”。
|
||||
|
||||
![DeviceExplorer\_message\_send](images/de_receivemessage.png)
|
||||
|
||||
4. 在设备或模拟器上加载的示例应用 UI 中单击“接收消息”按钮。
|
||||
|
||||
5. 查看“Android Monitor”窗口。 应会看到收到的命令。
|
||||
|
||||
**如果使用 HTTP 协议:**
|
||||
![Terminal\_HTTP\_message\_received](images/androidmonitor_logcat_receivemessage_http.png)
|
||||
|
||||
**如果使用 MQTT 协议:**
|
||||
![Terminal\_MQTT\_message\_received](images/androidmonitor_logcat_receivemessage_mqtt.png)
|
||||
|
||||
<a name="Step_4"></a>
|
||||
# <a name="step-4-package-and-share"></a>步骤 4:打包并共享
|
||||
|
||||
<a name="Step_4_1"></a>
|
||||
## <a name="41-package-build-logs-and-sample-test-results"></a>4.1:打包生成日志和示例测试结果
|
||||
|
||||
从设备打包以下项目:
|
||||
|
||||
1. 执行步骤 3.1.4 和 3.1.5 过程中在日志文件记录的生成日志和测试结果。
|
||||
|
||||
2. 前面“**向 IoT 中心发送设备事件**”部分中显示的所有屏幕截图。
|
||||
|
||||
3. 前面“**从 IoT 中心接收消息**”部分中的所有屏幕截图。
|
||||
|
||||
4. 向我们发送明确的说明,告知如何在硬件上运行此示例(具体强调客户所要执行的新步骤)。
|
||||
|
||||
有关说明形式的指导,请参考[此处](<https://github.com/Azure/azure-iot-device-ecosystem/tree/master/get_started>) GitHub 存储库中发布的示例。
|
||||
|
||||
<a name="Step_4_2"></a>
|
||||
## <a name="42-share-with-the-azure-iot-certification-team"></a>4.2 与 Azure IoT 认证团队共享
|
||||
|
||||
1. 转到[合作伙伴仪表板](<https://catalog.azureiotsuite.com/devices>)。
|
||||
2. 单击设备右上角的“上载”图标。
|
||||
|
||||
![Share\_Results\_upload\_icon](images/4_2_01.png)
|
||||
|
||||
3. 此时将打开上载对话框。 单击“上载”按钮浏览文件。
|
||||
|
||||
![Share\_Results\_upload\_dialog](images/4_2_02.png)
|
||||
|
||||
可以上载同一个设备的多个文件。
|
||||
|
||||
4. 上传所有文件后,单击“提交审查”按钮。
|
||||
|
||||
***注意:****提交文件供审查后,若要更改/删除文件,请联系 iotcert 团队。*
|
||||
|
||||
|
||||
<a name="Step_4_3"></a>
|
||||
## <a name="43-next-steps"></a>4.3:后续步骤
|
||||
|
||||
与我们共享文档后,我们将在接下来的 48 到 72 个工作小时内与你取得联系,以提供后续步骤。
|
||||
|
||||
<a name="Step_5"></a>
|
||||
# <a name="step-5-troubleshooting"></a>步骤 5:疑难解答
|
||||
|
||||
如需故障排除的帮助,请通过 <iotcert@microsoft.com> 联系工程支持人员。
|
Двоичные данные
iotcertification/iot_certification_linux_c/images/3_3_1_01.png
До Ширина: | Высота: | Размер: 17 KiB |
Двоичные данные
iotcertification/iot_certification_linux_c/images/3_3_1_02.png
До Ширина: | Высота: | Размер: 102 KiB |
Двоичные данные
iotcertification/iot_certification_linux_c/images/3_3_1_04.png
До Ширина: | Высота: | Размер: 43 KiB |
Двоичные данные
iotcertification/iot_certification_linux_c/images/3_3_1_06.png
До Ширина: | Высота: | Размер: 18 KiB |
Двоичные данные
iotcertification/iot_certification_linux_c/images/3_3_1_07.png
До Ширина: | Высота: | Размер: 98 KiB |
Двоичные данные
iotcertification/iot_certification_linux_c/images/4_2_01.png
До Ширина: | Высота: | Размер: 16 KiB |
Двоичные данные
iotcertification/iot_certification_linux_c/images/4_2_02.png
До Ширина: | Высота: | Размер: 15 KiB |
|
@ -1,326 +0,0 @@
|
|||
<a name="how-to-certify-iot-devices-running-linux-with-azure-iot-sdk"></a>如何使用 Azure IoT SDK 认证运行 Linux 的 IoT 设备
|
||||
===
|
||||
---
|
||||
|
||||
# <a name="table-of-contents"></a>目录
|
||||
|
||||
- [简介](#Introduction)
|
||||
- [步骤 1:配置 Azure IoT 中心](#Step-1-Configure)
|
||||
- [步骤 2:注册设备](#Step-2-Register)
|
||||
- [步骤 3:使用 C 客户端库生成并验证示例](#Step-3-Build)
|
||||
- [3.1:在设备上加载 Azure IoT 代码和必备组件](#Step-3-1-Load)
|
||||
- [3.2 生成示例](#Step-3-2-Build)
|
||||
- [3.3:运行并验证示例](#Step-3-3-Run)
|
||||
- [步骤 4:打包并共享](#Step-4-Package_Share)
|
||||
- [4.1:打包生成日志和示例测试结果](#Step-4-1-Package)
|
||||
- [4.2 与工程支持人员共享包](#Step-4-2-Share)
|
||||
- [4.3:后续步骤](#Step-4-3-Next)
|
||||
- [步骤 5:故障排除](#Step-5-Troubleshooting)
|
||||
|
||||
<a name="Introduction"></a>
|
||||
# <a name="introduction"></a>简介
|
||||
|
||||
**关于本文档**
|
||||
|
||||
本文档向 IoT 硬件发布人员提供有关如何使用 Azure IoT SDK 认证已启用 IoT 的硬件的分步指南。 此过程由多个步骤组成,其中包括:
|
||||
|
||||
- 配置 Azure IoT 中心
|
||||
- 注册 IoT 设备
|
||||
- 在设备上生成并部署 Azure IoT SDK
|
||||
- 打包并共享日志
|
||||
|
||||
**准备**
|
||||
|
||||
在执行以下任一步骤之前,请仔细阅读每个过程的每个步骤,确保全盘了解整个过程。
|
||||
|
||||
在开始过程前,应已准备好以下项目:
|
||||
|
||||
- 准备好一台装有 GitHub 并且可以访问 [azure-iot-sdk-c](https://github.com/Azure/azure-iot-sdk-c) GitHub 公共存储库的计算机。
|
||||
- 配置 SSH 客户端(如 [PuTTY](http://www.putty.org/)),以便能够访问命令行。
|
||||
- 需要认证的硬件。
|
||||
|
||||
***注意:****如果尚未联系 Microsoft 来申请成为“Azure IoT 认证”合作伙伴,请先提交此[表单](<https://catalog.azureiotsuite.com/>)请求此身份,然后遵照本文中的说明操作。*
|
||||
|
||||
<a name="Step-1-Configure"></a>
|
||||
# <a name="step-1-sign-up-to-azure-iot-hub"></a>步骤 1:注册 Azure IoT 中心
|
||||
|
||||
遵照[此处](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-csharp-csharp-getstarted#create-an-iot-hub)所述的说明[注册](https://account.windowsazure.com/signup?offer=ms-azr-0044p) Azure IoT 中心服务。 在注册过程中,将会收到连接字符串。
|
||||
|
||||
- **IoT 中心连接字符串**:下面显示了 IoT 中心连接字符串的示例:
|
||||
|
||||
HostName=[YourIoTHubName];SharedAccessKeyName=[YourAccessKeyName];SharedAccessKey=[YourAccessKey]
|
||||
|
||||
<a name="Step-2-Register"></a>
|
||||
# <a name="step-2-register-device"></a>步骤 2:注册设备
|
||||
|
||||
在本部分,我们将使用 DeviceExplorer 注册设备。 DeviceExplorer 是与 Azure IoT 中心对接的 Windows 应用程序,可执行以下操作:
|
||||
|
||||
- 设备管理
|
||||
- 创建新设备
|
||||
- 列出现有设备,公开设备中心内存储的设备属性
|
||||
- 可更新设备密钥
|
||||
- 可删除设备
|
||||
- 监视设备的事件
|
||||
- 向设备发送消息
|
||||
|
||||
若要运行 DeviceExplorer 工具,请根据[步骤 1](#Step-1-Configure) 中所述使用以下配置字符串:
|
||||
|
||||
- IoT 中心连接字符串
|
||||
|
||||
|
||||
**步骤:**
|
||||
1. 单击[此处](<https://github.com/Azure/azure-iot-sdk-csharp/blob/master/tools/DeviceExplorer/doc/how_to_use_device_explorer.md>)下载并安装 DeviceExplorer。
|
||||
|
||||
2. 添加“配置”选项卡下面的连接信息,然后单击“更新”按钮。
|
||||
|
||||
3. 根据以下说明创建设备并将其注册到 IoT 中心。
|
||||
|
||||
a.在“解决方案资源管理器”中,右键单击项目文件夹下的“引用”文件夹,然后单击“添加引用”。 单击“管理”选项卡。
|
||||
|
||||
b.保留“数据库类型”设置,即设置为“共享”。 注册的设备将显示在列表中。 如果你的设备未显示在列表中,请单击“刷新”按钮。 如果这是第一次注册设备,请不要检索任何信息。
|
||||
|
||||
c. 单击“创建”按钮创建设备 ID 和密钥。
|
||||
|
||||
d.单击“下一步”。 成功创建设备后,该设备将列在 DeviceExplorer 中。
|
||||
|
||||
e.在“新建 MySQL 数据库”边栏选项卡中,接受法律条款,然后单击“确定”。 右键单击该设备,然后从上下文菜单中选择“复制所选设备的连接字符串”。
|
||||
|
||||
f. 在记事本中保存此信息。 后面的步骤需要用到此信息。
|
||||
|
||||
***不是在电脑上运行 Windows?*** - 请遵照[此处](<https://github.com/Azure/azure-iot-device-ecosystem/blob/master/manage_iot_hub.md>)的说明预配设备并获取其凭据。
|
||||
|
||||
<a name="Step-3-Build"></a>
|
||||
# <a name="step-3-build-and-validate-the-sample-using-c-client-libraries"></a>步骤 3:使用 C 客户端库生成并验证示例
|
||||
|
||||
本部分逐步讲解如何在运行 Linux 操作系统的设备上生成、部署和验证 IoT 客户端 SDK。 我们将在设备上安装必备组件。 完成后,将生成并部署 IoT 客户端 SDK,然后验证使用 Azure IoT SDK 进行 IoT 认证所需的示例测试。
|
||||
|
||||
<a name="Step-3-1-Load"></a>
|
||||
## <a name="31-load-the-azure-iot-bits-and-prerequisites-on-device"></a>3.1 在设备上加载 Azure IoT 代码和必备组件
|
||||
|
||||
- 打开 PuTTY 会话并连接到设备。
|
||||
|
||||
- 在设备上的命令行中发出以下命令,安装必备组件包。 根据设备上运行的 OS 选择命令。
|
||||
|
||||
**Debian 或 Ubuntu**
|
||||
|
||||
sudo apt-get update
|
||||
|
||||
sudo apt-get install -y curl uuid-dev libcurl4-openssl-dev build-essential cmake git
|
||||
|
||||
**Fedora**
|
||||
|
||||
sudo dnf check-update -y
|
||||
|
||||
sudo dnf install uuid-devel libcurl-devel openssl-devel gcc-c++ make cmake git
|
||||
|
||||
**其他任何 Linux OS**
|
||||
|
||||
Use equivalent commands on the target OS
|
||||
|
||||
***注意:*** 此安装过程需要 cmake 2.8.12 版或更高版本。
|
||||
|
||||
可使用以下命令来验证环境中当前安装的版本:
|
||||
|
||||
cmake --version
|
||||
|
||||
*此库还需要 gcc 4.9 或更高版本。* 可使用以下命令来验证环境中当前安装的版本:
|
||||
|
||||
gcc --version
|
||||
|
||||
有关如何升级 Ubuntu 14.04 上的 gcc 版本的信息,请参阅 <http://askubuntu.com/questions/466651/how-do-i-use-the-latest-gcc-4-9-on-ubuntu-14-04>。
|
||||
|
||||
- 在 PuTTY 中发出以下命令,将 SDK 下载到开发板:
|
||||
|
||||
git clone --recursive https://github.com/Azure/azure-iot-sdk-c.git
|
||||
|
||||
- 验证 ~/azure-iot-sdk-c 目录中现在是否生成了源代码的副本。
|
||||
|
||||
<a name="Step-3-2-Build"></a>
|
||||
## <a name="32-build-the-samples"></a>3.2:生成示例
|
||||
|
||||
有两个示例:一个用于向 IoT 中心发送消息,另一个用于从 IoT 中心接收消息。 这两个示例支持不同的协议。 在生成示例之前,可以使用所选的协议对示例示例进行修改。 默认情况下,将会针对 AMQP 协议生成示例。 在生成之前,遵照以下说明编辑示例:
|
||||
|
||||
### <a name="321-send-telemetry-to-iot-hub-sample"></a>3.2.1:向 IoT 中心示例发送遥测数据:
|
||||
|
||||
1. 在文本编辑器中打开遥测示例文件
|
||||
|
||||
nano azure-iot-sdk-c/iothub_client/samples/iothub_ll_telemetry_sample/iothub_ll_telemetry_sample.c
|
||||
|
||||
2. 找到 IoT 连接字符串的以下占位符:
|
||||
|
||||
static const char* connectionString = "[device connection string]";
|
||||
|
||||
3. 将上述占位符替换为设备连接字符串。 可根据[步骤 2](#Step-2-Register) 中所述,从 DeviceExplorer 获取已复制到记事本中的此字符串。
|
||||
|
||||
4. 找到以下占位符以编辑协议:
|
||||
|
||||
// The protocol you wish to use should be uncommented
|
||||
//
|
||||
#define SAMPLE_HTTP
|
||||
//#define SAMPLE_MQTT
|
||||
//#define SAMPLE_MQTT_OVER_WEBSOCKETS
|
||||
//#define SAMPLE_AMQP
|
||||
//#define SAMPLE_AMQP_OVER_WEBSOCKETS
|
||||
|
||||
5. 取消注释要测试的协议,并注释其他协议。 若要测试多个协议,请对每个协议重复上述步骤。
|
||||
|
||||
6. 按 Ctrl+O 保存更改,当 nano 提示是否保存为同一文件时,请按 ENTER。
|
||||
|
||||
7. 按 Ctrl+X 退出 nano。
|
||||
|
||||
### <a name="321-send-message-from-iot-hub-to-device-sample"></a>3.2.1:将消息从 IoT 中心发送到设备示例:
|
||||
|
||||
1. 在文本编辑器中打开遥测示例文件
|
||||
|
||||
nano azure-iot-sdk-c/iothub_client/samples/iothub_ll_c2d_sample/iothub_ll_c2d_sample.c
|
||||
|
||||
2. 遵循上述步骤 1-7 编辑此示例。
|
||||
|
||||
### <a name="321-build-the-samples"></a>3.2.1:生成示例:
|
||||
|
||||
1. 使用以下命令生成 SDK。 如果在生成期间遇到任何问题,请遵循故障排除[步骤 5](#Step-5-Troubleshooting)。
|
||||
|
||||
sudo ./azure-iot-sdk-c/build_all/linux/build.sh | tee LogFile.txt
|
||||
|
||||
***注意:*** 应将上述命令中的 LogFile.txt 替换为要将生成输出写入到的文件名。
|
||||
|
||||
build.sh 在“~/azure-iot-sdk-c/”下创建名为“cmake”的文件夹。 *“cmake”中保存了整个软件的所有编译结果。*
|
||||
|
||||
|
||||
<a name="Step-3-3-Run"></a>
|
||||
## <a name="33-run-and-validate-the-samples"></a>3.3 运行并验证示例
|
||||
|
||||
在本部分,我们将运行 Azure IoT 客户端 SDK 示例来验证设备与 Azure IoT 中心之间的通信。 我们要向 Azure IoT 中心服务发送消息,然后验证 IoT 中心是否成功接收数据。 此外,我们还会监视从 Azure IoT 中心发送到客户端的任何消息。
|
||||
|
||||
**注意:** 请对本部分中执行的所有操作进行屏幕截图。 在[步骤 4](#Step-4-2-Share) 中需要使用这些屏幕截图。
|
||||
|
||||
### <a name="331-send-device-events-to-iot-hub"></a>3.3.1 向 IoT 中心发送设备事件:
|
||||
|
||||
1. 如[步骤 2](#Step-2-Register) 中所述启动 DeviceExplorer,并导航到“数据”选项卡。 从设备 ID 下拉列表中选择创建的设备名称,并单击“监视”按钮。
|
||||
|
||||
![DeviceExplorer\_监视](images/3_3_1_01.png)
|
||||
|
||||
2. 现在,DeviceExplorer 正在监视从选定设备发送到 IoT 中心的数据。
|
||||
|
||||
3. 发出以下命令运行示例。
|
||||
|
||||
azure-iot-sdk-c/cmake/iotsdk_linux/iothub_client/samples/iothub_ll_telemetry_sample/iothub_ll_telemetry_sample
|
||||
|
||||
4. 检查确认消息中是否显示了“OK”。 如果没有,则可能是错误地复制了设备中心连接信息。
|
||||
|
||||
![SampleAMQP\_result\_terminal](images/3_3_1_02.png)
|
||||
|
||||
5. DeviceExplorer 应显示 IoT 中心已成功接收示例测试发送的数据。
|
||||
|
||||
![Sample\_result\_DeviceExplorer](images/3_3_1_04.png)
|
||||
|
||||
### <a name="332-receive-messages-from-iot-hub"></a>3.3.2:从 IoT 中心接收消息
|
||||
|
||||
1. 发出以下命令运行示例。
|
||||
|
||||
azure-iot-sdk-c/cmake/iotsdk_linux/iothub_client/samples/iothub_ll_c2d_sample/iothub_ll_c2d_sample
|
||||
|
||||
2. 若要验证是否可将消息从 IoT 中心发送到设备,请转到 DeviceExplorer 中的“发送到设备的消息”选项卡。
|
||||
|
||||
3. 使用“设备 ID”下拉列表选择创建的设备。
|
||||
|
||||
4. 在“消息”字段中添加一些文本,然后单击“发送”。
|
||||
|
||||
![MessageSend\_DeviceExplorer](images/3_3_1_06.png)
|
||||
|
||||
5. 应会看到客户端示例控制台窗口中收到的命令。
|
||||
|
||||
![MessageSend\_terminal](images/3_3_1_07.png)
|
||||
|
||||
### <a name="333-verify-device-configuration"></a>3.3.3 验证设备配置
|
||||
|
||||
- 请通过执行以下命令安装 python。
|
||||
|
||||
**Debian 或 Ubuntu**
|
||||
|
||||
sudo apt-get install python
|
||||
|
||||
**Fedora**
|
||||
|
||||
sudo dnf install python
|
||||
|
||||
- *此库还需要 Python 版本 2.7.x。* 可使用以下命令来验证环境中当前安装的版本:
|
||||
|
||||
python --version
|
||||
|
||||
- 在运行 `platform_data.py` 之前,请安装以下模块
|
||||
|
||||
**Debian 或 Ubuntu**
|
||||
|
||||
sudo apt-get install python-requests
|
||||
sudo apt-get install python-netifaces
|
||||
|
||||
**Fedora**
|
||||
|
||||
sudo dnf install python-requests
|
||||
sudo dnf install python-netifaces
|
||||
|
||||
- 发出以下命令下载 SDK:
|
||||
|
||||
git clone https://github.com/Azure/azure-iot-sdk-python.git
|
||||
|
||||
- 通过执行以下命令导航到 tools 文件夹:
|
||||
|
||||
cd azure-iot-sdk-python/Tools
|
||||
|
||||
- 在设备上运行以下命令
|
||||
|
||||
python platform_data.py
|
||||
|
||||
![deviceinfo\_screenshot](images/python_modified_output.PNG)
|
||||
|
||||
- 请保存设备配置屏幕截图,然后按[步骤 4](#Step-4-1-Package) 所述上传该屏幕截图。
|
||||
|
||||
<a name="Step-4-Package_Share"></a>
|
||||
# <a name="step-4-package-and-share"></a>步骤 4:打包并共享
|
||||
|
||||
<a name="Step-4-1-Package"></a>
|
||||
## <a name="41-package-build-logs-and-sample-test-results"></a>4.1:打包生成日志和示例测试结果
|
||||
|
||||
打包设备中的以下项目:
|
||||
|
||||
1. 在生成运行期间记录在日志文件中的生成日志。
|
||||
|
||||
2. 前面“向 IoT 中心发送设备事件”部分中显示的所有屏幕截图。
|
||||
|
||||
3. 前面“从 IoT 中心接收消息”部分中显示的所有屏幕截图。
|
||||
|
||||
4. 前面“设备配置” 部分中的所有屏幕截图。
|
||||
|
||||
5. 请向我们发送明确的说明,描述如何使用你的硬件运行此示例(明确强调客户要执行的新步骤)。 请使用[此处](<https://github.com/Azure/azure-iot-device-ecosystem/blob/master/iotcertification/templates/template-linux-c.md>)提供的模板创建特定于设备的说明。
|
||||
|
||||
有关说明形式的指导,请参考[此处](<https://github.com/Azure/azure-iot-device-ecosystem/tree/master/get_started>) GitHub 存储库中发布的示例。
|
||||
|
||||
<a name="Step-4-2-Share"></a>
|
||||
## <a name="42-share-package-with-microsoft-azure-iot-team"></a>4.2 与 Microsoft Azure IoT 团队共享包
|
||||
|
||||
1. 转到“[合作伙伴仪表板](<https://catalog.azureiotsuite.com/devices>)”。
|
||||
2. 单击设备右上角的“上载”图标。
|
||||
|
||||
![Share\_Results\_upload\_icon](images/4_2_01.png)
|
||||
|
||||
3. 此时将打开上载对话框。 单击“上载”按钮浏览文件。
|
||||
|
||||
![Share\_Results\_upload\_dialog](images/4_2_02.png)
|
||||
|
||||
可以上载同一个设备的多个文件。
|
||||
|
||||
4. 上传所有文件后,单击“提交审查”按钮。
|
||||
|
||||
***注意:****提交文件供审查后,若要更改/删除文件,请联系 iotcert 团队。*
|
||||
|
||||
|
||||
<a name="Step-4-3-Next"></a>
|
||||
## <a name="43-next-steps"></a>4.3:后续步骤
|
||||
|
||||
与我们共享文档后,我们将在接下来的 48 到 72 个工作小时内与你取得联系,以提供后续步骤。
|
||||
|
||||
<a name="Step-5-Troubleshooting"></a>
|
||||
# <a name="step-5-troubleshooting"></a>步骤 5:疑难解答
|
||||
|
||||
如需故障排除的帮助,请通过 <iotcert@microsoft.com> 联系工程支持人员。
|
|
@ -1,300 +0,0 @@
|
|||
<a name="how-to-certify-arm-32-iot-devices-running-net-core-within-a-linux-docker-container-linux-is-also-the-host-os"></a>如何认证在 Linux Docker 容器中运行 .NET Core 的 ARM 32 IoT 设备(Linux 也是主机 OS)。
|
||||
===
|
||||
---
|
||||
|
||||
# <a name="table-of-contents"></a>目录
|
||||
|
||||
- [简介](#Introduction)
|
||||
- [步骤 1:配置 Azure IoT 中心](#Step-1-Configure)
|
||||
- [步骤 2:注册设备](#Step-2-Register)
|
||||
- [步骤 3:使用 C 客户端库生成并验证示例](#Step-3-Build)
|
||||
- [3.1:在设备上加载 Azure IoT 代码和必备组件](#Step-3-1-Load)
|
||||
- [3.2 生成示例](#Step-3-2-Build)
|
||||
- [3.3:运行并验证示例](#Step-3-3-Run)
|
||||
- [步骤 4:打包并共享](#Step-4-Package_Share)
|
||||
- [4.1:打包生成日志和示例测试结果](#Step-4-1-Package)
|
||||
- [4.2 与工程支持人员共享包](#Step-4-2-Share)
|
||||
- [4.3:后续步骤](#Step-4-3-Next)
|
||||
- [步骤 5:故障排除](#Step-5-Troubleshooting)
|
||||
|
||||
<a name="Introduction"></a>
|
||||
# <a name="introduction"></a>简介
|
||||
|
||||
**关于本文档**
|
||||
|
||||
本文档向 IoT 硬件发布人员提供有关如何使用 Azure IoT SDK 认证已启用 IoT 的硬件的分步指南。 此过程由多个步骤组成,其中包括:
|
||||
|
||||
- 配置 Azure IoT 中心
|
||||
- 注册 IoT 设备
|
||||
- 在设备上生成并部署 Azure IoT SDK
|
||||
- 打包并共享日志
|
||||
|
||||
**准备**
|
||||
|
||||
在执行以下任一步骤之前,请仔细阅读每个过程的每个步骤,确保全盘了解整个过程。
|
||||
|
||||
在开始过程前,应已准备好以下项目:
|
||||
|
||||
- 准备好一台装有 GitHub 并且可以访问 [azure-iot-sdk-csharp](https://github.com/Azure-Samples/azure-iot-samples-csharp) GitHub 公共存储库的计算机。
|
||||
- 安装 Visual Studio 2015 和工具。 可以安装任何版本的 Visual Studio,包括免费的社区版。
|
||||
- 用于访问设备命令行的 SSH 客户端,例如 PuTTY。
|
||||
- 在开发计算机和设备上安装 Docker: https://www.docker.com/get-started
|
||||
|
||||
***注意:****如果尚未联系 Microsoft 来申请成为“Azure IoT 认证”合作伙伴,请先提交此[表单](<https://catalog.azureiotsuite.com/>)请求此身份,然后遵照本文中的说明操作。*
|
||||
|
||||
<a name="Step-1-Configure"></a>
|
||||
# <a name="step-1-sign-up-to-azure-iot-hub"></a>步骤 1:注册 Azure IoT 中心
|
||||
|
||||
遵照[此处](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-csharp-csharp-getstarted#create-an-iot-hub)所述的说明[注册](https://account.windowsazure.com/signup?offer=ms-azr-0044p) Azure IoT 中心服务。 若要了解如何查找 IoT 中心的连接字符串,请参阅[此文档](https://devblogs.microsoft.com/iotdev/understand-different-connection-strings-in-azure-iot-hub/)。
|
||||
|
||||
- **IoT 中心连接字符串**:下面显示了 IoT 中心连接字符串的示例:
|
||||
|
||||
HostName=[YourIoTHubName];SharedAccessKeyName=[YourAccessKeyName];SharedAccessKey=[YourAccessKey]
|
||||
|
||||
<a name="Step-2-Register"></a>
|
||||
# <a name="step-2-register-device"></a>步骤 2:注册设备
|
||||
|
||||
在本部分,我们将使用 DeviceExplorer 注册设备。 DeviceExplorer 是与 Azure IoT 中心对接的 Windows 应用程序,可执行以下操作:
|
||||
|
||||
- 设备管理
|
||||
- 创建新设备
|
||||
- 列出现有设备,公开设备中心内存储的设备属性
|
||||
- 可更新设备密钥
|
||||
- 可删除设备
|
||||
- 监视设备的事件
|
||||
- 向设备发送消息
|
||||
|
||||
若要运行 DeviceExplorer 工具,请根据[步骤 1](#Step-1-Configure) 中所述使用以下配置字符串:
|
||||
|
||||
- IoT 中心连接字符串
|
||||
|
||||
**步骤:**
|
||||
1. 单击[此处](<https://github.com/Azure/azure-iot-sdk-csharp/blob/master/tools/DeviceExplorer/doc/how_to_use_device_explorer.md>)下载并安装 DeviceExplorer。
|
||||
|
||||
2. 添加“配置”选项卡下面的连接信息,然后单击“更新”按钮。
|
||||
|
||||
3. 根据以下说明创建设备并将其注册到 IoT 中心。
|
||||
|
||||
a.在“解决方案资源管理器”中,右键单击项目文件夹下的“引用”文件夹,然后单击“添加引用”。 单击“管理”选项卡。
|
||||
|
||||
b.保留“数据库类型”设置,即设置为“共享”。 注册的设备将显示在列表中。 如果你的设备未显示在列表中,请单击“刷新”按钮。 如果这是第一次注册设备,请不要检索任何信息。
|
||||
|
||||
c. 单击“创建”按钮创建设备 ID 和密钥。
|
||||
|
||||
d.单击“下一步”。 成功创建设备后,该设备将列在 DeviceExplorer 中。
|
||||
|
||||
e.在“新建 MySQL 数据库”边栏选项卡中,接受法律条款,然后单击“确定”。 右键单击该设备,然后从上下文菜单中选择“复制所选设备的连接字符串”。
|
||||
|
||||
f. 在记事本中保存此信息。 后面的步骤需要用到此信息。
|
||||
|
||||
***不是在电脑上运行 Windows?*** - 请遵照[此处](<https://github.com/Azure/azure-iot-device-ecosystem/blob/master/manage_iot_hub.md>)的说明预配设备并获取其凭据。
|
||||
|
||||
<a name="Step-3-Build"></a>
|
||||
# <a name="step-3-build-a-linux-docker-image-that-includes-the-net-core-runtime-and-the-sample-used-for-validating-your-device"></a>步骤 3:生成一个 Linux Docker 映像,其中包含 .NET Core 运行时和示例,用于验证设备。
|
||||
|
||||
本部分逐步讲解如何生成并运行 Linux Docker 映像,以便在 ARM 32 设备上验证 IoT 客户端 SDK。 除非另有说明,否则 Docker 映像会包含运行示例测试所需的所有必备组件。这些测试是在设备上进行 IoT 认证所需的。
|
||||
|
||||
<a name="Step_3_1:_Development"></a>
|
||||
## <a name="31-prepare-your-development-environment"></a>3.1:准备开发环境
|
||||
|
||||
- 从 https://dot.net 安装最新的 .NET Core
|
||||
- 安装 .NET Framework 4.7 开发人员包: https://support.microsoft.com/en-us/help/3186612/the-net-framework-4-7-developer-pack-and-language-packs
|
||||
- 安装 .NET Framework 4.5.1 开发人员包: https://www.microsoft.com/en-us/download/details.aspx?id=40772
|
||||
|
||||
<a name="Step_3_2:_Build"></a>
|
||||
## <a name="32-build-and-push-the-docker-image-to-your-registry"></a>3.2:生成 Docker 映像并将其推送到注册表
|
||||
|
||||
使用[此 Dockerfile](./Dockerfile) 生成一个基于 [.NET Core Arm32 Linux 映像](https://hub.docker.com/_/microsoft-dotnet-core-samples/)的 Docker 映像:
|
||||
|
||||
- 在开发环境中打开包含 [azure-iot-sdk-csharp](https://github.com/Azure-Samples/azure-iot-samples-csharp) 的目录,具体说来就是打开以下目录:
|
||||
|
||||
iot-hub\Samples\device\MessageSample
|
||||
|
||||
- 复制[此 Dockerfile](./Dockerfile) 并将其粘贴到如上所示的 MessageSample 目录。
|
||||
- 在 Dockerfile 中以环境变量的形式添加 IoT 中心设备连接字符串。 具体说来,请打开 Dockerfile 并将“<your_device_connection_string>”替换为你的设备连接字符串,然后保存所做的更改。
|
||||
- 使用 Docker 和 Dockerfile,生成一个将 .NET Core 消息示例应用容器化的 Docker 映像。 接下来,将此映像推送到 Docker 注册表。 例如:
|
||||
|
||||
cd iot-hub\Samples\device\MessageSample
|
||||
docker build -t <your_docker_account>/<your_docker_repo>:<your_img_tag> .
|
||||
docker push <your_docker_account>/<your_docker_repo>:<your_img_tag>
|
||||
|
||||
此示例包含两类测试 - 一类用于向 IoT 中心发送消息,另一类用于从 IoT 中心接收消息。 两类测试都支持不同的协议。 在生成 Docker 映像之前,可以修改测试,以便使用所选协议。 默认情况下,将会使用 AMQP 协议生成测试。
|
||||
|
||||
若要运行不同的协议,请执行以下操作:
|
||||
|
||||
- 在开发环境中,使用记事本打开以下文件:
|
||||
|
||||
iot-hub\Samples\device\MessageSample\Program.cs
|
||||
|
||||
- 向下滚动到包含协议信息的代码节。
|
||||
|
||||
- 找到以下代码:
|
||||
|
||||
private static TransportType s_transportType = TransportType.Amqp;
|
||||
|
||||
使用的默认协议为 AMQP。 脚本中紧接在上述代码行的下面会提到其他协议 (HTTP/MQTT) 的代码。 根据要使用的协议对该行进行注释/取消注释操作,然后保存所做的更改。
|
||||
|
||||
- 使用在步骤 3.2 开头介绍的步骤重新生成 Docker 映像。
|
||||
|
||||
<a name="Step_3_3:_Run"></a>
|
||||
## <a name="33-run-and-validate-the-sample"></a>3.3:运行并验证示例
|
||||
|
||||
在本部分,我们将运行此示例来验证设备与 Azure IoT 中心之间的通信。 我们要向 Azure IoT 中心服务发送消息,并验证 IoT 中心是否已成功接收数据。 此外,我们还会监视从 Azure IoT 中心发送到客户端的任何消息。
|
||||
|
||||
***注意:****请对本部分中执行的所有操作进行屏幕截图。* 在[步骤 4](#Step_4_2:_Share) 中需要使用这些屏幕截图。
|
||||
|
||||
### <a name="331-send-device-events-to-iot-hub"></a>3.3.1 向 IoT 中心发送设备事件
|
||||
|
||||
1. 如[步骤 2](#Step_2:_Register) 中所述启动 DeviceExplorer,并导航到“数据”选项卡。 从设备 ID 下拉列表中选择创建的设备名称,并单击“监视”按钮。
|
||||
|
||||
![DeviceExplorer\_监视](images/3_3_1_01.png)
|
||||
|
||||
2. DeviceExplorer 现在正在监视从所选设备发送到 IoT 中心的数据。
|
||||
|
||||
3. 打开 PuTTY 会话并连接到设备,然后通过拉取并运行 Docker 映像来运行示例。 例如:
|
||||
|
||||
docker run --rm <your_docker_account>/<your_docker_repo>:<your_img_tag>
|
||||
|
||||
4. 成功执行后,应会看到设备控制台中收到的事件。
|
||||
|
||||
**如果使用 HTTP 协议:**
|
||||
|
||||
![DeviceExplorer\_Notification\_Send](images/terminal_message_send_from_device_http.png)
|
||||
|
||||
**如果使用 MQTT 协议:**
|
||||
|
||||
![DeviceExplorer\_Notification\_Send](images/terminal_message_send_from_device_mqtt.png)
|
||||
|
||||
**如果使用 AMQP 协议:**
|
||||
|
||||
![DeviceExplorer\_Notification\_Send](images/terminal_message_send_from_device_amqp.png)
|
||||
|
||||
5. DeviceExplorer 的数据选项卡中应会显示收到的事件。
|
||||
|
||||
**如果使用 HTTP 协议:**
|
||||
|
||||
![DeviceExplorer\_Notification\_Send](images/device_message_send_from_device_http.png)
|
||||
|
||||
**如果使用 MQTT 协议:**
|
||||
|
||||
![DeviceExplorer\_Notification\_Send](images/device_message_send_from_device_mqtt.png)
|
||||
|
||||
**如果使用 AMQP 协议:**
|
||||
|
||||
![DeviceExplorer\_Notification\_Send](images/device_message_send_from_device_amqp.png)
|
||||
|
||||
### <a name="332-receive-messages-from-iot-hub"></a>3.3.2 从 IoT 中心接收消息
|
||||
|
||||
1. 若要验证是否可将消息从 IoT 中心发送到设备,请转到 DeviceExplorer 中的“发送到设备的消息”选项卡。 注意,需在设备上再次运行此示例应用,所使用的命令与上一步的相同,例如:docker run --rm <your_docker_account>/<your_docker_repo>:<your_img_tag>
|
||||
|
||||
2. 使用“设备 ID”下拉列表选择创建的设备。
|
||||
|
||||
3. 在“消息”字段中添加一些文本,然后单击“发送”。
|
||||
|
||||
![DeviceExplorer\_Notification\_Send](images/terminal_message_receive_from_device_http.png)
|
||||
|
||||
4. 设备控制台窗口中应会显示收到的消息。
|
||||
|
||||
**如果使用 HTTP 协议:**
|
||||
|
||||
![DeviceExplorer\_Notification\_Send](images/terminal_message_receive_from_device_http.png)
|
||||
|
||||
**如果使用 MQTT 协议:**
|
||||
|
||||
![DeviceExplorer\_Notification\_Send](images/terminal_message_receive_from_device_mqtt.png)
|
||||
|
||||
**如果使用 AMQP 协议:**
|
||||
|
||||
![DeviceExplorer\_Notification\_Send](images/terminal_message_receive_from_device_amqp.png)
|
||||
|
||||
### <a name="333-verify-device-configuration"></a>3.3.3 验证设备配置
|
||||
|
||||
- 请通过执行以下命令安装 python。
|
||||
|
||||
**Debian 或 Ubuntu**
|
||||
|
||||
sudo apt-get install python
|
||||
|
||||
**Fedora**
|
||||
|
||||
sudo dnf install python
|
||||
|
||||
- *此库还需要 Python 版本 2.7.x。* 可使用以下命令来验证环境中当前安装的版本:
|
||||
|
||||
python --version
|
||||
|
||||
- 在运行 `platform_data.py` 之前,请安装以下模块
|
||||
|
||||
**Debian 或 Ubuntu**
|
||||
|
||||
sudo apt-get install python-requests
|
||||
sudo apt-get install python-netifaces
|
||||
|
||||
**Fedora**
|
||||
|
||||
sudo dnf install python-requests
|
||||
sudo dnf install python-netifaces
|
||||
|
||||
- 发出以下命令下载 SDK:
|
||||
|
||||
git clone https://github.com/Azure/azure-iot-sdk-python.git
|
||||
|
||||
- 通过执行以下命令导航到 tools 文件夹:
|
||||
|
||||
cd azure-iot-sdk-python/Tools
|
||||
|
||||
- 在设备上运行以下命令
|
||||
|
||||
python platform_data.py
|
||||
|
||||
![deviceinfo\_screenshot](images/python_modified_output.PNG)
|
||||
|
||||
- 请保存设备配置屏幕截图,然后按[步骤 4](#Step-4-1-Package) 所述上传该屏幕截图。
|
||||
|
||||
<a name="Step-4-Package_Share"></a>
|
||||
# <a name="step-4-package-and-share"></a>步骤 4:打包并共享
|
||||
|
||||
<a name="Step-4-1-Package"></a>
|
||||
## <a name="41-package-build-logs-and-sample-test-results"></a>4.1:打包生成日志和示例测试结果
|
||||
|
||||
打包设备中的以下项目:
|
||||
|
||||
1. 在生成运行期间记录在日志文件中的生成日志。
|
||||
|
||||
2. 前面“向 IoT 中心发送设备事件”部分中显示的所有屏幕截图。
|
||||
|
||||
3. 前面“从 IoT 中心接收消息”部分中显示的所有屏幕截图。
|
||||
|
||||
4. 前面“设备配置” 部分中的所有屏幕截图。
|
||||
|
||||
5. 请向我们发送明确的说明,描述如何使用你的硬件运行此示例(明确强调客户要执行的新步骤)。 请使用[此处](<https://github.com/Azure/azure-iot-device-ecosystem/blob/master/iotcertification/templates/template-linux-c.md>)提供的模板创建特定于设备的说明。
|
||||
|
||||
有关说明形式的指导,请参考[此处](<https://github.com/Azure/azure-iot-device-ecosystem/tree/master/get_started>) GitHub 存储库中发布的示例。
|
||||
|
||||
<a name="Step-4-2-Share"></a>
|
||||
## <a name="42-share-package-with-microsoft-azure-iot-team"></a>4.2 与 Microsoft Azure IoT 团队共享包
|
||||
|
||||
1. 转到“合作伙伴仪表板”。[](<https://catalog.azureiotsuite.com/devices>)
|
||||
2. 单击设备右上角的“上载”图标。
|
||||
|
||||
![Share\_Results\_upload\_icon](images/4_2_01.png)
|
||||
|
||||
3. 此时将打开上载对话框。 单击“上载”按钮浏览文件。
|
||||
|
||||
![Share\_Results\_upload\_dialog](images/4_2_02.png)
|
||||
|
||||
可以上载同一个设备的多个文件。
|
||||
|
||||
4. 上传所有文件后,单击“提交审查”按钮。
|
||||
|
||||
***注意:****提交文件供审查后,若要更改/删除文件,请联系 iotcert 团队。*
|
||||
|
||||
<a name="Step-4-3-Next"></a>
|
||||
## <a name="43-next-steps"></a>4.3:后续步骤
|
||||
|
||||
与我们共享文档后,我们将在接下来的 48 到 72 个工作小时内与你取得联系,以提供后续步骤。
|
||||
|
||||
<a name="Step-5-Troubleshooting"></a>
|
||||
# <a name="step-5-troubleshooting"></a>步骤 5:疑难解答
|
||||
|
||||
如需故障排除的帮助,请通过 <iotcert@microsoft.com> 联系工程支持人员。
|
До Ширина: | Высота: | Размер: 18 KiB |
Двоичные данные
iotcertification/iot_certification_linux_java/images/4_2_01.png
До Ширина: | Высота: | Размер: 16 KiB |
Двоичные данные
iotcertification/iot_certification_linux_java/images/4_2_02.png
До Ширина: | Высота: | Размер: 15 KiB |
До Ширина: | Высота: | Размер: 23 KiB |
До Ширина: | Высота: | Размер: 25 KiB |
До Ширина: | Высота: | Размер: 19 KiB |
До Ширина: | Высота: | Размер: 23 KiB |
До Ширина: | Высота: | Размер: 37 KiB |
До Ширина: | Высота: | Размер: 37 KiB |
До Ширина: | Высота: | Размер: 112 KiB |
До Ширина: | Высота: | Размер: 21 KiB |
До Ширина: | Высота: | Размер: 25 KiB |
До Ширина: | Высота: | Размер: 21 KiB |
До Ширина: | Высота: | Размер: 22 KiB |
|
@ -1,439 +0,0 @@
|
|||
<a name="how-to-certify-iot-devices-running-linux-with-azure-iot-sdk"></a>如何使用 Azure IoT SDK 认证运行 Linux 的 IoT 设备
|
||||
===
|
||||
---
|
||||
|
||||
# <a name="table-of-contents"></a>目录
|
||||
|
||||
- [简介](#Introduction)
|
||||
- [步骤 1:注册 Azure IoT 中心](#Step_1)
|
||||
- [步骤 2:注册设备](#Step_2)
|
||||
- [步骤 3:使用 Java 客户端库生成并验证示例](#Step_3)
|
||||
- [3.1 在设备上安装 Azure IoT 设备 SDK 和必备组件](#Step_3_1)
|
||||
- [3.2 运行并验证示例](#Step_3_2)
|
||||
- [步骤 4:打包并共享](#Step_4)
|
||||
- [4.1:打包生成日志和示例测试结果](#Step_4_1)
|
||||
- [4.2 与 Azure IoT 认证团队共享](#Step_4_2)
|
||||
- [4.3:后续步骤](#Step_4_3)
|
||||
- [步骤 5:故障排除](#Step_5)
|
||||
|
||||
<a name="Introduction"></a>
|
||||
# <a name="introduction"></a>简介
|
||||
|
||||
**关于本文档**
|
||||
|
||||
本文档向 IoT 硬件发布人员提供有关如何使用 Azure IoT Java SDK 认证已启用 IoT 的硬件的分步指南。 此过程由多个步骤组成,其中包括:
|
||||
- 配置 Azure IoT 中心
|
||||
- 注册 IoT 设备
|
||||
- 在设备上生成并部署 Azure IoT SDK
|
||||
- 打包并共享日志
|
||||
|
||||
**准备**
|
||||
|
||||
在执行以下任一步骤之前,请仔细阅读每个过程的每个步骤,确保全盘了解整个过程。
|
||||
|
||||
在开始过程前,应已准备好以下项目:
|
||||
|
||||
- 准备好一台装有 GitHub 并且可以访问 [azure-iot-sdk-java](https://github.com/Azure/azure-iot-sdk-java) GitHub 公共存储库的计算机。
|
||||
- 配置 SSH 客户端(如 [PuTTY](http://www.putty.org/)),以便能够访问命令行。
|
||||
- 需要认证的硬件。
|
||||
|
||||
<a name="Step_1"></a>
|
||||
# <a name="step-1-sign-up-to-azure-iot-hub"></a>步骤 1:注册 Azure IoT 中心
|
||||
|
||||
遵照[此处](https://account.windowsazure.com/signup?offer=ms-azr-0044p)的说明了解如何注册 Azure IoT 中心服务。
|
||||
|
||||
在注册过程中,将会收到连接字符串。
|
||||
|
||||
- **IoT 中心连接字符串**:下面显示了 IoT 中心连接字符串的示例:
|
||||
|
||||
HostName=[YourIoTHubName];SharedAccessKeyName=[YourAccessKeyName];SharedAccessKey=[YourAccessKey]
|
||||
|
||||
<a name="Step_2"></a>
|
||||
# <a name="step-2-register-device"></a>步骤 2:注册设备
|
||||
|
||||
在本部分,我们将使用 DeviceExplorer 注册设备。 DeviceExplorer 是与 Azure IoT 中心对接的 Windows 应用程序,可执行以下操作:
|
||||
|
||||
- 设备管理
|
||||
- 创建新设备
|
||||
- 列出现有设备,公开设备中心内存储的设备属性
|
||||
- 可更新设备密钥
|
||||
- 可删除设备
|
||||
- 监视设备的事件
|
||||
- 向设备发送消息
|
||||
|
||||
若要运行 DeviceExplorer 工具,请根据[步骤 1](#Step_1) 中所述使用以下配置字符串:
|
||||
|
||||
- IoT 中心连接字符串
|
||||
|
||||
|
||||
**步骤:**
|
||||
1. 单击[此处](<https://github.com/Azure/azure-iot-sdk-csharp/blob/master/tools/DeviceExplorer/doc/how_to_use_device_explorer.md>)下载并安装 DeviceExplorer
|
||||
|
||||
2. 添加“配置”选项卡下面的连接信息,然后单击“更新”按钮。
|
||||
|
||||
3. 根据以下说明创建设备并将其注册到 IoT 中心。
|
||||
|
||||
a.在“解决方案资源管理器”中,右键单击项目文件夹下的“引用”文件夹,然后单击“添加引用”。 单击“管理”选项卡。
|
||||
|
||||
b.保留“数据库类型”设置,即设置为“共享”。 注册的设备将显示在列表中。 如果你的设备未显示在列表中,请单击“刷新”按钮。 如果这是第一次注册设备,请不要检索任何信息。
|
||||
|
||||
c. 单击“创建”按钮创建设备 ID 和密钥。
|
||||
|
||||
d.单击“下一步”。 成功创建设备后,该设备将列在 DeviceExplorer 中。
|
||||
|
||||
e.在“新建 MySQL 数据库”边栏选项卡中,接受法律条款,然后单击“确定”。 右键单击该设备,然后从上下文菜单中选择“复制所选设备的连接字符串”。
|
||||
|
||||
f. 在记事本中保存此信息。 后面的步骤需要用到此信息。
|
||||
|
||||
***不是在电脑上运行 Windows?*** - 请遵照[此处](<https://github.com/Azure/azure-iot-device-ecosystem/blob/master/manage_iot_hub.md>)的说明预配设备并获取其凭据。
|
||||
|
||||
<a name="Step_3"></a>
|
||||
# <a name="step-3-build-and-validate-the-sample-using-java-client-libraries"></a>步骤 3:使用 Java 客户端库生成并验证示例
|
||||
|
||||
本部分逐步讲解如何在运行 Linux 操作系统的设备上生成、部署和验证 IoT 客户端 SDK。 我们将在设备上安装必备组件。 完成后,将生成并部署 IoT 客户端 SDK,然后验证使用 Azure IoT SDK 进行 IoT 认证所需的示例测试。
|
||||
|
||||
<a name="Step_3_1"></a>
|
||||
## <a name="31-install-azure-iot-device-sdk-and-prerequisites-on-device"></a>3.1 在设备上安装 Azure IoT 设备 SDK 和必备组件
|
||||
|
||||
- 打开 PuTTY 会话并连接到设备。
|
||||
|
||||
- 在设备上的命令行中发出以下命令,安装必备组件包。
|
||||
|
||||
<a name="Step_3_1_1"></a>
|
||||
### <a name="311--install-java-jdk-and-set-up-environment-variables"></a>3.1.1 安装 Java JDK 并设置环境变量
|
||||
|
||||
1. 根据设备上运行的 OS 选择命令。
|
||||
|
||||
**Debian**
|
||||
|
||||
sudo apt-get update
|
||||
sudo apt-get install openjdk-8-jdk
|
||||
|
||||
***注意:*** 如果 openjdk-8-jdk 包不可用,请使用以下步骤在 sources.list 中添加源,然后再次重新运行上述命令。
|
||||
|
||||
- 编辑 /etc/apt/sources.list
|
||||
|
||||
- 添加以下代码行并保存更改。
|
||||
|
||||
`deb http://ftp.debian.org/debian testing main`
|
||||
|
||||
**Ubuntu**
|
||||
|
||||
sudo apt-get update
|
||||
sudo apt-get install openjdk-8-jdk
|
||||
|
||||
**Fedora**
|
||||
|
||||
sudo dnf check-update -y
|
||||
sudo dnf install java-1.8.0-openjdk-devel
|
||||
|
||||
**其他任何 Linux OS**
|
||||
|
||||
Use equivalent commands on the target OS
|
||||
|
||||
2. 更新 PATH 环境变量,加入包含 Java 的 bin 文件夹的完整路径。 为确保 Java 路径正确,请运行以下命令:
|
||||
|
||||
which java
|
||||
|
||||
3. 确保 `which java` 命令显示的目录与 $PATH 变量中显示的某个目录匹配。 可运行以下命令来确认是否存在匹配项:
|
||||
|
||||
echo $PATH
|
||||
|
||||
4. 如果 PATH 环境变量中缺少 Java 路径,请运行以下命令设置相同的路径。
|
||||
|
||||
export PATH=[PathToJava]/bin:$PATH
|
||||
|
||||
***注意:****此处的 [PathToJava] 是 `which java` 命令的输出。例如,如果 `which java` 输出为 /usr/bin/java,则导出命令为* **export PATH=/usr/bin/java/bin:$PATH**
|
||||
|
||||
5. 确保 JAVA_HOME 环境变量包含 JDK 的完整路径。 使用以下命令获取 JDK 路径。
|
||||
|
||||
update-alternatives --config java
|
||||
|
||||
6. 记下 JDK 位置。 `update-alternatives` 的输出类似于 **/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java**。 在此情况下,JDK 目录为 **/usr/lib/jvm/java-8-openjdk-amd64/** 。
|
||||
|
||||
7. 运行以下命令设置 **JAVA_HOME** 环境变量。
|
||||
|
||||
export JAVA_HOME=[PathToJDK]
|
||||
|
||||
***注意***:此处的 [PathToJDK] 是 JDK 目录。*例如,如果 jdk 目录为 /usr/lib/jvm/java-8-openjdk-amd64/,则导出命令为* **export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/**
|
||||
|
||||
<a name="Step_3_1_2"></a>
|
||||
### <a name="312--install-maven-and-set-up-environment-variables"></a>3.1.2 安装 Maven 并设置环境变量
|
||||
|
||||
1. 根据设备上运行的 OS 选择命令。
|
||||
|
||||
**Debian 或 Ubuntu**
|
||||
|
||||
sudo apt-get install maven
|
||||
|
||||
**Fedora**
|
||||
|
||||
sudo dnf install maven
|
||||
|
||||
**其他任何 Linux OS**
|
||||
|
||||
Use equivalent commands on the target OS
|
||||
|
||||
2. 更新 PATH 环境变量,加入包含 Maven 的 bin 文件夹的完整路径。 为确保 Maven 路径正确,请运行以下命令:
|
||||
|
||||
which mvn
|
||||
|
||||
3. 确保 `which mvn` 命令显示的目录与 $PATH 变量中显示的某个目录匹配。 可运行以下命令来确认是否存在匹配项:
|
||||
|
||||
echo $PATH
|
||||
|
||||
4. 如果 PATH 环境变量中缺少 Maven 路径,请运行以下命令设置相同的路径。
|
||||
|
||||
export PATH=[PathToMvn]/bin:$PATH
|
||||
|
||||
***注意***:此处的 [PathToMvn] 是 `which mvn` 的输出。*例如,如果 `which mvn` 输出为 /usr/bin/mvn,则导出命令为* **export PATH=/usr/bin/mvn/bin:$PATH**
|
||||
|
||||
5. 可以运行 `mvn --version` 来验证是否已正确设置用于运行 Maven 3 的环境变量。
|
||||
|
||||
<a name="Step_3_1_3"></a>
|
||||
### <a name="313--install-git"></a>3.1.3 安装 GIT
|
||||
|
||||
1. 根据设备上运行的 OS 选择命令。
|
||||
|
||||
**Debian 或 Ubuntu**
|
||||
|
||||
sudo apt-get install git
|
||||
|
||||
**Fedora**
|
||||
|
||||
sudo dnf install git
|
||||
|
||||
**其他任何 Linux OS**
|
||||
|
||||
Use equivalent commands on the target OS
|
||||
|
||||
<a name="Step_3_1_4"></a>
|
||||
### <a name="314-build-the-azure-iot-device-sdk-for-java"></a>3.1.4 生成适用于 Java 的 Azure IoT 设备 SDK
|
||||
|
||||
1. 在 PuTTY 中发出以下命令,将 SDK 下载到开发板:
|
||||
|
||||
git clone https://github.com/Azure/azure-iot-sdk-java.git
|
||||
|
||||
2. 验证 **azure-iot-sdk-java** 目录中现在是否有源代码的副本。
|
||||
|
||||
3. 在设备上按顺序运行以下命令,生成 Azure IoT SDK。
|
||||
|
||||
cd azure-iot-sdk-java/device
|
||||
mvn install | tee JavaSDK_Build_Logs.txt
|
||||
|
||||
**注意:** 我们发现,如果使用最新版本的 JDK 8(编写本文档时,最新版本为 1.8.0_65),在按照上述给定步骤运行 mvn 安装时,某些单元测试可能会失败。 但是,在较低的版本中可以正常运行。 如果发生这种情况,请使用以下命令跳过运行单元测试:
|
||||
|
||||
cd azure-iot-sdk-java/device/iot-device-samples
|
||||
mvn install -DskipTests
|
||||
|
||||
<a name="Step_3_2"></a>
|
||||
## <a name="32-run-and-validate-the-samples"></a>3.2 运行并验证示例
|
||||
|
||||
在本部分,我们将运行 Azure IoT 客户端 SDK 示例来验证设备与 Azure IoT 中心之间的通信。 我们要向 Azure IoT 中心服务发送消息,然后验证 IoT 中心是否成功接收数据。 此外,我们还会监视从 Azure IoT 中心发送到客户端的任何消息。
|
||||
|
||||
***注意:****请对本部分中执行的所有操作进行屏幕截图。* 在[步骤 4](#Step_4_2) 中需要使用这些屏幕截图。
|
||||
|
||||
<a name="Step_3_2_1"></a>
|
||||
### <a name="321-send-device-events-to-iot-hub"></a>3.2.1 向 IoT 中心发送设备事件:
|
||||
|
||||
1. 如[步骤 2](#Step_2) 中所述启动 DeviceExplorer,并导航到“数据”选项卡。 从设备 ID 下拉列表中选择创建的设备名称,并单击“监视”按钮。
|
||||
|
||||
![DeviceExplorer\_监视](images/3_3_1_01.png)
|
||||
|
||||
2. 现在,DeviceExplorer 正在监视从选定设备发送到 IoT 中心的数据。
|
||||
|
||||
3. 导航到包含发送事件示例 JAR 可执行文件的文件夹。
|
||||
|
||||
cd azure-iot-sdk-java/device/iot-device-samples/send-event/target
|
||||
|
||||
4. 发出以下命令运行该示例。
|
||||
|
||||
**如果使用 AMQP 协议:**
|
||||
|
||||
java -jar ./send-event-{version}-with-deps.jar "{connection string}" "{number of requests to send}" "amqps"
|
||||
|
||||
**如果使用 HTTP 协议:**
|
||||
|
||||
java -jar ./send-event-{version}-with-deps.jar "{connection string}" "{number of requests to send}" "https"
|
||||
|
||||
**如果使用 MQTT 协议:**
|
||||
|
||||
java -jar ./send-event-{version}-with-deps.jar "{connection string}" "{number of requests to send}" "mqtt"
|
||||
|
||||
**如果将 Web Socket 与 AMQP 协议配合使用:**
|
||||
|
||||
java -jar ./send-event-{version}-with-deps.jar "{connection string}" "{number of requests to send}" "amqps_ws"
|
||||
|
||||
替换上述命令中的以下内容:
|
||||
|
||||
- `{version}`设置用户帐户 :生成的二进制文件的版本
|
||||
- `{connection string}`设置用户帐户 :设备连接字符串
|
||||
- `{number of requests to send}`设置用户帐户 :要发送到 IoT 中心的消息数
|
||||
|
||||
5. 检查确认消息中是否显示了“OK”。 如果没有,则可能表示未正确复制设备中心连接信息。
|
||||
|
||||
**如果使用 AMQP 协议:**
|
||||
![Terminal\_AMQP\_send\_event](images/terminal_amqp_send_event.PNG)
|
||||
|
||||
**如果使用 HTTP 协议:**
|
||||
![Terminal\_HTTP\_send\_event](images/terminal_http_send_event.PNG)
|
||||
|
||||
**如果使用 MQTT 协议:**
|
||||
![Terminal\_MQTT\_send\_event](images/terminal_mqtt_send_event.png)
|
||||
|
||||
**如果将 Web Socket 与 AMQP 协议配合使用:**
|
||||
![Terminal\_AMQP_WS\_send\_event](images/terminal_amqps_ws_send_event.png)
|
||||
|
||||
6. DeviceExplorer 应显示 IoT 中心已成功接收示例测试发送的数据。
|
||||
|
||||
**如果使用 AMQP 协议:**
|
||||
![DeviceExplorer\_AMQP\_message\_received](images/device_explorer_amqp_message_received.PNG)
|
||||
|
||||
**如果使用 HTTP 协议:**
|
||||
![DeviceExplorer\_HTTP\_message\_received](images/device_explorer_http_message_received.PNG)
|
||||
|
||||
**如果使用 MQTT 协议:**
|
||||
![DeviceExplorer\_MQTT\_message\_received](images/device_explorer_mqtt_message_received.png)
|
||||
|
||||
<a name="Step_3_2_2"></a>
|
||||
### <a name="322-receive-messages-from-iot-hub"></a>3.2.2 从 IoT 中心接收消息
|
||||
|
||||
1. 若要验证是否可从 IoT 中心向设备发送消息,请转到 DeviceExplorer 中的“发送到设备的消息”选项卡。
|
||||
|
||||
2. 使用设备 ID 下拉列表选择创建的设备。
|
||||
|
||||
3. 在“消息”字段中添加一些文本,然后单击“发送”。
|
||||
|
||||
![DeviceExplorer\_message\_send](images/device_explorer_message_send.PNG)
|
||||
|
||||
4. 导航到包含接收消息示例 JAR 可执行文件的文件夹。
|
||||
|
||||
cd azure-iot-sdk-java/device/iot-device-samples/handle-messages/target
|
||||
|
||||
5. 发出以下命令运行该示例。
|
||||
|
||||
**如果使用 AMQP 协议:**
|
||||
|
||||
java -jar ./handle-messages-{version}-with-deps.jar "{connection string}" "amqps"
|
||||
|
||||
**如果使用 HTTP 协议:**
|
||||
|
||||
java -jar ./handle-messages-{version}-with-deps.jar "{connection string}" "https"
|
||||
|
||||
**如果使用 MQTT 协议:**
|
||||
|
||||
java -jar ./handle-messages-{version}-with-deps.jar "{connection string}" "mqtt"
|
||||
|
||||
**如果将 Web Socket 与 AMQP 协议配合使用:**
|
||||
|
||||
java -jar ./handle-messages-{version}-with-deps.jar "{connection string}" "amqps_ws"
|
||||
|
||||
替换上述命令中的以下内容:
|
||||
|
||||
- `{version}`设置用户帐户 :生成的二进制文件的版本
|
||||
- `{connection string}`设置用户帐户 :设备连接字符串
|
||||
- `{number of requests to send}`设置用户帐户 :要发送到 IoT 中心的消息数
|
||||
|
||||
6. 应会看到客户端示例控制台窗口中收到的命令。
|
||||
|
||||
**如果使用 AMQP 协议:**
|
||||
![Terminal\_AMQP\_message\_received](images/terminal_amqp_message_received.PNG)
|
||||
|
||||
**如果使用 HTTP 协议:**
|
||||
![Terminal\_HTTP\_message\_received](images/terminal_http_message_received.PNG)
|
||||
|
||||
**如果使用 MQTT 协议:**
|
||||
![Terminal\_MQTT\_message\_received](images/terminal_mqtt_message_received.png)
|
||||
|
||||
### <a name="323-verify-device-configuration"></a>3.2.3 验证设备配置
|
||||
|
||||
- 请通过执行以下命令安装 python。
|
||||
|
||||
**Debian 或 Ubuntu**
|
||||
|
||||
sudo apt-get install python
|
||||
|
||||
**Fedora**
|
||||
|
||||
sudo dnf install python
|
||||
|
||||
- *此库还需要 Python 版本 2.7.x。* 可使用以下命令来验证环境中当前安装的版本:
|
||||
|
||||
python --version
|
||||
|
||||
- 在运行 `platform_data.py` 之前,请安装以下模块
|
||||
|
||||
**Debian 或 Ubuntu**
|
||||
|
||||
sudo apt-get install python-requests
|
||||
sudo apt-get install python-netifaces
|
||||
|
||||
**Fedora**
|
||||
|
||||
sudo dnf install python-requests
|
||||
sudo dnf install python-netifaces
|
||||
|
||||
- 发出以下命令下载 SDK:
|
||||
|
||||
git clone https://github.com/Azure/azure-iot-sdk-python.git
|
||||
|
||||
- 通过执行以下命令导航到 tools 文件夹:
|
||||
|
||||
cd azure-iot-sdk-python/Tools
|
||||
|
||||
- 在设备上运行以下命令
|
||||
|
||||
python platform_data.py
|
||||
|
||||
![deviceinfo\_screenshot](images/python_modified_output.PNG)
|
||||
|
||||
- 请保存设备配置屏幕截图,然后按[步骤 4](#Step_4_1) 所述上传该屏幕截图。
|
||||
|
||||
<a name="Step_4"></a>
|
||||
# <a name="step-4-package-and-share"></a>步骤 4:打包并共享
|
||||
|
||||
<a name="Step_4_1"></a>
|
||||
## <a name="41-package-build-logs-and-sample-test-results"></a>4.1:打包生成日志和示例测试结果
|
||||
|
||||
从设备打包以下项目:
|
||||
|
||||
1. 执行步骤 3.1.4 和 3.1.5 过程中在日志文件记录的生成日志和测试结果。
|
||||
|
||||
2. 前面“**向 IoT 中心发送设备事件**”部分中显示的所有屏幕截图。
|
||||
|
||||
3. 前面“从 IoT 中心接收消息”部分中显示的所有屏幕截图。
|
||||
|
||||
4. 前面“设备配置” 部分中的所有屏幕截图。
|
||||
|
||||
5. 请向我们发送明确的说明,描述如何使用你的硬件运行此示例(明确强调客户要执行的新步骤)。 请使用[此处](<https://github.com/Azure/azure-iot-device-ecosystem/blob/master/iotcertification/templates/template-linux-java.md>)提供的模板创建特定于设备的说明。
|
||||
|
||||
有关说明形式的指导,请参考[此处](<https://github.com/Azure/azure-iot-device-ecosystem/tree/master/get_started>) GitHub 存储库中发布的示例。
|
||||
|
||||
<a name="Step_4_2"></a>
|
||||
## <a name="42-share-with-the-azure-iot-certification-team"></a>4.2 与 Azure IoT 认证团队共享
|
||||
|
||||
1. 转到[合作伙伴仪表板](<https://catalog.azureiotsuite.com/devices>)。
|
||||
2. 单击设备右上角的“上载”图标。
|
||||
|
||||
![Share\_Results\_upload\_icon](images/4_2_01.png)
|
||||
|
||||
3. 此时将打开上载对话框。 单击“上载”按钮浏览文件。
|
||||
|
||||
![Share\_Results\_upload\_dialog](images/4_2_02.png)
|
||||
|
||||
可以上载同一个设备的多个文件。
|
||||
|
||||
4. 上传所有文件后,单击“提交审查”按钮。
|
||||
|
||||
***注意:****提交文件供审查后,若要更改/删除文件,请联系 iotcert 团队。*
|
||||
|
||||
|
||||
<a name="Step_4_3"></a>
|
||||
## <a name="43-next-steps"></a>4.3:后续步骤
|
||||
|
||||
与我们共享文档后,我们将在接下来的 48 到 72 个工作小时内与你取得联系,以提供后续步骤。
|
||||
|
||||
<a name="Step_5"></a>
|
||||
# <a name="step-5-troubleshooting"></a>步骤 5:疑难解答
|
||||
|
||||
如需故障排除的帮助,请通过 <iotcert@microsoft.com> 联系工程支持人员。
|
До Ширина: | Высота: | Размер: 17 KiB |
До Ширина: | Высота: | Размер: 20 KiB |
До Ширина: | Высота: | Размер: 23 KiB |
До Ширина: | Высота: | Размер: 18 KiB |
До Ширина: | Высота: | Размер: 118 KiB |
До Ширина: | Высота: | Размер: 16 KiB |
До Ширина: | Высота: | Размер: 15 KiB |
|
@ -1,353 +0,0 @@
|
|||
<a name="how-to-certify-iot-devices-running-linux-with-azure-iot-sdk"></a>如何使用 Azure IoT SDK 认证运行 Linux 的 IoT 设备
|
||||
===
|
||||
---
|
||||
|
||||
|
||||
# <a name="table-of-contents"></a>目录
|
||||
|
||||
- [简介](#Introduction)
|
||||
- [步骤 1:配置 Azure IoT 中心](#Configure)
|
||||
- [步骤 2:注册设备](#Register)
|
||||
- [步骤 3:使用 Node JS 客户端库生成并验证示例](#Build)
|
||||
- [3.1:在设备上加载 Azure IoT 代码和必备组件](#Load)
|
||||
- [3.2 生成示例](#BuildSamples)
|
||||
- [3.3:运行并验证示例](#Run)
|
||||
- [步骤 4:打包并共享](#PackageShare)
|
||||
- [4.1:打包生成日志和示例测试结果](#Package)
|
||||
- [4.2 与工程支持人员共享包](#Share)
|
||||
- [4.3:后续步骤](#Next)
|
||||
- [步骤 5:故障排除](#Troubleshooting)
|
||||
|
||||
<a name="Introduction"></a>
|
||||
# <a name="introduction"></a>简介
|
||||
|
||||
**关于本文档**
|
||||
|
||||
本文档向 IoT 硬件发布人员提供有关如何使用 Azure IoT SDK 认证已启用 IoT 的硬件的分步指南。 此过程由多个步骤组成,其中包括:
|
||||
|
||||
- 配置 Azure IoT 中心
|
||||
- 注册 IoT 设备
|
||||
- 在设备上生成并部署 Azure IoT SDK
|
||||
- 打包并共享日志
|
||||
|
||||
|
||||
**准备**
|
||||
|
||||
在执行以下任一步骤之前,请仔细阅读每个过程的每个步骤,确保全盘了解整个过程。 在开始过程前,应已准备好以下项目:
|
||||
|
||||
- 准备好一台装有 GitHub 并且可以访问 [azure-iot-sdk-node](https://github.com/Azure/azure-iot-sdk-node) GitHub 专用存储库的计算机
|
||||
- 配置 SSH 客户端(如 [PuTTY](http://www.putty.org/)),以便能够访问命令行
|
||||
- 用于认证的所需硬件
|
||||
|
||||
***注意:****如果尚未联系 Microsoft 来申请成为“Azure IoT 认证”合作伙伴,请先提交此[表单](<https://iotcert.cloudapp.net/>)请求此身份,然后遵照本文中的说明操作。*
|
||||
|
||||
<a name="Configure"></a>
|
||||
# <a name="step-1-sign-up-to-azure-iot-hub"></a>步骤 1:注册 Azure IoT 中心
|
||||
|
||||
遵照[此处](https://account.windowsazure.com/signup?offer=ms-azr-0044p)的说明了解如何注册 Azure IoT 中心服务。
|
||||
|
||||
在注册过程中,将会收到连接字符串。
|
||||
|
||||
- **IoT 中心连接字符串**:下面显示了 IoT 中心连接字符串的示例:
|
||||
|
||||
HostName=[YourIoTHubName];CredentialType=SharedAccessSignature;CredentialScope=[ContosoIotHub];SharedAccessKeyName=[YourAccessKeyName];SharedAccessKey=[YourAccessKey]
|
||||
|
||||
<a name="Register"></a>
|
||||
# <a name="step-2-register-device"></a>步骤 2:注册设备
|
||||
|
||||
在本部分,我们将使用 DeviceExplorer 注册设备。 DeviceExplorer 是与 Azure IoT 中心对接的 Windows 应用程序,可执行以下操作:
|
||||
|
||||
- 设备管理
|
||||
- 创建新设备
|
||||
- 列出现有设备,公开设备中心内存储的设备属性
|
||||
- 可更新设备密钥
|
||||
- 可删除设备
|
||||
- 监视设备的事件。
|
||||
- 向设备发送消息。
|
||||
|
||||
若要运行 DeviceExplorer 工具,请根据[步骤 1](#Configure) 中所述使用配置字符串:
|
||||
|
||||
- IoT 中心连接字符串
|
||||
|
||||
**步骤:**
|
||||
1. 单击[此处](<https://github.com/Azure/azure-iot-sdk-csharp/blob/master/tools/DeviceExplorer/doc/how_to_use_device_explorer.md>)下载并安装 DeviceExplorer。
|
||||
|
||||
2. 添加“配置”选项卡下面的连接信息,然后单击“更新”按钮。
|
||||
|
||||
3. 根据以下说明创建设备并将其注册到 IoT 中心。
|
||||
|
||||
a.在“解决方案资源管理器”中,右键单击项目文件夹下的“引用”文件夹,然后单击“添加引用”。 单击“管理”选项卡。
|
||||
|
||||
b.保留“数据库类型”设置,即设置为“共享”。 注册的设备将显示在列表中。 如果你的设备未显示在列表中,请单击“刷新”按钮。 如果这是第一次注册设备,请不要检索任何信息。
|
||||
|
||||
c. 单击“创建”按钮创建设备 ID 和密钥。
|
||||
|
||||
d.单击“下一步”。 成功创建设备后,该设备将列在 DeviceExplorer 中。
|
||||
|
||||
e.在“新建 MySQL 数据库”边栏选项卡中,接受法律条款,然后单击“确定”。 右键单击该设备,然后从上下文菜单中选择“复制所选设备的连接字符串”。
|
||||
|
||||
f. 在记事本中保存此信息。 后面的步骤需要用到此信息。
|
||||
|
||||
***不是在电脑上运行 Windows?*** - 请遵照[此处](<https://github.com/Azure/azure-iot-device-ecosystem/blob/master/manage_iot_hub.md>)的说明预配设备并获取其凭据。
|
||||
|
||||
<a name="Build"></a>
|
||||
# <a name="step-3-build-and-validate-the-sample-using-node-js-client-libraries"></a>步骤 3:使用 Node JS 客户端库生成并验证示例
|
||||
|
||||
本部分逐步讲解如何在运行 Linux 操作系统的设备上生成、部署和验证 IoT 客户端 SDK。 我们将在设备上安装必备组件。 完成后,将生成并部署 IoT 客户端 SDK,然后验证使用 Azure IoT SDK 进行 IoT 认证所需的示例测试。
|
||||
|
||||
<a name="Load"></a>
|
||||
## <a name="31-load-the-azure-iot-bits-and-prerequisites-on-device"></a>3.1 在设备上加载 Azure IoT 代码和必备组件
|
||||
|
||||
- 打开 PuTTY 会话并连接到设备。
|
||||
|
||||
- 在后续步骤中根据设备上运行的 OS 选择命令。
|
||||
|
||||
- 运行以下命令检查是否已安装 NodeJS
|
||||
|
||||
node --version
|
||||
|
||||
如果版本为 **0.12.x 或更高**,可跳过有关安装必备组件包的后续步骤。 否则,请在设备上的命令行中发出以下命令来卸载该版本。
|
||||
|
||||
**Debian 或 Ubuntu**
|
||||
|
||||
sudo apt-get remove nodejs
|
||||
|
||||
**Fedora**
|
||||
|
||||
sudo dnf remove nodejs
|
||||
|
||||
**其他任何 Linux OS**
|
||||
|
||||
Use equivalent commands on the target OS
|
||||
|
||||
- 在设备上的命令行中发出以下命令,安装必备组件包。 根据设备上运行的 OS 选择命令。
|
||||
|
||||
**Debian 或 Ubuntu**
|
||||
|
||||
curl -sL https://deb.nodesource.com/setup_4.x | sudo bash -
|
||||
|
||||
sudo apt-get install -y nodejs
|
||||
|
||||
**Fedora**
|
||||
|
||||
wget http://nodejs.org/dist/v4.2.1/node-v4.2.1-linux-x64.tar.gz
|
||||
|
||||
tar xvf node-v4.2.1-linux-x64.tar.gz
|
||||
|
||||
sudo mv node-v4.2.1-linux-x64 /opt
|
||||
|
||||
echo "export PATH=\$PATH:/opt/node-v4.2.1-linux-x64/bin" >> ~/.bashrc
|
||||
|
||||
source ~/.bashrc
|
||||
|
||||
**其他任何 Linux OS**
|
||||
|
||||
Use equivalent commands on the target OS
|
||||
|
||||
**注意:** 若要测试 Node JS 是否已成功安装,请尝试运行以下命令以获取其版本信息:
|
||||
|
||||
node --version
|
||||
|
||||
- 在 PuTTY 中发出以下命令,将 SDK 下载到开发板:
|
||||
|
||||
git clone --recursive https://github.com/Azure/azure-iot-sdk-node.git
|
||||
|
||||
- 验证 ~/azure-iot-sdk-node 目录中现在是否有源代码的副本。
|
||||
|
||||
<a name="BuildSamples"></a>
|
||||
## <a name="32-build-the-samples"></a>3.2 生成示例
|
||||
|
||||
- 若要验证源代码,请在设备上运行以下命令。
|
||||
|
||||
export IOTHUB_CONNECTION_STRING='<iothub_connection_string>'
|
||||
|
||||
将 `<iothub_connection_string>` 占位符替换为在[步骤 1](#Configure) 中获取的 IoT 中心连接字符串。
|
||||
|
||||
- 安装 npm 包以运行示例。
|
||||
|
||||
cd ~/azure-iot-sdk-node/device/samples
|
||||
|
||||
**对于 AMQP 协议:**
|
||||
|
||||
npm install azure-iot-device-amqp
|
||||
|
||||
**对于 HTTP 协议:**
|
||||
|
||||
npm install azure-iot-device-http
|
||||
|
||||
**对于 MQTT 协议:**
|
||||
|
||||
npm install azure-iot-device-mqtt
|
||||
|
||||
**对于将 Web Socket 与 AMQP 协议配合使用:**
|
||||
|
||||
npm install azure-iot-device-amqp
|
||||
|
||||
**对于将 Web Socket 与 MQTT 协议配合使用:**
|
||||
|
||||
npm install azure-iot-device-mqtt
|
||||
|
||||
- 若要更新示例,请在设备上运行以下命令。
|
||||
|
||||
cd ~/azure-iot-sdk-node/device/samples
|
||||
nano simple_sample_device.js
|
||||
|
||||
- 此时会启动基于控制台的文本编辑器。 向下滚动到协议信息。
|
||||
|
||||
- 找到以下代码:
|
||||
|
||||
var Protocol = require('azure-iot-device-amqp').Amqp;
|
||||
|
||||
使用的默认协议为 AMQP。 脚本中紧接在上述代码行的下面会提到其他协议 (HTTP/MQTT) 的代码。
|
||||
请根据想要使用的协议取消注释相应的代码行。
|
||||
|
||||
|
||||
- 向下滚动到连接信息。
|
||||
找到 IoT 连接字符串的以下占位符:
|
||||
|
||||
var connectionString = "[IoT Device Connection String]";
|
||||
|
||||
- 将上述占位符替换为设备连接字符串。 可根据[步骤 2](#Register) 中所述,从 DeviceExplorer 获取这个已复制到记事本的连接字符串。
|
||||
|
||||
- 按 Ctrl+O 保存更改,当 nano 提示是否保存到同一文件时,按 ENTER 即可。
|
||||
|
||||
- 按 Ctrl+X 退出 nano。
|
||||
|
||||
- 在退出 **~/azure-iot-sdk-node/device/samples** 目录之前运行以下命令
|
||||
|
||||
npm link azure-iot-device
|
||||
|
||||
<a name="Run"></a>
|
||||
## <a name="33-run-and-validate-the-samples"></a>3.3 运行并验证示例
|
||||
|
||||
在本部分,我们将运行 Azure IoT 客户端 SDK 示例来验证设备与 Azure IoT 中心服务之间的通信。 我们要向 Azure IoT 中心服务发送消息,然后验证 IoT 中心是否成功接收数据。 此外,我们还会监视从 Azure IoT 中心发送到客户端的任何消息。
|
||||
|
||||
**注意:** 请对以下部分中执行的所有操作进行屏幕截图(如示例屏幕截图)。 在[步骤 4](#Share) 中需要使用这些屏幕截图。
|
||||
|
||||
### <a name="331-send-device-events-to-iot-hub"></a>3.3.1 向 IoT 中心发送设备事件:
|
||||
|
||||
1. 如[步骤 2](#Register) 中所述启动 DeviceExplorer,并导航到“数据”选项卡。 从设备 ID 下拉列表中选择创建的设备名称,然后单击“监视”按钮。
|
||||
|
||||
![DeviceExplorer_Monitor](images/3_3_1_01.png)
|
||||
|
||||
2. 现在,DeviceExplorer 正在监视从选定设备发送到 IoT 中心的数据。
|
||||
|
||||
3. 发出以下命令运行该示例:
|
||||
|
||||
node ~/azure-iot-sdk-node/device/samples/simple_sample_device.js
|
||||
|
||||
4. 检查是否已成功发送和接收数据。 如果出现任何问题,则可能表示未正确复制设备中心连接信息。
|
||||
|
||||
![Simple_Sample_result_terminal](images/3_3_1_02.png)
|
||||
|
||||
5. DeviceExplorer 应显示 IoT 中心已成功接收示例测试发送的数据。
|
||||
|
||||
![Simple_Sample_result_DeviceExplorer](images/3_3_1_03.png)
|
||||
|
||||
|
||||
### <a name="332-receive-messages-from-iot-hub"></a>3.3.2 从 IoT 中心接收消息
|
||||
|
||||
1. 若要验证是否可从 IoT 中心向设备发送消息,请转到 DeviceExplorer 中的“发送到设备的消息”选项卡。
|
||||
|
||||
2. 使用设备 ID 下拉列表选择创建的设备。
|
||||
|
||||
3. 在“消息”字段中添加一些文本,然后单击“发送”按钮。
|
||||
|
||||
![MessageSend_DeviceExplorer](images/3_3_2_01.png)
|
||||
|
||||
4. 应会在客户端示例的控制台窗口中看到收到的命令。
|
||||
|
||||
![MessageSend_terminal](images/3_3_2_02.png)
|
||||
|
||||
### <a name="333-verify-device-configuration"></a>3.3.3 验证设备配置
|
||||
|
||||
- 请通过执行以下命令安装 python。
|
||||
|
||||
**Debian 或 Ubuntu**
|
||||
|
||||
sudo apt-get install python
|
||||
|
||||
**Fedora**
|
||||
|
||||
sudo dnf install python
|
||||
|
||||
- *此库还需要 Python 版本 2.7.x。* 可使用以下命令来验证环境中当前安装的版本:
|
||||
|
||||
python --version
|
||||
|
||||
- 在运行 `platform_data.py` 之前,请安装以下模块
|
||||
|
||||
**Debian 或 Ubuntu**
|
||||
|
||||
sudo apt-get install python-requests
|
||||
sudo apt-get install python-netifaces
|
||||
|
||||
**Fedora**
|
||||
|
||||
sudo dnf install python-requests
|
||||
sudo dnf install python-netifaces
|
||||
|
||||
- 发出以下命令下载 SDK:
|
||||
|
||||
git clone https://github.com/Azure/azure-iot-sdk-python.git
|
||||
|
||||
- 通过执行以下命令导航到 tools 文件夹:
|
||||
|
||||
cd azure-iot-sdk-python/Tools
|
||||
|
||||
- 在设备上运行以下命令
|
||||
|
||||
python platform_data.py
|
||||
|
||||
![deviceinfo\_screenshot](images/python_modified_output.PNG)
|
||||
|
||||
- 请保存设备配置屏幕截图,然后按[步骤 4](#Package) 所述上传该屏幕截图。
|
||||
|
||||
<a name="PackageShare"></a>
|
||||
# <a name="step-4-package-and-share"></a>步骤 4:打包并共享
|
||||
|
||||
<a name="Package"></a>
|
||||
## <a name="41-package-build-logs-and-sample-test-results"></a>4.1:打包生成日志和示例测试结果
|
||||
|
||||
从设备打包以下项目:
|
||||
|
||||
1. 生成运行过程中在日志文件记录的生成日志和 E2E 测试结果。
|
||||
|
||||
2. 前面“**向 IoT 中心发送设备事件**”部分中显示的所有屏幕截图。
|
||||
|
||||
3. 前面“从 IoT 中心接收消息”部分中显示的所有屏幕截图。
|
||||
|
||||
4. 前面“设备配置” 部分中的所有屏幕截图。
|
||||
|
||||
5. 请向我们发送明确的说明,描述如何使用你的硬件运行此示例(明确强调客户要执行的新步骤)。 请使用[此处](<https://github.com/Azure/azure-iot-device-ecosystem/blob/master/iotcertification/templates/template-linux-nodejs.md>)提供的模板创建特定于设备的说明。
|
||||
|
||||
有关说明形式的指导,请参考[此处](<https://github.com/Azure/azure-iot-device-ecosystem/tree/master/get_started>) GitHub 存储库中发布的示例。
|
||||
|
||||
<a name="Share"></a>
|
||||
## <a name="42-share-package-with-engineering-support"></a>4.2 与工程支持人员共享包
|
||||
|
||||
1. 转到[合作伙伴仪表板](<https://catalog.azureiotsuite.com/devices>)。
|
||||
2. 单击设备右上角的“上载”图标。
|
||||
|
||||
![Share\_Results\_upload\_icon](images/4_2_01.png)
|
||||
|
||||
3. 此时将打开上载对话框。 单击“上载”按钮浏览文件。
|
||||
|
||||
![Share\_Results\_upload\_dialog](images/4_2_02.png)
|
||||
|
||||
可以上载同一个设备的多个文件。
|
||||
|
||||
4. 上传所有文件后,单击“提交审查”按钮。
|
||||
|
||||
***注意:****提交文件供审查后,若要更改/删除文件,请联系 iotcert 团队。*
|
||||
|
||||
|
||||
<a name="Next"></a>
|
||||
## <a name="43-next-steps"></a>4.3:后续步骤
|
||||
|
||||
与我们共享文档后,我们将在接下来的 48 到 72 个工作小时内与你取得联系,以提供后续步骤。
|
||||
|
||||
<a name="Troubleshooting"></a>
|
||||
# <a name="step-5-troubleshooting"></a>步骤 5:疑难解答
|
||||
|
||||
如需故障排除的帮助,请通过 <iotcert@microsoft.com> 联系工程支持人员。
|
До Ширина: | Высота: | Размер: 16 KiB |
До Ширина: | Высота: | Размер: 15 KiB |
До Ширина: | Высота: | Размер: 110 KiB |
До Ширина: | Высота: | Размер: 148 KiB |
До Ширина: | Высота: | Размер: 34 KiB |
До Ширина: | Высота: | Размер: 75 KiB |
До Ширина: | Высота: | Размер: 111 KiB |
До Ширина: | Высота: | Размер: 26 KiB |
До Ширина: | Высота: | Размер: 115 KiB |
До Ширина: | Высота: | Размер: 146 KiB |
До Ширина: | Высота: | Размер: 48 KiB |
|
@ -1,284 +0,0 @@
|
|||
<a name="how-to-certify-iot-devices-running-linux-with-azure-iot-sdk"></a>如何使用 Azure IoT SDK 认证运行 Linux 的 IoT 设备
|
||||
===
|
||||
---
|
||||
|
||||
# <a name="table-of-contents"></a>目录
|
||||
|
||||
- [简介](#Introduction)
|
||||
- [步骤 1:配置 Azure IoT 中心](#Step-1-Configure)
|
||||
- [步骤 2:注册设备](#Step-2-Register)
|
||||
- [步骤 3:使用 Python 客户端库生成并验证示例](#Step-3-Build)
|
||||
- [3.1:在设备上加载 Azure IoT 代码和必备组件](#Step-3-1-Load)
|
||||
- [3.2 生成示例](#Step-3-2-Build)
|
||||
- [3.3:运行并验证示例](#Step-3-3-Run)
|
||||
- [步骤 4:打包并共享](#Step-4-Package_Share)
|
||||
- [4.1:打包生成日志和示例测试结果](#Step-4-1-Package)
|
||||
- [4.2 与工程支持人员共享包](#Step-4-2-Share)
|
||||
- [4.3:后续步骤](#Step-4-3-Next)
|
||||
- [步骤 5:故障排除](#Step-5-Troubleshooting)
|
||||
|
||||
<a name="Introduction"></a>
|
||||
# <a name="introduction"></a>简介
|
||||
|
||||
**关于本文档**
|
||||
|
||||
本文档向 IoT 硬件发布人员提供有关如何使用 Azure IoT SDK 认证已启用 IoT 的硬件的分步指南。 此过程由多个步骤组成,其中包括:
|
||||
- 配置 Azure IoT 中心
|
||||
- 注册 IoT 设备
|
||||
- 在设备上生成并部署 Azure IoT SDK
|
||||
- 打包并共享日志
|
||||
|
||||
**准备**
|
||||
|
||||
在执行以下任一步骤之前,请仔细阅读每个过程的每个步骤,确保全盘了解整个过程。
|
||||
|
||||
在开始过程前,应已准备好以下项目:
|
||||
|
||||
- 准备好一台装有 GitHub 并且可以访问 [azure-iot-sdk-python](https://github.com/Azure/azure-iot-sdk-python) GitHub 专用存储库的计算机。
|
||||
- 配置 SSH 客户端(如 [PuTTY](http://www.putty.org/)),以便能够访问命令行。
|
||||
- 需要认证的硬件。
|
||||
|
||||
***注意:****如果尚未联系 Microsoft 来申请成为“Azure IoT 认证”合作伙伴,请先提交此[表单](<https://iotcert.cloudapp.net/>)请求此身份,然后遵照本文中的说明操作。*
|
||||
|
||||
<a name="Step-1-Configure"></a>
|
||||
# <a name="step-1-sign-up-to-azure-iot-hub"></a>步骤 1:注册 Azure IoT 中心
|
||||
|
||||
遵照[此处](https://account.windowsazure.com/signup?offer=ms-azr-0044p)的说明了解如何注册 Azure IoT 中心服务。 在注册过程中,将会收到连接字符串。
|
||||
|
||||
- **IoT 中心连接字符串**:下面显示了 IoT 中心连接字符串的示例:
|
||||
|
||||
HostName=[YourIoTHubName];SharedAccessKeyName=[YourAccessKeyName];SharedAccessKey=[YourAccessKey]
|
||||
|
||||
<a name="Step-2-Register"></a>
|
||||
# <a name="step-2-register-device"></a>步骤 2:注册设备
|
||||
|
||||
- 遵照[此处](<https://github.com/Azure/azure-iot-device-ecosystem/blob/master/manage_iot_hub.md>)所述的说明,了解如何预配设备并获取其凭据。
|
||||
|
||||
<a name="Step-3-Build"></a>
|
||||
# <a name="step-3-build-and-validate-the-sample-using-python-libraries"></a>步骤 3:使用 Python 库生成并验证示例
|
||||
|
||||
本部分逐步讲解如何在运行 Linux 操作系统的设备上生成、部署和验证 IoT 客户端 SDK。 我们将在设备上安装必备组件。 完成后,将生成并部署 IoT 客户端 SDK,然后验证使用 Azure IoT SDK 进行 IoT 认证所需的示例测试。
|
||||
|
||||
<a name="Step-3-1-Load"></a>
|
||||
## <a name="31-load-the-azure-iot-bits-and-prerequisites-on-device"></a>3.1 在设备上加载 Azure IoT 代码和必备组件
|
||||
|
||||
- 打开 PuTTY 会话并连接到设备。
|
||||
|
||||
- 在设备上的命令行中发出以下命令,安装必备组件包。 根据设备上运行的 OS 选择命令。
|
||||
|
||||
**Debian 或 Ubuntu**
|
||||
|
||||
sudo apt-get update
|
||||
|
||||
sudo apt-get install -y curl libcurl4-openssl-dev build-essential cmake git python2.7-dev libboost-python-dev
|
||||
|
||||
**Fedora**
|
||||
|
||||
sudo dnf check-update -y
|
||||
|
||||
sudo dnf install libcurl-devel openssl-devel gcc-c++ make cmake git python2.7-dev libboost-python-dev
|
||||
|
||||
**其他任何 Linux OS**
|
||||
|
||||
Use equivalent commands on the target OS
|
||||
|
||||
***注意:*** 此安装过程需要 cmake 2.8.12 版或更高版本。
|
||||
|
||||
可使用以下命令来验证环境中当前安装的版本:
|
||||
|
||||
cmake --version
|
||||
|
||||
*此库还需要 gcc 4.9 或更高版本。* 可使用以下命令来验证环境中当前安装的版本:
|
||||
|
||||
gcc --version
|
||||
|
||||
有关如何升级 Ubuntu 14.04 上的 gcc 版本的信息,请参阅 <http://askubuntu.com/questions/466651/how-do-i-use-the-latest-gcc-4-9-on-ubuntu-14-04>。
|
||||
|
||||
*此库还需要 Python 版本 2.7.x。可以使用以下命令确认环境中当前安装的版本:*
|
||||
|
||||
python --version
|
||||
|
||||
- 在 PuTTY 中发出以下命令,将 SDK 下载到开发板:
|
||||
|
||||
git clone --recursive https://github.com/Azure/azure-iot-sdk-python.git
|
||||
|
||||
- 验证 ~/azure-iot-sdk-python 目录中现在是否有源代码的副本。
|
||||
|
||||
<a name="Step-3-2-Build"></a>
|
||||
## <a name="32-build-the-samples"></a>3.2 生成示例
|
||||
|
||||
- 运行以下命令生成 SDK:
|
||||
|
||||
cd python/build_all/linux
|
||||
sudo ./build.sh | tee LogFile.txt
|
||||
|
||||
***注意:*** 应将上述命令中的 LogFile.txt 替换为要将生成输出写入到的文件名。
|
||||
|
||||
- 成功生成后,`iothub_client.so` Python 扩展模块将复制到 **python/device/samples** 文件夹。
|
||||
|
||||
|
||||
<a name="Step-3-3-Run"></a>
|
||||
## <a name="33-run-and-validate-the-samples"></a>3.3 运行并验证示例
|
||||
|
||||
在本部分,我们将运行 Azure IoT 客户端 SDK 示例来验证设备与 Azure IoT 中心之间的通信。 我们要向 Azure IoT 中心服务发送消息,然后验证 IoT 中心是否成功接收数据。 此外,还要监视从 Azure IoT 中心发送到客户端的所有消息。
|
||||
|
||||
- 执行以下命令导航到 samples 文件夹:
|
||||
|
||||
cd azure-iot-sdk-python/device/samples/
|
||||
|
||||
- 在设备上运行以下命令:
|
||||
|
||||
nano iothub_client_sample.py
|
||||
|
||||
- 此时会启动基于控制台的文本编辑器。 向下滚动到连接信息。
|
||||
|
||||
- 找到设备连接字符串的以下占位符:
|
||||
|
||||
connectionString = "[device connection string]"
|
||||
|
||||
- 将上述占位符替换为在[步骤 2](#Step-2-Register) 中获取的设备连接字符串。
|
||||
|
||||
- 按 Ctrl+O 保存更改,当 nano 提示是否保存到同一文件时,按 ENTER 即可。
|
||||
|
||||
- 按 Ctrl+X 退出 nano。
|
||||
|
||||
**注意:** 请对本部分中执行的所有操作进行屏幕截图。 在[步骤 4](#Step-4-2-Share) 中需要使用这些屏幕截图。
|
||||
|
||||
### <a name="331-send-device-events-to-iot-hub"></a>3.3.1 向 IoT 中心发送设备事件:
|
||||
|
||||
- 使用以下命令运行示例应用程序:
|
||||
|
||||
**对于 AMQP 协议:**
|
||||
|
||||
python iothub_client_sample.py -p amqp
|
||||
|
||||
**对于 HTTP 协议:**
|
||||
|
||||
python iothub_client_sample.py -p http
|
||||
|
||||
**对于 MQTT 协议:**
|
||||
|
||||
python iothub_client_sample.py -p mqtt
|
||||
|
||||
- 请参阅[管理 IoT 中心](<https://github.com/Azure/azure-iot-device-ecosystem/blob/master/manage_iot_hub.md>),了解如何监视 IoT 中心从应用程序接收的消息。
|
||||
|
||||
- 检查确认消息中是否显示“正常”。 如果没有,则可能表示未正确复制设备连接字符串。
|
||||
|
||||
**如果使用 AMQP 协议:**
|
||||
|
||||
![SampleAMQP\_result\_terminal](images/python_amqp_send_message_device.png)
|
||||
|
||||
**如果使用 HTTP 协议:**
|
||||
|
||||
![SampleHTTP\_result\_terminal](images/python_http_send_message_device.png)
|
||||
|
||||
**如果使用 MQTT 协议:**
|
||||
|
||||
![SampleMQTT\_result\_terminal](images/python_mqtt_send_message_device.png)
|
||||
|
||||
- DeviceExplorer 应显示 IoT 中心已成功接收示例测试发送的数据。
|
||||
|
||||
**如果使用 AMQP 协议:**
|
||||
|
||||
![SampleAMQP\_result\_DeviceExplorer](images/python_amqp_send_message_device_explorer.png)
|
||||
|
||||
**如果使用 HTTP 协议:**
|
||||
|
||||
![SampleHTTP\_result\_DeviceExplorer](images/python_http_send_message_device_explorer.png)
|
||||
|
||||
**如果使用 MQTT 协议:**
|
||||
|
||||
![SampleMQTT\_result\_DeviceExplorer](images/python_mqtt_send_message_device_explorer.png)
|
||||
|
||||
### <a name="332-receive-messages-from-iot-hub"></a>3.3.2 从 IoT 中心接收消息
|
||||
|
||||
- 请参阅[管理 IoT 中心](<https://github.com/Azure/azure-iot-device-ecosystem/blob/master/manage_iot_hub.md>),了解如何将云到设备的消息发送到应用程序。
|
||||
|
||||
- 应会在客户端示例的控制台窗口中看到收到的命令。
|
||||
|
||||
**如果使用 AMQP 协议:**
|
||||
|
||||
![MessageSend\_terminal](images/python_amqp_receive_message_device.png)
|
||||
|
||||
**如果使用 HTTP 协议:**
|
||||
|
||||
![MessageSend\_terminal](images/python_http_receive_message_device.png)
|
||||
|
||||
**如果使用 MQTT 协议:**
|
||||
|
||||
![MessageSend\_terminal](images/python_mqtt_receive_message_device.png)
|
||||
|
||||
### <a name="333-verify-device-configuration"></a>3.3.3 验证设备配置
|
||||
|
||||
- 在运行 `platform_data.py` 之前,请安装以下模块
|
||||
|
||||
**Debian 或 Ubuntu**
|
||||
|
||||
sudo apt-get install python-requests
|
||||
sudo apt-get install python-netifaces
|
||||
|
||||
**Fedora**
|
||||
|
||||
sudo dnf install python-requests
|
||||
sudo dnf install python-netifaces
|
||||
|
||||
- 通过执行以下命令导航到 tools 文件夹:
|
||||
|
||||
cd azure-iot-sdk-python/Tools
|
||||
|
||||
- 在设备上运行以下命令
|
||||
|
||||
python platform_data.py
|
||||
|
||||
![deviceinfo\_screenshot](images/python_modified_output.PNG)
|
||||
|
||||
- 请保存设备配置屏幕截图,然后按[步骤 4](#Step-4-1-Package) 所述上传该屏幕截图。
|
||||
|
||||
<a name="Step-4-Package_Share"></a>
|
||||
# <a name="step-4-package-and-share"></a>步骤 4:打包并共享
|
||||
|
||||
<a name="Step-4-1-Package"></a>
|
||||
## <a name="41-package-build-logs-and-sample-test-results"></a>4.1:打包生成日志和示例测试结果
|
||||
|
||||
打包设备中的以下项目:
|
||||
|
||||
1. 在生成运行期间记录在日志文件中的生成日志。
|
||||
|
||||
2. 前面“向 IoT 中心发送设备事件”部分中显示的所有屏幕截图。
|
||||
|
||||
3. 前面“从 IoT 中心接收消息”部分中显示的所有屏幕截图。
|
||||
|
||||
4. 前面“设备配置” 部分中的所有屏幕截图。
|
||||
|
||||
5. 请向我们发送明确的说明,描述如何使用你的硬件运行此示例(明确强调客户要执行的新步骤)。 请使用[此处](<https://github.com/Azure/azure-iot-device-ecosystem/blob/master/iotcertification/templates/template-linux-python.md>)提供的模板创建特定于设备的说明。
|
||||
|
||||
有关说明形式的指导,请参考[此处](<https://github.com/Azure/azure-iot-device-ecosystem/tree/master/get_started>) GitHub 存储库中发布的示例。
|
||||
|
||||
<a name="Step-4-2-Share"></a>
|
||||
## <a name="42-share-package-with-microsoft-azure-iot-team"></a>4.2 与 Microsoft Azure IoT 团队共享包
|
||||
|
||||
1. 转到“[合作伙伴仪表板](<https://catalog.azureiotsuite.com/devices>)”。
|
||||
2. 单击设备右上角的“上载”图标。
|
||||
|
||||
![Share\_Results\_upload\_icon](images/4_2_01.png)
|
||||
|
||||
3. 此时将打开上载对话框。 单击“上载”按钮浏览文件。
|
||||
|
||||
![Share\_Results\_upload\_dialog](images/4_2_02.png)
|
||||
|
||||
可以上载同一个设备的多个文件。
|
||||
|
||||
4. 上传所有文件后,单击“提交审查”按钮。
|
||||
|
||||
***注意:****提交文件供审查后,若要更改/删除文件,请联系 iotcert 团队。*
|
||||
|
||||
|
||||
<a name="Step-4-3-Next"></a>
|
||||
## <a name="43-next-steps"></a>4.3:后续步骤
|
||||
|
||||
与我们共享文档后,我们将在接下来的 48 到 72 个工作小时内与你取得联系,以提供后续步骤。
|
||||
|
||||
<a name="Step-5-Troubleshooting"></a>
|
||||
# <a name="step-5-troubleshooting"></a>步骤 5:疑难解答
|
||||
|
||||
如需故障排除的帮助,请通过 <iotcert@microsoft.com> 联系工程支持人员。
|
Двоичные данные
iotcertification/iot_certification_mbed_c/images/3_2_01_a.png
До Ширина: | Высота: | Размер: 19 KiB |
Двоичные данные
iotcertification/iot_certification_mbed_c/images/3_2_02.png
До Ширина: | Высота: | Размер: 25 KiB |
Двоичные данные
iotcertification/iot_certification_mbed_c/images/3_2_03.png
До Ширина: | Высота: | Размер: 74 KiB |
Двоичные данные
iotcertification/iot_certification_mbed_c/images/3_2_04.png
До Ширина: | Высота: | Размер: 14 KiB |
Двоичные данные
iotcertification/iot_certification_mbed_c/images/3_2_05.png
До Ширина: | Высота: | Размер: 18 KiB |
Двоичные данные
iotcertification/iot_certification_mbed_c/images/3_2_06.png
До Ширина: | Высота: | Размер: 8.3 KiB |
Двоичные данные
iotcertification/iot_certification_mbed_c/images/3_3_1_01.PNG
До Ширина: | Высота: | Размер: 18 KiB |
Двоичные данные
iotcertification/iot_certification_mbed_c/images/3_3_1_02.png
До Ширина: | Высота: | Размер: 5.7 KiB |
Двоичные данные
iotcertification/iot_certification_mbed_c/images/3_3_1_03.png
До Ширина: | Высота: | Размер: 25 KiB |
Двоичные данные
iotcertification/iot_certification_mbed_c/images/3_3_1_04.png
До Ширина: | Высота: | Размер: 30 KiB |
Двоичные данные
iotcertification/iot_certification_mbed_c/images/3_3_1_05.PNG
До Ширина: | Высота: | Размер: 41 KiB |
Двоичные данные
iotcertification/iot_certification_mbed_c/images/3_3_2_01.PNG
До Ширина: | Высота: | Размер: 19 KiB |
Двоичные данные
iotcertification/iot_certification_mbed_c/images/3_3_2_02.png
До Ширина: | Высота: | Размер: 29 KiB |
Двоичные данные
iotcertification/iot_certification_mbed_c/images/4_2_01.png
До Ширина: | Высота: | Размер: 16 KiB |
Двоичные данные
iotcertification/iot_certification_mbed_c/images/4_2_02.png
До Ширина: | Высота: | Размер: 15 KiB |
|
@ -1,277 +0,0 @@
|
|||
<a name="how-to-certify-iot-devices-running-mbed-os-with-azure-iot-sdk"></a>如何使用 Azure IoT SDK 认证运行 Mbed OS 的 IoT 设备
|
||||
===
|
||||
---
|
||||
|
||||
|
||||
# <a name="table-of-contents"></a>目录
|
||||
|
||||
- [简介](#Introduction)
|
||||
- [步骤 1:配置 Azure IoT 中心](#Step-1-Configure)
|
||||
- [步骤 2:注册设备](#Step-2-Register)
|
||||
- [步骤 3:使用 C 客户端库生成并验证示例](#Step-3-Build)
|
||||
- [3.1 连接设备](#Step-3-1-Load)
|
||||
- [3.2 生成示例](#Step-3-2-Build)
|
||||
- [3.3:运行并验证示例](#Step-3-3-Run)
|
||||
- [步骤 4:打包并共享](#Step-4-Package_Share)
|
||||
- [4.1:打包生成日志和示例测试结果](#Step-4-1-Package)
|
||||
- [4.2 与工程支持人员共享包](#Step-4-2-Share)
|
||||
- [4.3:后续步骤](#Step-4-3-Next)
|
||||
- [步骤 5:故障排除](#Step-5-Troubleshooting)
|
||||
|
||||
<a name="Introduction"></a>
|
||||
# <a name="introduction"></a>简介
|
||||
|
||||
**关于本文档**
|
||||
|
||||
本文档向 IoT 硬件发布人员提供有关如何使用 Azure IoT SDK 认证已启用 IoT 的硬件的分步指南。 此过程由多个步骤组成,其中包括:
|
||||
- 配置 Azure IoT 中心
|
||||
- 注册 IoT 设备
|
||||
- 在设备上生成并部署 Azure IoT SDK
|
||||
- 打包并共享日志
|
||||
|
||||
**准备**
|
||||
|
||||
在执行以下任一步骤之前,请仔细阅读每个过程的每个步骤,确保全盘了解整个过程。
|
||||
|
||||
在开始过程前,应已准备好以下项目:
|
||||
|
||||
- 准备好一台装有 GitHub 并且可以访问 [azure-iot-sdk-c](https://github.com/Azure/azure-iot-sdk-c) GitHub 专用存储库的计算机
|
||||
- 配置 SSH 客户端(如 [PuTTY](http://www.putty.org/)),以便能够访问命令行
|
||||
- 用于认证的所需硬件
|
||||
|
||||
***注意:****如果尚未联系 Microsoft 来申请成为“Azure IoT 认证”合作伙伴,请先提交此[表单](<https://iotcert.cloudapp.net/>)请求此身份,然后遵照本文中的说明操作。*
|
||||
|
||||
<a name="Step-1-Configure"></a>
|
||||
# <a name="step-1-sign-up-to-azure-iot-hub"></a>步骤 1:注册 Azure IoT 中心
|
||||
|
||||
遵照[此处](https://account.windowsazure.com/signup?offer=ms-azr-0044p)所述的说明了解如何注册 Azure IoT 中心服务。在注册过程中,你将收到连接字符串。
|
||||
|
||||
- **IoT 中心连接字符串**:下面显示了 IoT 中心连接字符串的示例:
|
||||
|
||||
HostName=[YourIoTHubName];CredentialType=SharedAccessSignature;CredentialScope=[ContosoIotHub];SharedAccessKeyName=[YourAccessKeyName];SharedAccessKey=[YourAccessKey]
|
||||
|
||||
<a name="Step-2-Register"></a>
|
||||
# <a name="step-2-register-device"></a>步骤 2:注册设备
|
||||
|
||||
在本部分,我们将使用 DeviceExplorer 注册设备。 DeviceExplorer 是与 Azure IoT 中心对接的 Windows 应用程序,可执行以下操作:
|
||||
|
||||
- 设备管理
|
||||
- 创建新设备
|
||||
- 列出现有设备,公开设备中心内存储的设备属性
|
||||
- 可更新设备密钥
|
||||
- 可删除设备
|
||||
- 监视设备的事件
|
||||
- 向设备发送消息
|
||||
|
||||
若要运行 DeviceExplorer 工具,请根据[步骤 1](#Step-1-Configure) 中所述使用以下配置字符串:
|
||||
|
||||
- IoT 中心连接字符串
|
||||
|
||||
|
||||
1. 单击[此处](<https://github.com/Azure/azure-iot-sdk-csharp/blob/master/tools/DeviceExplorer/doc/how_to_use_device_explorer.md>)下载并安装 DeviceExplorer。
|
||||
|
||||
2. 添加“配置”选项卡下面的连接信息,然后单击“更新”按钮。
|
||||
|
||||
3. 根据以下说明创建设备并将其注册到 IoT 中心。
|
||||
|
||||
a.在“解决方案资源管理器”中,右键单击项目文件夹下的“引用”文件夹,然后单击“添加引用”。 单击“管理”选项卡。
|
||||
|
||||
b.保留“数据库类型”设置,即设置为“共享”。 注册的设备将显示在列表中。 如果你的设备未显示在列表中,请单击“刷新”按钮。 如果这是第一次注册设备,请不要检索任何信息。
|
||||
|
||||
c. 单击“创建”按钮创建设备 ID 和密钥。
|
||||
|
||||
d.单击“下一步”。 成功创建设备后,该设备将列在 DeviceExplorer 中。
|
||||
|
||||
e.在“新建 MySQL 数据库”边栏选项卡中,接受法律条款,然后单击“确定”。 右键单击该设备,然后从上下文菜单中选择“复制所选设备的连接字符串”。
|
||||
|
||||
f. 在记事本中保存此信息。 后面的步骤需要用到此信息。
|
||||
|
||||
***不是在电脑上运行 Windows?*** - 请遵照[此处](<https://github.com/Azure/azure-iot-device-ecosystem/blob/master/manage_iot_hub.md>)的说明预配设备并获取其凭据。
|
||||
|
||||
<a name="Step-3-Build"></a>
|
||||
# <a name="step-3-build-and-validate-the-sample-using-c-client-libraries"></a>步骤 3:使用 C 客户端库生成并验证示例
|
||||
|
||||
本部分逐步讲解如何在运行 mbed 操作系统的设备上生成、部署和验证 IoT 客户端 SDK。 我们将在设备上安装必备组件。 完成后,将生成并部署 IoT 客户端 SDK,然后验证使用 Azure IoT SDK 进行 IoT 认证所需的示例测试。
|
||||
|
||||
<a name="Step-3-1-Load"></a>
|
||||
## <a name="31-connect-the-device"></a>3.1 连接设备
|
||||
|
||||
1. 使用以太网电缆将开发板连接到网络。 由于示例依赖于 Internet 访问,因此必须执行此步骤。
|
||||
|
||||
2. 使用 micro-USB 电缆将设备插入计算机。
|
||||
|
||||
3. 安装[此处](http://developer.mbed.org/handbook/Windows-serial-configuration#1-download-the-mbed-windows-serial-port)提供的 Windows 串行端口驱动程序。
|
||||
|
||||
4. 安装[此处](http://www.7-zip.org)提供的 7-Zip 软件。
|
||||
|
||||
<a name="Step-3-2-Build"></a>
|
||||
## <a name="32--build-the-samples"></a>3.2 生成示例
|
||||
|
||||
1. 将 [GitHub SDK](https://github.com/Azure/azure-iot-sdk-c.git) 存储库克隆到计算机。
|
||||
|
||||
2. 浏览到文件夹
|
||||
|
||||
/azure-iot-sdk-c/iothub_client/samples/iothub_client_sample_amqp/mbed
|
||||
|
||||
3. 运行 **mkmbedzip.bat** 文件。 这会在同一文件夹中生成 **iothub\_client\_sample\_amqp.zip** 文件。
|
||||
|
||||
***注意:****zip 文件上传到编译器网页后,浏览器会将该 zip 文件保持打开状态。在浏览器打开的情况下尝试创建另一个 zip 文件将会失败。*
|
||||
|
||||
4. 在 Web 浏览器中,转到 [mbed 开发人员站点](https://developer.mbed.org/)。 如果你尚未注册,则会看到一个用于创建新帐户(它是免费的)的选项。 否则,使用你的帐户凭据登录。
|
||||
|
||||
5. 单击页面右上角的“编译器”。
|
||||
随后将会转到“工作区管理”界面。
|
||||
|
||||
6. 确保所用的硬件平台显示在窗口右上角。 如果没有,请单击右上角的“未选择设备”按钮选择硬件平台。
|
||||
|
||||
7. 在“工作区管理”菜单中,选择“新建”−>“新建程序”。
|
||||
|
||||
![Import\_Library](images/3_2_01_a.png)
|
||||
|
||||
8. 此时将显示“创建新程序”对话框。 平台字段中应已预先填充所选的硬件平台。
|
||||
|
||||
9. 将“模板”字段设置为“空程序”。 在“程序名称”字段中使用所需的任何程序名称,然后单击“确定”。
|
||||
|
||||
![](images/3_2_02.png)
|
||||
|
||||
10. 在主菜单上单击“**导入**”。 随后将会打开“导入向导”。
|
||||
|
||||
![](images/3_2_03.png)
|
||||
|
||||
11. 在导入向导中转到“上载”选项卡,然后单击页面底部的“浏览...”按钮。
|
||||
|
||||
12. 浏览到(使用 mkmbedzip.bat)创建 zip 文件的目录并双击它。 随后将返回到“导入向导”页,zip 文件名已显示在“名称”列中。
|
||||
|
||||
13. 在导入向导的右上角单击“导入!” 按钮。 此时将显示“导入库”对话框。
|
||||
|
||||
14. 确保目标路径与创建的项目名称匹配,然后单击“导入”。
|
||||
|
||||
***注意:****目标路径与从主菜单中选择“导入”之前,最后一次选择的程序名称匹配。*
|
||||
|
||||
15. 打开 **iothub\_client\_sample\_amqp.c** 文件,将 \[Iothub connection string\] 替换为设备连接字符串。 可根据[步骤 2](#Step-2-Register) 中所述,从 DeviceExplorer 获取此连接字符串。
|
||||
|
||||
16. 在“程序工作区”窗格中突出显示你的项目,然后再次单击“导入”菜单项。
|
||||
|
||||
17. 在窗口顶部,单击“单击此处”链接从某个 URL 导入库。 此时将显示“导入库”对话框。
|
||||
|
||||
![](images/3_2_04.png)
|
||||
|
||||
18. 在“源 URL”字段中输入以下 URL。
|
||||
|
||||
http://developer.mbed.org/users/donatien/code/NTPClient/
|
||||
|
||||
19. 完成后,单击“导入”。
|
||||
|
||||
![](images/3_2_05.png)
|
||||
|
||||
20. 重复步骤 16 和 17,在“源 URL”字段中输入以下 URL。 完成后,单击“导入”:
|
||||
|
||||
https://developer.mbed.org/users/wolfSSL/code/wolfSSL/
|
||||
http://developer.mbed.org/users/mbed_official/code/EthernetInterface/
|
||||
http://developer.mbed.org/users/mbed_official/code/mbed-rtos/
|
||||
http://mbed.org/users/mbed_official/code/mbed/
|
||||
|
||||
21. 重复步骤 16 和 17 导入 azure-uamqp-c 库,然后在“源 URL”字段中输入以下 URL。 完成后,单击“导入”:
|
||||
|
||||
https://developer.mbed.org/users/AzureIoTClient/code/azure_uamqp_c/
|
||||
|
||||
22. 在主菜单中单击“编译”生成程序。 如果生成成功,将会生成包含项目名称的 .bin 文件。 在计算机上保存此文件, 因为后面的步骤将要用到。
|
||||
![Import\_Library](images/3_2_06.png)
|
||||
|
||||
***注意:****可以安全地忽略任何警告,但是如果此生成产生错误,请在更正它们之后再继续进行。*
|
||||
|
||||
<a name="Step-3-3-Run"></a>
|
||||
## <a name="33-run-and-validate-the-samples"></a>3.3 运行并验证示例
|
||||
|
||||
在本部分,我们将运行 Azure IoT 客户端 SDK 示例来验证设备与 Azure IoT 中心之间的通信。 我们要向 Azure IoT 中心服务发送消息,然后验证 IoT 中心是否成功接收数据。 此外,我们还会监视从 Azure IoT 中心发送到客户端的任何消息。
|
||||
|
||||
***注意:****请对本部分中执行的所有操作进行屏幕截图。* 在[步骤 4](#Step-4-2-Share) 中需要使用这些屏幕截图。
|
||||
|
||||
### <a name="331-send-device-events-to-iot-hub"></a>3.3.1 向 IoT 中心发送设备事件
|
||||
|
||||
1. 如[步骤 2](#Step-2-Register) 中所述启动 DeviceExplorer,并导航到“数据”选项卡。 从设备 ID 下拉列表中选择创建的设备名称,并单击“监视”按钮。
|
||||
|
||||
![DeviceExplorer\_监视](images/3_3_1_01.PNG)
|
||||
|
||||
2. 现在,DeviceExplorer 正在监视从选定设备发送到 IoT 中心的数据。
|
||||
|
||||
3. 将最后一个步骤生成的 .bin 文件复制到设备。
|
||||
|
||||
***注意:****将 .bin 文件保存到设备会重置当前与设备建立的终端会话。重新连接设备时,请再次手动重置终端,或启动新的终端。这样,mbed 设备便会重置并开始执行程序。*
|
||||
|
||||
4. 使用 PuTTY 等 SSH 终端程序连接到设备。 可以通过检查 Windows 设备管理器来确定设备使用的串行端口。
|
||||
|
||||
![Windows\_SerialPort](images/3_3_1_02.png)
|
||||
|
||||
5. 在 PuTTY 中,单击“**串行**”连接类型。 设备很有可能以 115200 的速率进行连接,因此请在“速度”框中输入该值。
|
||||
然后单击“打开”。
|
||||
|
||||
![PuTTY](images/3_3_1_03.png)
|
||||
|
||||
6. iothub\_client\_sample\_amqp 程序开始执行。
|
||||
|
||||
![Event\_Data](images/3_3_1_04.png)
|
||||
|
||||
检查确认消息中是否显示“正常”。 如果没有,则可能是错误地复制了设备中心连接信息。
|
||||
|
||||
***注意:****如果程序不启动,请手动重置开发板。*
|
||||
|
||||
7. 应会看到 DeviceExplorer 的数据选项卡中收到的事件。
|
||||
|
||||
![Monitor\_Data](images/3_3_1_05.PNG)
|
||||
|
||||
### <a name="332-receive-messages-from-iot-hub"></a>3.3.2 从 IoT 中心接收消息
|
||||
|
||||
1. 若要验证是否可从 IoT 中心向设备发送消息,请转到 DeviceExplorer 中的“发送到设备的消息”选项卡。
|
||||
|
||||
2. 使用设备 ID 下拉列表选择创建的设备。
|
||||
|
||||
3. 在“消息”字段中添加一些文本,然后单击“发送”。
|
||||
|
||||
![DeviceExplorer\_Message](images/3_3_2_01.PNG)
|
||||
|
||||
4. 终端窗口中应会显示收到的消息。
|
||||
|
||||
![Terminal\_MessageReceive](images/3_3_2_02.png)
|
||||
|
||||
<a name="Step-4-Package_Share"></a>
|
||||
# <a name="step-4-package-and-share"></a>步骤 4:打包并共享
|
||||
|
||||
<a name="Step-4-1-Package"></a>
|
||||
## <a name="41-package-build-logs-and-sample-test-results"></a>4.1:打包生成日志和示例测试结果
|
||||
|
||||
从设备打包以下项目:
|
||||
|
||||
1. 在 [mbed 开发人员站点](https://developer.mbed.org/)上编译时生成的生成结果屏幕截图。
|
||||
2. 前面“**向 IoT 中心发送设备事件**”部分中显示的所有屏幕截图。
|
||||
2. 前面“**从 IoT 中心接收消息**”部分中显示的所有屏幕截图。
|
||||
3. 向我们发送明确的说明,告知如何在硬件上运行此示例(具体强调客户所要执行的新步骤)。 有关说明形式的指导,请参考[此处](<https://github.com/Azure/azure-iot-device-ecosystem/tree/master/get_started>) github 存储库中发布的示例
|
||||
|
||||
<a name="Step-4-2-Share"></a>
|
||||
## <a name="42-share-package-with-engineering-support"></a>4.2 与工程支持人员共享包
|
||||
|
||||
1. 转到[合作伙伴仪表板](<https://catalog.azureiotsuite.com/devices>)。
|
||||
2. 单击设备右上角的“上载”图标。
|
||||
|
||||
![Share\_Results\_upload\_icon](images/4_2_01.png)
|
||||
|
||||
3. 此时将打开上载对话框。 单击“上载”按钮浏览文件。
|
||||
|
||||
![Share\_Results\_upload\_dialog](images/4_2_02.png)
|
||||
|
||||
可以上载同一个设备的多个文件。
|
||||
|
||||
4. 上传所有文件后,单击“提交审查”按钮。
|
||||
|
||||
***注意:****提交文件供审查后,若要更改/删除文件,请联系 iotcert 团队。*
|
||||
|
||||
|
||||
<a name="Step-4-3-Next"></a>
|
||||
## <a name="43-next-steps"></a>4.3:后续步骤
|
||||
|
||||
与我们共享文档后,我们将在接下来的 48 到 72 个工作小时内与你取得联系,以提供后续步骤。
|
||||
|
||||
<a name="Step-5-Troubleshooting"></a>
|
||||
# <a name="step-5-troubleshooting"></a>步骤 5:疑难解答
|
||||
|
||||
如需故障排除的帮助,请通过 <iotcert@microsoft.com> 联系工程支持人员。
|
До Ширина: | Высота: | Размер: 16 KiB |
До Ширина: | Высота: | Размер: 15 KiB |
|
@ -1,240 +0,0 @@
|
|||
<a name="how-to-certify-iot-devices-running-openwrt-on-arduino-with-azure-iot-sdk"></a>如何使用 Azure IoT SDK 认证运行 Openwrt on Arduino 的 IoT 设备
|
||||
===
|
||||
---
|
||||
|
||||
# <a name="table-of-contents"></a>目录
|
||||
|
||||
- [简介](#Introduction)
|
||||
- [步骤 1:先决条件](#Step-1-Prerequisites)
|
||||
- [步骤 2:注册设备](#Step-2-PrepareDevice)
|
||||
- [步骤 3:生成并运行示例](#Step-3-Build)
|
||||
- [3.1:设置开发环境](#Step-3-1-setup-dev)
|
||||
- [3.2:生成示例](#build)
|
||||
- [3.3:部署示例](#deploy)
|
||||
- [3.4:确保已安装证书](#certificate)
|
||||
- [3.5:运行示例](#run-the-sample)
|
||||
- [步骤 4:打包并共享](#Step-4-Package_Share)
|
||||
- [4.1:打包生成日志和示例测试结果](#Step-4-1-Package)
|
||||
- [4.2 与工程支持人员共享包](#Step-4-2-Share)
|
||||
- [4.3:后续步骤](#Step-4-3-Next)
|
||||
- [步骤 5:故障排除](#Step-5-Troubleshooting)
|
||||
- [5.1:E2E 测试用例](#Step-5-1-E2E)
|
||||
|
||||
<a name="Introduction"></a>
|
||||
# <a name="introduction"></a>介绍
|
||||
|
||||
**关于本文档**
|
||||
|
||||
以下文档介绍了将 Arduino 系统连接到 Azure IoT 中心的过程。此过程由多个步骤构成,具体包括:
|
||||
- 配置 Azure IoT 中心
|
||||
- 注册 IoT 设备
|
||||
- 在设备上生成并部署 Azure IoT SDK
|
||||
- 打包并共享日志
|
||||
|
||||
**准备**
|
||||
|
||||
在执行以下任一步骤之前,请仔细阅读每个过程的每个步骤,确保全盘了解整个过程。
|
||||
|
||||
在开始过程前,应已准备好以下项目:
|
||||
|
||||
- 准备好一台装有 GitHub 并且可以访问 [azure-iot-sdk-c](https://github.com/Azure/azure-iot-sdk-c) GitHub 公共存储库的计算机。
|
||||
- 配置 SSH 客户端(如 [PuTTY](http://www.putty.org/)),以便能够访问命令行。
|
||||
- 需要认证的硬件。
|
||||
|
||||
***注意:****如果尚未联系 Microsoft 来申请成为“Azure IoT 认证”合作伙伴,请先提交此[表单](<https://catalog.azureiotsuite.com/>)请求此身份,然后遵照本文中的说明操作。*
|
||||
|
||||
|
||||
<a name="Step-1-Prerequisites"></a>
|
||||
# <a name="step-1-prerequisites"></a>步骤 1:先决条件
|
||||
|
||||
在开始过程前,应已准备好以下项目:
|
||||
- 装有 Git 客户端的计算机,以便可以访问 GitHub 上的 azure-iot-sdks 代码。
|
||||
- Arduino Yun 开发板。
|
||||
- Ubuntu x86 计算机(用于交叉编译)
|
||||
- [设置 IoT 中心](../setup_iothub.md)
|
||||
- [预配设备并获取其凭据](../manage_iot_hub.md)
|
||||
|
||||
|
||||
|
||||
<a name="Step-1-Configure"></a>
|
||||
## <a name="step-11-configure-azure-iot-hub"></a>步骤 1.1:配置 Azure IoT 中心
|
||||
|
||||
遵照[此处](https://account.windowsazure.com/signup?offer=ms-azr-0044p)的说明了解如何注册 Azure IoT 中心服务和配置 Azure IoT 中心。 在注册过程中,将会收到连接字符串。
|
||||
|
||||
- **IoT 中心连接字符串**:下面显示了 IoT 中心连接字符串的示例:
|
||||
|
||||
HostName=[YourIoTHubName];SharedAccessKeyName=[YourAccessKeyName];SharedAccessKey=[YourAccessKey]
|
||||
|
||||
<a name="Step-2-Register"></a>
|
||||
# <a name="step-2-register-device"></a>步骤 2:注册设备
|
||||
|
||||
在本部分,我们将使用 DeviceExplorer 注册设备。 DeviceExplorer 是与 Azure IoT 中心对接的 Windows 应用程序,可执行以下操作:
|
||||
|
||||
- 设备管理
|
||||
- 创建新设备
|
||||
- 列出现有设备,公开设备中心内存储的设备属性
|
||||
- 可更新设备密钥
|
||||
- 可删除设备
|
||||
- 监视设备的事件
|
||||
- 向设备发送消息
|
||||
|
||||
若要运行 DeviceExplorer 工具,请根据[步骤 1](#Step-1-Configure) 中所述使用以下配置字符串:
|
||||
|
||||
- IoT 中心连接字符串
|
||||
|
||||
|
||||
**步骤:**
|
||||
1. 单击[此处](<https://github.com/Azure/azure-iot-sdk-csharp/blob/master/tools/DeviceExplorer/doc/how_to_use_device_explorer.md>)下载并安装 DeviceExplorer。
|
||||
|
||||
2. 添加“配置”选项卡下面的连接信息,然后单击“更新”按钮。
|
||||
|
||||
3. 根据以下说明创建设备并将其注册到 IoT 中心。
|
||||
|
||||
a.在“解决方案资源管理器”中,右键单击项目文件夹下的“引用”文件夹,然后单击“添加引用”。 单击“管理”选项卡。
|
||||
|
||||
b.保留“数据库类型”设置,即设置为“共享”。 注册的设备将显示在列表中。 如果你的设备未显示在列表中,请单击“刷新”按钮。 如果这是第一次注册设备,请不要检索任何信息。
|
||||
|
||||
c. 单击“创建”按钮创建设备 ID 和密钥。
|
||||
|
||||
d.单击“下一步”。 成功创建设备后,该设备将列在 DeviceExplorer 中。
|
||||
|
||||
e.在“新建 MySQL 数据库”边栏选项卡中,接受法律条款,然后单击“确定”。 右键单击该设备,然后从上下文菜单中选择“复制所选设备的连接字符串”。
|
||||
|
||||
f. 在记事本中保存此信息。 后面的步骤需要用到此信息。
|
||||
|
||||
***不是在电脑上运行 Windows?*** - 请遵照[此处](<https://github.com/Azure/azure-iot-device-ecosystem/blob/master/manage_iot_hub.md>)的说明预配设备并获取其凭据。
|
||||
|
||||
<a name="Step-3-Build"></a>
|
||||
# <a name="step-3-build-and-validate-the-sample-using-c-client-libraries"></a>步骤 3:使用 C 客户端库生成并验证示例
|
||||
|
||||
本部分逐步讲解如何为 Arduino 上的 Openwrt 平台生成、部署和验证 IoT 客户端 SDK。 我们将在设备上安装所需的必备组件。 完成后,将会生成并部署 IoT 客户端 SDK,并使用 Azure IoT SDK 来验证 IoT 认证所需的示例测试。
|
||||
|
||||
<a name="Step-3-1-setup-dev"></a>
|
||||
## <a name="31-setup-the-development-environment"></a>3.1:设置开发环境
|
||||
|
||||
- 打开 PuTTY 会话并连接到设备。
|
||||
|
||||
- 通过设备上的命令行发出以下命令,安装必备的包。
|
||||
|
||||
在 root/sudo 下安装依赖项。
|
||||
|
||||
```
|
||||
apt-get install curl libcurl4-openssl-dev uuid-dev uuid g++ make cmake git unzip openjdk-7-jre libssl-dev libncurses-dev subversion gawk
|
||||
```
|
||||
|
||||
- 将此存储库 ([azure-iot-sdk](https://github.com/Azure/azure-iot-sdks)) 克隆到所用的计算机。请务必使用以下命令执行递归克隆 (git clone --recursive <repo address>)。
|
||||
|
||||
git clone --recursive https://github.com/Azure/azure-iot-sdk-c.git
|
||||
- 导航到存储库本地副本中的 **c/build_all/arduino** 文件夹。
|
||||
- 运行 `./setup.sh` 脚本安装 OpenWRT SDK 和必备组件。 SDK 默认安装在 **~/openwrt/sdk** 中
|
||||
- (可选)输入“Y”生成 Azure IoT SDK。
|
||||
|
||||
|
||||
***注意:*** 此安装过程需要 cmake 2.8.12 版或更高版本。
|
||||
|
||||
可使用以下命令来验证环境中当前安装的版本:
|
||||
|
||||
cmake --version
|
||||
|
||||
*此库还需要 gcc 4.9 或更高版本。* 可使用以下命令来验证环境中当前安装的版本:
|
||||
|
||||
gcc --version
|
||||
|
||||
- 检查 ~/azure-iot-sdk-c 目录下现在是否包含源代码的副本。
|
||||
|
||||
<a name="build"/>
|
||||
## <a name="32-build-the-sample"></a>3.2:生成示例
|
||||
|
||||
- 在文本编辑器(例如 nano)中打开文件 **azure-iot-sdk-c/serializer/samples/simplesample_http/simplesample_http.c**
|
||||
- 在该文件中找到以下代码:
|
||||
```
|
||||
static const char* connectionString = "[device connection string]";
|
||||
```
|
||||
- 将“[device connection string]”替换为[前面](#Step-1-Configure)记下的设备连接字符串。 保存更改。
|
||||
- 运行 **azure-iot-sdk-c/build_all/arduino** 目录中的 `./build.sh` 脚本。
|
||||
|
||||
<a name="deploy"/>
|
||||
## <a name="33-deploy-the-sample"></a>3.3:部署示例
|
||||
|
||||
- 打开 shell 并导航到安装的 OpenWRT SDK 文件夹。 该文件夹默认为 **~/openwrt/sdk**。
|
||||
- 传输示例可执行文件。
|
||||
|
||||
OpenWRT Yun 映像:
|
||||
|
||||
```
|
||||
scp ~/openwrt/sdk/build_dir/target-mips_r2_uClibc-0.9.33.2/azure-iot-sdks-1/serializer/samples/simplesample_http/simplesample_http root@arduino.local:/tmp
|
||||
```
|
||||
|
||||
注意:***该 uClibc 版本可能与你安装的版本不同,因此你可能需要相应地调整路径。***
|
||||
<a name="certificate"/>
|
||||
## <a name="34-make-sure-the-certificates-are-installed"></a>3.4:确保已安装证书
|
||||
|
||||
在 Arduino 设备上,安装如下所示的 ca-certificates 包:
|
||||
|
||||
```
|
||||
wget https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages/base/ca-certificates_20160104_all.ipk --no-check-certificate
|
||||
opkg install ca-certificates_20160104_all.ipk
|
||||
```
|
||||
执行此步骤时可能会收到错误消息(返回代码 127),但证书将会安装。
|
||||
|
||||
注意:***发布更新的证书版本后,上述证书名称可能会发生变化。如果在下载证书文件时收到 404 错误,请仔细检查[此处](https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages/base)所述基本路径下的 CA 证书名称,并相应地更新证书路径。***
|
||||
|
||||
<a name="run-the-sample"/>
|
||||
## <a name="35-run-the-sample"></a>3.5:运行示例
|
||||
在本部分,我们将运行 Azure IoT 客户端 SDK 示例来验证设备与 Azure IoT 中心之间的通信。 我们要向 Azure IoT 中心服务发送消息,然后验证 IoT 中心是否成功接收数据。 此外,我们还会监视从 Azure IoT 中心发送到客户端的任何消息。
|
||||
|
||||
**注意:** 请对本部分中执行的所有操作进行屏幕截图。 在[步骤 4](#Step-4-2-Share) 中需要使用这些屏幕截图。
|
||||
|
||||
- 运行示例 **/tmp/simplesample_http**
|
||||
- 请参阅[管理 IoT 中心][lnk-manage-iothub],了解可以使用哪些工具来监视设备向 IoT 中心发送的消息,以及可以使用哪些工具向设备发送命令。
|
||||
|
||||
注意:***若要从 iothub-explorer 或 DeviceExplorer 向设备发送命令,该命令应类似于 {"Name":"TurnFanOff","Parameters":{}}***
|
||||
|
||||
<a name="Step-4-Package_Share"></a>
|
||||
# <a name="step-4-package-and-share"></a>步骤 4:打包并共享
|
||||
|
||||
<a name="Step-4-1-Package"></a>
|
||||
## <a name="41-package-build-logs-and-sample-test-results"></a>4.1:打包生成日志和示例测试结果
|
||||
|
||||
从设备打包以下项目:
|
||||
|
||||
1. 在生成运行期间记录在日志文件中的生成日志和 E2E 测试结果。
|
||||
|
||||
2. 在执行[步骤 3](#run-the-sample) 期间抓取的所有屏幕截图
|
||||
|
||||
4. 请向我们发送明确的说明,描述如何使用你的硬件运行此示例(明确强调客户要执行的新步骤)。 请使用[此处](<https://github.com/Azure/azure-iot-device-ecosystem/blob/master/iotcertification/templates/template-linux-c.md>)提供的模板创建特定于设备的说明。
|
||||
|
||||
有关说明形式的指导,请参考[此处](<https://github.com/Azure/azure-iot-device-ecosystem/tree/master/get_started>) GitHub 存储库中发布的示例。
|
||||
|
||||
<a name="Step-4-2-Share"></a>
|
||||
## <a name="42-share-package-with-microsoft-azure-iot-team"></a>4.2 与 Microsoft Azure IoT 团队共享包
|
||||
|
||||
1. 转到“[合作伙伴仪表板](<https://catalog.azureiotsuite.com/devices>)”。
|
||||
2. 单击设备右上角的“上载”图标。
|
||||
|
||||
![Share\_Results\_upload\_icon](images/4_2_01.png)
|
||||
|
||||
3. 此时将打开上载对话框。 单击“上载”按钮浏览文件。
|
||||
|
||||
![Share\_Results\_upload\_dialog](images/4_2_02.png)
|
||||
|
||||
可以上载同一个设备的多个文件。
|
||||
|
||||
4. 上传所有文件后,单击“提交审查”按钮。
|
||||
|
||||
***注意:****提交文件供审查后,若要更改/删除文件,请联系 iotcert 团队。*
|
||||
|
||||
|
||||
<a name="Step-4-3-Next"></a>
|
||||
## <a name="43-next-steps"></a>4.3:后续步骤
|
||||
|
||||
与我们共享文档后,我们将在接下来的 48 到 72 个工作小时内与你取得联系,以提供后续步骤。
|
||||
|
||||
<a name="Step-5-Troubleshooting"></a>
|
||||
# <a name="step-5-troubleshooting"></a>步骤 5:疑难解答
|
||||
|
||||
如需故障排除的帮助,请通过 <iotcert@microsoft.com> 联系工程支持人员。
|
||||
|
||||
[setup-devbox-linux]: https://github.com/Azure/azure-iot-sdk-c/blob/master/doc/devbox_setup.md
|
||||
[setup-iothub]: ../setup_iothub.md
|
||||
[lnk-manage-iothub]: ../manage_iot_hub.md
|
До Ширина: | Высота: | Размер: 13 KiB |
До Ширина: | Высота: | Размер: 17 KiB |
До Ширина: | Высота: | Размер: 16 KiB |
До Ширина: | Высота: | Размер: 15 KiB |
|
@ -1,174 +0,0 @@
|
|||
<a name="how-to-certify-iot-devices-on-non-supported-platforms-with-azure-iot-sdk"></a>如何使用 Azure IoT SDK 认证不支持的平台上的 IoT 设备
|
||||
===
|
||||
---
|
||||
|
||||
# <a name="table-of-contents"></a>目录
|
||||
|
||||
- [简介](#Introduction)
|
||||
- [步骤 1:注册 Azure IoT 中心](#Step_1)
|
||||
- [步骤 2:注册设备](#Step_2)
|
||||
- [步骤 3:使用 C 客户端库生成并验证示例](#Step_3)
|
||||
- [3.1 将 C 库移植到其他平台](#Step_3_1)
|
||||
- [3.2 运行并验证示例](#Step_3_2)
|
||||
- [步骤 4:打包并共享](#Step_4)
|
||||
- [4.1:打包生成日志和示例测试结果](#Step_4_1)
|
||||
- [4.2 与 Azure IoT 认证团队共享](#Step_4_2)
|
||||
- [4.3:后续步骤](#Step_4_3)
|
||||
- [步骤 5:故障排除](#Step_5)
|
||||
|
||||
<a name="Introduction"></a>
|
||||
# <a name="introduction"></a>简介
|
||||
|
||||
**关于本文档**
|
||||
|
||||
本文档向 IoT 硬件发布人员提供有关如何使用 Azure IoT C SDK 认证已启用 IoT 的硬件的分步指南。 此过程由多个步骤组成,其中包括:
|
||||
- 配置 Azure IoT 中心
|
||||
- 注册 IoT 设备
|
||||
- 在设备上生成并部署 Azure IoT SDK
|
||||
- 打包并共享日志
|
||||
|
||||
**准备**
|
||||
|
||||
在执行以下任一步骤之前,请仔细阅读每个过程的每个步骤,确保全盘了解整个过程。
|
||||
|
||||
在开始过程前,应已准备好以下项目:
|
||||
|
||||
- 准备好一台装有 GitHub 并且可以访问 [azure-iot-sdk-c](https://github.com/Azure/azure-iot-sdk-c) GitHub 公共存储库的计算机。
|
||||
- 配置 SSH 客户端(如 [PuTTY](http://www.putty.org/)),以便能够访问命令行。
|
||||
- 需要认证的硬件。
|
||||
|
||||
<a name="Step_1"></a>
|
||||
# <a name="step-1-sign-up-to-azure-iot-hub"></a>步骤 1:注册 Azure IoT 中心
|
||||
|
||||
遵照[此处](https://account.windowsazure.com/signup?offer=ms-azr-0044p)的说明了解如何注册 Azure IoT 中心服务。
|
||||
|
||||
在注册过程中,将会收到连接字符串。
|
||||
|
||||
- **IoT 中心连接字符串**:下面显示了 IoT 中心连接字符串的示例:
|
||||
|
||||
HostName=[YourIoTHubName];SharedAccessKeyName=[YourAccessKeyName];SharedAccessKey=[YourAccessKey]
|
||||
|
||||
<a name="Step_2"></a>
|
||||
# <a name="step-2-register-device"></a>步骤 2:注册设备
|
||||
|
||||
在本部分,我们将使用 DeviceExplorer 注册设备。 DeviceExplorer 是与 Azure IoT 中心对接的 Windows 应用程序,可执行以下操作:
|
||||
|
||||
- 设备管理
|
||||
- 创建新设备
|
||||
- 列出现有设备,公开设备中心内存储的设备属性
|
||||
- 可更新设备密钥
|
||||
- 可删除设备
|
||||
- 监视设备的事件
|
||||
- 向设备发送消息
|
||||
|
||||
若要运行 DeviceExplorer 工具,请根据[步骤 1](#Step_1) 中所述使用以下配置字符串:
|
||||
|
||||
- IoT 中心连接字符串
|
||||
|
||||
|
||||
**步骤:**
|
||||
1. 单击[此处](<https://github.com/Azure/azure-iot-sdk-csharp/blob/master/tools/DeviceExplorer/doc/how_to_use_device_explorer.md>)下载并安装 DeviceExplorer。
|
||||
|
||||
2. 添加“配置”选项卡下面的连接信息,然后单击“更新”按钮。
|
||||
|
||||
3. 根据以下说明创建设备并将其注册到 IoT 中心。
|
||||
|
||||
a.在“解决方案资源管理器”中,右键单击项目文件夹下的“引用”文件夹,然后单击“添加引用”。 单击“管理”选项卡。
|
||||
|
||||
b.保留“数据库类型”设置,即设置为“共享”。 注册的设备将显示在列表中。 如果你的设备未显示在列表中,请单击“刷新”按钮。 如果这是第一次注册设备,请不要检索任何信息。
|
||||
|
||||
c. 单击“创建”按钮创建设备 ID 和密钥。
|
||||
|
||||
d.单击“下一步”。 成功创建设备后,该设备将列在 DeviceExplorer 中。
|
||||
|
||||
e.在“新建 MySQL 数据库”边栏选项卡中,接受法律条款,然后单击“确定”。 右键单击该设备,然后从上下文菜单中选择“复制所选设备的连接字符串”。
|
||||
|
||||
f. 在记事本中保存此信息。 后面的步骤需要用到此信息。
|
||||
|
||||
***不是在电脑上运行 Windows?*** - 请遵照[此处](<https://github.com/Azure/azure-iot-device-ecosystem/blob/master/manage_iot_hub.md>)的说明预配设备并获取其凭据。
|
||||
|
||||
<a name="Step_3"></a>
|
||||
# <a name="step-3-build-and-validate-the-sample-using-c-client-libraries"></a>步骤 3:使用 C 客户端库生成并验证示例
|
||||
|
||||
<a name="Step_3_1"></a>
|
||||
## <a name="31-port-the-c-libraries-to-other-platforms"></a>3.1 将 C 库移植到其他平台
|
||||
|
||||
以下文档提供有关如何将 C 物联网 (IoT) 客户端库移植到不现成支持的平台的指南。 该文档包含有关任何特定平台的具体信息。
|
||||
|
||||
<https://github.com/Azure/azure-c-shared-utility/blob/master/devdoc/porting_guide.md>
|
||||
|
||||
<a name="Step_3_2"></a>
|
||||
## <a name="32-run-and-validate-the-samples"></a>3.2 运行并验证示例
|
||||
|
||||
在本部分,我们将运行 Azure IoT 客户端 SDK 示例来验证设备与 Azure IoT 中心之间的通信。 我们要向 Azure IoT 中心服务发送消息,并验证 IoT 中心是否已成功接收数据。
|
||||
|
||||
***注意:****请对本部分中执行的所有操作进行屏幕截图。* 在[步骤 4](#Step_4_2) 中需要使用这些屏幕截图。
|
||||
|
||||
<a name="Step_3_2_1"></a>
|
||||
### <a name="321-send-device-events-to-iot-hub"></a>3.2.1 向 IoT 中心发送设备事件
|
||||
|
||||
1. 如[步骤 2](#Step_2) 中所述启动 DeviceExplorer,并导航到“数据”选项卡。 从设备 ID 下拉列表中选择创建的设备名称,并单击“监视”按钮。
|
||||
|
||||
![DeviceExplorer\_监视](images/3_2_1_01.png)
|
||||
|
||||
2. 现在,DeviceExplorer 正在监视从选定设备发送到 IoT 中心的数据。
|
||||
|
||||
3. 使用移植客户端库之后创建的、用于将设备事件发送到 IoT 中心的简单示例。
|
||||
|
||||
<a name="Step_3_2_2"></a>
|
||||
### <a name="322-receive-messages-from-iot-hub"></a>3.2.2 从 IoT 中心接收消息
|
||||
|
||||
1. 若要验证是否可从 IoT 中心向设备发送消息,请转到 DeviceExplorer 中的“发送到设备的消息”选项卡。
|
||||
|
||||
2. 使用设备 ID 下拉列表选择创建的设备。
|
||||
|
||||
3. 在“通知”字段中添加一些文本,然后单击“发送”。
|
||||
|
||||
![DeviceExplorer\_NotificationSend](images/3_2_2_01.png)
|
||||
|
||||
4. 使用移植客户端库之后创建的、用于从 IoT 中心接收通知消息的示例。 应会看到收到的命令。
|
||||
|
||||
<a name="Step_4"></a>
|
||||
# <a name="step-4-package-and-share"></a>步骤 4:打包并共享
|
||||
|
||||
<a name="Step_4_1"></a>
|
||||
## <a name="41-package-build-logs-and-sample-test-results"></a>4.1:打包生成日志和示例测试结果
|
||||
|
||||
从设备打包以下项目:
|
||||
|
||||
1. 来自平台的生成日志和测试结果。
|
||||
|
||||
2. “**向 IoT 中心发送设备事件**”部分中所示的所有屏幕截图。
|
||||
|
||||
3. “**从 IoT 中心接收消息**”部分中所示的所有屏幕截图。
|
||||
|
||||
4. 创建一个文档,说明如何在硬件上运行示例(具体强调客户所要执行的新步骤)。 有关说明形式的指导,请参考[此处](<https://github.com/neeraj-khanna/azure-iot-device-ecosystem/tree/master/get_started>) GitHub 存储库中发布的示例。
|
||||
|
||||
<a name="Step_4_2"></a>
|
||||
## <a name="42-share-with-the-azure-iot-certification-team"></a>4.2 与 Azure IoT 认证团队共享
|
||||
|
||||
1. 转到[合作伙伴仪表板](<https://catalog.azureiotsuite.com/devices>)。
|
||||
2. 单击设备右上角的“上载”图标。
|
||||
|
||||
![Share\_Results\_upload\_icon](images/4_2_01.png)
|
||||
|
||||
3. 此时将打开上载对话框。 单击“上载”按钮浏览文件。
|
||||
|
||||
![Share\_Results\_upload\_dialog](images/4_2_02.png)
|
||||
|
||||
可以上载同一个设备的多个文件。
|
||||
|
||||
4. 上传所有文件后,单击“提交审查”按钮。
|
||||
|
||||
***注意:****提交文件供审查后,若要更改/删除文件,请联系 iotcert 团队。*
|
||||
|
||||
|
||||
<a name="Step_4_3"></a>
|
||||
## <a name="43-next-steps"></a>4.3:后续步骤
|
||||
|
||||
与我们共享文档后,我们将在接下来的 48 到 72 个工作小时内与你取得联系,以提供后续步骤。
|
||||
|
||||
<a name="Step_5"></a>
|
||||
# <a name="step-5-troubleshooting"></a>步骤 5:疑难解答
|
||||
|
||||
如需故障排除的帮助,请通过 <iotcert@microsoft.com> 联系工程支持人员。
|
Двоичные данные
iotcertification/iot_certification_ti_cc3200_c/images/4_2_01.png
До Ширина: | Высота: | Размер: 16 KiB |
Двоичные данные
iotcertification/iot_certification_ti_cc3200_c/images/4_2_02.png
До Ширина: | Высота: | Размер: 15 KiB |
|
@ -1,270 +0,0 @@
|
|||
<a name="how-to-certify-ti-cc3200-device-with-azure-iot-sdk"></a>如何使用 Azure IoT SDK 认证 TI CC3200 设备
|
||||
===
|
||||
---
|
||||
|
||||
# <a name="table-of-contents"></a>目录
|
||||
|
||||
- [简介](#Introduction)
|
||||
- [步骤 1:注册 Azure IoT 中心](#Step_1)
|
||||
- [步骤 2:注册设备](#Step_2)
|
||||
- [步骤 3:使用 C 客户端库生成并验证示例](#Step_3)
|
||||
- [3.1 安装必备组件](#Step_3_1)
|
||||
- [3.2 生成 Azure IoT SDK](#Step_3_2)
|
||||
- [3.3:运行并验证示例](#Step_3_3)
|
||||
- [步骤 4:打包并共享](#Step_4)
|
||||
- [4.1:打包生成日志和示例测试结果](#Step_4_1)
|
||||
- [4.2 与 Azure IoT 认证团队共享](#Step_4_2)
|
||||
- [4.3:后续步骤](#Step_4_3)
|
||||
- [步骤 5:故障排除](#Step_5)
|
||||
|
||||
<a name="Introduction"></a>
|
||||
# <a name="introduction"></a>简介
|
||||
|
||||
**关于本文档**
|
||||
|
||||
本文档向 IoT 硬件发布人员提供有关如何使用 Azure IoT C SDK 认证已启用 IoT 的硬件的分步指南。 此过程由多个步骤组成,其中包括:
|
||||
- 配置 Azure IoT 中心
|
||||
- 注册 IoT 设备
|
||||
- 在设备上生成并部署 Azure IoT SDK
|
||||
- 打包并共享日志
|
||||
|
||||
**准备**
|
||||
|
||||
在执行以下任一步骤之前,请仔细阅读每个过程的每个步骤,确保全盘了解整个过程。
|
||||
|
||||
在开始过程前,应已准备好以下项目:
|
||||
|
||||
- 准备好一台装有 GitHub 并且可以访问 [azure-iot-sdk-c](https://github.com/Azure/azure-iot-sdk-c) GitHub 公共存储库的计算机。
|
||||
- 配置 SSH 客户端(如 [PuTTY](http://www.putty.org/)),以便能够访问命令行。
|
||||
- 所需的硬件:[CC3200 Launchpad](http://www.ti.com/tool/cc3200-launchxl)。
|
||||
|
||||
<a name="Step_1"></a>
|
||||
# <a name="step-1-sign-up-to-azure-iot-hub"></a>步骤 1:注册 Azure IoT 中心
|
||||
|
||||
遵照[此处](https://account.windowsazure.com/signup?offer=ms-azr-0044p)的说明了解如何注册 Azure IoT 中心服务。
|
||||
|
||||
在注册过程中,将会收到连接字符串。
|
||||
|
||||
- **IoT 中心连接字符串**:下面显示了 IoT 中心连接字符串的示例:
|
||||
|
||||
HostName=[YourIoTHubName];SharedAccessKeyName=[YourAccessKeyName];SharedAccessKey=[YourAccessKey]
|
||||
|
||||
<a name="Step_2"></a>
|
||||
# <a name="step-2-register-device"></a>步骤 2:注册设备
|
||||
|
||||
在本部分,我们将使用 DeviceExplorer 注册设备。 DeviceExplorer 是与 Azure IoT 中心对接的 Windows 应用程序,可执行以下操作:
|
||||
|
||||
- 设备管理
|
||||
- 创建新设备
|
||||
- 列出现有设备,公开设备中心内存储的设备属性
|
||||
- 可更新设备密钥
|
||||
- 可删除设备
|
||||
- 监视设备的事件
|
||||
- 向设备发送消息
|
||||
|
||||
若要运行 DeviceExplorer 工具,请根据[步骤 1](#Step_1) 中所述使用以下配置字符串:
|
||||
|
||||
- IoT 中心连接字符串
|
||||
|
||||
|
||||
**步骤:**
|
||||
1. 单击[此处](<https://github.com/Azure/azure-iot-sdk-csharp/blob/master/tools/DeviceExplorer/doc/how_to_use_device_explorer.md>)下载并安装 DeviceExplorer。
|
||||
|
||||
2. 添加“配置”选项卡下面的连接信息,然后单击“更新”按钮。
|
||||
|
||||
3. 根据以下说明创建设备并将其注册到 IoT 中心。
|
||||
|
||||
a.在“解决方案资源管理器”中,右键单击项目文件夹下的“引用”文件夹,然后单击“添加引用”。 单击“管理”选项卡。
|
||||
|
||||
b.保留“数据库类型”设置,即设置为“共享”。 注册的设备将显示在列表中。 如果你的设备未显示在列表中,请单击“刷新”按钮。 如果这是第一次注册设备,请不要检索任何信息。
|
||||
|
||||
c. 单击“创建”按钮创建设备 ID 和密钥。
|
||||
|
||||
d.单击“下一步”。 成功创建设备后,该设备将列在 DeviceExplorer 中。
|
||||
|
||||
e.在“新建 MySQL 数据库”边栏选项卡中,接受法律条款,然后单击“确定”。 右键单击该设备,然后从上下文菜单中选择“复制所选设备的连接字符串”。
|
||||
|
||||
f. 在记事本中保存此信息。 后面的步骤需要用到此信息。
|
||||
|
||||
***不是在电脑上运行 Windows?*** - 请遵照[此处](<https://github.com/Azure/azure-iot-device-ecosystem/blob/master/manage_iot_hub.md>)的说明预配设备并获取其凭据。
|
||||
|
||||
<a name="Step_3"></a>
|
||||
# <a name="step-3-build-and-validate-the-sample-using-c-client-libraries"></a>步骤 3:使用 C 客户端库生成并验证示例
|
||||
|
||||
<a name="Step_3_1"></a>
|
||||
## <a name="31-install-prerequisites"></a>3.1 安装必备组件
|
||||
|
||||
尽管不一定非要这样做,但我们建议在同一个目录中安装 TI 提供的以下工具,并使用不包含任何空白字符的目录名称。
|
||||
|
||||
***注意:****本文档假设在 `C:\ti` 中安装所有组件。*
|
||||
|
||||
- 安装适用于 SimpleLink CC3200 的 [Uniflash Tool](http://www.ti.com/tool/Uniflash) 3.2 或更高版本
|
||||
|
||||
- 安装 [CC3200 SDK 1.1.0](http://www.ti.com/tool/cc3200sdk)
|
||||
|
||||
- 安装 [TI-RTOS SDK for SimpleLink](http://downloads.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/tirtos/index.html) 2.14.01.20 或更高版本
|
||||
|
||||
- 安装 [NS 包](http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/ns/ns_1_10_00_00_eng.zip)。 请注意,NS 包为预发行版。 其内容和下载位置随时可能更改。
|
||||
|
||||
- 安装 [TI ARM Compiler](http://software-dl.ti.com/ccs/esd/test/ti_cgt_tms470_5.2.5_windows_installer.exe) 5.2.2 或更高版本。
|
||||
|
||||
<a name="Step_3_2"></a>
|
||||
## <a name="32-build-azure-iot-sdk"></a>3.2 生成 Azure IoT SDK
|
||||
|
||||
1. 编辑文件 `products.mak` (*azure-iot-sdk-c\build_all\tirtos*)。
|
||||
更新以下变量的值:
|
||||
|
||||
`XDCTOOLS_INSTALLATION_DIR`:Uniflash Tool 的安装位置。
|
||||
`TIRTOS_INSTALLATION_DIR`:TI-RTOS SDK 的安装位置。
|
||||
`CC3200SDK_INSTALLATION_DIR`:CC3200 SDK 的安装位置。
|
||||
`NS_INSTALLATION_DIR`:NS 包的安装位置。
|
||||
`ti.targets.arm.elf.M4`:TI ARM Compiler 的安装位置。
|
||||
|
||||
2. 打开 Windows 命令提示符。
|
||||
|
||||
3. 在 Windows 命令提示符中运行以下命令(请务必将路径替换为安装路径)。
|
||||
|
||||
```
|
||||
cd <AZURE_INSTALL_DIR>\azure-iot-sdk-c\build_all\tirtos
|
||||
C:\ti\xdctools_3_31_01_33_core\gmake.exe clean
|
||||
C:\ti\xdctools_3_31_01_33_core\gmake.exe all
|
||||
```
|
||||
|
||||
<a name="Step_3_3"></a>
|
||||
## <a name="33-run-and-validate-the-samples"></a>3.3 运行并验证示例
|
||||
|
||||
在本部分,我们将运行 Azure IoT 客户端 SDK 示例来验证设备与 Azure IoT 中心之间的通信。 我们要向 Azure IoT 中心服务发送消息,并验证 IoT 中心是否已成功接收数据。
|
||||
|
||||
***注意:****请对本部分中执行的所有操作进行屏幕截图。* 在[步骤 4](#Step_4_2) 中需要使用这些屏幕截图。
|
||||
|
||||
<a name="Step_3_2_1"></a>
|
||||
### <a name="331-build-the-sample-simplesample_http-application"></a>3.3.1 生成示例 simplesample_http 应用程序
|
||||
|
||||
1. 打开 `azure-iot-sdk-c\serializer\samples\simplesample_http` 目录中的 `simplesample_http.c` 文件。
|
||||
|
||||
2. 找到 IoT 连接字符串的以下占位符:
|
||||
|
||||
static const char* connectionString = "[device connection string]";
|
||||
|
||||
3. 将上述占位符替换为设备连接字符串。 可根据“步骤 2”中所述,从 DeviceExplorer 获取这个已复制到记事本的连接字符串。
|
||||
|
||||
4. 打开 `azure-iot-sdk-c/serializer/samples/simplesample_http/tirtos/cc3200` 目录中的 `main.c` 文件。
|
||||
|
||||
5. 找到以下日期时间注释:
|
||||
|
||||
/* USER STEP: update to current date-time */
|
||||
|
||||
6. 更新当前日期时间值注释下面的当前日期时间宏。
|
||||
|
||||
```
|
||||
#define DAY 15
|
||||
#define MONTH 9
|
||||
#define YEAR 2015
|
||||
#define HOUR 6
|
||||
#define MINUTE 21
|
||||
#define SECOND 0
|
||||
```
|
||||
|
||||
7. 打开 `azure-iot-sdk-c/serializer/samples/simplesample_http/tirtos/cc3200` 目录中的 `wificonfig.h` 文件。
|
||||
|
||||
8. 找到以下 USER STEP 注释:
|
||||
|
||||
/* USER STEP: Update these macros */
|
||||
|
||||
9. 更新注释下面的 wifi 设置宏。
|
||||
|
||||
#define SSID ""
|
||||
#define SECURITY_KEY ""
|
||||
|
||||
10. 将[适用于 Windows 的 elf2cc32 可执行文件](https://github.com/tisb-vikram/azure-iot-sdks/blob/7da24633b2c4af3bc779998e9950146f061a8a10/c/serializer/samples/simplesample_http/tirtos/cc3200/tools/elf2cc32.exe?raw=true)或[适用于 Linux 的 elf2cc32 可执行文件](https://github.com/tisb-vikram/azure-iot-sdks/blob/7da24633b2c4af3bc779998e9950146f061a8a10/c/serializer/samples/simplesample_http/tirtos/cc3200/tools/elf2cc32?raw=true)下载到文件夹 `azure-iot-sdk-c\serializer\samples\simplesample_http\tirtos\cc3200\tools`。 需要使用此工具将 **simplesample_http.out** 转换为 **simplesample_http.bin** 文件。
|
||||
|
||||
11. 执行以下命令生成示例:
|
||||
|
||||
```
|
||||
cd <AZURE_INSTALL_DIR>\azure-iot-sdk-c\serializer\samples\simplesample_http\tirtos\cc3200
|
||||
C:\ti\xdctools_3_31_01_33_core\gmake.exe clean
|
||||
C:\ti\xdctools_3_31_01_33_core\gmake.exe all
|
||||
```
|
||||
|
||||
<a name="Step_3_3_2"></a>
|
||||
### <a name="flash-the-sample-simplesample_http-and-the-root-certificate"></a>刷写示例 simplesample_http 和根证书
|
||||
|
||||
将`simplesample_http.bin` 文件刷写到 CC3200 Launchpad。
|
||||
|
||||
> 注意:必须将根 CA 证书“Baltimore CyberTrust Root”刷写到 CC3200 Launchpad 上的 `/cert/ms.der` 位置。 此位置将在 `tirtos/cc3200/main.c` 中引用,并由 SimpleLink TLS 堆栈使用。
|
||||
|
||||
可在 [CC3200 UniFlash wiki](http://processors.wiki.ti.com/index.php/CC31xx_%26_CC32xx_UniFlash) 中找到有关刷写工具的详细信息。 [GUI 界面](http://processors.wiki.ti.com/index.php/CC31xx_%26_CC32xx_UniFlash#GUI_Interface)部分逐步讲解了 UniFlash 工具的用法步骤。
|
||||
|
||||
将应用程序(.bin 文件)刷写到“系统文件”下面的 `/sys/mcuimg.bin`。 对于证书,请在路径 `/cert/ms.der` 中[添加一个新文件](http://processors.wiki.ti.com/index.php/CC31xx_%26_CC32xx_UniFlash#Adding_a_new_file_to_the_device),并提供“Baltimore CyberTrust Root”证书(.der 格式)的路径。 ms.der 文件的路径为 <AZURE 安装目录>\azure-iot-sdk-c\certs\ms.der。
|
||||
|
||||
<a name="Step_3_3_3"></a>
|
||||
### <a name="running-the-sample-simplesample_http"></a>运行示例 simplesample_http
|
||||
1. 刷写示例后,请使用以下设置打开与相应 COM 端口建立的串行会话:
|
||||
|
||||
```
|
||||
Baudrate: 9600
|
||||
Data bits: 8
|
||||
Stop bits: 1
|
||||
Parity: None
|
||||
Flow Control: None
|
||||
```
|
||||
|
||||
2. 在 CC3200 Launchpad 上按重置按钮运行应用程序。 应用程序将列显如下所示的消息:
|
||||
|
||||
```
|
||||
Starting the simplesample_http example
|
||||
CC3200 has connected to AP and acquired an IP address.
|
||||
IP Address: XXX.XXX.XX.XXX
|
||||
IoTHubClient accepted the message for delivery
|
||||
Message Id: 1 Received.
|
||||
Result Call Back Called! Result is: IOTHUB_CLIENT_CONFIRMATION_OK
|
||||
```
|
||||
|
||||
3. 可以使用 DeviceExplorer 监视应用程序发送的数据。 在运行应用程序之前,应在 DeviceExplorer 中的“数据”选项卡下面选择“监视”选项。 随后在运行应用程序时,“事件中心数据”窗口中会显示如下所示的消息。
|
||||
|
||||
```
|
||||
9/17/2015 7:28:28 PM> Data:[{"Temperature":67, "Humidity":42}]
|
||||
```
|
||||
|
||||
<a name="Step_4"></a>
|
||||
# <a name="step-4-package-and-share"></a>步骤 4:打包并共享
|
||||
|
||||
<a name="Step_4_1"></a>
|
||||
## <a name="41-package-build-logs-and-sample-test-results"></a>4.1:打包生成日志和示例测试结果
|
||||
|
||||
从设备打包以下项目:
|
||||
|
||||
1. 来自平台的生成日志和测试结果。
|
||||
|
||||
2. “**运行示例 simplesample_http**”部分中所示的所有屏幕截图。
|
||||
|
||||
3. 创建一个文档,说明如何在硬件上运行示例(具体强调客户所要执行的新步骤)。 有关说明形式的指导,请参考[此处](<https://github.com/Azure/azure-iot-device-ecosystem/tree/master/get_started>) GitHub 存储库中发布的示例。
|
||||
|
||||
<a name="Step_4_2"></a>
|
||||
## <a name="42-share-with-the-azure-iot-certification-team"></a>4.2 与 Azure IoT 认证团队共享
|
||||
|
||||
1. 转到[合作伙伴仪表板](<https://catalog.azureiotsuite.com/devices>)。
|
||||
2. 单击设备右上角的“上载”图标。
|
||||
|
||||
![Share\_Results\_upload\_icon](images/4_2_01.png)
|
||||
|
||||
3. 此时将打开上载对话框。 单击“上载”按钮浏览文件。
|
||||
|
||||
![Share\_Results\_upload\_dialog](images/4_2_02.png)
|
||||
|
||||
可以上载同一个设备的多个文件。
|
||||
|
||||
4. 上传所有文件后,单击“提交审查”按钮。
|
||||
|
||||
***注意:****提交文件供审查后,若要更改/删除文件,请联系 iotcert 团队。*
|
||||
|
||||
|
||||
<a name="Step_4_3"></a>
|
||||
## <a name="43-next-steps"></a>4.3:后续步骤
|
||||
|
||||
与我们共享文档后,我们将在接下来的 48 到 72 个工作小时内与你取得联系,以提供后续步骤。
|
||||
|
||||
<a name="Step_5"></a>
|
||||
# <a name="step-5-troubleshooting"></a>步骤 5:疑难解答
|
||||
|
||||
如需故障排除的帮助,请通过 <iotcert@microsoft.com> 联系工程支持人员。
|
До Ширина: | Высота: | Размер: 18 KiB |
До Ширина: | Высота: | Размер: 16 KiB |
До Ширина: | Высота: | Размер: 15 KiB |
До Ширина: | Высота: | Размер: 20 KiB |