Windows系统下本地MQTT服务器搭建,及开机自启
转载:https://blog.csdn.net/weixin_41542513/article/details/134328627
1.下载并安装emqx服务器
1. 访问Eqmx官网: https://www.emqx.io/zh
2. 选中合适的MQTT服务器版本
由于我们使用的是本地部署MQTT服务器,而且只使用基础功能的MQTT服务器功能,所以选中“大规模分布式MQTT消息服务器”即可,如下如图所示,点击下载按钮,下载。
3. 选中“Windows”,下载“ emqx-5.3.0-windows-amd64.zip ”,如下图所示。
4. 在电脑任意一个盘,新建文件夹,例如“EMQX”文件,然后将下载的压缩文件解压,如下图所示。
2.运行emqx服务器(即MQTT服务器),并登录服务器后管理页面。
1. 启动EMQX(即MQTT服务器)
然后,在命令行输入“./emqx start”,即可启动MQTT服务器,如下图所示。
2. 登录MQTT服务器后台管理界面
①通过浏览器访问http://localhost:18083/(localhost 可替换为您的实际 IP 地址),如下图所示。
http://localhost:18083/
②输入默认账号和默认密码,登录MQTT服务器后台管里界面
输入默认账号为“admin”,默认密码为“public”,然后点击登录按钮,进入MQTT服务器后台管里界面。
如果第一次使用,会提示“为了保护账户安全,请修改默认密码”,如下图所示,你可以选择“跳过”,或者修改密码。
登录成功后,MQTT服务器后台管里界面,如下图所示。
3.增加MQTT1和MQTT2用户。
1. 创建认证
点击按钮创建认证,如下图所示。
认证方式选中“Password-Based”,即使用客户端用户名、Client ID与密码进行认证,如下图所示。
“数据源”选中“内置数据库”,如下图所示。
配置参数,账号类型选中“username”,密码加密方式选中“sha256”,加盐方式选中“suffix”,如下图所示。
2.创建用户
如下图所示,创建认证后,点击“用户管理”,进入用户管理界面。
进入用户管理界面之后,点击“+”按钮,分别添加“MQTT1”和“MQTT2”用户,如下图所示。
用户名分为“MQTT1”和“MQTT2”,密码都是“123456”,都是“超级管理员”,如下所示。
创建完MQTT1和MQTT2用户后,用户界面如图下所示。
4.测试本地部署的MQTT服务器
1. 下载EMQX的(MQTT客户端),如下图所示。
2. 分别打开两个MQTT5.0客户端工具。
3.将两个MQTT5.0客户端工具的语言设置为“简体中文”,步骤下图所示。
4. 新建MQTT1和MQTT2的用户连接
分别点击客户端1和客户端2的新建连接按钮,如下图示所示。
5. 配置MQTT1和MQTT2的用户连接参数
名称和Client ID可以任意填写,这里客户端1填写hao1,客户端2填写hao2,服务器地址都选中“mqtt://”并填写“127.0.0.1”,端口都是“1883”,用户名分别填写“MQTT1”和“MQTT2”,密码都是“123456”,MQTT版本都选中“3.1.1”,如下图所示。
6.点击两个客户端的连接按钮,连接MQTT服务器,如下图所示
7. 设置两个客户端的发布主题。
客户端1的发布主题为“/MQTT1/pub”,
发布的数据为
{
"wendu": 23.56
}
1
2
3
客户端2的发布主题为“/MQTT2/pub”,
发布的数据为
{
"shidu": 77.56
}
1
2
3
如下图所示。
8.设置两个客户端的订阅主题。
设置订阅接收数据格式为JSON并且选中只显示已接收数据,如下图所示。
9. 分别点击两个客户端发布按钮。
如下图所示,当我们点击客户端1的发布主题按钮时,在客户端2上的订阅主题接收到客户端1发布的主题的温度JSON数据,当我们点击客户端2的发布主题按钮时,在客户端1上的订阅主题接收到客户端2发布的主题的湿度JSON数据。
5.小结
本教程讲述了如何在Windows电脑本地上搭建MQTT服务器,怎样进入MQTT服务器后台管理界面,如何在MQTT服务器上添加用户,如何通过MQTT客户端连接MQTT服务器,并通过两个MQTT客户端演示了MQTT通信的简单发布主题和订阅主题。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_41542513/article/details/134328627
二:加入开机自启
创建bat文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | @echo off %1 mshta vbscript:CreateObject( "WScript.Shell" ).Run( "%~s0 ::" ,0,FALSE)(window.close)&&exit REM 此处为MQTT文件目录 set EMQX_PATH=C:\A-MySelf\emqx-5.3.2-windows-amd64 set OUTPUT_FILE=%EMQX_PATH%\emqx_monitor.log :loop cd /d "%EMQX_PATH%" REM 获取当前日期时间,并格式化为时间戳 for /f "tokens=1-4 delims=/ " %%a in ( 'date /t' ) do ( set year=%%a set month=%%b set day=%%c ) for /f "tokens=1-3 delims=: " %%a in ( 'time /t' ) do ( set hour=0%%a set minute=%%b ) set timestamp=%year%-%month%-%day% %hour:~-2%:%minute% cd bin emqx_ctl status | findstr /C: "Node 'emqx@127.0.0.1'" | findstr /C: "is started" >NUL IF "%ERRORLEVEL%" == "0" ( echo [%timestamp%] EMQX is running normally. >> %OUTPUT_FILE% ) ELSE ( echo [%timestamp%] EMQX is not running. Restarting... >> %OUTPUT_FILE% REM 结束之前的 EMQX 进程,可以通过 taskkill 命令来实现 REM taskkill /f /im beam.smp.exe >NUL start /b cmd /c "%EMQX_PATH%\bin\emqx start" echo [%timestamp%] EMQX has started. >> %OUTPUT_FILE% REM 如果 EMQX 不直接启动一个新窗口,可以将上面一行修改为以下内容 REM call %EMQX_PATH%\emqx start ) timeout /t 60 > NUL goto loop |
注意:
将该文件放到,目录中
鼠标右键,创建快捷方式
WIN+R 打开机自启软件的根目录,输入 shell:startup
将快捷方式截切到该目录中
启动成功之后,会在安装目录出现emqx_monitor.log log文件
电脑重启之后:
方法 二:方法1【shell:startup】是开机启动程序,此种方法必须登录后才会执行,此时可以使用另一种方法:
在没有输入Windows登陆的用户名密码的时候, 服务程序就已经启动了。也就是说, 不需要登陆系统, 服务程序就会启动。
而与之相对的就是 程序-》启动 (英文版系统 Start-》Startup)
这个启动是在登陆系统之后才会被启动的
【任务计划程序】方式:
以下为添加【任务计划程序】的方法
本文为博主原创文章,未经博主允许不得转载。
原文链接:https://blog.csdn.net/WangKun_0612/article/details/132490230
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南