alhaji-aki / laravel-mqtt-client
A package to subscribe and publish to mqtt protocols
dev-master / 1.x-dev
2021-05-30 13:26 UTC
Requires
- php: ^7.3|^8.0
- alexmorbo/react-mqtt: dev-master
- illuminate/console: ^7.0|^8.0
- illuminate/filesystem: ^7.0|^8.0
- illuminate/log: ^7.0|^8.0
- illuminate/support: ^7.0|^8.0
Requires (Dev)
- mockery/mockery: ^1.3
- orchestra/testbench: ^5.0|^6.0
- phpunit/phpunit: ^9.1
This package is auto-updated.
Last update: 2025-03-01 00:26:53 UTC
README
composer require alhaji-aki/laravel-mqtt-client
publish config and adds listen command to app
php artisan mqtt:install
change the logic in the listen command and register it in the Command Kernel
available methods:
connect to a broker
MqttClient::connect();
get connection
MqttClient::connect()->connection();
disconnect
use AlhajiAki\MqttClient\Facades\MqttClient; $connection = MqttClient::connect()->connection(); $connection->disconnect();
publish
use AlhajiAki\MqttClient\Facades\MqttClient; $data = [ 'foo' => 'bar', 'bar' => 'baz', 'time' => time(), ] MqttClient::connect()->publish('foo/bar', json_encode($data), 0);
subscribe
use AlhajiAki\MqttClient\Facades\MqttClient; use Morbo\React\Mqtt\Packets\Publish; MqttClient::connect()->subscribe('foo/bar', function ($stream) { $stream->on(Publish::EVENT, function (Publish $message) { printf( 'Received payload "%s" for topic "%s"%s', $message->getPayload(), $message->getTopic(), PHP_EOL ); }); }, 0);
unsubscribe
use AlhajiAki\MqttClient\Facades\MqttClient; MqttClient::connect()->unsubscribe('foo/bar', function ($message) { printf( 'Received payload "%s" for topic "%s"%s', $message->getPayload(), PHP_EOL ); }, function ($ex) { printf('Error occured: %s', $ex->getMessage()); });