物联网项目设计 (六) stm32+mqtt连接阿里云IOT完成话题发布与订阅

概述

上一部分成功连接阿里云,完成了阿里云的连接与ping操作。
下面介绍使用pahomqtt连接阿里云IOT,完成消息的发布和订阅。完成云端和设备端的通讯。

实现步骤

1.使用MQTT.fx模拟设备端,与阿里云平台进行通讯,验证可行性
2.使用stm32编写代码,完成真机调试

准备工作

硬件准备

使用stm32系列MCU,并有带网络功能的外设

软件准备

  • CubeMX用于配置工程
  • MDK5编写编译代码
  • MQTT.fx作为虚拟设备端完成仿真调试
  • 阿里云IOT平台

实现部分

使用MQTT.fx完成仿真

1.根据阿里云的文档创建一个产品,创建一个这个产品的设备,并添加一个自定义功能
在这里插入图片描述在这里插入图片描述
为了便于验证,我创建的是一个最简单的属性,一个LED灯的开关
在这里插入图片描述
2.根据生成的设备三元组,使用MQTT.fx添加参数连接阿里云
在这里插入图片描述
以上参数如何填写在阿里云文档里都能找到,我在前面的内容中也说过,这里不再赘述。见物联网设计 (五)

填写完,点击Connect,连接阿里云,成功后看到阿里云控制台显示在线
在这里插入图片描述
2.在MQTT.fx中添加要订阅和发布的话题
在这里插入图片描述
在设备的Topic列表中发现,有两个话题分别是我们需要的上报属性的话题和云端设置属性的话题。
根据这个,在MQTT.fx中订阅/sys/a1w0XJbXwh0/SmartLED_01/thing/service/property/set这个话题
发布sys/a1w0XJbXwh0/SmartLED_01/thing/event/property/post这个话题

3.在阿里云控制台点击在线运维,选择刚刚我们创建的设备的功能,方法选择:设置
在这里插入图片描述
如上图,会自动生成一个JSON格式的数据。点击发送指令。我们会在MQTT.fx端接收到消息。
在这里插入图片描述
接收成功,下面我们要向post话题发布消息
发布消息的JSON格式仿照我们接收回来的消息格式

{
   
  "method" : "thing.service.property.post",
  "id" : "12345",
  "params" : {
   
    "LEDSwitch" : 1
  },
  "version" : "1.0.0"
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值