说起物联网,目前就笔者看来最有前途的应该是MQTT协议,MQTT(MQTelemetryTransport,消息队列遥测传输)是近年来出现的一种新型协议,物联网领域会将其作为标准协议。MQTT原本是IBM公司开发的协议,现在则开源了,被人们不断开发着。MQTT是一种能实现一对多通信(人们称之为发布或订阅型)的协议。它由3种功能构成,分别是中介(broker)、发布者(publisher)和订阅者(subscriber),是一款轻量级的,节省通信流量的机器和机器间的通讯协议。
在笔者的另外一篇文章《三分钟弄懂物联网流行协议——MQTT》提到了MQTT协议,里面指出目前有很多的厂商或者开源产品支持MQTT协议的实现,其中就有目前最为流行的Mosquitto服务器。那么Mosquitto服务太牛掰了,几乎支持市面上你能想到,也想不到的操作系统平台,君请看。
Windows
Mac
ArchLinux
CentOS
Debian
Fedora
FreeBSD
Gentoo
Mandriva
openSUSE
OpenWrt
RaspberryPi
RedhatEnterpriseLinux
Slackware
SUSELinuxEnterpriseServer
Ubuntu
OtherLinux
QNX
iPhone
下面以在Ubuntu的Linux操作系统安装Mosquitto服务器为例子,和大家分享一下快速安装的方法。
Ubuntu的操作系统,并在拥有一个跟用户(Root)的权限的账号,下面是具体的步骤。
1.配置mosquitto的安装仓库地址打开Ubuntu的终端,并运行下面的命令
sudoapt-add-repositoryppa:mosquitto-dev/mosquitto-ppa
当你输入密码之后,你将会看到下面的类似输出(临时文件的名字可能不太一样)
gpg:icedust`/tmp/tmpj3a50p1p/'created
gpg:icedust`/tmp/tmpj3a50p1p/'created
gpg:
gpg:/tmp/tmpj3a50p1p/:trustdbcreated
gpg:key262C4500:publickey"Launchpadmosquitto"imported
gpg:Totalnumberprocessed:1
gpg:imported:1(RSA:1)
OK
2.更新Ubuntu的最新操作系统补丁紧接着运行下面的命令去更新Ubuntu的最新安装包,其会把Mosquitto的仓库地址加入到操作系统中来。
sudoapt-getupdate
你将会看到下面的类似输出。
Get:1
ubuntuxenialInRelease[23,8kB]
Hit:2
Hit:3
Hit:4
Get:5
ubuntuxenial/mainamd64Packages[2.048B]
Hit:6
Get:7
ubuntuxenial/maini386Packages[2.048B]
Get:8
ubuntuxenial/mainTranslation-en[1.292B]
Fetched29,2kBin1s(21,5kB/s)
ReadingpackagelistsDone
3.安装MQTT服务端现在时候运行下面的命令去安装Mosquitto服务了。
sudoapt-getinstallmosquito
你将会看到下面的类似输出.
ReadingpackagelistsDone
Buildingdepencytree
ReadingstateinformationDone
Thefollowingadditionalpackageswillbeinstalled:
libev4libuv1libwebsockets7
ThefollowingNEWpackageswillbeinstalled:
libev4libuv1libwebsockets7mosquitto
0upgraded,4newlyinstalled,0toremoveand299notupgraded.
8notfullyinstalledorremoved.
Needtoget274kBofarchives.
Afterthisoperation,714kBofadditionaldiskspacewillbeused.
Doyouwanttocontinue?[Y/n]
这个时候请输入Y,让安装继续。之后,将会出现下面类似的界面,这个时候已经在安装和配置Mosquitto了。
Settingupmosquitto(1.4.10-0mosquitto3)
Processingtriggersforlibc-bin(2.23-0ubuntu3)
Processingtriggersforsystemd(229-4ubuntu7)
Processingtriggersforureadahead(0.100.0-19)
4.安装MQTT客户端通过上面的步骤,Mosquitto其实已经被安装完了,如果想继续安装Mosquitto的客户端的话,可以运行下面的命令:
sudoapt-getinstallmosquitto-clients
其输出可能类似于下面:
ReadingpackagelistsDone
Buildingdepencytree
ReadingstateinformationDone
Thefollowingadditionalpackageswillbeinstalled:
libc-ares2libmosquitto1
ThefollowingNEWpackageswillbeinstalled:
libc-ares2libmosquitto1mosquitto-clients
0upgraded,3newlyinstalled,0toremoveand299notupgraded.
Needtoget138kBofarchives.
Afterthisoperation,332kBofadditionaldiskspacewillbeused.
Doyouwanttocontinue?[Y/n]
当要求你继续的时候,请输入Y。
输入Y之后,将会显示下面类似的信息,其表示正在安装Mosquitto的客户端。
Settinguplibmosquitto1:amd64(1.4.10-0mosquitto3)
Settingupmosquitto-clients(1.4.10-0mosquitto3)
Processingtriggersforlibc-bin(2.23-0ubuntu3)
5.运行下面的命令,确认Mosquitto的服务是否已经启动。sudoservicemosquittostatus
如果出现了Active:active(running)等关键字,则表示Mosquitto已经启动。
6.确认MQTT服务是否启动因为MQTT服务器的默认端口是1883,运行下面的Linux命令,也能确认Mosquitto是否已经启动。
netstat-an|grep1883
下面的输出显示了Mosquitto已经成功启动。
:18830.0.0.0:*LISTEN
tcp600:::1883:::*LISTEN
如果你想继续深入的话,请给我在文末留言,如果大于10人我将继续深入下去。
如果你有任何疑问需要探讨,欢迎在文章末尾留言,我尽量在第一时间个大家回复。





