PHPackages                             joserf/mqtt-php-api - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. joserf/mqtt-php-api

ActiveLibrary[API Development](/categories/api)

joserf/mqtt-php-api
===================

MQTT Client PHP API

v1.0.0(3y ago)018MITPHPPHP ^7.4|^8.0

Since Mar 4Pushed 3y ago1 watchersCompare

[ Source](https://github.com/joserf/mqtt-php-api)[ Packagist](https://packagist.org/packages/joserf/mqtt-php-api)[ RSS](/packages/joserf-mqtt-php-api/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

MQTT - PHP | API
================

[](#mqtt---php--api)

Uma biblioteca para facilitar, desenvolvida para trabalhar com `PHP7` e `PHP8`.

Instalação:

```
composer require joserf/mqtt-php-api
```

Índice
------

[](#índice)

- [Requisitos mínimos](#requisitos-m%C3%ADnimos)
- [Como usar](#como-usar)
    - [Publish](#publish)
    - [Subscribe](#subscribe)
- [Exemplos de uso](#exemplos-de-uso)

Requisitos mínimos
------------------

[](#requisitos-mínimos)

- `php` &gt;= 7.4

Como usar
---------

[](#como-usar)

Um exemplo de publicação muito básico usando QoS 0 requer apenas três etapas: conectar, publicar e desconectar

Alterar os campos conforme exemplo abaixo, alterando o IP e porta.

### Publish

[](#publish)

```
$server   = '192.168.*.*';
$port     = 1883;
$clientId = 'test-publisher';

$mqtt = new \PhpMqtt\Client\MqttClient($server, $port, $clientId);
$mqtt->connect();
$mqtt->publish('test/publisher', 'JRF API Teste!', 0);
$mqtt->disconnect();
```

Se você não quiser passar um `$clientId`, um aleatório será gerado para você. Isso basicamente forçará uma sessão limpa implicitamente.

### Subscribe

[](#subscribe)

A assinatura é um pouco mais complexa do que a publicação, pois requer a execução de um loop de eventos que lê, analisa e manipula as mensagens do broker:

```
$server   = '192.168.*.*';
$port     = 1883;
$clientId = 'test-subscriber';

$mqtt = new \PhpMqtt\Client\MqttClient($server, $port, $clientId);
$mqtt->connect();
$mqtt->subscribe('test/subscriber', function ($topic, $message, $retained, $matchedWildcards) {
    echo sprintf("Received message on topic [%s]: %s\n", $topic, $message);
}, 0);
$mqtt->loop(true);
$mqtt->disconnect();
```

### Exemplos de uso

[](#exemplos-de-uso)

> Arquivo `exemplo.php` completo.

> \*Podemos efetuar o teste via web: `php -S localhost:8000/exemplo.php`

```
