利用树莓派搭建公网下的mqtt服务器

树莓派搭建mosquitto服务器

物联网设备有多种互相通信方式,但是mqtt更加方便后期其他设备的加入也更加稳定,随便拿台电脑也能搭建,但是考虑到mqtt需要占用一定内存还需要一直开机,手里正好有个闲置的树莓派,于是用树莓派作为寝室物联网的服务器感觉是最好的选择。
首先在网上找一下开源的mqtt服务器,主要用的是apollo和mosquitto,我这里选用的是mosquitto的服务器,树莓派是Linux系统,所以基于Linux搭建方法我们用树莓派搭建会变得很方便

首先需要一个刷了官方系统的树莓派,
然后直接apt-get就可以了,但是会提示依赖问题报错像这样

               apt-get install mosquitto 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信
				息... 完成 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是 因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件 包尚未被创建或是它们已被从新到
				(Incoming)目录移出。 下列信息可能会对解决问题有所帮助: 下列软件包有未满足的依赖
				关系: mosquitto : 依赖: libssl1.0.0 (>= 1.0.0) 但无法安装它 依赖: libwebsockets3 (>= 1.2)
				但无法安装它 E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包
				间的依赖关系。

网上有很多解决方法,可以参考https://www.jianshu.com/p/5c9342ff50b2

上面那种对像我这样的小白不是很友好,我们直接下载源码包

wget http://mosquitto.org/files/source/mosquitto-1.5.5.tar.gz
但是之后会碰到很多依赖没安装的问题
所以我们先把依赖安装好
sudo apt-get install libssl-dev libc-ares-dev uuid-dev g++
上面这一步是编译时需要用到的可能会用一段时间
下载好依赖之后就可以用weget的方法了
wget http://mosquitto.org/files/source/mosquitto-1.5.5.tar.gz
下载好后解压
tar zxfv mosquitto-1.5.5.tar.gz
之后进入目录
cd mosquitto-1.5.5
make
然后安装
sudo make install

这样就算搭建好了
Mosquitto还有很多配置,但是这里我们自己用可以不用管,当然后续我会更新有关mosquitto的用法
进入shell
输入 mosquittto -v
然后就启动啦,同时可以打印出调试信息
Opening ipv4 listen socket on port 1883.
Opening ipv6 listen socket on port 1883.
这两行可以知道mqtt打开在1883端口,要外界连接他就要连1883

在这里我们可以用树莓派自己做一下测试看连接是否成功
mosquitto_sub -v -t test
这就是打开一个接收topic为test的客户端
然后在开一个命令行输入
mosquitto_pub -t test -m “this is a test”
然后我们就会在接收端收到this is a test
同时服务器后台那个也会看到两个连接和他们发的数据
我们这个服务器就算通了,上位机程序和手机接收端的连接在后面会有

下面是几个常用的mosquitto的命令:
开启
sudo service mosquitto start
停止
sudo service mosquitto stop
查看状态
sudo service mosquitto status
mosquitto_pub和mosquitto_sub都有几个参数
【-t】指定主题
【-v】打印调试信息
【-h】指定服务的IP地址
【-p】指定服务的端口号
这里只是让大家搭建出来,另外还可以设置登录账号密码等操作可以看其他很多有关博文

树莓派安装花生壳

pppoe拨号上网再用花生壳做一个动态域名解析就可以获得一个公网上面的服务器了
花生壳有专门的树莓派客户端,我们可以在其官网上下载

首先配置pppoe输入
sudo apt-get install pppoe pppoeconf pppstatus
然后配置pppoe ,一直回车即可。只要在用户名和密码输入正确就可以
pppoeconf
然后我们检测下是否pppoe成功
ifconfig
在这里插入图片描述
这样已经连接成功
但是在每次重启后ip地址会发生改变于是我们挂一个花生壳的域名解析在上面
在这里插入图片描述

下载好后我们先root一下
su
然后输入root的密码
在这里插入图片描述
然后进入上面的页面 用户名密码就是上图显示的
在这里插入图片描述
配置好后我们域名诊断一下,通了,我们就可以直接通过域名访问到树莓派在这里插入图片描述
在这里插入图片描述

这样我们就可以在任意地方找到你的服务器了

有关其他物联网设备接入此mqtt服务器可以参考我其他的博客

  • 5
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
树莓派可以使用Mosquitto搭建MQTT服务器。首先,你需要在树莓派上安装一些依赖环境,包括libssl-dev和uuid-dev。你可以使用以下命令来安装这些依赖环境: ``` sudo apt-get install libssl-dev uuid-dev ``` 接下来,你需要下载Mosquitto的源码并进行安装。你可以从Mosquitto的官方网站下载源码包。下载完成后,你可以使用以下命令来解压源码包: ``` tar -zxvf mosquitto-1.6.9.tar.gz ``` 解压完成后,进入解压后的目录,执行以下命令来编译和安装Mosquitto: ``` cd mosquitto-1.6.9 make sudo make install ``` 安装完成后,你可以使用以下命令来启动Mosquitto服务: ``` mosquitto ``` 现在,你的树莓派上已经成功搭建MQTT服务器。你可以使用MQTT的客户端来连接和通信。在MQTT协议中,有三种身份:发布者(Publish)、代理(Broker)(服务器)和订阅者(Subscribe)。发布者和订阅者都是客户端,而代理是服务器。发布者可以同时是订阅者。MQTT传输的消息包括主题(Topic)和负载(payload),主题可以理解为消息的类型,而负载是消息的具体内容。你可以使用MQTT客户端来发布和订阅消息。详情可以参考\[2\]中提供的链接。 #### 引用[.reference_title] - *1* [树莓派-搭建MQTT服务](https://blog.csdn.net/ftswsfb/article/details/118662323)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [在树莓派搭建MQTT服务器](https://blog.csdn.net/qq_43010516/article/details/124651792)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值