Wio Terminal 连接 Azure IoT Central
Azure 简介
在本教程中,我们将带领你完成将 Wio Terminal 连接到 Microsoft Azure IoT Central 并将遥测数据从 Wio Terminal 上的板载传感器/硬件(例如 3 轴加速度计、光线传感器、3 个按钮)发送到 Microsoft Azure 物联网中心。之后,你将能够在交互式仪表板上可视化传感器数据。此外,你还可以使用 Azure IoT Central 来控制硬件,例如使 Wio Terminal 上的板载蜂鸣器发出哔哔声。Microsoft Azure IoT Central 支持 HTTP、MQTT 和 AMQP 协议进行通信,但是在本教程中我们只会使用到 MQTT 协议。
Microsoft Azure
Microsoft Azure 是微软的公共云计算平台,是微软托管的数据中心。你可以使用 Microsoft Azure 构建、测试、部署和管理应用程序和服务。
此外,它还提供一系列云服务,包括计算(compute)、分析(analytics)、存储(storage)和网络(networking)。Microsoft Azure 提供软件即服务(SaaS)、平台即服务(PaaS)、基础设施即服务(IaaS)和无服务器(serverless)。最后,它支持许多不同的编程语言、工具和框架。
Microsoft Azure IoT
Microsoft Azure IoT 是一组 Microsoft 托管的云服务,可连接、监视和控制数十亿 IoT 资产。它包括设备的安全和操作系统,以及帮助企业构建、部署和管理物联网应用程序的数据和分析。
Microsoft Azure IoT Central
Microsoft Azure IoT Central 是一个完全托管的全球物联网 SaaS(软件即服务)解决方案,可以轻松连接、监控和大规模管理你的物联网资产。它高度安全,并且会随着你的业务增长而扩展,确保你的投资可重复并与你现有的业务应用程序集成。同时,它还缩小了业务应用程序和 IoT 数据之间的差异。最后,它提供集中管理来重新配置和更新你的设备。
IoT 即插即用
IoT 即插即用(IoT Plug and Play)使解决方案构建者无需任何手动配置即可将智能设备与其解决方案集成。IoT Plug and Play 的核心是一个设备模型,设备使用该模型向支持 IoT Plug and Play 的应用程序声明其功能。包括:
功能 | 中文 | 描述 |
---|---|---|
Properties | 属性 | 表示设备或其他实体的只读或可写状态 |
Telemetry | 遥测 | 设备发送的数据 |
Commands | 命令 | 描述可以在设备上完成的功能或操作 |
IoT 即插即用认证设备消除了在 Azure IoT Central 中配置设备的麻烦,例如创建模板以及添加功能和接口。
IoT 即插即用认证设备
IoT 即插即用认证设备(IoT Plug and Play Certified Devices)是在 Azure 认证设备目录 中列出的带有 IoT 即插即用徽章的设备。Wio Terminal 就是一款 IoT 即插即用认证设备。via
要获得 IoT 即插即用认证,你需要明确一些标准,其中之一是发布 DTDL(数字孪生定义语言)模型,该模型将设备的功能定义为 Azure/iot-plugandplay-models (DMR),它存储在 GitHub 仓库中。允许使用 IoT Plug and Play 认证设备的云服务从该存储库中了解设备功能。
通过 MQTT 连接 Azure IoT Central
如前所述,我们将使用 MQTT 在 Wio Terminal 和 Microsoft Azure IoT Central 之间进行通信。但是,如果你需要,也可以使用 HTTP 桥接器。
Azure IoT Central 设置
首先,你需要访问 Microsoft Azure IoT Central,登录 Microsoft 帐户并为你的项目创建一个新应用程序。
- 第 1 步:访问 这里 创建一个新应用(new application)
- 第 2 步:点击左边导航菜单中的 Build,然后点击 Custom apps
- 第 3 步:填写 Application name,然后在 Pricing plan 中选择 Free
- 第 4 步:点击 Create 创建一个新的应用
现在,你已经成功设置 Azure IoT Central 啦!
Wio Terminal 设置
下面将使用演示代码将 Wio Terminal 板载传感器的遥测数据发送到 Microsoft Azure IoT Central。
更新 RTL8720 固件
我们需要使用 Wio Terminal 的 WiFi 功能,因此需要更新 Realtek RTL8720 的固件。请参考 Wio Terminal 网卡固件更新,并完成固件更新和 Arduino 依赖库的安装。
注意: 请务必根据版本说明下的指定版本更新固件。
下载示例代码
- 第 1 步:导航到 GitHub 仓库 wioterminal-aziot-example
- 第 2 步:点击 Releases
- 第 3 步:选择最新的 release,点击 wioterminal-aziot-example.uf2 下载 .uf2 文件
上传示例程序
- 第 1 步:将 Wio Terminal 连接到 PC,然后上电
- 第 2 步:将电源开关从“ON”位置进一步向下滑动,松开,再次滑动并松开,进入 Bootloader 模式
提示:当 Wio Terminal 处于 Bootloader 模式,蓝色 LED 将开始以不同于闪烁的方式呼吸。
- 第 3 步:打开 PC 的文件管理器,你会看到一个名为 Arduino 的外置存储驱动器
- 第 4 步:将前面下载的 .uf2 文件放进 Arduino 驱动器
- 第 5 步:将 Wio Terminal 的电源开关打到“OFF”位置
现在,我们已经将示例代码成功上传到 Wio Terminal。
WiFi 和 Azure IoT 配置
接下来,我们要配置 WiFi 和 Azure IoT 连接。
- 第 1 步:同时按住 Wio Terminal 上方 3 个按键,然后将电源开关打到“ON”,进入配置模式
- 第 2 步:打开一个串口终端,例如 PUTTY(可参考 串口工具合集)
- 第 3 步:设置串口参数 COM Port、波特率 9600,进入控制台
-
第 4 步:按 ENTER 键,输入
help
命令查看配置方法 -
第 5 步:使用 set_wifissid 命令设置 WiFi SSID,如:
set_wifissid your_WI-Fi_network_name
-
第 6 步:使用 set_wifipwd 命令设置 WiFi 密码,如:
set_wifipwd your_WI-Fi_network_password
-
第 7 步:根据之前在 Azure IoT Central 上创建的应用来设置 Azure IoT 的连接信息
-
第 8 步:在左边导航菜单找到 Administration > Device Connection,然后复制 ID scope 的值
-
第 9 步:点击下方的 SAS-IoT-Devices,然后复制 primary key 的值
-
第 10 步:在之前打开的串口终端,使用 set_az_iotc 设置 Azure IoT 连接参数,格式如下:
set_az_iotc <your_ID_scope> <your_primary_key> <your_device_name>
提示:设备名称(device name)可以自行选择
-
第 11 步:通过将电源开关向下滑动到远离“ON”的位置并松开来重启 Wio Terminal
现在,可以看到 Wio Terminal 的 LCD 屏上显示连接 WiFi 和 Azure IoT Hub 的信息。连接成功后,将会显示发送到 Azure IoT Central 的遥测数据。