码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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)进入控制台

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

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

    (4)新建项目

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

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

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

    (6)点击进入MQTT测试

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

    (7)新建设备

    (8)查看设备三元组

    点击进入设备:

    腾讯云MQTT连接实例.pdf
    pdf 0星 超过10%的资源 1.64MB
    下载

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

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

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

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

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

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

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

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

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

    然后在终端执行:

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

    1. PLATFORM_CC         = gcc
    2. PLATFORM_AR         = ar
    3. PLATFORM_OS         = linux

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

    1. SET(PLATFORM_CC         "gcc")
    2. SET(PLATFORM_OS         "linux")

    然后执行bash cmake_build.sh

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

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

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

    腾讯云官方IOT MQ接入文档
    pdf 2星 超过35%的资源 660KB
    下载

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

    然后修改代码:

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

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

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

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

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

    3.4、编译EasyMqttClient工程进行测试

    使用cmake生成Makefile:

    执行make编译工程:

    执行测试程序:./a.out然后在手机端和网页端可以看到设备显示在线:

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

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

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

    https://cloud.tencent.com/document/product/1081/44921
    
  • 相关阅读:
    低代码在物品领用领域数字化转型的案例分析
    Java基础知识面试总结
    日常工作笔记0807
    CAP理解
    干货 | 利用 pytest 玩转数据驱动测试框架
    大小端问题(存储模式)
    4. 寻找两个正序数组的中位数
    【日常记录】解决‘GLIBC_2.34‘ not found,并且gcc制定glibc版本编译
    华为防火墙基础自学系列 | PKI核心部分CA
    iPhone取消Siri语音关机是好是坏
  • 原文地址:https://blog.csdn.net/weixin_41114301/article/details/126325255
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号