本文主要分享一个案例:

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 

如下图所示:

最新文章

  1. UVALive 4849 String Phone(2-sat、01染色)
  2. iframe在浏览器中session失效问题
  3. iOS集成丁香园DXY OAuth 登陆 swift代码示例
  4. Caliburn.Micro 关闭父窗体打开子窗体
  5. ASP.NET Web API中使用GZIP 或 Deflate压缩
  6. [算法]——全排列(Permutation)以及next_permutation
  7. 例题:for循环迭代法。一个棋盘有n个格子,第一个格子有一粒米,第二个格子有两粒米,第三个格子有四粒米,依次类推,第n个格子里有多少粒米,棋盘里一共有多少粒米。
  8. UML 小结(1)- 整体阐述
  9. Codeforces Round #350 (Div. 2)_D2 - Magic Powder - 2
  10. 201521123077 《Java程序设计》第14周学习总结
  11. window环境下npm install node-sass报错
  12. eslint相关工具
  13. D - Windows Message Queue
  14. Nginx(五):浏览器本地缓存设置
  15. 为某金融企业的IT技术部人员提供基于TFS的软件研发流程介绍
  16. win10WLAN没有有效的ip配置
  17. ylbtech-Tool:
  18. thinkphp 调用wsdl接口实例化SoapClient抛出异常
  19. .NET框架- in ,out, ref , paras使用的代码总结 C#中in,out,ref的作用 C#需知--长度可变参数--Params C#中的 具名参数 和 可选参数 DEMO
  20. Python基础(8) - 模块

热门文章

  1. 番外:可刷新PDB的管理操作(如何切换PDB Switching Over)
  2. Test Blog
  3. 158.Clickjacking点击劫持攻击实现和防御措施
  4. AdaBoost级联分类器
  5. JUC-ThreadPool线程池
  6. 巨杉Tech | 使用 SequoiaDB + Docker + Nodejs 搭建 Web 服务器
  7. 巨杉Tech | 十分钟快速搭建 Wordpress 博客系统
  8. java web HttpServletRequest
  9. 怎么把apk文件部署在云服务器上
  10. Linux_oracle 数据库监听