LED屏厂家广告发布软件如何与EXLIVE平台对接 |
版本要求:服务器V3.131.018 及以上
LED屏厂家开发的广告发布软件会根据厂家LED屏的特点开发各种操作,并且能够及时伴随硬件的更新而更新软件功能,厂家的广告发布软件更方便使用、更新及时;EXLIVE平台只需要提供一个上下行透传通道,来连接设备和厂家的发布软件。
EXLIVE平台提供透传通道的同时,还要提供帐号鉴权,车辆状态更新等功能,“EXLIVE平台接口规范(JSON)”规范便开满足这些需要。
约定:
客户端:LED屏厂家开发的广告发布软件
服务器:exlive平台GServer服务器
LED屏厂家开发的广告发布软接入exlive平台注意事项
>> 获取一个exlive 平台帐号
>> 以TCP方式登录exlive平台1502端口,参考用户登录命令1000
>> 等待exlive平台登录返回成功,如果返回结果不是success服务器将掐断TCP连接
>> 收到成功后,第三方平台需要间隔30秒发送心跳消息,参看客户端心跳1002,如果3分钟收不到客户端的心跳,服务器将掐断与客户端的TCP连接
>> 帐号不允许重复登录,也就是说一个帐号同时只能登录一次服务器
LED屏厂家广告发布软件与EXLIVE平台对接步骤:
1.用户登录 client->server
{"header":{"cmd":"1000"},"body":{"name":"exlive","pass":"000000","ver":"","type":"","mode":""}}
type:json_led 广告发布客户端
TCP方式连接服务器1502端口后,发送此登录数据
2.命令应答 server->client
{"header":{"cmd":"8000"},"body":{"cmd":"1000","result":"success","text":"" }}
result:success 登陆成功
3.客户端心跳 client->server
{"header":{"cmd":"1002"},"body":{"result":"" }}
广告发布软件要定时向服务器发送心跳,服务器如果3分钟收不到心跳,将断开与客户端软件的连接
4.请求下发用户权限下客户及分组数据 client->server
{"header":{"cmd":"1008"},"body":{"client":"true" }}
Client:true 下发客户关系数据 false 不下发
5.用户的分组权限数据 server->client
{"header":{"cmd":"1009"},"body":{"groupid":"","relation":"","customer":"","goupname":"" }}
服务器向客户端下发当前用户的分组权限
6.请求服务器下发用户权限下分组车辆数据 client->server
{"header":{"cmd":"1010"},"body":{"groupid":"1" }}
客户端请求服务器下发指定分组下的车辆数据
Groupid:分组id
7.服务器下发用户权限下分组车辆数据 server->client
{"header":{"cmd":"1011"},"body":{"id":"","groupname":"","code":"","sim":""," terminalid":"", "vhctype":"","mobiletype":"" }}
Id: 车辆id
groupname:分组名称
Code:车牌号码
sim: sim卡号码
Terminalid: 设备id
vhctype:车辆类型
Mobiletype: 设备类型
8.服务器向客户端下发车辆定位数据server -> client
{"header":{"cmd":"1007"},"body":{"code":"","id":"","lat":"","lng":"","veo":"","dir":"","gpstime":"","av":"","alarm":"","oil":"","dis":"","wstate":"","states":"","posinfo":"" }}
客户端根据收到的实时数据了解车辆的当前状态,是否在线等
gpstime格式: 2011-11-01 12:38:39
Av表示是否为有效定位 0 无效定位 1有效定位
States为状态描述,可以为空 车辆不在线时会包含内容:不在线
posinfo为位置描述,可以为空
Alarm: 是否报警 0 无报警 1 报警
Oil: 当前油量
Dis: 当前总里程
9.发送车机透传命令到设备 client->server
{"header":{"cmd":"1012"},"body":{"terminalid":"","code":"","cmdid":"7513","cmdpass":"","data":"" }}
客户端向屏发送指令
Code:车牌号码
cmdid:透传指令id,固定为7513
Terminalid:设备id
cmdpass:指令密码,默认为空
data:下行透传指令内容16进制表示,例如:7E43000A0001424C414301016F7E
10. 转发设备透传数据到客户端 server->client
{"header":{"cmd":"1013"},"body":{"terminalid":"","code":"","data":"" }
将屏发上来的数据转发给客户端
Code:车牌号码
Terminalid:设备id
data:上行透传指令内容16进制表示,例如:7E43000A0001424C414301016F7E
11.用户退出,注销登录 client->server
{"header":{"cmd":"1001"},"body":{"data":""}}
退出时必须要发送此命令,否则3分钟内将不能登录服务器