云服务器搭建MQTT服务器

article/2025/8/19 16:06:35

文章目录

  • 前言
  • 一、通过宝塔面板登录服务器,拉取emqx/emqx镜像
  • 二、使用宝塔远程工具后台运行镜像
  • 三、访问emqt的web管理页面
  • 四、编写消息发布端和订阅端,python实现
    • 1.发布端publish
    • 2.订阅端subscribe
  • 总结


前言

既然有了云服务器,可以搭建一个MQTT服务器,这样可以使用ESP32的micropython编程,实现物联网平台的构建。

一、通过宝塔面板登录服务器,拉取emqx/emqx镜像

在这里插入图片描述

二、使用宝塔远程工具后台运行镜像

在这里插入图片描述

docker run -dit --name emqx -p 18083:18083 -p 1883:1883 -p 8083:8083 -p 8084:8084 emqx/emqx:latestdocker exec -it  emqx /bin/sh

三、访问emqt的web管理页面

在这里插入图片描述
可以把语音换成中文的。

http://你的云服务器公网IP:18083
账号: admin
密码: public

其他端口如下:如果发现某个端口访问不了,可以尝试去宝塔面板的安全位置去放行一下。
在这里插入图片描述

1883:MQTT 协议端口
8883:MQTT/SSL 端口
8083:MQTT/WebSocket 端口
8080:HTTP API 端口
18083:Dashboard 管理控制台端口

四、编写消息发布端和订阅端,python实现

我是用pycharm编写代码,编写之前,安装一下paho-mqtt这个包。也可以用pip3 install paho-mqtt安装。
在这里插入图片描述

1.发布端publish

代码如下(示例):

from paho.mqtt import client as mqtt_client
import random
import timebroker = '0.0.0.0'  #你的云服务器公网IP
port = 1883  #MQTT 协议端口
topic = "lmq"
#调用 Python random.randint 函数随机生成 MQTT 客户端 id
client_id = f'python-mqtt-{random.randint(0, 1000)}'def connect_mqtt():def on_connect(client, userdata, flags, rc):if rc == 0:print("Connected to MQTT Broker!")else:print("Failed to connect, return code %d\n", rc)client = mqtt_client.Client(client_id)client.on_connect = on_connectclient.connect(broker, port)return clientdef publish(client):msg_count = 0while True:time.sleep(1)msg = f"messages: {msg_count}"result = client.publish(topic, msg)# result: [0, 1]status = result[0]if status == 0:print(f"Send `{msg}` to topic `{topic}`")else:print(f"Failed to send message to topic {topic}")msg_count += 1def run():client = connect_mqtt()client.loop_start()publish(client)if __name__ == '__main__':run()

2.订阅端subscribe

代码如下(示例):

from paho.mqtt import client as mqtt_client
import randombroker = '0.0.0.0' #你的云服务器公网IP
port = 1883   #MQTT 协议端口
topic = "lmq"
# 调用 Python random.randint 函数随机生成 MQTT 客户端 id
client_id = f'python-mqtt-{random.randint(0, 1000)}'def connect_mqtt() -> mqtt_client:def on_connect(client, userdata, flags, rc):if rc == 0:print("Connected to MQTT Broker!")else:print("Failed to connect, return code %d\n", rc)client = mqtt_client.Client(client_id)client.on_connect = on_connectclient.connect(broker, port)return clientdef subscribe(client: mqtt_client):def on_message(client, userdata, msg):print(f"Received `{msg.payload.decode()}` from `{msg.topic}` topic")client.subscribe(topic)client.on_message = on_messagedef run():client = connect_mqtt()subscribe(client)client.loop_forever()if __name__ == '__main__':run()

如果没错误,应该就是下图这样子。
在这里插入图片描述
在这里插入图片描述


总结

用最快的方法实现就好。后续可以用qt做一个软件界面,即可控制ESP32等能接入网络的硬件设备。


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

相关文章

阿里云服务器如何搭建MQTT服务器

1.开通阿里云服务器 入门教程:链接 将系统配置成Ubuntu18的(因为我只会用这个系统) 在实例处停止当前系统的运行,然后依次选择2,下拉菜单找到3进行更换系统,更换完成以后重启就好了…

ESC云服务器搭建自己的图床

文章目录 前言一、整体思路二、具体步骤1.在picgo中添加插件2.在本地新建一个json文件(配置文件)3.填写插件信息4.开始上传图片 前言 在搭建个人博客时使用了markdown语法作为编写博客的主要语言。但由于本地编写时加入的图片只能在本地显示&#xff0c…

泰拉瑞亚云服务器的搭建

申请虚拟机 无论是阿里云,华为云,还是腾讯云都行,申请一台云服务器,以腾讯云为例 连接云服务器 我推荐使用win10自带的远程桌面连接 计算机名就是公网ip,密码是你在申请虚拟机时设置的密码,如果忘记了&…

从零开始配置搭建云服务器(Linux系统、简明详细教程)

一、首先购买云服务器 先选购云服务器,个人推荐选用腾讯云,价格便宜适合学生党或者程序员自用。 1、以购买腾讯云为例,点击官方腾讯云购买地址:购买链接,进入腾讯云连接,进入腾讯云 2、选择自己想要的服务…

阿里云搭建 ftp 服务器

安装 vsftpd yum install -y vsftpd 进入 /etc/vsftpd cd /etc/vsftjpd /etc/vsftpd/vsftpd.conf 是核心配置文件。 /etc/vsftpd/ftpusers 是黑名单文件,此文件里的用户不允许访问 FTP 服务器。 /etc/vsftpd/user_list 是白名单文件,是允许访问 FTP 服…

办公系统服务器搭建,搭建云桌面办公服务器

搭建云桌面办公服务器 内容精选 换一换 传统的HPC使用中存在如下问题:投资成本高,扩容部署复杂,重复利用已有投资十分困难。应用复杂,资源预测困难,灵活性差,亟待提升效率。效率低下导致决策缓慢,失去市场、以及开发研究成果的良机。应用计算量快速膨胀,对性能要求越来…

搭建云服务器

在阿里云、百度云、或者腾讯云购置一台云服务器。我这里买的是阿里云的,而且操作系统选择的是Linux。 购买了之后,我们回到阿里云的首页,点击右上角的控制台,然后在左侧的导航栏中找到云服务器,点击进入,就…

怎么用虚拟机搭建云服务器,利用虚拟机搭建云服务器

利用虚拟机搭建云服务器 内容精选 换一换 虚拟私有云(Virtual Private Cloud)是用户在华为云上申请的隔离的、私密的虚拟网络环境。用户可以自由配置VPC内的IP地址段、子网、安全组等子服务,也可以申请弹性带宽和弹性公网IP搭建业务系统。 云备份和镜像服务有很多功能交融的地…

云服务器搭建

云服务器购买 进入阿里云官网 -- 下拉点击 若是新手 可直接点击 新用户使用 否则则点击立即购买 进行选购自己的云服务器 云服务器配置 购买完服务器 便可通过 阿里云官网 进入控制台 点击左边目录选择云服务器ECS 在左侧目录点击 网络与安全 下的 安全组 注意:…

怎么部署个人云服务器?保姆级教程

折腾云服务器也有几个月了,从选平台开始,购域名、买服务器、部署项目,再到备案、部署SSL证书。 整个流程走下来,各种各样、五花八门的问题,层出不穷,虽没有掉层皮,但苦头却没少吃。 说到服务器…

一步步教你搭建自己的云服务器,(鉴于网上一大堆文章,看这一篇就够了)

笔者以前一直想搭建个自己的服务器,无奈一搜百度都是阿里云或者腾讯云或者其他云,一看服笔者早就有搭建服务器的想法了,鉴于网上云务器价格动不动几百,还限带宽,网速也不会太快,于是就有了自己搭建服务器的…

如何快速搭建自己的阿里云服务器(宝塔、Xshell、Xftp配置)

目录 一、前言 二、准备工作 1、新手申请 2、安全组设置 3、修改实例 4、下载Xshell和Xftp 5、安装并配置Xshell 6、本地连接云服务器 7、安装并配置Xftp 三、搭建环境 1、安装宝塔服务器运维面板 2、登录宝塔Linux面板 3、查看宝塔主页 4、测试环境 一、前…

利用阿里云短信验证码登录

这段时间准备做一个电商网站的小项目,在登录这方面,我想跟现在主流的登录想做成相似的功能,比如利用手机验证码登录,或者是扫描二维码登录,然后就在就在网站找了点资料今天来分享下,一来是给自己做个笔记&a…

阿里云短信验证码+Java开发

使用阿里云短信验证码 准备1.注册账号2.免费试用 一些设置1.测试一下2.添加自己的签名和模板3.添加用户&用户组 代码1.使用示例2.导jar包2.写代码最后 准备 1.注册账号 2.免费试用 连接: [link]https://free.aliyun.com/ntms/free/personal.html?handletrue. 之后会有一…

阿里云短信验证码SMS

前言 将电话以及验证码存入redis,并设置过期时间 一.注册阿里云账号 注册并登录阿里云账号。您可以前往阿里云官方网站(https://www.aliyun.com/),点击右上角的"登录"按钮,然后选择"注册"创建一个…

阿里云短信验证码购教程(Java演示)

一、在阿里云云市场购买试用的短信服务 打开阿里云,进入云市场 找到适合自己的商品进行购买 本人使用以下商品:短信服务 点击购买,测试完成后,联系客服。配置你的专属短信模版 本人接下来演示 测试模版2: 二、根据演示实例进行…

短信验证--阿里云短信验证码接口

前言 公司最近项目需要一个手机验证码的功能,任务确定后,倍感亚历山大,以为和第三方对接的都好麻烦,查阿里的API、网上大神写的博客,各种查之后才发现,简单的一塌糊涂,这里想说个问题&#xff…

tp5阿里云短信验证码

1.登录阿里云账号之后 首先鼠标移动到你的头像上 点击AccessKey之后 创建 2.找到短信服务这里 申请签名 和 模板 3.之后找到 帮助文档 -> 下载php SDK 我是点击的开发指南(旧版)下载的 php SDK 非轻量版的 下载解压之后extend/alisms 之后在app…

【阿里云短信验证码】麻瓜教程~~~从注册---申请---代码---执行

阿里云短信验证码 当然啦,学习任何东西第一步就是去注册当前网站的账号。 阿里云的官网:https://www.aliyun.com/?utm_contentse_1008364713 ◆【1.先注册账号,后登录,会有实名认证直接用支付宝扫码授权即可。】 ◆【2.进入后界…