Appearance
简介
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
测试教程:点击调整
测试视频:点击观看