本文主要分享一个案例:

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. Python标准库之shelve模块(序列化与反序列化)

    shelve模块是一个简单的key,value将内存数据通过文件持久化的模块,可以持久化任何picklel可支持的Python数据格式. 序列化 序列化源代码: import shelve impor ...

  2. 502. IPO(最小堆+最大堆法 or 排序法)

    题目: 链接:https://leetcode-cn.com/problems/ipo/submissions/ 假设 力扣(LeetCode)即将开始其 IPO.为了以更高的价格将股票卖给风险投资公 ...

  3. 自定义输入函数 - C语言编程

    有返回功能的输入函数: #include <stdio.h> #include <conio.h> void input(char content[]); int main() ...

  4. OpenGL 编程指南 (2)

    1.OpenGL对共享的边有严格的规定:1)共享边上的像素因为同事被两者所覆盖,因此不可能不受到光照计算的影响: 2)共享边上的像素值,不可能受到多于一个三角形的光照计算的影响. 2.多边形存在正面与 ...

  5. 编码 - 调整 gitbash 文本字符集

    概述 gitbash 设置 文本字符集 背景 最近被 编码 的事情搞得乱七八糟 有点没头绪, 所以碰到 编码相关 的东西, 都想看上一看 环境 os win10.1903 git 2.20.1 1. ...

  6. 2019牛客竞赛第六场D Move 宏观单调,部分不单调

    Move 题意 有k个体积相同的箱子,有个憨憨有固定的装箱策略,每次都只装可以装的重量中最大的东西,求箱子的最小提及 分析 看起来可以二分,但由于他的装箱策略有点蠢,所以只在宏观上满足单调性,在特别小 ...

  7. JMeter CSRFToken认证登陆(正则提取器的使用)

    转自:http://blog.csdn.net/lion19930924/article/details/51189210 前几天用JMeter模拟登陆,但是这个网站开启了csrf认证,因此在post ...

  8. Unable to guess the mime type as no guessers are available (Did you enable the php_fileinfo extension?)

    原因是没有开启php的php_fileinfo扩展,开启即可. 找到php.ini文件,搜索到php_fileinfo,去掉前面的分号,然后重启服务器apache.nginx下同理. extensio ...

  9. Log4j的isdebugEnabled的作用

    转自:https://www.iteye.com/blog/zhukewen-java-1174017 在项目中我们经常可以看到这样的代码: if (logger.isDebugEnabled()) ...

  10. 【转载】各种SQL在PIG中实现

    转自:http://guoyunsky.iteye.com/blog/1317084 我这里以Mysql 5.1.x为例,Pig的版本是0.8 同时我将数据放在了两个文件,存放在/tmp/data_f ...