Android webview mqtt,APICloud

mqtt

来自于:开发者立即使用

概述

MQTT是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。本模块通过startmqtt订阅,之后所有服务器过来的消息都在startmqtt的callback里呈现,其他的指令单独返回callback(一般只反馈接口是否调用成功)。所以建议在startmqtt的callback里处理服务器下发的数据.

备注

不能同时添加的模块:fog2

startmqtt

建立MQTT连接

startmqtt(param, function(ret, err))

params

host:

类型:字符串

默认值:无

描述:host,域名或者IP

port:

类型:字符串

默认值:无

描述:端口,一般是1883

topic:

类型:字符串

默认值:无

描述:监听的主题

username:

类型:字符串

默认值:无

描述:用户名

password:

类型:字符串

默认值:无

描述:用户密码

clientid:

类型:字符串

默认值:无

描述:客户端ID

isencrypt:

类型:boolean

默认值:无

描述:是否SSL加密(默认为false)

callback(ret,err)

ret:

类型:JSON对象

内部字段:

//调用成功

{

"message": "success",

"code": 0

}

//连接成功

{

"status": "connected",

"code": 4210

}

//收到服务器的数据

{

"topic": "d64f517c/c8934691813c/out/read",

"payload": {"9": 3062},

"code": 4200

}

err:

类型:JSON对象

内部字段:

{

code : 0,

message:"Parameter is null"

}

示例代码

var mqtt = api.require('mqtt');

var param = {

host: "api.easylink.io",

port: "1883",

topic: "d64f517c/c8934691813c/out/read/#",

username: "admin",

password: "admin",

clientid: "f60e5d3c-65aa-11e6-9d95-00163e103941",

isencrypt: false

};

mqtt.startmqtt(param, function(ret, err) {

if (ret)

alert(JSON.stringify(ret));

else

alert(JSON.stringify(err));

})

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本

stopmqtt

断开MQTT连接

stopmqtt(function(ret, err))

callback(ret,err)

ret:

类型:JSON对象

内部字段:

{

"status": "stopped",

"code": 4212

}

err:

类型:JSON对象

内部字段:

{

"message": "mqtt closed",

"code": 4204

}

示例代码

mqtt.stopmqtt(function(ret, err) {

if (ret)

alert(JSON.stringify(ret));

else

alert(JSON.stringify(err));

});

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本

publish

发送指令

publish(param, function(ret, err))

params

topic:

类型:字符串

默认值:无

描述:发送指令的通道

command:

类型:字符串

默认值:无

描述:指令

qos:

类型:数字

默认值:无

描述:建议为0,QoS=0:最多一次,有可能重复或丢失;QoS=1:至少一次,有可能重复;QoS=2:只有一次,确保消息只到达一次(用于比较严格的计费系统)

retained:

类型:boolean

默认值:无

描述:建议为false(设置是否在服务器中保存消息体)

callback(ret,err)

ret:

类型:JSON对象

内部字段:

{

"status": "publish success",

"code": 4219

}

err:

类型:JSON对象

内部字段:

{

"message": "mqtt closed",

"code": 4204

}

示例代码

var param = {

topic: "d64f517c/c8934691813c/in/write/0012",

command: '{"4":false}',

// qos: 6,

// retained: false

};

mqtt.publish(param, function(ret, err) {

if (ret)

alert(JSON.stringify(ret));

else

alert(JSON.stringify(err));

});

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本

subscribe

增加订阅的通道

subscribe(param, function(ret, err))

params

topic:

类型:字符串

默认值:无

描述:发送指令的通道

qos:

类型:数字

默认值:无

描述:建议为0,QoS=0:最多一次,有可能重复或丢失;QoS=1:至少一次,有可能重复;QoS=2:只有一次,确保消息只到达一次(用于比较严格的计费系统)

callback(ret,err)

ret:

类型:JSON对象

内部字段:

{

"status": "subscribe success",

"code": 4213

}

err:

类型:JSON对象

内部字段:

{

"message": "mqtt closed",

"code": 4204

}

示例代码

var param = {

topic: "d64f517c/c8934691813c/in/write/#",

qos: 0,

};

mqtt.subscribe(param, function(ret, err) {

if (ret)

alert(JSON.stringify(ret));

else

alert(JSON.stringify(err));

});

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本

unsubscribe

移除订阅的通道

unsubscribe(param, function(ret, err))

params

topic:

类型:字符串

默认值:无

描述:发送指令的通道

callback(ret,err)

ret:

类型:JSON对象

内部字段:

{

"status": "unsubscribe success",

"code": 4215

}

err:

类型:JSON对象

内部字段:

{

"message": "mqtt closed",

"code": 4204

}

示例代码

var param = {

topic: "d64f517c/c8934691813c/in/write/#"

};

mqtt.unsubscribe(param, function(ret, err) {

if (ret)

alert(JSON.stringify(ret));

else

alert(JSON.stringify(err));

});

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本

状态码

状态码(code)

说明(message)

描述

0

success

请求成功

9001

Parameter is null

参数为空

4201

invalid param

各种参数错误(tag用来定位具体的参数)

4202

invalid context

无效的上下文

4203

mqtt busy

MQTT正在工作中

4204

mqtt closed

MQTT已经关闭

4205

qos must within(0,1,2)

qos必须是0、1、2之一

4206

exception

异常

4210

connected

MQTT连接成功

4211

topic missing

缺少topic参数

4212

stopped

MQTT断开连接成功

4213

subscribe success

订阅成功

4214

re-subscribe success

重订阅成功

4215

unsubscribe success

取消订阅成功

4216

connect exception

连接异常

4217

lost

连接丢失

4218

disconnected

未连接

4219

publish success

发布成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值