Skip to content

简介

TCP简介

TCP 是一种面向连接的、可靠的、基于字节流的传输层通信协议,传输层协议常用的有TCP和UDP,像常见的http协议或mqtt协议,都是在TCP上传输的,TCP用途广泛,一般可以联网的设备,都支持TCP协议传输。

订阅、发布简介

通俗的来讲,订阅、发布是两种不同的信号 
订阅:订阅某一个主题,订阅之后,就可以收到发往该主题的消息。 
发布:向某个主题发送消息。 
例如:当某个设备订阅了主题“X”,这时向主题“X”发送的任何消息,设备都可以收到,因为设备已经订阅上了。

接口

地址:bemfa.com

端口:8344

字段说明

cmd:消息类型

cmd=1 时为订阅消息,当设备发送一次此消息类型,之后就可以收到发往该主题的消息

cmd=2 时为发布消息,向订阅该主题的设备发送消息

cmd=3 是订阅消息,和cmd=1相同,并且会拉取一次已发送过的消息

cmd=7 是获取时间,获取当前北京时间

cmd=9 为遗嘱消息,拉取一次已经发送的消息

uid:用户私钥

可在控制台获取

topic:用户主题

可以在控制台创建主题,格式为英文或数字,相当于设备标识

msg: 为消息体

用户想要发送到某个主题的数据

符号说明

\r\n: 为回车换符,每条指令后都需要有回车换行。
&: 为连接符,各字段间用'&'隔离。

心跳说明

发送任意数据 为心跳消息,包括上述指令也算是心跳,但要以回车换行结尾。
心跳消息是告诉服务器设备还在线,建议60秒发送一次,超过65秒未发送心跳会掉线。

订阅

订阅主题,单次最多订阅八个主题

cmd=1&uid=xxxxxxxxxxxxxxxxxxxxxxx&topic=xxx1,xxx2,xxx3,xxx4\r\n

正常返回:

cmd=1&res=1

发布

cmd=2&uid=xxxxxxxxxxxxxxxxxxxxxxx&topic=light002&msg=off\r\n

正常返回:

cmd=2&res=1

订阅主题,并获取一条历史消息

cmd=3&uid=xxxxxxxxxxxxxxxxxxxxxxx&topic=light002\r\n

正常返回:

cmd=3&uid=xxxxxxxxxxxxxxxxxxxxxxx&topic=light002&msg=on

获取一次时间

cmd=7&uid=xxxxxxxxxxxxxxxxxxxxxxx&type=1\r\n

正常返回:

2021-06-11 16:39:27
type=1 获取当前日期和时间,例如:2021-06-11 17:20:54

type=2 获取当前时间,例如:17:20:54

type=3 获取当前时间戳,例如:1623403325

获取一次已发消息

cmd=9&uid=7d54f85af42976ee3c2693e6xxxxxxxx&topic=light002\r\n

正常返回:

cmd=9&uid=xxxxxxxxxxxxxxxxxxxxxxx&topic=light002&msg=on

发送心跳

ping\r\n

正常返回:

cmd=0&res=1

发送任意数据,并以\r\n结尾,都为心跳消息,包括上述发布、订阅指令也都算是心跳。 心跳消息是告诉服务器设备还在线,建议60秒发送一次,超过65秒未发送心跳会掉线。

set 指令

推送消息时:主题名后加/set推送消息,表示向所有订阅这个主题的设备们推送消息,假如推送者自己也订阅了这个主题,消息不会被推送给它自己,以防止自己推送的消息被自己接收。 例如向主题 light002推送数据,可为 light002/set ,示例:

cmd=2&uid=4d9ec352e0376f2110a0c601a2857225&topic=light002/set&msg=on

up 指令

推送消息时:主题名后加/up推送消息,表示只更新云端数据,不进行任何推送。 例如向主题 light002推送数据,可为light002/up,示例:

cmd=2&uid=4d9ec352e0376f2110a0c601a2857225&topic=light002/up&msg=on

app 指令

订阅时:主题名后加/app订阅主题,不会占用设备在线状态,即不会显示设备在线,可用于app、小程序等订阅时使用。

示例:

cmd=1&uid=4d9ec352e0376f2110a0c601a2857225&topic=light002/app

测试教程:点击调整

测试视频:点击观看

巴法开放联盟