php-mqtt-client
MQTT 3.1.1 Client with TSL support in PHP, (*1)
Note that all calls are blocking until a timeout occurs. If you need some fancy async solution, you'll have to find another repo., (*2)
Installation
The preferred way to install this extension is through composer., (*3)
Either run, (*4)
php composer.phar require --prefer-dist karpy47/php-mqtt-client
or add, (*5)
"karpy47/php-mqtt-client": "*"
to the require section of your composer.json., (*6)
Requirements
Should work with all recent PHP versions., (*7)
Code developed and running in production using PHP v5.6.27, (*8)
Not tested on PHP v7, please report back!, (*9)
Basic Usage
$client = new MQTTClient('mqtt-server.domain.com', 8162);
$client->setAuthentication('mqtt-server.username','mqtt-server.password');
$client->setEncryption('cacerts.pem');
$success = $client->sendConnect(12345); // set your client ID
if ($success) {
$client->sendSubscribe('topic1');
$client->sendPublish('topic2', 'Message to all subscribers of this topic');
$messages = $client->getPublishMessages(); // now read and acknowledge all messages waiting
foreach ($messages as $message) {
echo $message['topic'] .': '. $message['message'] . PHP_EOL;
}
$client->sendDisconnect();
}
$client->close();
Credits
Thanks to bluerhinos/phpMQTT and McFizh/libMQTT., (*10)
License
Released under the MIT License. Please see License File for more information., (*11)