
超越物联
相关文档
GServer实时接口(JSON)说明:
本规范规定了直接接入EXLIVE平台GServer应用服务器的接口定义,采用TCP通讯方式,实现了用户登录、权限验证、各种数据传输等功能。
本规范主要用来实现第三方软件和GServer服务器实时互通,采用TCP传输方式,端口为1502,数据格式使用json格式。
数据分为数据头(header)和数据体(body)两个部分。
数据头(header)部分格式为:
  "header":
          {
          "cmd":"1000"
          } 
格式主要包含一个命令字(cmd)属性,程序根据命令字来区分数据体的内容。数据体(body)部分包含的数据会根据数据头中的命令字(cmd)而异。
第三方平台数据转入EXLIVE平台步骤:
>> 获取一个EXLIVE平台帐号
>> 以TCP方式登录EXLIVE平台1502端口,参考用户登录命令1000
>> 等待exlive平台登录返回成功,如果返回结果不是success服务器将掐断TCP连接
>> 收到成功后,第三方平台需要间隔30秒发送心跳消息,参看客户端心跳 1002
>> 连接成功后,第三方平台可以按照 车辆定位数据 1007 格式上传车辆数据
>> 第三方平台退出连接可以发送 用户退出 1001命令,然后断开TCP连接
自己开发客户端接入EXLIVE平台GServer服务器步骤:
>> 获取一个EXLIVE平台帐号 
          >> 以TCP方式登录EXLIVE平台1502端口,参考用户登录命令1000
          >> 等待exlive平台登录返回成功,如果返回结果不是success服务器将掐断TCP连接 
          >> 收到成功后,第三方平台需要间隔30秒发送心跳消息,参看客户端心跳 1002
          >>请求下发用户下客户和分组数据 1008
          >>请求下发每个分组下的车辆数据 1010
          >> 服务器向客户端转发车辆的实时定位数据 1007
          >>客户端向车载终端下发车机命令 1003
          >> 客户端退出连接,发送退出命令 1001,然后断开TCP连接 
数据发送方向:client —> server
命令字:1000
参数
| 参数 | 类型 | 说明 | 
|---|---|---|
| name | String | 用户名称 | 
| pass | String | 用户密码 | 
| ver | String | 客户端版本,如 4.6936 | 
| type | String | 客户端类型 json_common | 
| mode | String | 备用,填空 | 
格式:
 {
          	 "header":
           {
            "cmd":"1000"
           },
           "body":
           {
            "name":"exlive",
            "pass":"000000",
            "ver":"4.6936",
            "type":"json_common",
            "mode":""
           }
          }  
数据发送方向:server —> client
命令字:8000
参数:
| 参数 | 类型 | 说明 | 
|---|---|---|
| cmd | String | 服务器接收到的命令字 | 
| result | String | 结果success 成功 failed失败 | 
格式:
 {
           "header":
           {
            "cmd":"8000"
           },
           "body":
           {
            "cmd":"1000",
            "result":"success" 
           }
          }  
数据发送方向:client —> server
命令字:1001
参数:
| 参数 | 类型 | 说明 | 
|---|---|---|
| data | String | 空 | 
格式:
  {
           "header":
           {
            "cmd":"1001"
           },
           "body":
           {
            "data":""
           }
          }  
数据发送方向:client —> server
命令字:1002
客户端登录成功后,需要按照30秒间隔向服务器发送心跳消息,如果3分钟没有收到客户端发送的心跳消息,服务器端将主动断开客户端的连接
参数:
| 参数 | 类型 | 说明 | 
|---|---|---|
| result | String | 空 | 
格式:
  {
           "header":
           {
            "cmd":"1002"
           },
           "body":
           {
            "result":""
           }
          }  
数据发送方向:client <—> server
命令字:1003
参数:
| 参数 | 类型 | 说明 | 
|---|---|---|
| msg | String | 消息内容 | 
格式:
  {
           "header":
           {
            "cmd":"1003"
           },
           "body":
           {
            "msg":"" 
           }
          }  
数据发送方向:client —> server
命令字:1004
参数:
| 参数 | 类型 | 说明 | 
|---|---|---|
| terminalid | String | 设备id | 
| code | String | 车牌号码 | 
| cmdid | String | 命令id | 
| cmdpass | String | 命令密码 | 
格式:
{
 "header":
 {
  "cmd":"1004"
 },
 "body":
 {
  "terminalid":"",
  "code":"",
  "cmdid":"7004",
  "cmdpass":"",
  "data":"<cmd><id>7000</id><param>上报间隔</param><para>上报次数</param><param>命令密码</param></cmd>"
           }
          } 
数据发送方向:server —> client
命令字:1007
参数:
| 参数 | 类型 | 说明 | 
|---|---|---|
| code | String | 车牌号码 | 
| id | String | 车辆ID | 
| lat | String | 纬度 | 
| lng | String | 经度 | 
| veo | String | 速度 | 
| dir | String | 方向 | 
| gpstime | String | 格式为:2011-11-01 12:38:39 | 
| av | String | 表示是否为有效定位, 0 无效定位, 1有效定位 | 
| alarm | String | 是否报警, 0 无报警, 1 报警 | 
| oil | String | 当前油量 | 
| dis | String | 当前总里程 | 
| wstate | String | 整数类型状态 | 
| cstate | String | 状态描述,可以为空 | 
| posinfo | String | 位置描述,可以为空 | 
| p1 | String | 模拟量1 | 
| p2 | String | 模拟量2 | 
| temp | float | 温度 | 
| temp0 | float | 温度1 | 
| temp1 | float | 温度2 | 
| temp2 | float | 温度3 | 
| temp3 | float | 温度4 | 
格式:
  {
           "header":
           {
            "cmd":"1007"
           },
           "body":
           {
            "code":"",
            "id":"",
            "lat":"",
            "lng":"",
            "veo":"",
            "dir":"",
            "gpstime":"",
            "av":"",
            "alarm":"",
            "oil":"",
            "dis":"",
            "wstate":"",
            "cstate":"",
            "posinfo":"",
            "p1":"",
            "p2":"",
                     "temp":,
       "temp0":,
       "temp1":,
       "temp2":,
       "temp3":
           }
          }  
数据发送方向:client —> server
命令字:1008
参数:
| 参数 | 类型 | 说明 | 
|---|---|---|
| client | String | true 下发客户关系数据,false 不下发 | 
格式:
  {
           "header":
           {
            "cmd":"1008"
           },
           "body":
           {
            "client":"true"
           }
          }  
数据发送方向:client —> server
命令字:1009
参数:
| 参数 | 类型 | 说明 | 
|---|---|---|
| groupid | String | 车辆分组的ID | 
| relation | String | 用户的客户 | 
| customer | String | 分组的客户 | 
| goupname | String | 分组名称 | 
格式:
  {
           "header":
           {
            "cmd":"1009"
           },
           "body":
           {
            "groupid":"",
            "relation":"",
            "customer":"",
            "goupname":"" 
           }
          }  
数据发送方向:client —> server
命令字:1010
参数:
| 参数 | 类型 | 说明 | 
|---|---|---|
| groupid | String | 车辆分组ID | 
格式:
  {
           "header":
           {
            "cmd":"1010"
           },
           "body":
           {
            "groupid":"1" 
           }
          }  
数据发送方向:server —> client
命令字:1011
参数:
| 参数 | 类型 | 说明 | 
|---|---|---|
| id | String | 车辆ID | 
| code | String | 车牌号码 | 
| sim | String | SIM卡号码 | 
| terminalid | String | 终端设备ID | 
| groupname | String | 车辆所属分组名称 | 
| vhctype | String | 车辆类型 | 
| mobiletype | String | 终端设备类型 | 
格式:
  {
           "header":
           {
            "cmd":"1011"
           },
           "body":
           {
            "id":"",
            "code":"",
            "sim":"", 
            "terminalid":"",
            "groupname":"",
            "vhctype":"",
            "mobiletype":""
           }
          }