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

这篇具有很好参考价值的文章主要介绍了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)进入控制台

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

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

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

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

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

(4)新建项目

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

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

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

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

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

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

(6)点击进入MQTT测试

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

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

(7)新建设备

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

(8)查看设备三元组

点击进入设备:

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

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

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

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

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

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

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

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

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

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

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

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux 接下来进入output/bin目录下,执行qcloud-mqtt-sign生成MQTT连接参数:

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

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

然后将生成的client IDusernamepassword保存起来。

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

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

然后修改代码:

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

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

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

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

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

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

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

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

3.4、编译EasyMqttClient工程进行测试

使用cmake生成Makefile:

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

执行make编译工程:

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

执行测试程序:./a.out腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux然后在手机端和网页端可以看到设备显示在线:

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

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

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

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

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

腾讯通过三元组能实现mqtt连接吗,Linux操作系统嵌入式开发之经典,腾讯云,云计算,linux

关于订阅发布以及数据模板部分可参考以下文档学习:文章来源地址https://www.toymoban.com/news/detail-745538.html

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

到了这里,关于Linux系统中利用MQTT连接腾讯云的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • esp8266WiFi模块通过MQTT连接华为云

    最近 突然想做物联网的项目,做一个类似远程控制家里的设备,比如控制灯,电视机,空调这样的,同时能够将家里的温湿度等信息可以实时上传到手机里。 刚开始认为这个不就是一个很简单的项目嘛, 几个小时 之内就能做出来,可是没想到诸事不顺,遇到各种各样的bu

    2023年04月20日
    浏览(61)
  • STM32通过ESP8266连接MQTT服务器

            ESP8266有多种连接MQTT方式,本文介绍使用的是AT MQTT版本固件的ESP01s,基于此固件版本进行说明。本文所需硬件:STM32F103RCT6、LED、ESP01s、DHT11,实现功能:温湿度上传和远程开关灯的基本功能。 B站视频教程:STM32+ESP8266+DHT11_哔哩哔哩_bilibili gitee: STM32_Share: STM32、DHT

    2024年02月09日
    浏览(51)
  • esp8266(MQTT固件)通过at指令连接阿里云平台

    实验: esp8266 连接阿里云。 准备工作: esp8266 wifi模组 固件烧录工具 串口调试助手 阿里云账号及物联网设备申请 某宝随便买个,多的是: usb连接到电脑上之后,可以识别到串口,说明有固件。 由于新买的模组,芯片内的固件可能并不是我们想要的,此时可自行官网下载固

    2024年01月19日
    浏览(62)
  • STM32通过esp8266连接WiFi接入MQTT服务器

    上文我们讲到如何搭建本地MQTT服务器http://t.csdn.cn/aHNcO,现在介绍如何通过stm32连接MQTT 一.首先我们初始化esp8266这里我们使用的是USART4与其通信代码如下 二.通过数据间隔时间来判断是否是一串数据如果间隔时间大于30ms则判定为不是一串数据,接收缓冲器清零。 代码如下!

    2024年02月07日
    浏览(55)
  • STM32+ESP8266+DHT11通过MQTT协议连接新版ONENET云平台上传数据

    项目讲解视频 新版 云平台搭建视频演示 单片机代码修改演示视频 APP参数修改 实物演示 前段时间ONENET云平台进行了升级更新,此前平台的多协议接入(包含旧版MQTT、HTTP、EDP、Modbus、TCP透传等)接口已经隐藏,后续应该会下架,为了能够后续继续使用ONENET云平台,就需要学

    2024年02月09日
    浏览(44)
  • VS Code通过ssh远程连接(linux系统)不能跳转问题

    使用 Visual Studio Code 通过ssh 远程连接开发板(linux系统),打开工程,需要查看某个函数的代码时不能跳转到具体的位置。 主要原因是远程连接时,本地安装的插件并没有在远程安装,所以只需要在远程安装即可。 如下图所示,在左边侧栏找到“拓展”或直接快捷键(Ctrl+

    2024年02月09日
    浏览(37)
  • 设备通过MQTT与ESP8266注册上云成功后出现离线连接不上问题

    之前在学习实现类如基于STM32开发的温度传感与上云开发时遇到了一个蛮头疼的问题。项目综合来说就是基于STM32的多点测温依据MQTT协议链接腾讯云,配套实现温度在微信小程序的显示。 最初开发时设备正常上云,在线后可实现温度数据上下行,相关微信小程序也可获得温度

    2024年02月11日
    浏览(44)
  • 腾讯云的cdn怎么配置|腾讯云CDN配置教程

    众所周知,WordPress系统不挂加速或者是服务器不好速度贼慢,所以要想办法解决访问速度的问题,经过我不断的研究腾讯云的CDN,因为我用的是zibll子比主题,不懂的就挂会导致无法使用第三方登录,因为有缓存导致一直不回调一直卡在那个登录界面和支付没反应要么出现二

    2024年02月02日
    浏览(37)
  • 阿里云/腾讯云国际站代理:国际腾讯云的优势

    国际腾讯云具有以下优势: 1. 全球覆盖:腾讯云在全球拥有30个区域,覆盖6个大洲,能够提供全球范围的云服务,满足不同地区用户的需求。 2. 大规模网络:腾讯云拥有庞大的全球网络,包括多个高速骨干网络节点,保证稳定、低延迟的网络连接,有助于提供高质量的云服

    2024年02月08日
    浏览(62)
  • 零基础STM32+ESP12F+MQTT连接阿里云服务器完整流程(三、STM32通过代码连接阿里云服务器)

    要想实现通过代码实现STM32连入阿里云服务器,要首先实现使用AT指令通过串口连接阿里云,大家可以参考我之前的两篇文章,链接如下 链接: 零基础STM32+ESP12F+MQTT连接阿里云服务器完整流程(一、给ESP12F烧写AT/MQTT固件) 链接: 零基础STM32+ESP12F+MQTT连接阿里云服务器完整流程(

    2024年02月03日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包