=== PIS对外HTTP API === 描述:当前所列接口由PIS提供给Qt等其他框架,用于控制数字报站。 格式:所有接口均采用http get模式提交给Pis,Pis主机受到请求后,会校验操作是否合法,会返回如下几种提示 1. not_found_data(系统不存在路线信息) 2. not_found_request_time(没有找到请求时间) 3. expired (请求已经失效,根据请求时间判定) 所有请求终端时间必须一致,才会发挥正常作用 是否加入? 4. invaild_operate (请求不合法,例如已经是最后一站,还发送下一站请求) 5. ok 主机正常处理 地址: PIS主机IP:PORT/v2/service/ + URL Action(具体URL Action定义如下) + ?request_time=(请求时间需转成数字如:20140530112233) * 功能、URL ACTION 对应表 *# 切换上下行 : set_route *# 切换到起点站: set_start_station *# 切换到终点站: set_end_station *# 切换到下一个状态: set_next_state *# 切换到上一个状态: set_pre_state *# 切换到下一站:set_next_station *# 切换到上一战:set_pre_station === Multicast方式发送消息=== 说明:Pis在处理完请求后,如过系统内有信息发生变更,则通过Multicast 广播模式向终端发送更新后信息。 Multicast_ADDR = "224.0.0.1" Multicast_PORT = "1212" 消息内容格式为YAML,具体定义如下: # current_route: 当前路线名,内容格式为 string. # stations : 当前路线所有站名,内容格式是Hash. 其中Key 为站序,Value 为站名,站名是数组格式,第一项为中文名称,第二项为英文名称。例如 { :1 => ["上海站","Shanghai Station"], :2 => ["北京站","Beijing Station"]} # pre_station :上一站名称,内容格式为数组。数组第一项为站中文名称,第二项为站英文名称,如果不存在上一站,则为[nil,nil] # next_station :下一站名称,内容格式为数组。数组第一项为站中文名称,第二项为站英文名称, 如果不存在下一站,则为[nil,nil] # current_station : 当前站名称,内容格式为数组。数组第一项为站中文名称,第二项为站英文名称,。 # current_station_index : 当前站状态,为数字。共有三种状态 0,1,2,其对应的意思分别是 快到站,到站,出站 # send_time: 广播时间,为数字 # version : 版本号,为uuid 下面是示例数据: 转化YAML 之前: {:current_route=>"1号线上行", :stations=>{0=>["漕宝路", "Caobao Rd"], 1=>["上海体育馆", "Shanghai Stadium"], 2=>["徐家汇", "Xuejiahui"], 3=>["衡山路", "Heng Shan Rd"], 4=>["常熟路", "Changshu Rd"], 5=>["陕西南路", "Shan Xi South Rd"], 6=>["黄陂南路", "Huangpi south Rd"], 7=>["人民广场", "People's Square"], 8=>["新闸路", "Xinzha Rd"], 9=>["汉中路", "Han Zhong Lu"], 10=>["上海火车站", "Shanghai Station"], 11=>["中山北路", "Zhongshan North Rd"], 12=>["延长路", "Yanchang Rd"], 13=>["上海马戏城", "Shang Hai Circus"], 14=>["彭浦新村", "Peng Pu Xin Cun"]}, :pre_station=>["彭浦新村", "Peng Pu Xin Cun"], :next_station=>["上海体育馆", "Shanghai Stadium"], :current_station=>["漕宝路", "Caobao Rd"], :current_station_index=>0, :send_time=>1401354912, :version=>"d2408f5fd8122b65987bd8deacc611a1"} 转化成YAML之后: "---\n:current_route: 1号线上行\n:stations:\n 0:\n - 漕宝路\n - Caobao Rd\n 1:\n - 上海体育馆\n - Shanghai Stadium\n 2:\n - 徐家汇\n - Xuejiahui\n 3:\n - 衡山路\n - Heng Shan Rd\n 4:\n - 常熟路\n - Changshu Rd\n 5:\n - 陕西南路\n - Shan Xi South Rd\n 6:\n - 黄陂南路\n - Huangpi south Rd\n 7:\n - 人民广场\n - People's Square\n 8:\n - 新闸路\n - Xinzha Rd\n 9:\n - 汉中路\n - Han Zhong Lu\n 10:\n - 上海火车站\n - Shanghai Station\n 11:\n - 中山北路\n - Zhongshan North Rd\n 12:\n - 延长路\n - Yanchang Rd\n 13:\n - 上海马戏城\n - Shang Hai Circus\n 14:\n - 彭浦新村\n - Peng Pu Xin Cun\n:pre_station:\n- 彭浦新村\n- Peng Pu Xin Cun\n:next_station:\n- 上海体育馆\n- Shanghai Stadium\n:current_station:\n- 漕宝路\n- Caobao Rd\n:current_station_index: 0\n:send_time: 1401354838\n:version: !binary |-\n ZDQxODUzNGVlNzc2Y2MwNjdjYzQ2YmRlZGUwMDQ2NzU=\n" 这是新协议,还未使用