本文主要分享一个案例:

10分钟- 使用Python 示例代码和SDK向IoT Hub 发送遥测消息

本文主要有如下内容:

  1. 了解C2D/D2C消息;
  2. 了解IoT Hub中Device的概念
  3. 了解并下载Device SDK
  4. 使用Device SDK 向云发送遥测消息(模拟温湿度)
  5. 查看发送的数据

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)的消息的更多相关文章

  1. Azure IoT Hub 十分钟入门系列 (4)- 实现从设备上传日志文件/图片到 Azure Storage

    本文主要分享一个案例: 10分钟内通过Device SDK上传文件到IoTHub B站视频:https://www.bilibili.com/video/av90224073/ 本文主要有如下内容: ...

  2. Azure IoT Hub 十分钟入门系列 (1)- 10分钟带你了解Azure IoT Hub 并创建IoT Hub

    建议您先对<Azure 上 IoT 整体解决方案概览 >进行了解. 本文主要分享一个案例: 10分钟-了解Azure IoT Hub并创建Azure IoT Hub 本文主要有如下内容: ...

  3. Azure IoT Hub 十分钟入门系列 (3)- 使用消息路由将原始设备数据记录存档

    本文主要分享一个案例: 10分钟使用消息路由将原始设备数据记录存档 B站视频讲解:https://www.bilibili.com/video/av90223893/ 本文主要有如下内容: 1.理解什 ...

  4. Azure IoT 技术研究系列2-起步示例之设备注册到Azure IoT Hub

    上篇博文中,我们主要介绍了Azure IoT Hub的基本概念.架构.特性: Azure IoT 技术研究系列1-入门篇 本文中,我们继续深入研究,做一个起步示例程序:模拟设备注册到Azure IoT ...

  5. Azure IoT 技术研究系列2-设备注册到Azure IoT Hub

    上篇博文中,我们主要介绍了Azure IoT Hub的基本概念.架构.特性: Azure IoT 技术研究系列1-入门篇 本文中,我们继续深入研究,做一个起步示例程序:模拟设备注册到Azure IoT ...

  6. 【物联网云端对接-3】通过MQTT协议与微软Azure IoT Hub进行云端通信

    在上一篇文章<通过MQTT协议与阿里云物联网套件进行云端通信>中,我们介绍了通过MQTT对接阿里云的物联网套件.其实同样的代码,稍加调整也可以对接到微软Azure IoT hub上,不过需 ...

  7. Azure IoT Hub和Event Hub相关的技术系列-索引篇

    Azure IoT Hub和Event Hub相关的技术系列,最近已经整理了不少了,统一做一个索引链接,置顶. Azure IoT 技术研究系列1-入门篇 Azure IoT 技术研究系列2-设备注册 ...

  8. 30分钟连接树莓派到微软云 Azure IoT Hub,并将数据进行可视化

    更多内容,关注公众号: 树莓派是很多动手达人必备的小玩具,本节内容,让我们拿出树莓派,在30分钟内,将树莓派连接到微软云Azure的IoT Hub,然后将温湿度曲线可视化.(本节内容完整视频在文章末尾 ...

  9. 基于Azure IoT开发.NET物联网应用系列-全新的Azure IoT架构

    物联网技术已经火了很多年了,业界各大厂商都有各自成熟的解决方案.我们公司主要搞新能源汽车充电,充电桩就是物联网技术的最大应用,车联网.物联网.互联网三网合一.2017年的时候重点研究过Azure Io ...

随机推荐

  1. c# Gridview 自动分页功能 解决后面页面不显示问题

    操作步骤: 操作如下: 1.更改GrdView控件的AllowPaging属性为true. 2.更改GrdView控件的PageSize属性为 任意数值(默认为10) 3.更改GrdView控件的Pa ...

  2. 洛谷P1372 又是毕业季I

    https://www.luogu.org/problem/P1372 #include<bits/stdc++.h> using namespace std; long long n,k ...

  3. day22 用户添加相关命令 特殊权限为 防止root修改文件

    2) 用户相关的命令 useradd -u -g -G -M -s -c usermod -u -g -G -s -c userdel -r groupadd groupmod groupdel ch ...

  4. word中去除所有table键

    1.打开word---文件---选项---显示,不勾选制表符 2.选择需要的文本,按[CTRL+H]查找替换, 3.将鼠标定位至“查找内容”,点击“特殊格式-制表符”,然后出现^t,在“替换为”中输入 ...

  5. c语言修炼之一

    1.C项目要高内聚(模块功能必须明确,一个模块完成一个功能).低耦合(接口尽可能简单,减少各模块间的联系). 2.register类型不能为模块间的全局变量.模块内的全局变量.局部static变量.( ...

  6. 【Python】获取星期字符串

    原理:字符串切片 1.0代码: #获取星期字符串 weekStr="星期一星期二星期三星期四星期五星期六星期日" weekId=eval(input("请输入星期数字(1 ...

  7. jQuery尺寸

    jQuery 尺寸 jQuery width() 和 height() 方法 width() 方法设置或返回元素的宽度(不包括内边距.边框或外边距). height() 方法设置或返回元素的高度(不包 ...

  8. HTML的图像标签

    网页的图像标签 常见的图像格式 JPG GIF PNG BMP 图像标签可以带属性,格式为: <img src="path" alt="text" tit ...

  9. mybatis 查询list,内容为null,但list的size 为1

    List<Integer> cityList = resourcePartnerService.selectCityList(userId); 需要在SQL里where语句加上 字段不为n ...

  10. Linux - Shell - find - 基础

    概述 find 基础 背景 查找文件 人的记忆能力, 是有限的 计算机里的文件数量, 虽然不是无限, 但是也不少 要去找那些 记不清楚的文件, 必然要用查找 准备 OS centos7 用户 root ...