Single

MQTT学习笔记——Mosquitto安装及初体验

这次学习MQTT开了两个BPI,一个是Raspbian,一个是Debian,一台做服务端,一台做订阅端,第一次安装时候没有记录下来,所以决定再装一次

两个BPI都打开之后,接下来是安装mosquitto了,根据http://blog.csdn.net/xukai871105/article/details/39252653这个文章说的方法,后面说的几个问题全!都!遇!到!了!所以这次决定先把这些工具安装好

sudo apt-get update
sudo apt-get install libssl-dev libc-ares-dev uuid-dev

然后下载源码包

wget http://mosquitto.org/files/source/mosquitto-1.4.5.tar.gz

解压

tar zxfv mosquitto-1.4.5.tar.gz

进入目录并编译

cd mosquitto-1.4.5
make

安装
sudo make install

创建链接

sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1

更新动态链接库

sudo ldconfig

这就安装好了,在试的时候发现mosquitto这个命令还是无法用,说command not found

没办法,又安装了一次

sudo apt-get install mosquitto

(我以为是源码的问题,后来我先通过包管理器安装,然后再试,发现没有init文件,有知道啥解决办法的大神麻烦告知下)

接下来就是开启服务了

mosquitto -c /etc/mosquitto/mosquitto.conf -d

(在这里可能会出现Invaliduser ‘mosquitto’的问题,看过这里之后发现是用户不对的原因,解决方法有两种
(1)添加一个叫用户mosquitto的用户:adduser mosquitto

(2)修改配置文件:mosquitto.conf ,增加登录的用户,例如当前登录用户为bananapi,

文件在/etc/mosquitto/目录下,在文件下最后一行加一句“user bananapi”就可以了)

两个BPI都设置好后,就是开始通信了,开启服务的方法有两种

mosquitto -c /etc/mosquitto/mosquitto.conf -d
sudo /etc/init.d/mosquitto start

+++++++++++++++++++++++++++++++++++我是分割线+++++++++++++++++++++++++++++++++++++
我用的是M2开启服务,然后就是用M1+运行订阅程序mosquitto_sub了

*注意:消息推送的发布和订阅要有主题,选项[-t] 主题,即:

mosquitto -t 主题

如需指定用户名称则加选项[-i] 用户名,即:

mosquitto_sub -t 主题 -i 订阅端
mosquitto_sub -t bpi

然后用M2推送主题,发布端用户名和消息:mosquitto_pub -t 主题 -i 发布端 -h 主机 -m 你好*注意:如果消息中间有空格则消息要用引号括起来。

mosquitto_pub -t 主题 -i 发布端 -h host -m '我是发布端,你好。'
mosquitto_pub -h localhost -t bpi -m "hello BPI-M1+,I'm BPI-M2."

最后附上一张图

暂无评论

发表评论