You need to enable JavaScript to run this app.
导航
初始化 MQTT 连接
最近更新时间:2024.06.21 15:38:22首次发布时间:2024.06.21 15:38:22

在调用 SDK 前,需要到边缘智能平台获取调用 SDK 所需的一系列参数,这些参数配置在使用 SDK 进行 MQTT 初始化时需要提供。

初始化 MQTT 配置说明

下面为样例程序samples/thingmodel/custom_topic.go文件中所需制定的初始化配置的示例配置及说明,并演示了完成初始化 MQTT 连接的主要代码。

// 1.设备初始化
deviceOption := arenal.NewDeviceOption()
deviceOption.WithDeviceInfo(
   "SAMPLE_PRODUCT_KEY",                                 // 产品 ProductKey
   "SAMPLE_PRODUCT_SECRET",                              // 产品 ProductSecret
   "SAMPLE_DEVICE_NAME",                                 // 设备名称
   "SAMPLE_DEVICE_SECRET",                               // 设备 DeviceSecret
   arenal.VerifyModeDeviceSecret,
)
deviceOption.WithInstanceID("SAMPLE_INSTANCE_ID")        // 实例 ID
deviceOption.WithMQTTEndpoint("SAMPLE_MQTT_HOST")        // MQTT 设备接入 URL
deviceOption.WithMQTTPort(8883)
deviceOption.WithEnableTls(true)
deviceOption.WithCloudHTTPEndpoint("SAMPLE_HTTP_HOST")   // 设备端 API 接入 URL
d := arenal.CreateDeviceWithConfig(*deviceOption)

// ....

if ok := d.Init(); !ok {
    log.Error("device init failed")
}

MQTTS 说明

  • 如果端口是 MQTTS 的端口,则需要手动设置为打开 TLS:

    deviceOption.WithMQTTPort(8883)
    deviceOption.WithEnableTls(true)
    
  • 不使用 TLS 的 MQTT 端口为 1883,如下所示:

    deviceOption.WithMQTTPort(1883)
    deviceOption.WithEnableTls(false)