从0到1图文并茂用树莓派搭建一个MQTT服务器

本文详细介绍了如何在树莓派上安装Raspberry Pi操作系统,通过SSH连接,安装VNC和WIFI,并且逐步搭建mosquitto MQTT服务器,包括更换软件源、安装依赖、配置mosquitto支持websocket等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

用树莓派搭建这个MQTT服务器真的是踩了好多好多坑(哭晕在厕所),此文只是为了让大家不再踩坑。
所有工具皆在前言列出!
所需工具:SD Card FormatterWin32DiskImagerPuttyVNC Viewer
树莓派操作系统:Raspberry Pi
MQTT服务器框架:mosquito

安装树莓派操作系统并登录系统

首先,准备一张8G以上的SD卡,插入到读卡器中。
打开SD Card Formatter进行全扇区格式化。
选择好你的U盘,按照图中配置点Format即可。
在这里插入图片描述
格式化成功。
在这里插入图片描述
打开Win32DiskImager,选择好下载的录像(镜像下载地址也在前言中给出)以及SD卡,点击写入耐心等待几分钟即可烧录镜像到SD卡中。
在这里插入图片描述
在这里插入图片描述
然后我们打开SD卡,新建一个SSH文件(无后缀名),用意是为了告诉树莓派打开SSH服务,方便我们一会连接。
在这里插入图片描述
这时将SD卡拔出读卡器,插入到树莓派中,拿一根网线将树莓派与电脑相连,为树莓派供电。
右键WIFI图标,选择打开网络和共享中心。
在这里插入图片描述
在这里插入图片描述
点击属性
在这里插入图片描述
点击共享并将两个勾全部勾上,点击确定。
在这里插入图片描述
win+r键运行cmd
在这里插入图片描述
输入arp -a,找到192.168.137.1下面的一个动态地址,即为树莓派IP地址
在这里插入图片描述
打开putty,输入刚才的IP地址,端口号为22,连接方式为SSH
在这里插入图片描述
在这里插入图片描述
账号为pi,密码为raspberry,至此登录进树莓派里了
在这里插入图片描述

为树莓派安装VNC并连接WIFI

首先要做的就是换源(分为软件更新源和系统更新源)树莓派默认的源是官网的源,下载更新都很慢,而且不稳定,所以我们需要将源换成国内源,清华源,阿里源,中科大的源都OK

在Putty终端输入sudo nano /etc/apt/sources.list,更新软件源界面如下,将绿色的部分网址换为http://mirrors.ustc.edu.cn/raspbian/raspbian/
Ctrl +O写完,Ctrl +X退出
在这里插入图片描述
修改系统更新源,Putty终端输入sudo nano /etc/apt/sources.list.d/raspi.list
在这里插入图片描述
Putty终端命令行依次输入:sudo apt-get updatesudo apt-get upgrade,时间较长,耐心等待。
树莓派安装vnc viewer,Putty终端输入sudo apt-get install tightvncserver,按y确定安装
在这里插入图片描述
Putty终端输入vncpasswd,创建密码,两次输入密码,共需要输入四次密码中间有个view-only按y或n都行
在这里插入图片描述
Putty终端输入vncserver启动VNC服务
在这里插入图片描述
在VNC Viewer输入之前连接Putty终端的IP地址加上端口号5901即可进入
例:IP地址:5901
在这里插入图片描述
按照操作一步步激活系统,到连接wifi那里连续点击两次skip,否则会联网更新,激活速度较慢。
然后点击右上角wifi,点击Turn on WIFI,打开WIFI后稍等几秒就会出现周围的WIFI名字,然后连接WIFI,连接上WIFI以后点击左上角命令行
在这里插入图片描述
输入ifconfig回车后找到路由器给树莓派分发的IP地址
在这里插入图片描述
至此就可以关机了,千万不要直接拔电源,点左上角的树莓派然后点击注销。
这时候就可以拔网线了,我们给树莓派重新上电,这时Putty终端就可以用刚才路由器分发的IP地址进行连接了!VNC Viewer同理。
在这里插入图片描述

搭建mosquitto

首先需要下载mosquitto需要的依赖
Putty终端输入:
sudo apt-get install libssl-dev
sudo apt-get install uuid-dev
sudo apt-get install cmake

依赖安装完毕后,下载mosquitto压缩包
wget http://mosquitto.org/files/source/mosquitto-1.5.4.tar.gz

下载完毕后,解压
tar zxfv mosquitto-1.5.4.tar.gz

进入mosquitto目录
cd mosquitto-1.5.4

然后打开config.mk文件,修改使其支持websocket
sudu nano config.mk

进去后按Ctrl+w进行搜索
将红框中的值改为yes
然后Ctrl+O保存,回车,Ctrl+X退出
在这里插入图片描述
完成后我们对端口进行配置
sudo nano mosquitto.conf
打开后按Ctrl+w搜索Default listener
将#port改为port 1883
在这里插入图片描述
修改完毕后搜索Extra listeners
将#listener改为listener 8083
将#protocol改为websocket
然后按Ctrl+O Ctrl+X退出
在这里插入图片描述

这时我们已经将mosquitto配置为支持websocket了,但还缺少websocket支持,需要下载。

Putty终端输入 cd ~ 回到主目录

然后下载websocket支持,输入
git clone https://codechina.csdn.net/mirrors/warmcat/libwebsockets.git

下载完毕后进入该文件夹
cd libwebsockets

在该文件夹下创建一个名为build的文件夹并进入
mkdir build
cd build

进入build文件夹后,在Putty终端输入
cmake …

然后对websocket支持进行编译
make
sudo make install

编译完成后回到mosquitto目录
cd ~/mosquitto-1.5.4

对mosquitto进行编译
make
sudo make install

编译完成后我们需要完善一点小细节,否则无法启动mosquitto
首先进入/usr/local/lib文件夹
cd /usr/local/lib
然后建立软连接
sudo ln -s /usr/local/lib/libwebsockets.so.12 /usr/lib/libwebsockets.so.12
执行
ldconfig

至此所有的配置结束了,接下来我们运行mosquitto试试吧!
mosquitto -c ~/mosquitto-1.5.4/mosquitto.conf -v
在这里插入图片描述
可以看到8083端口和1883端口都被开启了,现在让我们用我们可爱的esp8266去连接一下我们的服务器吧
在这里插入图片描述
在这里插入图片描述

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值