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

简介: 在上一篇文章《通过MQTT协议与阿里云物联网套件进行云端通信》中,我们介绍了通过MQTT对接阿里云的物联网套件。其实同样的代码,稍加调整也可以对接到微软AzureIoT hub上,不过需要注意的是,设备的认证机制是不一样的。

在上一篇文章《通过MQTT协议与阿里云物联网套件进行云端通信》中,我们介绍了通过MQTT对接阿里云的物联网套件。其实同样的代码,稍加调整也可以对接到微软AzureIoT hub上,不过需要注意的是,设备的认证机制是不一样的。

我们在《通过HTTP协议与微软Azure IoT hub进行云端通信》中,已经介绍了如何在微软Azure中创建设备,所以本篇文章不再赘述,需要的了解的网友可以看相关链接的文章内容。

微软MQTT服务器的默认端口是8883,在连接的时候,其设备名就是设备ID,用户名域名+设备ID,密码是toKen。简单期间这个toKen可以用DevcieExplorer Twin工具创建,但是这个是有时间期限的,过期就不能使用了。
image.png
在实际项目中,这种方式肯定不行,需要我们根据需要动态生成toKen,相关代码如下:
image.png
微软和阿里一样,微软也有默认的topic。

数据发布:"devices/"+ DeviceId + "/messages/events/"

消息订阅:"devices/"+ DeviceId + "/messages/devicebound/#";

方法订阅:$iothub/methods/POST/#

同样除了自行编写代码外,为了便于各种传感器和智能模块的接入,我们还采用了YFIOs组态的方式去连接微软Azure IoT hub,这样无需编程,就可以快速和云端进行双向通信了。

第一步:添加智能设备
image.png
添加设备的同时,IO变量会自动创建。

image.png
第二步:添加系统策略:微软云MQTT客户端
image.png
填写必要的参数,勾选需要上传到云端的IO变量。
image.png
第三步:部署运行
image.png
运行后,我们打开DevcieExplorer Twin工具,可以看到数据已经上传了。
image.png
同样我们也可以向设备发送数据,发送完毕后,我们发现设备上的继电器灯被点亮或关闭。
image.png
相关的硬件如下:
image.png

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
3月前
|
存储 JSON 运维
智能物联网平台:Azure IoT Hub在设备管理中的实践
【10月更文挑战第26天】随着物联网技术的发展,Azure IoT Hub成为企业管理和连接数百万台设备的强大平台。本文介绍Azure IoT Hub的设备管理功能,包括设备注册、设备孪生、直接方法和监控诊断,并通过示例代码展示其应用。
120 4
|
4月前
|
存储 消息中间件 安全
JUC组件实战:实现RRPC(Java与硬件通过MQTT的同步通信)
【10月更文挑战第9天】本文介绍了如何利用JUC组件实现Java服务与硬件通过MQTT的同步通信(RRPC)。通过模拟MQTT通信流程,使用`LinkedBlockingQueue`作为消息队列,详细讲解了消息发送、接收及响应的同步处理机制,包括任务超时处理和内存泄漏的预防措施。文中还提供了具体的类设计和方法实现,帮助理解同步通信的内部工作原理。
JUC组件实战:实现RRPC(Java与硬件通过MQTT的同步通信)
|
5月前
|
传感器 监控 安全
物联网通信的基石:LoRa、Sigfox与NB-IoT详解
物联网通信的基石:LoRa、Sigfox与NB-IoT详解
551 0
|
5月前
|
消息中间件 Kafka 数据安全/隐私保护
RabbitMQ异步通信详解
RabbitMQ异步通信详解
149 16
|
6月前
|
物联网 网络性能优化 Python
"掌握MQTT协议,开启物联网通信新篇章——揭秘轻量级消息传输背后的力量!"
【8月更文挑战第21天】MQTT是一种轻量级的消息传输协议,以其低功耗、低带宽的特点在物联网和移动应用领域广泛应用。基于发布/订阅模型,MQTT支持三种服务质量级别,非常适合受限网络环境。本文详细阐述了MQTT的工作原理及特点,并提供了使用Python `paho-mqtt`库实现的发布与订阅示例代码,帮助读者快速掌握MQTT的应用技巧。
115 0
|
6月前
|
物联网 C# Windows
看看如何使用 C# 代码让 MQTT 进行完美通信
看看如何使用 C# 代码让 MQTT 进行完美通信
791 0
|
7月前
|
网络协议 物联网 定位技术
毕设(二)——NB-IOT通信模块(nb卡通信测试)+gps定位
毕设(二)——NB-IOT通信模块(nb卡通信测试)+gps定位
|
9月前
|
消息中间件 存储 JSON
服务器的异步通信——RabbitMQ2
服务器的异步通信——RabbitMQ
68 0
|
9月前
|
消息中间件 缓存 中间件
服务器的异步通信——RabbitMQ1
服务器的异步通信——RabbitMQ
79 0

相关产品

  • 物联网平台