MQTT协议

news2024/11/28 6:31:16

1.MQTT基础知识学习

MQTT协议基础知识视频学习资源:太极创客

在这里插入图片描述

太极创客的MQTT基础篇博文目录链接:零基础入门学用物联网 – MQTT基础篇 – 目录

在这里插入图片描述

备注:建议先学习一下MQTT的基础知识后再学习下面章节部分的内容。

2.MQTT服务器的搭建

MQTT服务器的搭建步骤如下:

  • 使用docker pull emqx 下载emqx (使用emqx 搭建MQTT服务器)

在这里插入图片描述

  • 查看一下emqx 的镜像文件docker images

在这里插入图片描述

  • 启动emqx镜像文件 docker run -d --name emqx -p 18084:1883 -p 18085:8081 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx

在这里插入图片描述

备注信息:

–name emqx:容器名为emqx,可自定义
-p 18083:18083:端口映射,web端后台管理页端口,前面一个18083是本机端口,可自定义
-p 18084:1883:端口映射,MQTT TCP端口,前面一个18082是自定义的本机的端口,可自定义
-p 8883:8883:端口映射,MQTT TCP TLS/SSL 端口,前面一个8883可自定义
-p 8083:8083:端口映射,HTTP and WebSocket 端口,前面一个8083可自定义
-p 8084:8084:端口映射,HTTPS and WSS 端口,前面一个8084可自定义

来源于:Docker搭建MQTT服务器

  • 查看启动的镜像

在这里插入图片描述

  • 防火墙放行,我的服务器是租的腾讯云,所以在腾讯云控制台防火墙处分别开启18083;18084;8883;8083;8084端口号截图如下

在这里插入图片描述

下图是放行18083端口的截图,其他端口号按到此步骤放行即可:

在这里插入图片描述

  • 访问http://www.itguye.top:18083/ 其中www.itguye.top为我的主机服务器域名,访问后会进入后台管理端的登入界面

在这里插入图片描述

默认的账号:admin 密码:public,输入账号和密码进行登入,就会进入如下MQ的管理端:

在这里插入图片描述
设置中文的步骤如下:

在这里插入图片描述

3.SpringBoot的测试程序

功能非常的简单就是温度传感器发布了一个主题,该主题会经过MQTT服务器转发给所有订阅该主题的客户端。这里我采用MQTTX软件来模拟温度传感器发布主题,MQTTX的软件与使用可以参照这篇博文:MQTT 图形化客户端-MQTTX安装使用教程。

在这里插入图片描述

创建一个温度传感器的客户端连接:

在这里插入图片描述

利用MQTTX软件发布smartagriculture/data/temperature主题:

在这里插入图片描述

MQTT服务器中可以创建客户端来获取该主题的数据:

  • 建立客户端连接

在这里插入图片描述

  • 订阅主题smartagriculture/data/temperature

在这里插入图片描述

  • 再次利用MQTTX软件客户端发布主题内容,MQTT服务器中的Web Socket订阅的客户端会收到该消息

在这里插入图片描述

接下来我们通过SpringBoot项目来接收客户端发送的温度数据,这里不再自己创建项目了,我在网上找到一个MQTT的Demo,clone一下该项目即可,项目地址https://github.com/CallMeAdong/mqttDemo。

在这里插入图片描述

clone完毕后,用IDEA打开此项目,项目框架如下图所示:

在这里插入图片描述

如果在项目文件中出现下图提示:

在这里插入图片描述

在pom.xml中添加如下依赖即可解决:

  <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

接下来修改application-local.properties文件中的MQTT配置信息:

在这里插入图片描述

在MqttSubClient类中修改订阅主题为smartagriculture/#

在这里插入图片描述

运行项目,并使用MQTTX软件发布主题,项目控制台会收到如下图所示的内容:

在这里插入图片描述

MQTTX软件模拟的温度传感器怎么来接受另一个客户端发送来的数据呢,其实很简单只需要温度传感器订阅另一个客户端发起的主题即可。下图的控制类中提供了二个主题接口,访问其中一个接口就会发起一个test.queue的主题。

在这里插入图片描述

使用MQTTX软件订阅该主题,截图如下:

在这里插入图片描述

访问发送主题的接口 http://localhost:8099/mqttDemo/testPublishMessage1,发起主题。

在这里插入图片描述

MQTTX软件就会收到项目发来的主题消息,如下图所示。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/41943.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【vue + echarts】图表自适应缩放(跟随浏览器的窗口缩放,项目侧边栏折叠后的窗口缩放),图表重绘

效果图: 先清楚两个东西,浏览器窗口的缩放和项目侧边栏折叠后窗口的缩放,这两个是不一样的 第一种,浏览器窗口缩放后,当前窗口会放大了或者缩小了,这时会走浏览器缩放的代码部分, 第二种,而项目侧边栏折叠后窗口的缩放,虽然项目里面的窗口缩放了,但是,浏览器的窗口并没有发生…

tACS恢复老年人认知控制能力的EEG功能和DTI结构网络机制

认知控制能力是大多数日常任务中的关键能力&#xff0c;与年龄相关的认知控制能力下降威胁到个人的独立性。作者之前在老年人和年轻人中都发现&#xff0c;经颅交流电刺激&#xff08;tACS&#xff09;可以改善认知控制&#xff0c;在远离受刺激部位和频率之外的神经区域观察到…

使用python玩转二维码!速学速用!⛵

&#x1f4a1; 作者&#xff1a;韩信子ShowMeAI &#x1f4d8; Python3◉技能提升系列&#xff1a;https://www.showmeai.tech/tutorials/56 &#x1f4d8; 本文地址&#xff1a;https://showmeai.tech/article-detail/398 &#x1f4e2; 声明&#xff1a;版权所有&#xff0c;…

前端开发如何做新手引导

通常&#xff0c;在产品发布新版本或者有新功能上线时&#xff0c;都会开发一个新手引导功能来引导用户了解应用的功能。在前端开发中&#xff0c;如何快速地开发新手引导功能呢&#xff0c;下面介绍几个开箱即用的新手引导组件库。 1&#xff0c;Intro.js Intro.js是一个使用…

外汇天眼:外汇杠杆的“诱惑”到底有多大,为何做外汇的人都那么上瘾?

近些年随着外汇保证金在中国的持续发展&#xff0c;中国的外汇保证金交易就像当初的股票市场一样&#xff0c;从无到有&#xff0c;不断的发展壮大&#xff0c;再加上国内金融市场对外开放步伐加快&#xff0c;在中国国内参与外汇市场的投资者也是连年上升&#xff0c;那么这个…

【EI会议2023】12.20之后ddl

csdn 摘出来上文中的一些ddl ICET 2023(成都 5月12日-5月15日) http://www.icet.net/track9.html 截稿时间2022.12.20 通知录用:2023.1.20 SEGRE 2023(长沙 4月21日-4月23日) http://www.icsegre.org/ 截稿时间2023.2.26 通知录用:2023.4.3 ICIBA 2023(重庆 5月26日-…

全同态加密:GSW

参考文献&#xff1a; Micciancio D, Peikert C. Trapdoors for lattices: Simpler, tighter, faster, smaller[C]//Annual International Conference on the Theory and Applications of Cryptographic Techniques. Springer, Berlin, Heidelberg, 2012: 700-718.Gentry C, S…

Mysql-解决Truncated incorrect DOUBLE value xxx

问题 出现这种问题一般来说就是多表操作的时候, 使用的字段类型不一致导致的(查询除外),我们来看下真实案例 在hd_user表中parentId是binint类型 而在hd_user_increment_copy1表中parentId是varchar类型, 如果只是查询的话那么是不会报错的,我把查询sql提出了运行是可以的 …

[附源码]计算机毕业设计springboot保护濒危动物公益网站

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Java 编程性能调优

把 Java 性能调优分成 5 个层级&#xff1a;Java 编程、多线程、JVM 性能检测、设计模式、数据库性能&#xff0c;每个层级下都覆盖了最常见的优化问题。下面分别给你梳理一下&#xff1a; 可参考地址&#xff1a;Java性能调优全攻略来了_着火点的博客-CSDN博客_java性能调优 …

软件设计与体系结构编程题汇总

现在需要开发一款游戏软件&#xff0c;请以单例模式来设计其中的 Boss 角色。角色的属性和动作可以任意设计。 要求&#xff1a;该 Boss 类可以在多线程中使用。&#xff08; 8 分&#xff09; Public class Boss{Private static Boss instance; //(2 分&#xff09;Private …

vivo大数据日志采集Agent设计实践

作者&#xff1a;vivo 互联网存储技术团队- Qiu Sidi 在企业大数据体系建设过程中&#xff0c;数据采集是其中的首要环节。然而&#xff0c;当前行业内的相关开源数据采集组件&#xff0c;并无法满足企业大规模数据采集的需求与有效的数据采集治理&#xff0c;所以大部分企业都…

车间工厂看板还搞不定,数据可视化包教包会

在智能工厂的建设过程中&#xff0c;为了让每条生产线的生产进度和状态更加清晰&#xff0c;经常需要将生产信息情况显示在电视看板上&#xff0c;称为智能工厂-车间数据可视化大屏方案。 根据工厂和车间的大小&#xff0c;可能会使用 10到100 台甚至更多的电视看板来显示数据…

Nexus3搭建maven私服

Nexus是一个强大的Maven仓库管理器&#xff0c;它极大地简化了自己内部仓库的维护和外部仓库的访问&#xff0c;也就是我们常说的私服 1、下载nexus3.x&#xff1a; Nexus官方下载地址 官方下载极其慢&#xff0c;这里提供网盘下载&#xff1a; 链接https://pan.baidu.com/s/…

Briefings in bioinformatics2021 | MolGNet+:基于分子全局表征的高效自监督框架,用于药物发现

原文标题&#xff1a;An effective self-supervised framework for learning expressive molecular global representations to drug discovery 代码&#xff1a;https://github.com/pyli0628/MPG.git 一、问题提出 &#xff08;分子性质预测的背景都是老生常谈的&#xff0…

loam 框架流程描述

前端流程(scanRegistration.cpp) 多线激光雷达即有多个激光发射器同时工作&#xff0c;如常见的 Velodyne16,就是共有 16 个激光发射器&#xff0c;一般这些发射器竖排排列&#xff0c;然后一起水平旋转。 激光雷达在一定的时间内旋转一圈&#xff0c;即一帧的点云数据。值得注…

Flutter教程之使用不同的方法维护 Flutter 应用程序状态

在开发应用程序时,主要关注的是当我们使用Tabs或Bottom Navigation Bar类的Widgets (Flutter 中几乎所有东西都是 widgets)时我们的应用程序将如何执行。 至于示例,让我们考虑一下我们有三个选项卡 UsersTab2Tab3在BottomNavBar和第一个索引上,我们有一个API 调用请求,它…

高效!启科量子线路模拟器 QuSprout 与 Amazon HPC 集成,赋能量子计算

KY1, Bertran Shao2, Adam Sun Amazon HERO&#xff1b;2.开发者生态负责人&#xff1b;3.Solutions Architect2022.11.17&#xff0c;启科量子正式开源其内部团队研发的量子线路模拟器&#xff1a;QuSprout 软件。结合早前其开源的启科量子编程框架 QuTrunk&#xff0c;开发者…

能源与经济面板数据集(中国能源统计年鉴面板数据+区域经济、人口与二氧化碳排放量面板数据)

一、中国能源统计年鉴面板数据 1、数据来源&#xff1a;中国能源统计年鉴 2、时间跨度&#xff1a;1991-2020 3、区域范围&#xff1a;全国 4、指标说明&#xff1a; 部分数据如下&#xff1a; 能源平衡表&#xff1a; 部分指标如下&#xff1a; 国内生产总值增长速度&am…

HTML网页设计制作——响应式网页影视动漫资讯bootstrap网页(9页)

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置&#xff0c;有div的样式格局&#xff0c;这个实例比较全面&#xff0c;有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 文章目录一、网页介绍一…