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 ... 
随机推荐
- c# Gridview 自动分页功能 解决后面页面不显示问题
			操作步骤: 操作如下: 1.更改GrdView控件的AllowPaging属性为true. 2.更改GrdView控件的PageSize属性为 任意数值(默认为10) 3.更改GrdView控件的Pa ... 
- 洛谷P1372 又是毕业季I
			https://www.luogu.org/problem/P1372 #include<bits/stdc++.h> using namespace std; long long n,k ... 
- day22 用户添加相关命令 特殊权限为 防止root修改文件
			2) 用户相关的命令 useradd -u -g -G -M -s -c usermod -u -g -G -s -c userdel -r groupadd groupmod groupdel ch ... 
- word中去除所有table键
			1.打开word---文件---选项---显示,不勾选制表符 2.选择需要的文本,按[CTRL+H]查找替换, 3.将鼠标定位至“查找内容”,点击“特殊格式-制表符”,然后出现^t,在“替换为”中输入 ... 
- c语言修炼之一
			1.C项目要高内聚(模块功能必须明确,一个模块完成一个功能).低耦合(接口尽可能简单,减少各模块间的联系). 2.register类型不能为模块间的全局变量.模块内的全局变量.局部static变量.( ... 
- 【Python】获取星期字符串
			原理:字符串切片 1.0代码: #获取星期字符串 weekStr="星期一星期二星期三星期四星期五星期六星期日" weekId=eval(input("请输入星期数字(1 ... 
- jQuery尺寸
			jQuery 尺寸 jQuery width() 和 height() 方法 width() 方法设置或返回元素的宽度(不包括内边距.边框或外边距). height() 方法设置或返回元素的高度(不包 ... 
- HTML的图像标签
			网页的图像标签 常见的图像格式 JPG GIF PNG BMP 图像标签可以带属性,格式为: <img src="path" alt="text" tit ... 
- mybatis 查询list,内容为null,但list的size 为1
			List<Integer> cityList = resourcePartnerService.selectCityList(userId); 需要在SQL里where语句加上 字段不为n ... 
- Linux - Shell - find - 基础
			概述 find 基础 背景 查找文件 人的记忆能力, 是有限的 计算机里的文件数量, 虽然不是无限, 但是也不少 要去找那些 记不清楚的文件, 必然要用查找 准备 OS centos7 用户 root ... 
