denherrring/laravel-mqtt-client

一个简单的 Laravel 5 库/客户端,用于连接/发布到 MQTT 代理

1.0.4 2019-05-13 13:13 UTC

This package is auto-updated.

Last update: 2024-09-15 03:39:38 UTC


README

一个简单的 Laravel 5 库/客户端,用于连接/发布到 MQTT 代理

基于 bluerhinos/phpMQTT

安装

composer require denherrring/laravel-mqtt-client

功能

  • 用户名和密码认证
  • 端到端加密的证书保护
  • 启用调试模式,以便更容易调试
  • 使用 LWT 消息和重传/服务质量标志

启用包(可选)

此包实现了 Laravel 自动发现功能。安装后,将自动添加包提供者和外观,适用于 laravel >= 5.5。

如果使用的是 laravel 版本 < 5.5,则此步骤是必需的

要显式声明提供者和/或别名,请将服务提供者添加到您的 config/app.php

'providers' => [

        DenHerrRing\MqttClient\MqttClientServiceProvider::class,
];

然后添加别名到您的 config/app.php

'aliases' => [

       'MqttClient' => DenHerrRing\MqttClient\Facades\MqttClient::class,
];

配置

发布配置文件

php artisan vendor:publish --provider="DenHerrRing\MqttClient\MqttClientServiceProvider"

Config/mqttclient.php

    'host'     => env('mqtt_host','127.0.0.1'),
    'clientId' => env('mqtt_clientId', null),
    'password' => env('mqtt_password',''),
    'username' => env('mqtt_username',''),
    'certfile' => env('mqtt_cert_file',''),
    'port'     => env('mqtt_port','1883'),
    'debug'    => env('mqtt_debug',false) //Optional Parameter to enable debugging set it to True

发布主题

use DenHerrRing\MqttClient\MqttClientClass\MqttClient;

public function SendMsgViaMqtt($topic, $message)
{
        $mqtt = new MqttClient();
        $output = $mqtt->ConnectAndPublish($topic, $message);

        if ($output === true)
        {
            return true;
        }

        return false;
}

使用外观发布主题

use MqttClient;

public function SendMsgViaMqtt($topic, $message)
{
        $output = MqttClient::ConnectAndPublish($topic, $message);

        if ($output === true)
        {
            return true;
        }

        return false;
}

在 php 7.3 和 laravel 5.7 以及 laravel 5.8 上进行了测试

订阅部分正在开发中