2017 © Pedro Peláez
 

library php-mqtt-client

a mqtt client library for php

image

oliverlorenz/php-mqtt-client

a mqtt client library for php

  • Tuesday, August 1, 2017
  • by oliverlorenz
  • Repository
  • 7 Watchers
  • 21 Stars
  • 223 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 8 Forks
  • 6 Open issues
  • 9 Versions
  • 29 % Grown

The README.md

PHP MQTT Client

phpMqttClient is an MQTT client library for PHP. Its based on the reactPHP socket-client and added the MQTT protocol specific functions. I hope its a better starting point that the existing PHP MQTT libraries., (*1)

Build Status Code Climate Test Coverage, (*2)

Goal

Goal of this project is easy to use MQTT client for PHP in a modern architecture without using any php modules. Currently, only protocol version 4 (mqtt 3.1.1) is implemented. * Protocol specifications: http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/csprd02/mqtt-v3.1.1-csprd02.html, (*3)

Example publish

$config = require 'config.php';

$connector = ClientFactory::createClient(new Version4());

$p = $connector->create($config['server'], $config['port'], $config['options']);
$p->then(function(Stream $stream) use ($connector) {
    return $connector->publish($stream, 'a/b', 'example message');
});
$connector->getLoop()->run();

Example subscribe

$config = require 'config.php';

$connector = ClientFactory::createClient(new Version4());

$p = $connector->create($config['server'], $config['port'], $config['options']);
$p->then(function(\React\Stream\Stream $stream) use ($connector) {
    $stream->on(Publish::EVENT, function(Publish $message) {
        print_r($message);
    });

    $connector->subscribe($stream, 'a/b', 0);
    $connector->subscribe($stream, 'a/c', 0);
});

$connector->getLoop()->run();

Notice - (May 12th, 2015)

This is library is not stable currently. Its an early state, but I am working on it. I will add more features if I need them. If you need features: please give feedback or contribute to get this library running., (*4)

Currently works: * connect (clean session, no other connect flags) * disconnect * publish * subscribe, (*5)

Run tests

./vendor/bin/phpunit -c ./tests/phpunit.xml ./tests

Troubleshooting

Why does the connect to localhost:1883 not work?

The answer is simple: In the example is the DNS 8.8.8.8 configured. Your local server is not visible for them, so you can't connect., (*6)

The Versions

01/08 2017

dev-master

9999999-dev

a mqtt client library for php

  Sources   Download

LGPL

The Requires

 

The Development Requires

by Oliver Lorenz

iot mqtt

01/08 2017
25/07 2017
15/07 2017
06/07 2017
06/10 2015

0.3.x-dev

0.3.9999999.9999999-dev

a mqtt client library for php

  Sources   Download

The Requires

 

The Development Requires

by Oliver Lorenz

iot mqtt

15/05 2015

dev-jenkins-test

dev-jenkins-test

a mqtt client library for php

  Sources   Download

The Requires

 

The Development Requires

by Oliver Lorenz

iot mqtt

12/05 2015

0.2

0.2.0.0

a mqtt client library for php

  Sources   Download

The Requires

 

The Development Requires

by Oliver Lorenz

iot mqtt

06/05 2015

0.1

0.1.0.0

MQTT Bindings for reactphp

  Sources   Download

The Requires

 

by Oliver Lorenz

iot mqtt