认识Azure IoT

Azure IoT中心:
在云中进行托管,相当于中央消息中心, IoT 应用程序与其管理的设备之间的双向通信。

多种消息传递模式:
设备到云的遥测;
从设备上传文件以及从云控制设备的请求-回复方式。

多种身份验证类型支持各种设备功能:
基于 SAS 令牌的身份验证可快速启动 IoT 解决方案。
单个 X.509 证书身份验证,用于安全、以标准为基础的身份验证。
X.509 CA 身份验证,用于简单、以标准为基础的注册。

IoT 中心和设备 SDK 支持用于连接设备的以下协议:
HTTPS
AMQP
基于 WebSockets 的 AMQP
MQTT
基于 WebSocket 的 MQTT

快速入门

将遥测数据发送到 Azure IoT 中心并使用 Java 应用程序读取它。

预先编写的 Java 应用程序:一个用于发送遥测数据,一个用于读取中心的遥测数据。代码下载:https://github.com/Azure-Samples/azure-iot-samples-java

创建IoT中心
参考:https://docs.azure.cn/zh-cn/iot-hub/quickstart-send-telemetry-java

定价和缩放层:选择的层。为了IoT 中心设备流的快速入门,在免费层中创建一个 IoT 中心,适用于测试和评估。 允许 500 台设备连接到中心,每天最多可传输 8,000 条消息。

IoT 中心单元:每个单位每日允许的消息数取决于中心的定价层。 例如,如果希望中心支持 700,000 条消息引入,请选择两个 S1 层单位。

高级设置 > 设备到云的分区:将设备到云消息与这些消息的同步读取器数目相关联。 大多数中心只需要 4 个分区。

在这里插入图片描述
监控现有注册设备的消息数量
在这里插入图片描述
注册设备
az iot hub device-identity create --hub-name {YourIoTHubName} --device-id MyJavaDevice
在这里插入图片描述
获取设备连接字符串:
az iot hub device-identity connection-string show --hub-name {YourIoTHubName} --device-id MyJavaDevice --output table

查找扩展:
az extension list-available --output table
安装扩展:
az extension add --name <extension-name>
更新扩展:
az extension update --name <extension-name>
卸载扩展:
az extension remove --name <extension-name>
自动安装扩展:
az config set extension.use_dynamic_install=yes_prompt
不提示的情况下实现动态安装:
az config set extension.use_dynamic_install=yes_without_prompt
关闭动态安装:
az config set extension.use_dynamic_install=no
https://docs.azure.cn/zh-cn/cli/azure-cli-extensions-overview?view=azure-cli-latest

An error occurred. Pip failed with status code 1. Use --debug for more information.
https://github.com/Azure/azure-cli/issues/15931
https://github.com/Azure/azure-devops-cli-extension/issues/1099
https://github.com/Azure/azure-iot-cli-extension/issues/165

与事件中心兼容的终结点、与事件中心兼容的路径和 IoT 中心的服务主密钥:
az iot hub show --query properties.eventHubEndpoints.events.endpoint --name {YourIoTHubName}
az iot hub show --query properties.eventHubEndpoints.events.path --name {YourIoTHubName}
az iot hub policy show --name service --query primaryKey --hub-name {YourIoTHubName}

模拟设备应用程序将遥测数据发送到 IoT 中心后的输出:
在这里插入图片描述
可以看到IoT中心的仪表盘数据开始变化,但是一般消息会有1分钟延迟才到中心
在这里插入图片描述
接收和处理设备到云的消息
在这里插入图片描述
最后清理资源,删除本文中创建的 Azure 资源,避免收费。

Windos系统安装Azure CLI

Azure官方链接:https://www.azure.cn/downloads/

Azure 命令行接口 (Azure CLI) 是一组用来创建和管理 Azure 资源的命令。 Azure CLI 可用于各种 Azure 服务,可用来快速使用 Azure(侧重于自动化)。

下载地址:https://docs.azure.cn/zh-cn/cli/install-azure-cli-windows?view=azure-cli-latest&tabs=azure-cli

下载完成install,默认安装路径:C:\Program Files (x86)\Microsoft SDKs\Azure\CLI\wbin
安装完CLI,无法在CMD或Powershell环境下使用的话,可能需要配置上述路径到系统环境变量中。或者直接在文件目录下打开Powershell,执行命令:
az -v
az login
在这里插入图片描述
Azure CLI官方教程文档:https://docs.azure.cn/zh-cn/cli/create-an-azure-service-principal-azure-cli?view=azure-cli-latest

IoT 中心设备管理
管理原则:规模和自动化;开放性和兼容性;上下文感知;为多角色提供服务

设备生命周期:
计划
预配
配置
监视
停用

Azure IoT 中心通过 MQTT、AMQP 和 HTTPS 协议以本机方式支持通信。

IoT 中心消息路由和 IoT 中心与事件网格的集成通过执行不同的操作来实现类似结果。
在这里插入图片描述
相似性:
最大消息256KB,设备到云;安全可靠;伸缩性高;延迟低;一条消息发送到多个终结点

设备证书进行身份验证
X.509 CA 证书:证书文件上传 和 所有权证明
https://github.com/Azure/azure-iot-sdk-c/blob/master/tools/CACertificates/CACertificateOverview.md

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值