0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何搭建一个MQTT服务器?

RTThread物联网操作系统 来源:Rice嵌入式开发技术分享 作者:RiceDIY 2021-05-10 14:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

背景

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。

MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。

关于MQTT我分为2~3篇来描述,先从实践来描述。

MQTT服务器搭建

MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,所以需要一个服务器,MQTT服务器可以选择开源平台--EMQx和ThingsBoard。这两个开源平台部署比较方便。本次的讲解主要基于EMQx开源平台。

EMQx配置EMQx需要进行简单的配置,比如设置MQTT client连接服务器时,需要的username、password等。

因为我的环境是在windows下,所以下面的配置都是基于windows下的,不过其他平台的大同小异。

配置username和password等参数

在解压的目录中打开:emqxetcpluginsemqx_auth_username.conf

从examples中可以看出,可以设置多个username和password

加密方式设置为plain(透传)

配置匿名登录

在解压的目录中打开:emqxetcemqx.conf

6b8b8d24-b03c-11eb-bf61-12bb97331649.png

为true,即允许匿名登录,方便调试,如果设置成false,需要进行鉴权。

操作emqx broker:

// 启动EMQx Broker:

emqx start

// 停止EMQx Broker:

emqx stop

// 重启EMQx Broker:

emqx restart

更多的操作命令参考链接:https://docs.emqx.cn/broker/v4.3/getting-started/command-line.html

EMQx管理界面EMQx中包含了一个Web server,当启动EMQx后,通过浏览器登录《服务器IP:18083》就能登录web server。

其中:默认用户名为 admin, 密码为 public

MQTT客户端搭建

服务器搭建好了,那么还需要一个MQTT客户端,为了快速学习,我们可以使用别人做好的MQTT客户端软件-- MQTT.fx。下载地址:http://www.jensd.de/apps/mqttfx/

下载完,根据提示安装即可。

启动一个MQTT客户端:

打开设置

配置MQTT client

连接服务器

连接成功后,可以在EMQx web server上查看连接信息,如果信息跟客户端的一致,说明连接成功

启动第二个MQTT客户端:

操作跟第一个客户端一致,启动完之后就可以在EMQx web server上查看连接信息

实验

在上述中服务器和客户已经成功建立连接。

我们通过一个实验演示M2M的通信。

其中client01客户端,订阅一个topic,topic名称为rice:

可以通过EMQx web server查看订阅的topic

client02客户端,向topic:rice发布消息。

总结

通过EMQx搭建服务器和MQTT.fx客户端,我们很轻松的搭建好MQTT环境,这样我们很方面的学习MQTT。

MQTT协议是一个基于TCP的应用层协议。可以跟上一篇文章的CoAP协议进行对比学习。CoAP是基于UDP的。不过也有基于UDP的MQTT。

原文标题:教你动手写网络协议栈-MQTT报文解析-实践

文章出处:【微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 网络
    +关注

    关注

    14

    文章

    8134

    浏览量

    93099
  • MQTT
    +关注

    关注

    5

    文章

    723

    浏览量

    24790

原文标题:教你动手写网络协议栈-MQTT报文解析-实践

文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用paho-mqtt里例程连接服务器失败怎么解决?

    【rt-thread】【paho-mqtt】最近由于学习需要,了解了关于rt-thread软件包paho-mqtt的使用,但是使用官方例程时,出现连接不上服务器的情况。具体报错如下: msh
    发表于 09-18 06:38

    mqtt服务器关机,rt-thread5.1系统会死机怎么解决?

    无意间发现只要MQTT服务器掉线或者关机,RT-THREAD5.1系统就会死机,无论是WIFI链接或者网口链接,终端提示 Warning: There is no enough buffer
    发表于 09-09 08:00

    只要MQTT服务器掉线或者关机,RT-THREAD5.1系统就会死机,怎么解决?

    无意间发现只要MQTT服务器掉线或者关机,RT-THREAD5.1系统就会死机,无论是WIFI链接或者网口链接,终端提示 Warning: There is no enough buffer
    发表于 08-22 06:35

    完整指南:如何搭建树莓派MQTT代理服务器

    MQTT通过TCP/IP运行,使用代理服务器管理客户端之间的消息分发,允许设备订阅特定主题,并且仅在发布相关数据时接收更新。其关键特性包括:低带宽占用:非常适合
    的头像 发表于 08-04 17:03 639次阅读
    完整指南:如何<b class='flag-5'>搭建</b>树莓派<b class='flag-5'>MQTT</b>代理<b class='flag-5'>服务器</b>?

    恒讯科技分析:云储存服务器搭建教程

    搭建云存储服务器相对复杂但极具实用性的项目,以下是简化的
    的头像 发表于 07-07 11:07 1068次阅读

    存储服务器怎么搭建?RAKsmart实战指南

    搭建存储服务器需兼顾硬件性能、数据冗余与安全访问。以RAKsmart服务器为例,整体流程可分为五步:需求评估→硬件选型→RAID配置→系统部署→网络设置。以下是小编对RAKsmart存储服务器
    的头像 发表于 04-01 10:09 974次阅读

    《DNESP32S3使用指南-IDF版_V1.6》第五十五章 基于MQTT协议连接阿里云服务器

    实时可靠的消息服务。做为种低开销、低带宽占用的即时通讯协议,MQTT在物联网、小型设备、移动应用等方面有广泛的应用,MQTT协议属于应用层。(2)
    发表于 03-18 09:22

    服务器怎么搭建

    服务器搭建涉及多个方面的复杂过程,从硬件选择到软件配置,再到安全防护和日常维护,每步都需细心规划与实施。下面,小库为您简要介绍
    的头像 发表于 03-04 13:04 1213次阅读

    【教程】使用NE2系列串口服务器MQTT模式接入云平台实例

    在物联网技术持续发展的当下,设备之间的高效通信成为关键。亿佰特NE2系列串口服务器MQTT模式,为众多设备的互联互通提供了便捷且可靠的解决方案。设备与MQTT模式简介NE2系列串口
    的头像 发表于 02-27 19:35 988次阅读
    【教程】使用NE2系列串口<b class='flag-5'>服务器</b><b class='flag-5'>MQTT</b>模式接入云平台实例

    跨地域企业组网搭建服务器的步骤和建议

    跨地域企业组网搭建服务器需要综合考虑网络架构、安全性、成本和性能等因素。以下是详细的搭建步骤和建议: 1、明确需求和规划 确定服务器用途:明确服务器
    的头像 发表于 02-19 10:58 748次阅读

    windows搭建ftp服务器的步骤

    在Windows系统上搭建FTP(文件传输协议)服务器通常涉及系列步骤,包括安装必要的服务、配置服务器设置、以及确保网络安全设置允许FTP
    的头像 发表于 02-01 15:49 2189次阅读

    ftp服务器怎么搭建

    搭建FTP(文件传输协议)服务器涉及多个步骤的过程,这些步骤包括选择合适的FTP服务器软件、安装软件、配置
    的头像 发表于 02-01 15:43 1414次阅读

    华为 Flexus 云服务器搭建萤火商城 2.0

    在今天这个意义非凡的日子,我怀揣着满心的期待与憧憬,毅然踏上了利用华为 Flexus 云服务器搭建轻量级、高性能、前后端分离的电商系统萤火商城 2.0 的征程。这旅程,注定充满了挑战与惊喜,犹如
    的头像 发表于 01-13 13:36 880次阅读
    华为 Flexus 云<b class='flag-5'>服务器</b><b class='flag-5'>搭建</b>萤火商城 2.0

    采用华为云 Flexus 云服务器 X 实例部署 MQTT 服务器完成设备上云

    、前言 1.1 开发需求 这篇文章讲解: 采用华为云最新推出的 Flexus 云服务器 X 实例 EMQX 服务器搭建 MQTT
    的头像 发表于 12-26 18:12 1011次阅读
    采用华为云 Flexus 云<b class='flag-5'>服务器</b> X 实例部署 <b class='flag-5'>MQTT</b> <b class='flag-5'>服务器</b>完成设备上云

    采用 Flexus 云服务器 X 实例搭建 RTSP 直播服务器

    、前言 这篇文章讲解:  采用华为云最新推出的 Flexus 云服务器 X 实例搭建 RTSP 服务器,完成视频直播需求。 随着实时视频流传输需求的增长,RTSP(实时流协议)
    的头像 发表于 12-24 17:36 1015次阅读
    采用 Flexus 云<b class='flag-5'>服务器</b> X 实例<b class='flag-5'>搭建</b> RTSP 直播<b class='flag-5'>服务器</b>