Azure IoT Edge入门(2)部署一台Edge Device

 

Azure IoT Edge入门(2)部署一台Edge Device

案例:部署一台Edge Device(Windows 系统)

通常情况下,部署一台Edge设备有如下四个步骤:

1. 创建Azure IoT Hub;

2.准备Edge Device(windows/linux),1.准备操作系统,2.在IoT Hub里创建IoT Edge Device;

3.安装并配置 Azure IoT Edge Runtime(离线或在线安装);

4. 从Azure Container Registry 下载业务容器,由业务容器开始发送遥测消息给Azure IoT Hub;

今天这一小节,介绍前三个步骤。

关于Azure Container Regisgtry,请参见《Azure Container Registry

本文主要介绍:

1. IoT Edge Runtime 对操作系统的要求  

2. 准备Edge device(在azure 上购买一台Windows Server 2019)

3.准备Azure IoT Hub并新建IoT Edge Device

4.在Edge Device 上安装 IoT Edge Runtime

   在线安装;

   离线安装;

视频讲解:

您可以观看B站视频:https://www.bilibili.com/video/av91049338/

或在本站观看视频:

图文步骤:

IoT Edge 对操作系统的要求,请参见:https://docs.azure.cn/zh-cn/iot-edge/support

主要分为两种(文档里称为两层),简单理解:

第一层系统是由微软进行过严格的Azure IoT Edge Runtime测试,完全兼容。

下表中列出的系统(不管是公开发布版还是公共预览版)受 Microsoft 的支持,并在每个新版本中进行了测试。

操作系统 AMD64 ARM32v7 ARM64
Raspbian Stretch    
Ubuntu Server 16.04   公共预览版
Ubuntu Server 18.04   公共预览版
Windows 10 IoT 核心版内部版本 17763    
Windows 10 IoT 企业版内部版本 17763    
Windows Server 2019 内部版本 17763    
Windows Server IoT 2019 内部版本 17763    

第二层理论上可兼容,或者微软合作伙伴已经成功运行了的。

在Azure上准备一台虚拟机作为Edge设备使用

本案例中使用的是Windows Server 2019 Datacenter (zh-cn),当然可以选择其他第一层的操作系统。

创建Azure IoT Hub,并创建IoT Edge Device

在IoT Hub-IoT Edge中点击添加IoT Edge设备

输入设备ID,其余保持默认,点击保存

在Edge 设备上安装IoT Edge Runtime

在windows 中安装Edge Runtime,请参见:https://docs.azure.cn/zh-cn/iot-edge/how-to-install-iot-edge-windows

注意,本节中,我们选择安装和手动预配,手动预配的意思是,在安装Runtime过程中,需要手动输入IoT Edge Device的连接字符串。

1. 在线安装Azure IoT Edge Runtime:

登录到Windows Server中,以管理员权限运行如下Power Shell脚本:

. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
Deploy-IoTEdge

画重点,如果此步骤,报网络错误,可以尝试打开连接 “https://aka.ms/iotedge-win”,如果打不开,可能存在网络问题,则此时需要使用离线安装方式。

2.离线安装Azure IoT Edge Runtime:

在页面上下载相应的 文件,https://github.com/Azure/azure-iotedge/releases

对于Windows 系统,需要根据系统是64/32位下载对应的cab文件和 vc_redist.exe(Visual C++ Redistributable Package)

注意,需要将下载的cab的包重命名为 Microsoft-Azure-IoTEdge.cab

vc_redist.exe 下载地址:vc_redist.exe

然后右键拷贝.ps1的路径,修改如如下的脚本中:

将https://aka.ms/iotedge-win改为https://github.com/Azure/azure-iotedge/releases/download/1.0.9-rc5/IotEdgeSecurityDaemon.ps1,意味着按照更改后的脚本安装对应的runtime 版本。

. {Invoke-WebRequest -useb https://github.com/Azure/azure-iotedge/releases/download/1.0.9-rc5/IotEdgeSecurityDaemon.ps1} | Invoke-Expression; `
Deploy-IoTEdge -OfflineInstallationPath D:\Downloads\iotedgeoffline

在PowerShell 管理员权限先运行上述脚本,如提示重启,则重启后需执行如下脚本:

. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
Initialize-IoTEdge

注意:脚本中的 https://aka.ms/iotedge-win,如果安装的是指定版本,也需要替换为指定版本的ps1文件路径。

执行过程中需要按找提示输入IoT Edge 的连接字符串

使用 如下命令检查 IoT Runtime 运行状态:

Get-Service iotedge

使用如下命令检查当前运行的模块:

iotedge list

初次安装完成,只有一个edgeagent 模块,此现象是正常的,其他模块由edge agent 负责安装,需要时间。

在Portal上可以查看IoT Edge 的运行状态和模块状态:

猜你喜欢

转载自www.cnblogs.com/shuzhenyu/p/12358757.html