Linux下MQTT服务器的搭建

一、目的

  • 目的:背景:在华清学习之余,自行研究了智能家居的东西,为实现MQTT服务器私有化而研究此功能
  • 技术定位:初级
  • 整体思路:主要利用EMQX来实现

二、MQTT说明

2.1 MQTT

MQTT即消息队列遥测传输技术协议,基于发布/订阅(publish/subscribe)。

目的:为连接远程设备提供实时的可靠的消息服务。

2.2 MQTT协议原理

  • 发布者(Publish)
  • 代理服务器(Broker)
  • 订阅者(Subscribe)

其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。

暂时无法在文档外展示此内容

 

2.3 MQTT的主要特性

  • 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。
  • 对付在内容屏蔽的消息传输。
  • 使用TCP/IP提供网络连接。
  • 有三种消息发布质量:

0:最多⼀次,尽操作环境所能提供的最⼤努⼒分发消息。消息可能会丢失。

1:⾄少⼀次,保证消息可以到达,但是可能会重复。

2:仅⼀次,保证消息只到达⼀次。

2.4MQTT协议

2.4.1传输内容

MQTT传输的消息分为:主题(Topic)和负载(Payload)两部分组成:

Topic:消息的类型,订阅者订阅后就会收到该主题的消息内容。

Payload:消息的内容,指订阅者具体要使用的内容。

2.4.2数据包结构

固定头(Fixed Header)。存在于所有MQTT数据包中,标示数据包类型及数据包的分组类标识。

可变头(Variable header)。存在于部分MQTT中,数据包类型决定了可变头是否存在及其具体内容。

消息体。存在于部分MQTT数据包中,表示客户端收到的具体内容。

三、安装

在衡量多个种类的MQTT服务器后,暂时选用EMQX作为服务器。但是此款服务器被中国代理,页面多处有广告。好在可以使用apt指令直接安装。

下载 EMQX

上连接中有多个系统的安装方法,直接安装就行,没有技术难度。注意,网页控制界面使用的是18083接口,mqtt使用的是1883接口。要是租用的服务器需要开放这些端口。

 

启动完成后会出现以下字样。

EMQX 5.0.0 is started successfully!

在浏览器中输入:ip地址:18083 就可以进入到管理界面。

默认账号:admin

密码:publish

参考文档:

搭建MQTT服务器_39度C的博客-CSDN博客_mqtt服务器搭建

当使用i.MX6ULL开发板学习MQTT时,您可以按照以下步骤进行计划: 1. 硬件准备: - 购买i.MX6ULL开发板,并确保其与您的计算机连接正常。 - 确保您具备基本的硬件知识,例如如何连接传感器或外设到开发板上。 2. 环境搭建: - 安装适用于i.MX6ULL开发板的操作系统,例如Linux发行版。 - 配置网络连接以便开发板能够访问互联网。 3. MQTT基础知识: - 了解MQTT协议的基本概念、工作原理和消息发布/订阅模型。 - 学习MQTT客户端库的使用方法,例如Paho MQTT。 4. 开发工具选择: - 选择适合i.MX6ULL开发板的编程语言,例如C/C++或Python。 - 选择一个MQTT客户端库来简化与MQTT代理的通信。 5. 编写代码: - 在开发板上编写代码以连接到MQTT代理,并实现消息发布和订阅功能。 - 使用所选的编程语言和MQTT客户端库进行开发。 - 可以尝试使用传感器或外设与MQTT通信,以加深对MQTT的理解。 6. 测试和调试: - 测试您的代码是否能够成功连接到MQTT代理并进行消息发布和订阅。 - 调试任何可能出现的错误或问题,确保代码的稳定性和可靠性。 7. 扩展和应用: - 尝试扩展您的应用程序,例如实现更复杂的消息处理或与其他服务的集成。 - 探索MQTT物联网应用中的应用场景,例如远程监控、设备控制等。 8. 学习资源: - 查阅MQTT的官方文档和规范,深入了解其更高级的特性和用法。 - 参考在线教程、博客文章或书籍,以获取更多关于MQTT和嵌入式开发的知识。 请注意,这只是一个大致的计划,您可以根据自己的需求和兴趣进行调整和扩展。祝您学习愉快!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值