0
点赞
收藏
分享

微信扫一扫

Linux系统中利用MQTT连接腾讯云的方法


目录

​​1、注册一个腾讯云账号并登录​​

​​2、腾讯云Iot Explorer平台实例开发​​

​​(1)进入控制台​​

​​(2)选择物联网开发平台​​

​​(3)点击选择公共实例进入项目列表​​

​​(4)新建项目​​

​​(5)点击进入 Linux_MQTT 项目,然后新建一个产品​​

​​(6)点击进入MQTT测试​​

​​(7)新建设备​​

​​(8)查看设备三元组​​

​​(9)启用设备交互开发-腾讯连连小程序面板​​

​​(10)使用腾讯连连小程序添加设备​​

​​3、让EasyMqttClient接入腾讯云Iot Explorer平台​​

​​3.1、编译连接参数生成工具并生成连接参数​​

​​3.2、将连接参数填写到EasyMqtt的测试函数中​​

​​3.3、添加订阅Topic,实现APP下发指令​​

​​3.4、编译EasyMqttClient工程进行测试​​

在这里,测试的MQTT客户端环境我已经帮大家搭建好了:

https://github.com/Yangyuanxin/EasyMqttClient

关于这个项目的介绍可以参考文章:

​​一套极简的MQTT使用接口EasyMqttClient​​

可以直接通过git clone下载工程,目前工程拥有两套构建机制,一套是直接通过CMake进行构建,另一套是直接通过Makefile,直接在Linux环境下编译即可。

接下来,我们直接通过腾讯云IoT Explorer来搭建基于一个​MQTT​的开发环境。

1、注册一个腾讯云账号并登录

网址:

https://cloud.tencent.com/developer

过程:略。

2、腾讯云Iot Explorer平台实例开发

(1)进入控制台

Linux系统中利用MQTT连接腾讯云的方法_腾讯云

(2)选择物联网开发平台

Linux系统中利用MQTT连接腾讯云的方法_腾讯云_02

(3)点击选择公共实例进入项目列表

Linux系统中利用MQTT连接腾讯云的方法_小程序_03

(4)新建项目

Linux系统中利用MQTT连接腾讯云的方法_腾讯云_04

Linux系统中利用MQTT连接腾讯云的方法_腾讯云_05

Linux系统中利用MQTT连接腾讯云的方法_小程序_06

以上我们创建了一个Linux_MQTT项目。

(5)点击进入 Linux_MQTT 项目,然后新建一个产品

Linux系统中利用MQTT连接腾讯云的方法_腾讯云_07

Linux系统中利用MQTT连接腾讯云的方法_linux_08

Linux系统中利用MQTT连接腾讯云的方法_linux_09

按如图所示新建一个产品。

Linux系统中利用MQTT连接腾讯云的方法_云计算_10

(6)点击进入MQTT测试

这时候我们就能看到云平台为我们生成的物模型模板,当然我们也可以在上面修改Json文件进行定制:

Linux系统中利用MQTT连接腾讯云的方法_云计算_11

(7)新建设备

Linux系统中利用MQTT连接腾讯云的方法_linux_12

Linux系统中利用MQTT连接腾讯云的方法_云计算_13

Linux系统中利用MQTT连接腾讯云的方法_linux_14

(8)查看设备三元组

点击进入设备:

Linux系统中利用MQTT连接腾讯云的方法_小程序_15

查看产品ID、设备密钥、设备名称,这三个东西叫做腾讯云平台的三元组,我们的MQTT就需要这三个基本信息。

Linux系统中利用MQTT连接腾讯云的方法_云计算_16

(9)启用设备交互开发-腾讯连连小程序面板

Linux系统中利用MQTT连接腾讯云的方法_linux_17

Linux系统中利用MQTT连接腾讯云的方法_小程序_18

如果不选择其它面板进行开发,则默认就是标准模板,无需进行任何设置,点击保存即可。

(10)使用腾讯连连小程序添加设备

Linux系统中利用MQTT连接腾讯云的方法_小程序_19

Linux系统中利用MQTT连接腾讯云的方法_腾讯云_20

然后用手机打开微信搜索腾讯连连小程序,然后使用手机扫码将设备添加到腾讯连连小程序中:

Linux系统中利用MQTT连接腾讯云的方法_小程序_21

3、让EasyMqttClient接入腾讯云Iot Explorer平台

3.1、编译连接参数生成工具并生成连接参数

在 ubuntu Linux 下clone腾讯云物联网平台 MQTT 连接参数生成工程:

git clone https://github.com/tencentyun/qcloud_iot_mqtt_sign.git

然后在终端执行:

修改​​make.settings​​替换为目标编译工具:

PLATFORM_CC         = gcc
PLATFORM_AR = ar
PLATFORM_OS = linux

然后执行 make 修改​​cmake.settings​​替换为目标编译工具与系统平台:

SET(PLATFORM_CC         "gcc")
SET(PLATFORM_OS "linux")

然后执行​​bash cmake_build.sh​

Linux系统中利用MQTT连接腾讯云的方法_腾讯云_22

 接下来进入​​output/bin​​​目录下,执行​​qcloud-mqtt-sign​​生成MQTT连接参数:

该命令后面要带三个参数,分别是上面所提到的三元组,顺序是产品ID、设备名称、设备密钥,中间要以空格作为间隔

Linux系统中利用MQTT连接腾讯云的方法_linux_23

然后将生成的​​client ID​​​、​​username​​​和​​password​​保存起来。

3.2、将连接参数填写到EasyMqtt的测试函数中

Linux系统中利用MQTT连接腾讯云的方法_腾讯云_24

然后修改代码:

Linux系统中利用MQTT连接腾讯云的方法_云计算_25

此部分规则参考腾讯云 MQTT 接入文档:

https://cloud.tencent.com/document/product/634/32546

3.3、添加订阅Topic,实现APP下发指令

这里使用腾讯云平台的物模型Topic、系统级Topic以及自定义Topic

Linux系统中利用MQTT连接腾讯云的方法_腾讯云_26

我们先使用其中一个订阅的Topic,修改代码:

Linux系统中利用MQTT连接腾讯云的方法_小程序_27

Linux系统中利用MQTT连接腾讯云的方法_linux_28

3.4、编译EasyMqttClient工程进行测试

使用cmake生成Makefile:

Linux系统中利用MQTT连接腾讯云的方法_小程序_29

执行make编译工程:

Linux系统中利用MQTT连接腾讯云的方法_小程序_30

执行测试程序:​​./a.out​

Linux系统中利用MQTT连接腾讯云的方法_linux_31

然后在手机端和网页端可以看到设备显示在线:

Linux系统中利用MQTT连接腾讯云的方法_linux_32

Linux系统中利用MQTT连接腾讯云的方法_云计算_33

当点击手机上的开关灯时,Linux终端上能够收到MQTT回调函数打印的来自腾讯云IoT Explorer平台下发的消息:

Linux系统中利用MQTT连接腾讯云的方法_小程序_34

尝试修改小程序面板上的数据:

Linux系统中利用MQTT连接腾讯云的方法_腾讯云_35

Linux系统中利用MQTT连接腾讯云的方法_小程序_36

关于订阅发布以及数据模板部分可参考以下文档学习:

https://cloud.tencent.com/document/product/1081/44921

举报

相关推荐

0 条评论