Azure IoT Hub 十分钟入门系列 (2)- 使用模拟设备发送设备到云(d2c)的消息

本文主要分享一个案例:
10分钟- 使用Python 示例代码和SDK向IoT Hub 发送遥测消息
本文主要有如下内容:
- 了解C2D/D2C消息;
- 了解IoT Hub中Device的概念
- 了解并下载Device SDK
- 使用Device SDK 向云发送遥测消息(模拟温湿度)
- 查看发送的数据
B站视频讲解:https://www.bilibili.com/video/av90223553/
图文步骤:
本文参考了微软官方文档:https://docs.azure.cn/zh-cn/iot-hub/quickstart-send-telemetry-python
1.在IoT Hub创建设备
凡是要连接到Iot Hub的设备,必须在此处进行添加,当然添加的方式有多种,通过API,SDK,DPS服务等等,本文在portal上手动添加

设备名称必须唯一,本文中使用对称密钥的身份验证方式。

创建完成后,能够在列表中看到创建好的IoT Device,点击可以查看详情。

在详情页,可以看到该设备的主连接字符串,该字符串要在后续步骤中,拷贝到代码里,代码通过该字符串连接到IoT Hub。

2.开发环境准备
Ptyhon 环境安装:https://www.python.org/downloads/
注意,勾选添加到环境变量选框

Azure CLI:https://docs.microsoft.com/zh-cn/cli/azure/install-azure-cli?view=azure-cli-latest
安装完Azure CLI后,需要添加Azure IoT 的扩展,在命令行中输入:
az extension add --name azure-cli-iot-ext
如果使用的是世纪互联的Azure,则需要运行如下代码,切换到世纪互联的Azure:
az cloud set --name AzureChinaCloud
安装完成后,需要在Azure CLI登录到Azure中,
az login
切换到中国Azure,然后登录的界面如下图,浏览器中出现partner.microsoft.cn字样,表示使用的是中国区Azure。

如下图,登录成功,会显示订阅信息

3.使用实例代码发送D2C消息
示例代码:https://github.com/Azure-Samples/azure-iot-samples-python/archive/master.zip
本案例使用 \azure-iot-samples-python-master\iot-hub\Quickstarts\simulated-device\SimulatedDevice.py
运行代码前,记得安装Python 的SDK:
pip install azure-iot-device
将代码中的CONNECTION_STRING 替换成我们创建的device01的链接字符串,运行代码即可。

如下图提示,消息发送成功

4.使用Azure CLI查看设备发送到云端的消息
使用如下命令接收 D2C消息
az iot hub monitor-events --hub-name {YourIoTHubName} --device-id MyPythonDevice
如下图所示:

Azure IoT Hub 十分钟入门系列 (2)- 使用模拟设备发送设备到云(d2c)的消息的更多相关文章
- Azure IoT Hub 十分钟入门系列 (4)- 实现从设备上传日志文件/图片到 Azure Storage
本文主要分享一个案例: 10分钟内通过Device SDK上传文件到IoTHub B站视频:https://www.bilibili.com/video/av90224073/ 本文主要有如下内容: ...
- Azure IoT Hub 十分钟入门系列 (1)- 10分钟带你了解Azure IoT Hub 并创建IoT Hub
建议您先对<Azure 上 IoT 整体解决方案概览 >进行了解. 本文主要分享一个案例: 10分钟-了解Azure IoT Hub并创建Azure IoT Hub 本文主要有如下内容: ...
- Azure IoT Hub 十分钟入门系列 (3)- 使用消息路由将原始设备数据记录存档
本文主要分享一个案例: 10分钟使用消息路由将原始设备数据记录存档 B站视频讲解:https://www.bilibili.com/video/av90223893/ 本文主要有如下内容: 1.理解什 ...
- Azure IoT 技术研究系列2-起步示例之设备注册到Azure IoT Hub
上篇博文中,我们主要介绍了Azure IoT Hub的基本概念.架构.特性: Azure IoT 技术研究系列1-入门篇 本文中,我们继续深入研究,做一个起步示例程序:模拟设备注册到Azure IoT ...
- Azure IoT 技术研究系列2-设备注册到Azure IoT Hub
上篇博文中,我们主要介绍了Azure IoT Hub的基本概念.架构.特性: Azure IoT 技术研究系列1-入门篇 本文中,我们继续深入研究,做一个起步示例程序:模拟设备注册到Azure IoT ...
- 【物联网云端对接-3】通过MQTT协议与微软Azure IoT Hub进行云端通信
在上一篇文章<通过MQTT协议与阿里云物联网套件进行云端通信>中,我们介绍了通过MQTT对接阿里云的物联网套件.其实同样的代码,稍加调整也可以对接到微软Azure IoT hub上,不过需 ...
- Azure IoT Hub和Event Hub相关的技术系列-索引篇
Azure IoT Hub和Event Hub相关的技术系列,最近已经整理了不少了,统一做一个索引链接,置顶. Azure IoT 技术研究系列1-入门篇 Azure IoT 技术研究系列2-设备注册 ...
- 30分钟连接树莓派到微软云 Azure IoT Hub,并将数据进行可视化
更多内容,关注公众号: 树莓派是很多动手达人必备的小玩具,本节内容,让我们拿出树莓派,在30分钟内,将树莓派连接到微软云Azure的IoT Hub,然后将温湿度曲线可视化.(本节内容完整视频在文章末尾 ...
- 基于Azure IoT开发.NET物联网应用系列-全新的Azure IoT架构
物联网技术已经火了很多年了,业界各大厂商都有各自成熟的解决方案.我们公司主要搞新能源汽车充电,充电桩就是物联网技术的最大应用,车联网.物联网.互联网三网合一.2017年的时候重点研究过Azure Io ...
随机推荐
- JavaScript中四种不同的属性检测方式比较
JavaScript中四种不同的属性检测方式比较 1. 用in方法 var o = {x:1}; "x" in o; //true "y" in o; //fa ...
- 一次m2eclipse的安装大坑经历之http://m2eclipse.sonatype.org/sites/m2e
m2eclipse 插件的安装在<Maven 实战>这本书上是这么说的: ”由于Eclipse默认没有集成对Maven的支持,幸运的是由Maven之父Jason Van Zyl创立的Son ...
- 2020算法设计竞赛 C 汉诺塔
作者:珩月链接:https://ac.nowcoder.com/discuss/367149来源:牛客网 将木板按照Xi从小到大排序,将这时的Yi数列记为Zi数列,则问题变成将Zi划分为尽可能少的若干 ...
- path is not a working copy directory
svn: 'G:\chengXu\2017_Year\JFW\Easy7\WebRoot' is not a working copy directory 解决方法: (1)原因:eclipse把sr ...
- amazon 1
# 跨境电商 Amazon 丰富强大的海外站 开店流程 https://www.cifnews.com/article/48921 注册事项以及二审怎么过 https://www.cifnews.co ...
- WPF学习笔记二之依赖属性
1.快捷生成依赖属性:propdp然后按两次tab键 2.应用场景:自定义控件 什么是依赖属性:依赖属性自己没有值,通过依赖别人(如Binding)来获得值. 依赖属性为什么会出现:控件常用字段有限, ...
- root xshell登陆Ubuntu
https://www.jianshu.com/p/c8ee39488d2a xshell测试非root用户,可以正常连接,但是root用户仍旧无法访问 解决方法:修改 /etc/ssh/sshd_c ...
- java+layui的Excel导入导出
html: <button class="layui-btn" onclick="exportData();">导出</button> ...
- PHP 可选参数
function chooseable($a,$b,$d,$c="我是可选参数c"){ //注意:可选参数一定要是在必选参数后面(有默认值就是可选参数):PHP中参数一定要变量符号 ...
- 安装Elasticsearch出现 node validation exception 的问题处理
es报错如下: [2019-10-11T16:23:28,945][ERROR][o.e.b.Bootstrap ] [es-node-1] node validation exception[3] ...