alhaji-aki / laravel-mqtt-client
一个用于订阅和发布MQTT协议的软件包
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: 2024-09-29 05:56:13 UTC
README
composer require alhaji-aki/laravel-mqtt-client
发布配置并添加监听命令到应用程序
php artisan mqtt:install
修改监听命令中的逻辑并在命令内核中注册它
可用方法
连接到代理
MqttClient::connect();
获取连接
MqttClient::connect()->connection();
断开连接
use AlhajiAki\MqttClient\Facades\MqttClient; $connection = MqttClient::connect()->connection(); $connection->disconnect();
发布
use AlhajiAki\MqttClient\Facades\MqttClient; $data = [ 'foo' => 'bar', 'bar' => 'baz', 'time' => time(), ] MqttClient::connect()->publish('foo/bar', json_encode($data), 0);
订阅
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);
取消订阅
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()); });