安装 Azure IoT Edge 运行时

openlab_4276841a 更新于 1月前

这是一个共有 4 部分的系列的第 1 部分,该系列向您展示如何使用 Microsoft* Azure* IoT Edge 管理 Terasic DE10-Nano,以及如何使用基于容器的虚拟化从Microsoft* Azure* Cloud 重新编程板载 FPGA。

关于本教程

本教程介绍了用于将 Terasic DE10-Nano 上的英特尔® Cyclone® V SoC 连接至 Microsoft* Azure* IoT Edge 的基本硬件和软件,以管理 DE10-Nano 以及云中其他 IoT 设备。

目标

在本教程中,您将学会如何:

· 准备 DE10-Nano 以在 Azure IoT Edge 中使用
· 在 DE10-Nano 上安装 Azure IoT Edge 运行时
· 部署模拟温度传感器以测试 Azure IoT Edge
· 验证容器是否可以在 DE10-Nano 和云中正常工作

前提条件

在本教程中,您将需要以下内容:

· Microsoft Azure 账户
· Linux* 操作系统(推荐 Ubuntu 16.04)的开发电脑
· 开发电脑必须在 64 位架构上运行,并包含 50 GB 的可用空间(10 GB 用于模块,40 GB 的额外可用空间用于英特尔® Quartus® 软件安****r>· 开发电脑上的串行控制台应用程序,例如:minicom、screen 或 PuTTY。
· DE10-Nano 开发套件(您可以从当地的英特尔® 分销商或直接从 Terasic 购买该套件)
· 如果您的系统没有 microSD 卡插槽或 SD 卡读取器,请使用 microSD 到 SD 存储卡适配器和 SD 卡读取器。 注意:该套件随附一张 4 GB microSD 卡。为了获得更好的性能,您可以购买至少 8 GB 的卡。
· 以太网电缆
这很有帮助,但不需要具备以下方面的经验:

· DE10-Nano 用户手册
· DE10-Nano 入门指南
· Linux*
· 容器技术,例如:Docker*

可选

用于启用 GUI 的硬件附件

· HDMI 电缆和兼容显示器
· USB 适配器(用于 A 型到 Micro-B 型 USB 电缆)
· USB 集线器
· USB 键盘
· USB 鼠标

步骤 1:准备 DE10-Nano

在此步骤中,您将准备 DE10-Nano 来进行容器虚拟化,以便在云服务(例如:Microsoft Azure)上维护 DE10-Nano 应用程序。

从 Terasic 下载映像

来自 Terasic 的可引导映像包含带有轻量级 X11 桌面环境(或 LXDE)的 Ubuntu 16.04。您可以使用 Linux GUI、串行控制台或 ssh。

1.在您的开发电脑上,下载Terasic SD 卡映像
2.提取下载的映像:

cd ~/Download***r>unzip DE10-Nano-Cloud-Native.zip

将映像写入 microSD 卡
如果您的开发电脑没有 SD 卡插槽,请使用 microSD 到 SD 存储卡适配器和 SD 卡读取器完成此步骤。

1.将 microSD 插入开发电脑,并使用 l**lk 或 fdisk -l 识别其设备路径。

输入:

l**lk

输出:

NAME              MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
...
<Your Device Path> 8:0 1 <card size>G 0 disk
...

2.使用 dd 命令将映像写入 microSD 卡。

注意:小心选择正确的路径。如果选择其他设备路径,则可能会导致您的开发电脑崩溃。使用 status=progress 检查 dd 命令的进度。

sudo dd if=DE10-Nano-Cloud-Native.img of=/dev/<your device path> status=progress

3.有关 dd 命令的详细信息,请查阅 Linux 手册(建议)。

man dd

手册摘录:

dd - convert and copy a file

if=FILE
read from FILE instead of stdin

of=FILE
write to FILE instead of stdout

status=LEVEL
The LEVEL of information to print to stderr;
'none' suppresses everything but error message****r> 'noxfer' suppresses the final transfer statistic****r> 'progress' shows periodic transfer statistics

设置 MSEL 开关

DE10-Nano 上的 MSEL 开关用于配置主板。在此步骤中,您将设置 MSEL 开关以运行 Linux。

根据 DE10-Nano 入门指南的第 2.2 节(MSEL 设置),将 MSEL[4:0] 设置为“01010”。

步骤 2:开机并登录

您可以通过三种方式操作 DE10-Nano:

1.串行控制台
2.SSH
3.GUI

串行控制台

1.在开发电脑上安装串行控制台应用程序,例如:screen、PuTTY 或 minicom。本示例使用 PuTTY。

sudo apt install -y putty

2.在打开 DE10-Nano 的电源之前,请连接以下组件:

· 从 DE10-Nano 连接到调制解调器或路由器的以太网电缆
· 从 DE10-Nano 到插座的电源
· 从 DE10-Nano(UART-TO-USB 端口)到开发电脑的 USB 电缆(Mini-B 到 Type-A)


3.使用 dmesg 识别 USB 设备路径。

输入:

dmesg | tail

输出:

[12782.413742] u** 1-2.4: Detected FT232RL
[12782.414335] u** 1-2.4: FTDI USB Serial Device converter now attached to ttyUSB0

在此示例中,返回的路径是 ttyUSB0。

注意:如果找不到任何消息,请安装 FT2XXRL 设备驱动程序 FTDI 芯片 D2XX 驱动程序安****r>
4.打开 PuTTY 并建立串行连接。

sudo putty

5.将速度设置为 115200,并使用 USB 设备路径作为串行线。


6.单击打开,然后按回车键以登录。


默认登录凭据:

· 用户名:root

· 密码:de10nano

SSH

1.在打开 DE10-Nano 的电源之前,请连接以下组件:
· 从 DE10-Nano 连接到调制解调器或路由器的以太网电缆
· 从 DE10-Nano 到插座的电源
2.启动 DE10-Nano,然后等待大约 30 秒钟。如果 DHCP 有效,则 DE10-Nano 将在引导过程中从您的**接收 IP 地址。您可以使用此 IP 地址通过 ssh 进行登录。

3.使用 ip addr 或 ifconfig 确认您的网络地址。

输入:

ip addr

输出:

...
2: eth0:
link/ether 94:c6:91:a0:76:17 brd ff:ff:ff:ff:ff:ff
inet 192.168.3.28/24 brd 192.168.3.255 scope global dynamic eno1
...

在上面的示例中,主机的 IP 地址为 192.168.3.28/24。DE10-Nano 应该具有相同的网络地址。

4.使用 ping 命令搜索在同一网络上使用的地址。

输入:

echo 192.168.3.{1..254} | xargs -P255 -n1 ping -s1 -c1 -W1 | grep ttl

输出:

9 bytes from 192.168.3.1: icmp_seq=1 ttl=64
9 bytes from 192.168.3.28: icmp_seq=1 ttl=64
9 bytes from 192.168.3.98: icmp_seq=1 ttl=64

在此示例中,**路由器使用 192.168.3.1,而 DE10-Nano 使用 192.168.3.98。

注意:如果在同一网络上找到多个地址,请使用 ip addr 查找 DE10-Nano 网络地址。

5.使用以下凭据登录至控制台:

ssh root@192.168.3.98

默认登录凭据:

· 用户名:root
· 密码:de10nano

设置静态 IP 地址(可选)

由于每次 DE10-Nano 重启时,DHCP 服务器都会设置另一个 IP 地址,因此某些用户可能希望设置一个静态 IP 地址。

1.使用 ip addr 或 ifconfig 确认您的网络地址。

2.要建立新的网络连接,请在 DE10-Nano 上打开一个控制台,然后键入以下内容:

输入:

IPADDR=192.168.3.200/24
GATEWAY=192.168.3.1
DNS=8.8.8.8,8.8.4.4

3.根据您的网络环境设置 IPADDR 和 GATEWAY 字段。

在此示例中,**路由器使用 192.168.3.1。因此,网络地址是 192.168.3.X/24。提供静态 IP 192.168.3.200 至 DE10-Nano。IP 地址后使用 /24 来识别子网掩码。

4.提供连接名称。

输入:

NAME=MyEthConnection

本示例使用“MyEthConnection”。

5.使用 nmcli 创建新的网络连接。

由于 DE10-Nano 上的 Ubuntu 16.04 使用 NetworkManager,因此可以使用 nmcli 或 nmtui。

输入:

nmcli connection add type ethernet autoconnect yes ifname eth0 con-name $NAME -- ipv4.method manual ipv4.address $IPADDR ipv4.dns $DNS ipv4.gateway $GATEWAY ipv6.method ignore connection.autoconnect-priority 1

输出:

Connection 'MyEthConnection' (d2bd3682-0b3d-4b27-88bc-6c52a4536d03) successfully added.

6.重新启动 DE10-Nano 并检查 IP 地址。如果看到设置的 IP 地址,则可以使用该 IP 地址进行 SSH。

7.使用该 IP 地址从电脑连接至 DE10-Nano。

ssh root@192.168.3.200

要删除连接,请使用以下命令:

nmcli connection delete MyEthConnection

8.设置 SSH 密钥可以轻松登录到 DE10-Nano(可选)。

在开发电脑(主机)上打开一个终端,然后将公共密钥输入 DE10-Nano。

ssh-copy-id root@192.168.3.200

设置 ssh 配置文件。

vim ~/.ssh/config

放在下面。

Host de10nano
HostName 192.168.100.200
User root

这样您可以仅使用以下关键字便可登录。

ssh de10nano

GUI

要使用 GUI,请将以下硬件连接至 DE10-Nano。有关硬件设置,请参见下图。确保将 DE10-Nano 的电源连接至插座。

· HDMI 电缆和兼容显示器
· USB 适配器(用于 A 型到 Micro-B 型 USB 电缆)
· USB 集线器
· USB 键盘
· USB 鼠标

GUI 配件


步骤 3:安装 Azure IoT Edge

对于此步骤,DE10-Nano 需要访问互联网。确保 DE10-Nano 通过以太网电缆连接到调制解调器或路由器。

若要使用 Azure IoT Edge 通过容器虚拟化管理 IoT 设备,您将需要在每台设备上安装 Azure IoT Edge。

注意:如果需要更多信息,请参阅在基于 Debian 的 Linux 系统上安装 Azure IoT Edge 运行时,以了解 Microsoft 关于如何在 Linux 设备上安装 Azure IoT Edge 运行时的教程。

设置 apt 软件包设置

1.登录到 DE10-Nano 并打开一个终端。

2.创建下载目录。

mkdir -p ~/Downloads && cd ~/Downloads

3.从 Microsoft 下载存储库配置文件。

curl https://package***icrosoft.com/config/debian/stretch/multiarch/prod.list > ./microsoft-prod.list

4.将文件移动到 apt 可以访问的位置。

mv ./microsoft-prod.list /etc/apt/sources.list.d/

5.安装 Microsoft 的 GPG 公钥

curl https://package***icrosoft.com/key***icrosoft.asc | gpg --dearmor > microsoft.gpg
mv ./microsoft.gpg /etc/apt/trusted.gpg.d/

安装 Moby Engine(容器运行时)

1.安装 Azure IoT Edge 正式支持的 Moby Engine。

apt update
apt install -y moby-engine

2.安装 Moby 命令行界面。

apt install -y moby-cli

安装 Azure IoT Edge 运行时

注意:由于 DE10-Nano 的操作系统使用 Ubuntu 16.04,因此需要安装固定版本的 Azure IoT Edge 运行时。

1.更新 DE10-Nano 上的软件包列表,然后安装 Azure IoT Edge。

apt update
apt install -y libioth**-std=1.0.8-2 iotedge=1.0.8-2

步骤 4:在 Azure 门户上创建 IoT 中心实例

您必须将 DE10-Nano 注册到 Azure 云才能使 IoT Edge 运行时正常工作。

1.注册 Azure 门户。

2.登录至您的 Azure 门户。

3.创建一个新的资源组(推荐)。在 Microsoft Azure 主页中,导航到 Azure 服务 > 资源组,然后单击添加。


4.设置项目详细信息(订阅,资源组名称,区域)。本示例使用 de10-nano 作为资源组名称。


注意:完成本系列教程之后,可以删除资源组以免产生意外费用。有关成本的详细信息,请参阅 Azure 计费文档

5.在主页上,导航至搜索栏,键入“iothub”,然后选择 IoT 中心。

azure-iot-hub-search

6.单击添加以创建 IoT 中心实例。

azure-iot-hub-creation

7.设置项目详细信息。例如,订阅(免费试用),资源组 (de10-nano),区域(美国西部 2)和 IoT 中心名称 (de10-nano-iot-hub)。

azure-iot-hub-generate-instance

8.单击下一步:网络,然后选择一种连接方法或保留默认设置。

9.单击下一步:大小和比例,选择定价和比例层,然后单击审核+创建。

azure-iot-hub-choose-tier

注意:单位的层和数量确定每天可以从设备发送到 Azure 云的消息数量。F1:免费层每天至多发送 8000 条消息。

10.查看 IoT 中心的详细信息,然后单击创建。IoT 中心的部署可能需要几分钟。

azure-iot-hub-instantiate

11.当您看到一条消息显示您的部署已完成,请单击转到资源 (Go to resource)。

azure-iot-hub-go-to-resource

将 DE10-Nano 注册为 IoT Edge 设备

在此步骤中,您将 DE10-Nano 注册为 IoT Edge 设备。

1.导航至自动设备管理或 IoT Edge,然后单击 IoT Edge,如下所示。

azure-iot-hub-register-iot-edge

2.单击添加为 IoT Edge 设备。

azure-iot-hub-add-iot-edge-device

3.在设备 ID 下,设置设备的名称(例如:de10-nano-device)。单击 Save(保存)。

azure-iot-hub-create-a-device

4.选择您的设备,然后双击。

azure-iot-hub-see-device-information

5.**主连接字符串。您也可以选择**辅助连接字符串。Azure 云可以使用连接字符串确认 DE10-Nano 是有效设备。

以下是连接字符串的示例,连接字符串因设备而异。

HostName=de10nano-iothub.azure-devices.net;DeviceId=de10-nano-iotedge;SharedAccessKey=rPiy9a15CM4WQ54EAwXq6/XQ07diE0zUi0NXTCBmuic=

azure-iot-hub-copy-connection-string

步骤 5:更新 IoT Edge 守护程序配置文件

在运行 IoT Edge 运行时之前,必须将连接字符串**到 DE10-Nano 上的 IoT Edge 配置文件中。如果在未设置连接字符串的情况下执行了 DE10-Nano 上的 IoT Edge 运行时,则该应用程序将不会启动。

1.使用 SSH、串行控制台或 GUI 在 DE10-Nano 上打开终端。

2.使用编辑器打开 /etc/iotedge/config.yaml。

vim /etc/iotedge/config.yaml

3.将 <ADD DEVICE CONNECTION STRING HERE> 替换为您**的连接字符串。

您可以在正常模式下插队键入 /device_connection。

Before:
...
# Manual provisioning configuration
provisioning:
source: "manual"
device_connection_string: "<ADD DEVICE CONNECTION STRING HERE>"
...

After:
...
# Manual provisioning configuration
provisioning:
source: "manual"
device_connection_string: "HostName=...;DeviceId=...;SharedAccessKey=..."
...

使用 :wq! 保存您的更改。

4.启用您的 iotedge 守护程序。

systemctl enable iotedge

5.重新启动 iotedge。

systemctl restart iotedge

6.检查 iotedge 的状态。活跃: 状态应显示为活跃(运行中)。

输入:

systemctl status iotedge

输出:

● iotedge.service - Azure IoT Edge daemon
Loaded: loaded (/lib/systemd/system/iotedge.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-02-14 05:42:46 UTC; 1min 51s ago
Docs: man:iotedged(8)
Main PID: 4148 (iotedged)
Tasks: 9
Memory: 2.4M
CPU: 1min 9.765***r>CGroup: /system.slice/iotedge.service
└─4148 /usr/bin/iotedged -c /etc/iotedge/config.yaml

如果 iotedge 无**常运行,请参阅 Azure IoT Edge 故障排除页面

步骤 6:设置 DNS 和日志策略

在容器运行时上设置 DNS
1.检查 IoT Edge 运行时运行状况。

输入:

iotedge check

输出:

Configuration check***r> --------------------
...
‼ DNS server - Warning
Container engine is not configured with DNS server setting, which may impact connectivity to IoT Hub.
Please see https://aka.ms/iotedge-prod-checklist-dns for best practice****r> You can ignore this warning if you are setting DNS server per module in the Edge deployment.
‼ production readiness: certificates - Warning
Device is using self-signed, automatically generated cert****r> Please see https://aka.ms/iotedge-prod-checklist-certs for best practice****r> ...
‼ production readiness: logs policy - Warning
Container engine is not configured to rotate module logs which may cause it run out of disk space.
Please see https://aka.ms/iotedge-prod-checklist-logs for best practice****r> You can ignore this warning if you are setting log policy per module in the Edge deployment.
× Edge Hub can bind to ports on host - Error
Could not check current state of Edge Hub container
...
19 check(s) succeeded.
3 check(s) raised warnings. Re-run with --verbose for more detail****r> 1 check(s) raised errors. Re-run with --verbose for more detail****r> ...

在此示例中,IoT Edge 出现了一些警告和一个错误。

如果 DHCP 服务器未分配 DNS 地址,则需要分配 DNS 地址。如果您未收到 DNS 警告,则无需采取任何措施。
在本教程中,您可以忽略以下内容:
· 证书警告
· 日志策略警告。您可以根据需要进行设置。
· Edge 中心错误。
注意:如果从未在 IoT Edge 设备上进行部署,则会发生 Edge 中心错误。如果从 Azure 云部署容器,则会自动生成 Edge 中心容器,并且该错误将消失。这是一个已知问题,请参阅 Microsoft GitHub Issue No.36941

2.创建新文件夹。

mkdir /etc/docker

3.打开 daemon.json。

vim /etc/docker/daemon.json

4.将下面的代码**并粘贴到 daemon.json 文件中。使用 :wq! 保存您的更改。

{
"dns": ["8.8.8.8", "8.8.4.4"]
}

8.8.8.8 和 8.8.4.4 是 Google 提供的公共 DNS 地址。在本教程中,它们用作 DNS 服务器。

设置日志策略

1.将日志设置放在 DNS 设置之后。

vim /etc/docker/daemon.json
{
"dns": ["8.8.8.8", "8.8.4.4"],
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}

注意:请确保完全**上述语法,因为语法不正确会断开设备的连接。

2.重新启动容器运行时。

systemctl restart docker

在此步骤中,将安装容器运行时和 Azure IoT Edge。另外,在 Azure 云上注册 DE10-Nano,这样您可以将应用程序从 Azure 云部署到 DE10-Nano。

3.再次检查 Azure* IoT Edge 运行时。

输入:

iotedge check

输出:

21 check(s) succeeded.
1 check(s) raised warnings. Re-run with --verbose for more detail****r>1 check(s) raised errors. Re-run with --verbose for more details.

DNS 警告和日志策略警告已消失。您可以继续忽略 Edge 中心错误。

步骤 7:扩大 microSD 卡的存储空间~/resize2fs_once


容器通常会占用 microSD 卡存储空间。 建议扩展 microSD 卡分区。此步骤中的脚本会将您的卡分区扩展到 microSD 卡的最大存储容量。

5.在 DE10-Nano 上执行以下 shell 脚本以扩展存储大小。

~/expand_rootfs.sh

6.重新启动 DE10-Nano

reboot

7.重新启动后,请执行以下 shell 脚本。

~/resize2fs_once

8.检查分区大小。

输入:

df -Th

输出:

Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/root ext3 15G 2.0G 12G 15% /

在此示例中,在 16 GB microSD 卡上,存储扩展到 12 GB。

步骤 8:部署模拟温度传感器

在此步骤中,您将从 Azure Marketplace 部署您的第一个模块。您在此步骤中部署的模块将模拟温度传感器,并将模拟数据发送到云。

注意:有关如何将模块远程部署到 IoT Edge 设备的 Microsoft 教程,请参阅快速入门:将第一个 IoT Edge 模块部署到虚拟 Linux 设备。此步骤通常遵循 Microsoft 教程中的说明。

1.打开 Azure 门户,然后搜索“模拟”。在市场下,单击模拟温度传感器。

azure-iot-hub-find-temperature-module

2.设置订阅、IoT 中心和 IoT Edge 设备名称。单击查找设备,将显示属于您指定的 IoT 中心的设备。

3.单击创建。

azure-iot-hub-specify-iot-edge

4.确保 IoT Edge 模块 中存在 SimulatedTemperatureSensor,然后单击 下一步:路由 (Next: Routes)。

azure-iot-hub-set-module

5.保留路由的默认设置,然后单击审核 + 创建。

azure-iot-hub-route*****r></p><p>6.单击创建。传感器模块将发送到您的设备并自动部署。</p><p><img src=

8.打开 DE10-Nano 控制台并使用 iotedge list 确认模块已部署(即状态:运行中)。

输入:

iotedge list

输出:

NAME                        STATUS           DESCRIPTION      CONFIG
edgeAgent running Up 2 minute*******cr.microsoft.com/azureiotedge-agent:1.0
edgeHub running Up a minute mcr.microsoft.com/azureiotedge-hub:1.0
SimulatedTemperatureSensor running Up 2 minute*******cr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0

应该显示“SimulatedTemperatureSensor”,表明您在 DE10-Nano 上部署了容器模块。

第一次部署可能需要一些时间。多次使用 iotedge list 命令,并等待 edgeHub、edgeAgent 和 SimulatedTemperatureSensor 列出,如上所示。edgeHub 和 edgeAgent 是用于管理 IoT Edge 的容器。

在 DE10-Nano 设备检查容器数据

1.检查 IoT Edge 运行时日志,以确保该模块正在将模拟数据发送到 Azure 云。

输入:

iotedge logs SimulatedTemperatureSensor | tail -n 3

输出:

02/14/2020 07:10:29> Sending message: 499, Body:
[{"machine":{"temperature":109.61642031237317,"pressure":11.095541554574158},"ambient":{"temperature":20.776358844375405,"humidity":26},"timeCreated":"2020-02-14T07:10:29.6590332Z"}]
02/14/2020 07:10:34> Sending message: 500, Body: [{"machine":{"temperature":109.47054543368078,"pressure":11.078922897507937},"ambient":{"temperature":20.883418869871374,"humidity":25},"timeCreated":"2020-02-14T07:10:34.6897821Z"}]
Done sending 500 messages

发送 500 条消息后,该模块将停止运行,您需要重新启动。

iotedge restart SimulatedTemperatureSensor

在云端检查容器数据

通过从 Azure 云中检查传感器模块,确认传感器模块在 DE10-Nano 上运行。

安装 Azure CLI

此步骤使用运行 Ubuntu 16.04 的开发电脑,并遵循适用于 Ubuntu 的 Azure CLI 安装指南。

注意:有关如何安装 Azure CLI 的 Microsoft 教程,请参阅 Azure 命令行界面 (CLI) 文档

1.在开发电脑上,下载并执行安装脚本。

curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

该脚本会在您的电脑上自动安装 Azure CLI 应用程序。

2.在浏览器窗口中输入您的身份验证信息。

az login

注意:如果出现“xdg-open”错误,请确保已设置浏览器环境变量。

```
echo $BROWSER

export BROWSER=firefox
```

3.安装用于 Azure CLI 的 Azure IoT 扩展。

Microsoft 提供了一个开源扩展,即 用于 Azure CLI 的 Azure IoT 扩展,以便使用 Azure CLI 开发 Azure IoT 应用程序。

在本教程中,我们将使用它来查看 IoT 中心收到的消息。

az extension add --name azure-cli-iot-ext

4.启用 az 命令完成。

source /etc/bash_completion.d/azure-cli

注意:如果您重新打开终端,则完成功能将自动生效。

使用 Azure CLI 确认 DE10-Nano 消息

1.使用 Azure CLI 监控 DE10-Nano 消息

由于已将 Azure CLI 与您的云账户关联,因此可以使用 Azure CLI 监控 IoT 中心云接收的数据。在以下命令中,将 IoT 中心的名称放在 --hub-name 之后。例如:de10-nano-iot-hub。

输入:

az iot hub monitor-events --hub-name de10-nano-iot-hub

输出:

...
{

"event": {
"origin": "de10-nano-iotedge",
"payload": "{\"machine\":{\"temperature\":104.63849517546522,\"pressure\":10.528436159230216},\"ambient\":{\"temperature\":20.712849819666172,\"humidity\":25},\"timeCreated\":\"2020-02-14T06:48:35.4649348Z\"}"
}
}
{
"event": {
"origin": "de10-nano-iotedge",
"payload": "{\"machine\":{\"temperature\":104.8690607204889,\"pressure\":10.554703120055697},\"ambient\":{\"temperature\":21.158996682920957,\"humidity\":26},\"timeCreated\":\"2020-02-14T06:48:40.5055251Z\"}"
}
}
...

注意:如果未看到任何消息,请使用 iotedge logs 来检查 SimulatedTemperatureSensor 模块是否仍在正常工作。

后续步骤

恭喜!您已经完成了本系列的第一个教程。若要继续下一个教程,请转到使用 Microsoft Visual Studio 构建基于 Azure 容器的应用程序

如果您打算继续进入本系列的下一个教程,请勿删除您先前创建的资源组。如果不打算继续参加,您现在可以将其删除。删除资源组时,还将删除与之关联的所有 Azure 服务。

0个评论