IOT
IOT模块说明
IOT模块为设备提供了与公众号或者APP进行消息交互的能力。家长端具体接入配置可参考家长端。该模块主要提供给设备端使用。
初始化MQTT
初始化操作主要是为了获取用于连接MQTT的Topic信息。
turingOSClient.initMQTT(final MQTTInitListener bindInitListener)
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| apiKey | true | String | 图灵授权的apiKey |
| bindInitListener | true | BindInitListener | 绑定信息获取回调 |
回调接口
public interface MQTTInitListener {
/**
* MQTT初始化成功
* @param topic MQTT话题数据 {@link Topic}
*/
void onSccess(Topic topic);
/**
* MQTT初始化失败
* @param errorCode 错误码;详见 {@link com.turing.os.log.TuringCode}
* @param errorMsg 错误信息
*/
void onFailed(int errorCode, String errorMsg);
}
Topic字段说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| account | string | 连接账号 |
| password | string | 连接密码 |
| topic | string | 订阅的主题 |
| clientId | string | 自己的设备ID |
| endpoint | url | 连接地址(当兼容多种协议时会返回多个连接,以逗号隔开) |
连接MQTT
将初始化成功获取的Topic传入连接MQTT的方法,进行连接MQTT。
public void connectMQTT(final Topic topic, final MQTTConnectListener mqttConnectListener)
回调接口,其中接受到的消息json字段可参考设备接入家长端文档。
onSuccess接口回调成功之后即连接MQTT服务成功,
public interface MQTTConnectListener {
/**
* MQTT服务连接成功
*/
void onSuccess();
/**
* MQTT服务连接失败
* @param errorCode 错误码;见 {@link com.turing.os.log.TuringCode}
* @param errorMsg 错误信息
*/
void onFailed(int errorCode, String errorMsg);
/**
* 与MQTT服务器失去连接
* @param code see{@link com.turing.os.log.TuringCode}
* @param cause 错误信息
*/
void onConnectionLost(int code, String cause);
/**
* 接收到的消息
* @param json
*/
void onReceive(String json);
}
MQTT断开连接
当mqtt服务不需要时需要断开连接。
MQTTManager.getInstance().disconnected()