构建自己的MQTT服务器,实现电子世界的物联网
百家号08-2903:04 MQTT协议是一种广泛使用的物联网协议,使用测试MQTT协议需要MQTT代理。 使用MQTT服务的方法有两种。 一种是租用现成的MQTT服务器,如阿里巴巴云、百度云、华为云等通用云平台提供的MQTT服务。 使用通用MQTT服务器的好处并不费事,但仅用于测试学习需要注册帐户,不灵活,而且在某些平台上需要付费。 另一种方法是使用开源的MQTT组件进行构建。
MQTT服务器非常多,包括apache的ActiveMQ、emtqqd、HiveMQ、Emitter、Mosquitto和Moquette。
这里介绍的是使用轻量级mosquitto开源项目构建自己的MQTT服务。
步骤需要安装linux主机。 这个很少被介绍。 可以用实机安装,也可以用虚拟机安装。 自己测试使用也可以。
步骤下载mosquitto所需的依赖关系
sudo apt-getinstalllibssl-devsudoapt-getinstalluuid-devsudoapt-getinstallcmake
第三步:下载并解压缩3:mosquitto。 目前,Mosquitto官网的最新版本为1.5.1
tar xzvf mosquitto-1.5.1.tar.gz
步骤4 :编译
cd mosquitto-1.5.1/
化妆
制造安装
启动步骤mosquitto
./mosquitto -v
15354739573360 mosquittoversion1.5.1starting
15354739573360 usingdefaultconfig。
15354739573360 opening IP v4 listensocketonport 1883。
15354739573360 opening IPv6 listensocketonport 1883。
此时,mosquitto将使用默认参数启动。 如果需要可以更改配置文件mosquitto.conf的配置文件,请单击,
启动时添加参数-c,
./mosquitto -c mosquitto.conf
mosquitto监听的端口是1883。
此时,我们的MQTT服务器已经构建。 请尝试查找并测试mqtt客户端。
首先发表主题为“home/garden/fountain/2”
内容是“hello world”
此时,mosquitto将打印以下日志
35474247: newconnectionfrom 192.168.1.105 on port 1883。
15354742473360 newclientconnectedfrom 192.168.1.105 asmqtt _ FX _ client (C1,k60 )。
15354742473360知识库。
15354742473360 sendingconnacktomqtt _ FX _ client (0,0 ) ) ) ) ) ) ) 65
15354743073360 receivedpingreqfrommqtt _ FX _ client
15354743073360 sendingpingresptomqtt _ FX _ client
15354743393360 receivedpublishfrommqtt _ FX _ client (d0,q0,r0,m0,' home/garden/fountain/2 ',) 12 bytes
15354743673360 receivedpingreqfrommqtt _ FX _ client
135474367: sendingpingresptomqtt _ FX _ client
订阅主题home/garden/fountain/2
你会发现你收到了自己发布的消息。
用wireshark抓住包
可以看到抓住MQTT的publish的信息。
转载于:https://www.cn blogs.com/liuyanygz/p/10191379.html