在调用 SDK 前,需要到边缘智能平台获取调用 SDK 所需的一系列参数,这些参数配置在使用 SDK 进行 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 的端口,则需要手动设置为打开 TLS:
deviceOption.WithMQTTPort(8883) deviceOption.WithEnableTls(true)
不使用 TLS 的 MQTT 端口为 1883,如下所示:
deviceOption.WithMQTTPort(1883) deviceOption.WithEnableTls(false)