Python:Mac 下 MQTT 服務器 Mosquitto 的配置

我在Mac電腦上搭建時遇到了一些不一樣於網上大部分狀況的問題,特此分享給可能也有遇到相同狀況又找不到解決方法的人。python

 

個人電腦系統:macOS Mojave 10.14.3。git

 

paho-mqtt 的安裝

首先,須要下載 paho-mqtt 模塊(也有不少別的 mqtt 模塊,在 pypi.org 網站上能夠搜索到,但我感受這個模塊的相關資料全一些) ,直接運行 pip install paho-mqtt 便可安裝,不過根據官網提示,我選擇在 virtualenv 中運行。【1】我運行的指令以下:github

virtualenv paho-mqtt source paho-mqtt/bin/activate pip install paho-mqtt git clone https://github.com/eclipse/paho.mqtt.python
cd paho.mqtt.python python setup.py install

注意:之後再運行時都須要先執行 source paho-mqtt/bin/activate ,正常狀況下以下圖所示。服務器

 

 

mqtt 代理(broker) mosquitto 的安裝

我查閱到的大多數都是安裝 mosquitto,有比較多的安裝介紹,因而我就選擇安裝這個。eclipse

終端執行 brew install mosquitto 就能便捷安裝。網站

顯示安裝成功後,須要修改一下配置文件。我查看的大可能是文章介紹包括我本身的終端提示都說了默認配置文件 mosquitto.conf 在 /usr/local/etc/mosquitto 中。但個人對應的 /usr/local/etc 下根本沒有 mosquitto 這個文件夾。這個問題困擾了我好久。終端顯示的提示以下:ui

To have launchd start mosquitto now and restart at login:   brew services start mosquitto Or, if you don't want/need a background service you can just run:   mosquitto -c /usr/local/etc/mosquitto/mosquitto.conf

最後終於在這個文章的啓示下成功找到配置文件。【2】地址是usr⁩/⁨local⁩/Cellar⁩/⁨mosquitto⁩/1.5.8⁩/⁨etc⁩/⁨mosquitto⁩。須要在配置文件 mosquitto.conf 中添加IP地址,以下圖。默認 port 是1883。spa

 

啓動 mosquitto 服務器

通常的操做是:代理

  • 中止服務 brew services stop mosquitto 
  • 啓動服務  brew services start mosquitto 

可是我執行啓動命令後報錯了。在前面提到的文章的啓示下,我找到可行的指令,以下(1.5.8是我所使用的 mosquitto 的最新版本,你們自行替換本身使用的版本):rest

cd /usr/local/Cellar/mosquitto/1.5.8/sbin ./mosquitto -c /usr/local/Cellar/mosquitto/1.5.8/etc/mosquitto/mosquitto.conf -d

成功後效果以下:

接着,你就能夠運行你的 python 文件了。

 

參考資料

【1】https://pypi.org/project/paho-mqtt/#installation

【2】https://www.jianshu.com/p/a48598e9b76e (《Mac安裝MQTT服務器》)

相關文章
相關標籤/搜索