腾讯云物联网设备端 Android SDK 依靠安全且性能强大的数据通道,为物联网领域开发人员提供设备端快速接入云端,并和云端进行双向通信的能力。开发人员只需完成工程的相应配置即可完成设备的接入。
已按照 设备接入准备 创建好产品和设备。
若不需要将 IoT SDK 运行在 service 组件中,则只需要依赖 iot_core。
dependencies {
implementation 'com.tencent.iot.hub:hub-device-android-core:x.x.x'
implementation 'com.tencent.iot.hub:hub-device-android-service:x.x.x'
}
说明:
- 用户可根据 版本说明 把上述x.x.x设置成最新版本。
- 若不需要将 IoT SDK 运行在 service 组件中,则只需要依赖 iot_core。
- 若需要将 IoT SDK 运行在 service 组件中,则只需依赖 iot_service。
dependencies {
implementation project(':hub:hub-device-android:iot_core')
implementation project(':hub:hub-device-android:iot_service')
}
编辑 app-config.json 文件中的配置信息,可在 IoTMqttFragment.java 读取对应以下数据:
{
"PRODUCT_ID": "",
"DEVICE_NAME": "",
"DEVICE_PSK": "",
"SUB_PRODUCT_ID": "",
"SUB_DEV_NAME": "",
"SUB_PRODUCT_KEY": "",
"TEST_TOPIC": "",
"SHADOW_TEST_TOPIC": "",
"PRODUCT_KEY": ""
}
SDK 提供证书认证与密钥认证两种认证方式,需按照已创建的产品认证类型进行选择设置。
密钥认证须在 app-config.json 配置信息中填入 PRODUCT_ID、DEVICE_NAME、DEVICE_PSK 所对应的参数。SDK 会根据设备配置信息自动生成签名,作为接入物联网通信的凭证。
证书认证须在 app-config.json 配置信息中填入 PRODUCT_ID、DEVICE_NAME 等内容并读取设备证书、设备私钥文件的内容。读取方式分为两种:
通过 AssetManager 进行读取,此时需在工程 hub/hub-android-demo/src/main
路径下创建 assets 目录并将设备证书、私钥放置在该目录中。
通过 InputStream 进行读取,此时需传入设备证书、私钥的全路径信息。
成功读取证书文件与私钥文件之后,需在 IoTMqttFragment.java 中设置 mDevCertName 证书名称与 mDevKeyName 私钥名称。
private String mDevCertName = "YOUR_DEVICE_NAME_cert.crt";
private String mDevKeyName = "YOUR_DEVICE_NAME_private.key";
配置完成之后,在工程中调用 SDK 中 MQTT 连接的相关接口,即可完成设备的接入。
mMqttConnection = new TXGatewayConnection(mContext, mBrokerURL, mProductID, mDevName, mDevPSK,null,null ,mMqttLogFlag, mMqttLogCallBack, mMqttActionCallBack);
mMqttConnection.connect(options, mqttRequest);
本页内容是否解决了您的问题?