跳转至

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()