PowerShell 和 M2MQTT

问题描述 投票:0回答:2

我正在尝试在 PowerShell 中创建一个简单的 MQTT 客户端来接收来自代理的一些消息。该代理正在使用非标准端口。

为此,我按照在 https://jackgruber.github.io/2019-06-05-ps-mqtt/

找到的说明进行操作

当使用示例的代码时,它工作正常,但是当我尝试指定类似的端口时

$MqttClient = [uPLibrary.Networking.M2Mqtt.MqttClient]("mqtt-broker.net",41383)

它抛出错误:

Cannot convert the "System.Object[]" value of type "System.Object[]" to type "uPLibrary.Networking.M2Mqtt.MqttClient".
At line:1 char:1
+ $MqttClient = [uPLibrary.Networking.M2Mqtt.MqttClient]("ext.mqtt.drya ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [], RuntimeException
    + FullyQualifiedErrorId : ConvertToFinalInvalidCastException 

有什么想法吗?

powershell mqtt
2个回答
0
投票

我怀疑你需要构造该对象,而不仅仅是转换它。

尝试:

[upLibrary.Networking.m2mqtt.mqttclient]::new("mqtt-broker.net",41383)

0
投票

我设法通过这样做指定端口:

enum MqttSslProtocols
{    None
    SSLv3
    TLSv1_0
    TLSv1_1
    TLSv1_2
}

$sslProtocol = [MqttSslProtocols]::TLSv1_2
$MqttClient = [uPLibrary.Networking.M2Mqtt.MqttClient]::new("my-url",8883,$true,$null,$null,$sslProtocol)

您需要匹配构造函数签名之一的参数。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.