Skip to main content

在使用HTTP代理服务器的网络环境中安装和配置Azure IoT Edge设备

分类:  Azure物联网 标签:  #Azure #IoT Edge # 发布于: 2023-06-14 22:42:42

大部分IoT设备会被部署到严酷的生产环境中。这些环境可能包括工厂,实验室,车间,车站等等各种网络受限的环境,这些环境的网络大都会限制公共网络的访问,规则相当严格。HTTP代理服务器在类似的环境中应用最多,因为它容易配置和监控。要代理服务环境中配置Azure IoT Edge设备,需要更多额外的步骤, 我们本章来学些这些配置步骤。 开始配置之前 在开始配置之前一定要检查一下HTTP代理服务器的限制,检查一下代理服务器中是否有添加对端口5671, 443的阻止或者通过规则,确保HTTP代理服务器可用。 另外如果要使用HTTP代理服务器,那么对于Azure IoT Edge的设备要使用AmqpWS 即amqp-with-websocket协议的支持,否者是无法成功链接到Azure I

Read more

Azure IoT Edge问题排查

分类:  Azure物联网 标签:  #Azure #IoT Edge # 发布于: 2023-06-14 22:34:30

本节介绍一些常用的Azure IoT Edge设备问题排查的基本手段和工具。 首先需要说明的是之前微软的文档是有些问题的,之前的文档讨论一个环境变量RuntimeLogLevel用于设置runtime的日志级别,实际上应该是设置在模块edgeHub和edgeAgent上。对于rumtime的日志输出建议使用命令sudo iotedge system logs -f (注意这个命令是用在iotedge runtime 1.2), 或者直接使用Linux命令journalctl -fu iotedge来查看日志。 将edgeAgent或者edgeHub模块日志级别设置为debug 使用合适的工具登录到设备所有的系统里,例如Linux的ssh客户端。 编辑文件:/etc/iot

Read more

调试Azure IoT Edge模块

分类:  Azure物联网 标签:  #Azure #IoT Edge # 发布于: 2023-06-14 22:32:42

我们前面已经学习过了,如何配置开发工具和环境,也详细的描述了开发一个Azure IoT Edge模块的一般步骤,和项目模板的详细设计,但是如何对我们的Azure IoT Edge模块进行调试呢? Azure IoT Edge模块的运行是需要环境的,没有环境是无法运行的。因此一定要按照之前的文章来设定,关于之前的文章: https://www.azuredeveloper.cn/article/how-to-setup-a-enviroment-for-azure-iot-edge-module-develop https://www.azuredeveloper.cn/article/setup-tools-best-pratice-for-azure-iot-edge-mod

Read more

开发Azure IoT Edge模块

分类:  Azure物联网 标签:  #Azure #IoT Edge # 发布于: 2023-06-14 22:13:29

前面我们已经有两篇文章详细的讨论和如何为了开发一个Azure IoT Edge模块项目的环境准备以及最佳实践,关于这两篇文章,您可以参考如下的地址: https://www.azuredeveloper.cn/article/how-to-setup-a-enviroment-for-azure-iot-edge-module-develop https://www.azuredeveloper.cn/article/setup-tools-best-pratice-for-azure-iot-edge-module-develop 如果你要详细的阅读环境的准备的话,您可以再回头去学习这两篇文章。 我们今天来学习如何使用环境开发调试我们的Azure IoT Edge的模块。

Read more

再次讨论Azure IoT Edge模块开发的环境准备

分类:  Azure物联网 标签:  #Azure #IoT Edge # 发布于: 2023-06-14 22:00:15

我们之前已经有了一篇文章来讨论如何准备开发环境,你可以从这个地址查看这篇文章:https://www.azuredeveloper.cn/article/how-to-setup-a-enviroment-for-azure-iot-edge-module-develop, 我们本章还是想再次总结一下如何为开发Azure IoT Edge模块准备开发环境的主要特点。 我们先总结一下最佳实践: 准备一台用于开发的机器,我们称之为开发机,开发机最好和用于测试的Azure IoT Edge是两台机器,如果确实没有多余的机器,也可以使用虚拟机替代Azure IoT Edge的设备。 开发机和用于测试的Azure IoT Edge关于容器要一致,例如开发机器是基于Linux 容器的,那么

Read more

设置Azure IoT Edge模块的开发环境和Hello World

分类:  Azure物联网 标签:  #Azure #IoT Edge # 发布于: 2023-06-14 21:32:44

我们之前学习的文章都是理解什么是Azure IoT Edge, 跟着学习了如何安装Azure IoT Edge runtime, 以及如何部署Azure IoT Edge设备,同时也学习了如何使用自动部署来部署Azure IoT Edge的模块,同时我们也理解了Azure IoT Edge提供的两个系统模块的用途以及分工。但是我们一直没有学习如何进行Azure IoT Edge的模块开发,本站开始学习一下Azure IoT Edge模块是如何开发的。 从之前的学习中我们理解了Azure IoT Edge模块就是使用容器封装好的一个镜像,我们开发好这个镜像之后可以上传到某个容器镜像库里,然后通过该库对我们自行开发的模块进行部署到IoT Edge设备上,这个部分我们前面已经是学习过了。

Read more

使用自动部署模块到多个Azure IoT Edge设备上

分类:  Azure物联网 标签:  #Azure #IoT Edge # 发布于: 2023-06-14 21:27:50

我们前面一章学习了什么是自动部署的概念,我们这一章学习step by step的教程。 本教程的目的: 创建Azure IoT Hub以及Azure IoT DSP, 并连接他们用于大规模部署 在Azure IoT DPS里新建两个分组登记,并给分组登记设定设备的tags属性:tags.location.region='Shanghai'和tags.location.region='Beijing' 创建两个虚拟机并安装Azure IoT Edge Runtime, 并通过DPS完成自动注册。 在Azure IoT Hub上创建标准的自动部署,观察两个设备是否自动部署了。 在Azure IoT Hub上创建一个分层部署,并指定部署条件,观察两个设备是否完成了自动部署。

Read more

Azure IoT Edge模块自动部署介绍

分类:  Azure物联网 标签:  #Azure #IoT Edge # 发布于: 2023-06-14 21:19:42

我们之前讨论和学习的都是如何预置Azure IoT Edge的设备,无论是对单个设备进行预置也好还是通过DPS进行大量的设备预置也好,本质上都还是对Azure IoT Edge设备本身的准备,但是对于IoT Edge设备最大的功能是通过开发或者部署Azure IoT Edge的模块来充分的发挥Azure IoT Edge设备的最大作用。我们之前的文章也简单的介绍了如何快速的向单个设备进行模块部署,您可以参考这篇文章来回顾:https://www.azuredeveloper.cn/article/deploy-custom-module-to-linux-base-iot-edge, 我们本章以及后面的一章来学习如何通过自动部署来将模块部署到大量的Azure IoT Edge设备上。

Read more

使用Azure IoT Hub Device Provisioning Service部署大量的Azure IoT Edge设备

分类:  Azure物联网 标签:  #Azure #IoT Edge # 发布于: 2023-06-14 21:17:51

我们之前的几篇文章都是在单个的Azure IoT Edge设备上讨论如何安装和部署,如果我们需要大量的Azure IoT Edge设备,该如何处理?这个时候我们就需要使用Azure IoT Hub Device Provisioning Service了,关于什么是DPS服务,以及DPS相关的文档,您可以参考这个文档列表:https://www.azuredeveloper.cn/article/azure-iot-hub-device-provisioning-service 了解Azure IoT Hub DPS服务,就知道它是通过两种方式来登记和注册设备的,单个设备登记和注册,分组登记和注册,如果需要大量的设备,我们建议使用分组登记和注册。关于设备的认证,我们这里仍然采用SAS

Read more

关于edgeHub的消息通讯方式

分类:  Azure物联网 标签:  #Azure #IoT Edge # 发布于: 2023-06-14 21:02:42

我们在上一章尝试向基于Linux的Azure IoT Edge Runtime部署自定义模块的时候,学习到消息路由的概念,我们这一节来深入学习一下系统模块edgeHub的通讯方式: 消息路由 edgeHub本身作为一个消息代理服务。 消息路由 edgeHub模块管理模块之间,模块和IoT Hub以及其他子设备之间的通讯,在Azure IoT Hub中,可以通过edgeHub的module twin来定义消息的路由,检查edgeHub的module twin, 可以观察到它有一个预期属性routes, 该属性用于定义消息是如何路由的。如如下的实例:

Read more