MQTT安裝和php使用mosquitto的例項

2021-10-09 13:15:23 字數 2853 閱讀 6720

# 解壓

tar zxfv mosquitto-1.6.7.tar.gz

mv mosquitto-1.6.7 mosquitto

# 進入目錄

cd mosquitto

# 編譯  安裝

make && make install

可以看到最後幾行,說明在/etc/下建立了配置檔案和密碼檔案,後面可以使用,也可以就使用mosquitto/當前目錄下的配置

install -m 644 mosquitto.conf "/etc/mosquitto/mosquitto.conf.example"

install -m 644 aclfile.example "/etc/mosquitto/aclfile.example"

install -m 644 pwfile.example "/etc/mosquitto/pwfile.example"

install -m 644 pskfile.example "/etc/mosquitto/pskfile.example"

配置複製乙份新的密碼檔案

cp pwfile.example pwfile

修改配置檔案

vi mosquitto.conf

allow_anonymous false   #必須使用密碼  搜尋allow_anonymous  去掉前面#號

password_file /usr/local/mosquitto/pwfile  #密碼檔案 搜尋 password_file

user root   # user mosquitto  許可權

port 1884   # port to use for the default listener.  埠

:wq生成密碼

cd src

./mosquitto_passwd -c /usr/local/mosquitto/pwfile user_name

連續輸入兩次沒密碼

可以發現之前pwfile裡面有了內容

啟動並後台執行mosquitto

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

檢視是否開啟

ps -aux | grep mosquitto

whereis mosquitto_sub

cd /usr/local/bin

./mosquitto_sub -h 127.0.0.1 -u root -p 12345 -p 1884 -v -t uid_login

訂閱如果遇到報錯

./mosquitto_sub: error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: no such file or directory

解決辦法 

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

更新動態鏈結庫  ldconfig

重新開個視窗

./mosquitto_pub -h 127.0.0.1 -u root -p 12345 -p 1884 -t uid_login  -m 12

之前訂閱的視窗收到資訊說明成功

cd /usr/local/mosquitto/src

啟動並後台執行mosquitto

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

檢視是否開啟

ps -aux | grep mosquitto

whereis mosquitto_sub

php安裝mqtt  擴充套件

yum install -y php-devel

yum install -y mosquitto-devel

/www/server/php/56/bin/pecl install mosquitto-alpha

安裝過程提示有3個函式被禁用

popen   readlink  putenv

安裝後要恢復

可能安裝不成功 手動安裝

tar zxvf mosquitto-0.4.0.tgz    解壓

cd mosquitto-0.4.0                  繼續進入

/www/server/php/56/bin/phpize

./configure --with-php-config=/www/server/php/56/bin/php-config && make && make install

php.ini  新增 extension=mosquitto.so

重啟php

mqtt.php

<?php

$client = new mosquitto\client();

$client->setcredentials('root','12345');

$client->connect("127.0.0.1", 1884, 5);

for($i = 0;$i<=100;$i++) \n";

$client->loop();

sleep(2);

}

sub.php
<?php

$c = new mosquitto\client;

$c->setcredentials('root','12345');

$c->connect('127.0.0.1',1884,50);

$c->subscribe('ss', 1);

$c->onmessage(function($m) );

$c->loopforever();

QT5 5的mqtt安裝和使用

由於專案原因,要使用qt的mqtt模組,但之前使用的是qt5.5.1版本,而qt5.10之前不支援mqtt,因此需要編譯的方式去安裝子模組,參考qt以編譯方式安裝mqtt進行安裝。如果在qt中使用,在pro檔案中加上 qt qmqtt 如果在vs中整合qt使用該模組,則需要在專案屬性中包含目錄加入m...

MQTT初體驗mosquitto的安裝和使用

一 簡單介紹 二 環境介紹 2 mqtt版本 mosquitto 1.4.5 三 環境準備 1 資源獲取 wget 解壓 tar zxfv mosquitto 1.4.9.tar.gz 2 linux環境準備 ares.h sudo yum install libc ares dev uuid.h ...

MacOS下php7 2安裝MQTT擴充套件記錄

使用pecl安裝 sudo pecl install mosquitto alpha 提示輸入字首的時候輸入libmosquitto回車 安裝完畢 build process completed successfully installing usr local cellar php 7.2 7.2...