您好,欢迎访问木子天禾科技官网!
17319297980
15934152105
北京软件开发公司_山西软件开发公司_木子天禾科技官网
联系我们

北京软件开发公司_山西软件开发公司_木子天禾科技官网

地址:山西省太原市小店区恒大未来城5-1711
手机:15934152105

咨询热线17319297980

php搭建MQtt协议服务

发布时间:2020-09-22 20:25人气:

MQTT 是物联网的消息传送协议标准。

在 CentOS 7上常用的开源 MQTT 消息服务器就是 Mosquitto。

我们用 PECL 来安装 Mosquitto 的 PHP 实现。

首先要确保 php-devel 已经安装:

# yum install -y php-devel

然后确保 mosquitto-devel 也已经安装:

#yum install -y mosquitto-devel

再用 pecl 来安装 Mosquitto-PHP

# pecl install Mosquitto-alpha

然后去 /etc/php.ini 添加一行:

extension=mosquitto.so

重启 Apache后,运行 php -i|grep mosquitto 可以看到
mosquitto
libmosquitto version => 1.4.13

表明 PHP 可以使用 mosquitto 的 MQTT 库了。

下面是用 PHP 来发送消息的示例代码 mosquitto-test.php:

<?php
2
3
4 $c = new Mosquitto\Client;
5
6 $topic = 'test';
7 $msg = 'hello你好';
8 $qos = 2;
9
10 $username = 'username';
11 $password = 'Passw0rd';
12
13 $c->setCredentials($username, $password);
14 $c->onConnect(function() use ($c) {
15 global $topic,$msg,$qos;
16 $c->publish($topic, $msg, $qos);
17 });
18
19 $host = '192.168.7.201';
20
21 $c->connect($host);
22 for ($i = 0; $i < 100; $i++) {
23 // Loop around to permit the library to do its work
24 $c->loop(1);
25 }
26
27 echo "结束\n";

然后运行 php mosqitto-test.php

另外开启一个终端,用

# mosquitto_sub -h 192.168.7.201 -u username -P Passw0rd -t test

可以看到 PHP 程序发送的消息: "hello你好".


推荐资讯

17319297980