ubuntu系统下搭建本地物联网mqtt服务器的步骤

article/2025/10/23 12:03:49

摘要:mqtt broker(服务器)是物联网通信的核心,网上有很多种开源的服务器可供选择,本文介绍如何在ubuntu系统下安装emqx服务器,让大家可以在局域网环境下搭建“云服务器”,体验物联网的乐趣。本文还分享了安装时遇到的错误解决方法,以及使用mqtt.fx模拟一台物联网设备与服务器通信。

目录

 1.emqx也是一个mqtt broker

 2.实际上安装前还会遇到问题

 3.真正的安装非常快

 4.想不想图形化管理自己的服务器

 5.使用mqtt.fx模拟一个物联网设备订阅和发布主题


1.emqx也是一个mqtt broker

要想在本地体验”云服务器“,那么mqtt borker必不可少。它就像是物联网通信的“中转站”,所有的信息“发布”在这个broker里面,订阅“主题”的客户端,也从这里获取“主题”的数据。

 能实现broker功能的软件有很多,本文以emqx为例。

请参考中文版官网的详细介绍。这里不再详细介绍它的功能了。

EMQX: 大规模分布式物联网 MQTT 消息服务器

 2.实际上安装前还会遇到问题

下面开始安装。好多文章上说,首先应该用apt安装,一条指令就可以搞定。但实际上,有可能apt运行不起来,这并不是说帮助文档的错误,而是ubuntu系统自身设置所需(并非问题)。

 敲入命令

curl -s https://assets.emqx.com/scripts/install-emqx-deb.sh | sudo bash

 输入密码后,提示无法下载。

 然后根据错误提示,输入命令查apt被哪些占用

ps -A|grep apt

然后运行命令

sudo fuser -vki /var/lib/dpkg/lock

 多运行两次,就可以运行apt了

现在的问题是连curl都运行不起来,需要首先安装curl。

然后遇到新的问题了,还是无法使用命令下载

sudo apt-get install emqx

 出现问题的原因是ubuntu系统默认的软件库是老美的,如果需要apt命令行install一些常用软件,网络太慢,或无法访问。

默认的情况如下图所示

 

 解决的方法是设置为清华大学等站点。

然后就可以运行

sudo apt-get update

 接着需要安装curl

sudo apt install curl

 3.真正的安装非常快

接下来才刚刚开始安装,首先配置curl数据源

curl -s https://assets.emqx.com/scripts/install-emqx-deb.sh | sudo bash

 配置成功

 然后安装emqx最新版

sudo apt-get install emqx

 安装成功

然后运行启动的命令

sudo emqx start

 4.想不想图形化管理自己的服务器

到此,emqx服务器就安装并启动成功了。可以提供主题的订阅和发布服务了。

但是现在它只是一个服务器,提供这些功能,操作起来还不是特别方便。

别着急,emqx提供了图形化的界面dashboard。用起来像是阿里云物联网平台一样方便。

输入您的ip地址,然后冒号18083端口即可访问。例如用另一台电脑浏览器输入。EMQX Dashboard 是一个 Web 应用程序,默认监听 18083 端口。

http://192.168.10.123:18083

在不启用 Dashboard 情况下仍然可以使用 EMQX,但这可能大大影响服务的可操作性:Dashboard 可以以表单方式配置很多功能,相比手动编辑配置文件更容易上手使用。

# 配置 Dashboard

Dashboard 默认监听 HTTP 端口,你可以为 Dashboard 启用 HTTPS 或更改监听器端口,更多配置可以参考配置文档。

登陆界面如下图所示。用户名是admin,初始密码是public。登陆后需要立即修改,还可以新增用户。

 

修改密码

可以测试本地连接。相当于将服务器同时作为一个客户端,测试一下发布和订阅功能。

 界面可以通过设置功能修改为中文

 使用websocket测试订阅和发布主题

5.使用mqtt.fx模拟一个物联网设备订阅和发布主题

在本机上测试不太过瘾,必须用一个真正的客户端测试才来劲。

如果用电脑测试,那么推荐mqtt.fx软件

模拟设备连接阿里云物联网平台软件MQTT.fx1.7.1.zip_MQTT.FX-硬件开发文档类资源-CSDN下载

 这个软件安装后,可以在电脑上实现mqtt通信。

详细的使用方法请参考下面这篇文章。与阿里云物联网平台不同的是,连接mqtx服务器,用不着那么复杂的数字签名。----这也是局域网服务器存在的弊端,有条件,还是建议用阿里云物联网平台,本文仅用于学习使用。

使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(五)---MQTT.fx模拟设备连接阿里云_TMS320VC5257H的博客-CSDN博客_arduino如何接入云平台

 请记住broker port这里填写1883,而不是18083。用户名和密码,就是您在dashboard里面创建的用户名。

 连接还是非常迅速的

 和服务器dahsboard内置的测试程序差不多,用客户端也可以订阅

 但是请注意,mqtt.fx客户端的client id一定不要和服务器上的那个id重复,这是因为在物联网的世界中,只有服务器和客户端之分,而每一个客户端是唯一的,如果重名,那么这个登陆上,另一个必然被下线。起码名字不能一样,您说对不?

 

 我们可以使用服务器端模拟的客户端发布一个主题

然后观察到另一台电脑上的mqtt.fx客户端成功获取了这个主题的变化

 未来,我们会发现更多的客户端(例如传感器)连上互联网,通过物联网的方式通信、管理和为人类服务。在实现万物互联的路上,希望能留下您宝贵的足迹。

 


http://chatgpt.dhexx.cn/article/kXcKnSR3.shtml

相关文章

【物联网】12.物联网服务器发送方式(HTTP,WebSocket ,MQTT )

发送服务器的目的在于向设备发送数据并控制设备。 这篇主要是利用HTTP、WebSocket、MQTT 协议来看看如何实现同步和异步传输。 HTTP 发送数据 发送服务器等待接收HTTP 请求的Web 服务器。设备向这台服务器申请发送数据,作为响应,服务器把数据发给设备。…

轻量级高并发物联网服务器接收程序源码

轻量级高并发物联网服务器接收程序源码 (仅仅是接收硬件数据程序 ,没有web端,不是java,协议自己写,如果问及这些问题统统不回复。),对接几万个设备没问题,数据库采用ef6sqlite&…

C#物联网平台服务器框架源码

C#物联网平台服务器框架源码。 这套带码是通过C#编写集成IOCP高性能高并发优势服务器服务源码。 带手机appdemo源码 具体具备功能如下: 1、具备EF6mssql数据库功能,可更改为MYSQL或SQLITe. 2、自带WEB API服务,抛弃IIS支持。 用户可以通…

成本360元的迷你物联网服务器有多香?

嗨,大家好,我们又见面了,前段时间比较忙,所以一直没更新。之前在自己的笔记本上搭建了blynk服务器和Domoticz服务器,但是一直开着笔记本插着电源对电池损害太大,也曾经在手机上安装了服务器,但是…

c#轻量级高并发物联网服务器接收程序源码

c#轻量级高并发物联网服务器接收程序源码(仅仅是接收硬件数据程序,没有web端,不是java,协议自己写。 ),对接几万个设备没问题,数据库采用ef6sqlite,可改efMySQL.该程序只是源码使用示…

基于ESP32搭建物联网服务器十三(自已搭建一个MQTT服务器)

在之前的文章中:ESP32搭建WEB服务器十二(使用MQTT协议与ESP32互动)_你的幻境的博客-CSDN博客 我们已经实现了ESP32通过MQTT协议连接到公共MQTT服务器上,但是公共服务器在稳定性或安全性上,很多时候无法保证。这时,我们除了可以购买比如: 阿…

阿里云搭建MQTT物联网服务器

一、MQTT简介 1、MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上&…

搭建一个物联网平台

搭建一个简单的物联网平台 之所以产生自己搭建平台的想法,是因为本来要使用 one* 平台完成一项作业,但是这个平台的官方文档写的太混乱了,有些地方写的有很简略,对我这种想要入门的小白来说不太友好,而且网上的第三方资…

物联网服务器搭建记录,心得

前言 在庞大的物联网世界中,自己拥有一台物联网服务器时多么一件美好的事。如同自己做的衣服更合身,自己搭建的物联网服务更灵活。 2022/3/9搭建服务 首次搭建了服务,但是感觉在安全方面是个很大的问题。每个设备都能连接,每个…

超微物联网超级服务器IoT SuperServer SYS-210SE-31A 评测

SYS-210SE-31A是Supermicro在日益流行的边缘服务器领域的最新产品。有趣的是,这款2单元430mm短深度服务器提供了3个热插拔节点,每个节点都有1个CPU和8个DIMM插槽。它还具有PCIe Gen4 x16扩展插槽、免工具可维护性和高达55℃的工作温度范围。对实现高度通…

JAVA-删除文件夹下所有文件的3种方法,推荐使用JDK8 Stream流的语法

一、删除文件或文件夹的四种基础方法 下面的四个方法都可以删除文件或文件夹,它们的共同点是:当文件夹中包含子文件的时候都会删除失败,也就是说这四个方法只能删除空文件夹。 需要注意的是:传统 IO 中的 File 类和 NIO 中的 Pat…

软件测试必看的5本书

最近好多朋友加我微信,问我有没有好一点的测试相关书籍推荐看一下,现具体介绍如下几本: 1. 软件测试的艺术(第3版) 软件测试的艺术 作 者:(美)梅耶(Myers, G. J.) 等著,张晓明,黄琳 译 出 版 社:机械工业出版社 简介:本书以一次自评价测试开篇,从软件测试的心理…

软件测试入门有哪些书籍可供推荐?

书不在多,关键是精! 入门基础:《软件测试》、《鸟哥的Linux私房菜》、《head first python》 测试技术:《深入理解Java虚拟机》、《移动App性能评测与优化》、《性能之巅》 代码分析:《head first 设计模式》、《重…

盘点几本软件测试入门必读的经典书籍,让你少走一半弯路

读书一直以来就是获取知识的最直接途径,并且成本低廉。每本书都是作者深度思考和总结的成果,书本的内容一般都要经过缜密的调研,都是作者辛辛苦苦实践的结晶。技术书籍写作耗时都比较久,基本上能广泛流传的书籍,都是经…

你在自学软件测试吗?学软件测试10本必看书

没有软件开发,就没有软件测试。有了软件测试,软件开发出的软件产品才能达到用户满意的地步,他们之间是相互依赖的关系。软件测试在软件开发行业是不可或缺的存在,你在自学软件测试吗?学软件测试10本必看书你该看&#…

推荐几本软件测试方面的经典书籍

《软件测试》作者:(美)Ron Patton译者:周予滨 姚静出版社:机械工业出版社原出版社: SAMS我所见过的最好最经典的软件测试入门书,有一个别名叫“软件测试的本质”。书中没有讨论太多的软件测试理论,只包含了一部分常用的、基本的知识。从什么是软件测试、为什么要作软件…

软件测试工程师必读的十本书

软件,已成为产品集成的必需部件。 软件产品的质量,与用户生活水平正比。 软件质量相关专业,正用武之地,期大有可为。 根据个人经验,推荐软件测试相关的十本书,静待有缘人。 1、软件测试的艺术 软件测试…

学软件测试最好的几本书,这8本书能帮你很多

真的勇士, 敢于直面惨淡的 warning 、 敢于正视淋漓的 error ! 有人喜欢创造世界,他们做了开发者;有的人喜欢开发者,他们做了测试员。什么是软件测试?软件测试就是一场本该在用户面前发生的灾难提前在自己面前发生了&a…

软件测试学习书籍【附电子版】

零基础学软件测试需要读哪些书籍?软件测试经典书籍推荐什么?对于学习软件测试而言,取得一本好书做指导,那是相当的有价值,好书相当于一位好老师,带你入门,带你走进知识深处,下面小编就给大家推荐一些软件…

软件测试/自动化测试/测试开发/性能测试经典好书推荐

目录 前言 测试理论与实践 性能测试 安全测试 自动化测试 编程语言与开发技能 管理技能 前言 软件测试入行容易进阶难。从测试小白成长为测试经理、总监级别人才,要跨越长长的技术栈升级之路,挑战非常高的综合能力要求。 大牛都是相似的&#xf…