『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 160|回复: 4

[基础教程] Ubuntu设备搭建本地MQTT服务器

[复制链接]

3

主题

26

帖子

146

积分

注册会员

Rank: 2

积分
146
金钱
120
HASS币
0
发表于 前天 22:16 | 显示全部楼层 |阅读模式
本帖最后由 jmkl1028 于 2024-12-26 11:55 编辑

为了安装国家电网,需要MQTT服务器,网上免费的有使用时间限制,试着搭建本地服务器,成功!分享给跟我一样的小白。

支持的 Ubuntu 版本:

  • Ubuntu 22.04
  • Ubuntu 20.04
  • Ubuntu 18.04
通过 Apt 源安装

EMQX 支持通过 Apt 源安装,免除了用户需要手动处理依赖关系和更新软件包等的困扰,具有更加方便、安全和易用等优点。如希望通过 Apt 源安装 EMQX,可参考如下步骤。

  • 通过以下命令配置 EMQX Apt 源:

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

  • 运行以下命令安装 EMQX:

    sudo apt-get install emqx

启动 EMQX

您可通过如下三种方式启动 EMQX。

  • 直接启动:

    emqx start
    EMQX 5.3.2 is started successfully!
    
    emqx ctl status
    Node '[email protected]' 5.3.2 is started

  • systemctl 启动:

    sudo systemctl start emqx

  • service 启动:

    sudo service emqx start

卸载 EMQX
sudo apt remove --purge emqx





下面是HA里添加集成MQTT,设置

2.png

对应青龙面板config.sh添加
1.png

回复

使用道具 举报

3

主题

113

帖子

820

积分

高级会员

Rank: 4

积分
820
金钱
707
HASS币
0
发表于 昨天 10:23 | 显示全部楼层
本帖最后由 foxad 于 2024-12-26 10:38 编辑

直接安装

编译安装

sudo apt-get install libssl-dev uuid-dev cmake -y
寻找一个目录进入后

#下载源码包
wget https://mosquitto.org/files/source/mosquitto-1.6.9.tar.gz
#解压
tar xzvf mosquitto-1.6.9.tar.gz
#进入源码目录
cd mosquitto-1.6.9
#编译和安装
make && make install
# 进入程序目录
cd /etc/mosquitto/

apt安装

apt-get install software-properties-common -y
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa     #添加源到软件仓库                        --可以不用该命令-使用阿里云的源
sudo apt-get update                                         #更新软件仓库列表
sudo apt-get install mosquitto                              #安装mosquitto

试运行

sudo service mosquitto status                               #查看运行状态
sudo service mosquitto start                                #启动服务
sudo service mosquitto stop                                 #停止服务

添加和修改配置

sudo service mosquitto stop   #首先停止服务

#用户的局部配置文件放在: /etc/mosquitto/conf.d/目录下,并且这个目录下的所有以.conf后缀的文件都将被mosquitto作为配置文件,在启动时加载。

#在/etc/mosquitto/conf.d目录下,新建myconfig.conf配置文件
# 关闭匿名访问,客户端必须使用用户名
allow_anonymous false
#指定 用户名-密码 文件
password_file /etc/mosquitto/pwfile.txt

创建一个MQTT服务器账户

假设用户名为:user1
在命令行运行:mosquitto_passwd -c /etc/mosquitto/pwfile.txt user1  

回车后连续输入2次用户密码即可

重新启动mosquitto

#启动服务
sudo service mosquitto start   
sudo systemctl start  mosquitto
#重启服务
sudo service mosquitto restart   
sudo systemctl restart  mosquitto
#停止服务
sudo service mosquitto stop  
sudo systemctl stop  mosquitto

docker安装

创建目录

mkdir -p /docker/mqtt/config
mkdir -p /docker/mqtt/data
mkdir -p /docker/mqtt/log

编辑配置文件

vi /docker/mqtt/config/mosquitto.conf

persistence true
persistence_location /mosquitto/data
log_dest file /mosquitto/log/mosquitto.log

授权目录

chmod -R 755 /docker/mqtt

运行

docker run -it --name=mqtt --privileged \
-p 1883:1883 -p 9001:9001 \
-v /docker/mqtt/config/mosquitto.conf:/mosquitto/config/mosquitto.conf \
-v /docker/mqtt/data:/mosquitto/data \
-v /docker/mqtt/log:/mosquitto/log \
eclipse-mosquitto

增加配置以支持认证模式

#进入容器
docker exec -it mqtt sh
#编辑配置文件
vi /mosquitto/config/mosquitto.conf

allow_anonymous false
password_file /mosquitto/config/pwfile.conf
bind_address 0.0.0.0

#创建密码文件
touch /mosquitto/config/pwfile.conf
chmod -R 755 /mosquitto/config/pwfile.conf

##生成用户和密码(输入用户名后回车输入密码)
mosquitto_passwd -c /mosquitto/config/pwfile.conf <user>

#退出容器
exit

#重启容器
docker restart mqtt






回复

使用道具 举报

2

主题

26

帖子

85

积分

注册会员

Rank: 2

积分
85
金钱
59
HASS币
0
发表于 昨天 10:25 | 显示全部楼层
求国家电网数据的获取教程
回复

使用道具 举报

2

主题

41

帖子

218

积分

中级会员

Rank: 3Rank: 3

积分
218
金钱
177
HASS币
0
发表于 昨天 11:51 | 显示全部楼层
大佬.沙发命令是对应的干什么,和帖子联系不上啊
大佬发的教程往往让新人卡在第一步
回复

使用道具 举报

3

主题

26

帖子

146

积分

注册会员

Rank: 2

积分
146
金钱
120
HASS币
0
 楼主| 发表于 昨天 11:56 | 显示全部楼层
4eszxcvgy7 发表于 2024-12-26 11:51
大佬.沙发命令是对应的干什么,和帖子联系不上啊

那是高手,最好当做没看见!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-27 08:19 , Processed in 0.089991 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表