среда, 10 апреля 2013 г.

Новая версия Клиента Планар-Зенит 1.5.8.10

Изменения:

- Добавлен отчет по парку с разбивкой по дням
- Появилась возможность отредактировать список видимых отчетов (пока только непосредственной правкой файла настройки ZenitEye\Dispatcher\CupolReports\reports.rpi )
- Исправлено отображение круглых зон на карте (ранее они были меньше, чем нужно)

Забрать дистрибутив можно здесь:
https://docs.google.com/file/d/0BwtjczRZUwg5aGZudlRaMWtwczQ/edit?usp=sharing


Дополнительный бонус - набор скинов (тем оформления). Лежит здесь:
 https://docs.google.com/file/d/0BwtjczRZUwg5UjNld2hMNWt2ZXM/edit?usp=sharing


Для установки тем оформления надо переписать файлы в папку ..\ZenitEye\Dispatcher\Skins. Совпадающие файлы можно заменить.

Описание команд HTTP интерфейса

Сервер Планар-Зенит имеет интерфейс для связи с http клиентами, который может быть использован разработчиками для написания собственных клиентских приложений, работающих с нашим сервером. Поэтому, в данной статье будет публиковаться описание интерфейса. Статья будет дополняться, пока описаны только основные команды.

Команды

1) Регистрация в системе
Эта команда выполняется первой, и предназначена для регистрации клиента на сервере.

Команда: /register
Параметры:  
id - имя пользователя
wisdom - пароль  

Пример:
http://192.168.1.224:1080/register/id=DEMO&wisdom=demo

После успешной регистрации производится переход на страницу /mapmob (главное меню). При ошибке регистрации возвращается страница с описанием ошибки (сообщение о неправильном пароле или имени пользователя ).

2) Получение списка объектов

Данная команда (/objlist.json) возвращает список объектов подразделения, в котором зарегистрирован клиент. Параметров у нее нет, для обхода кэширования желательно передавать меняющийся фиктивный параметр (например, r=1,r=2....)

Пример:
 http://192.168.1.224:1080/objlist.json?r=1

Пример ответа:

getObjList(
{"markers": 
[
{"id":"353579017545894","label":"Газель","X":"61.39748665","Y":"55.16454000","dscr":"353579017545894"},
{"id":"353579019618848","label":"Fiat Doblo Panoramo","X":"61.41445335","Y":"55.18056000","dscr":"353579019618848"},
{"id":"862170012809537","label":"Volkswagen Caravelle","X":"61.39746218","Y":"55.16464567","dscr":"862170012809537"}
] },
353579017545894  
)
В данном случае сервер вернул массив из 3 объектов: "Газель","Fiat Doblo Panoramo" и "Volkswagen Caravelle". В информацию о каждом объекте входит:

1)id - уникальный идентификатор объекта. Его можно узнать, считав информацию о приборе конфигуратором. 
2)label - наименование объекта (например: текст, отображаемый у метки объекта)
3) X и Y - последние известные географические координаты объекта. Координаты определяют местоположение объекта в системе WGS84, формат - десятичные градусы. 
4) dscr - Поле текстового описания объекта, содержащее дополнительные сведения о нем.

3) Статус сервера

Выдает html документ с информацией о статусе сервера.

Команда /status
Параметры - нет

Пример запроса:
 http://192.168.1.224:1080/status

Пример ответа:


<html>
<head>
<meta content="text/html; charset=windows-1251" http-equiv="Content-Type">
<title>Статус сервера</title></head><body>
<h3>Статус сервера</h3><table class="table>"
<tr><td>Подключено диспетчеров:</td><td>14</td></tr>
<tr><td>Подключено объектов:</td><td>208</td></tr>
<tr><td>Очередь данных:</td><td>0</td></tr>
<tr><td>Сформировано файлов:</td><td>49</td></tr>
<tr><td>Записано файлов:</td><td>49</td></tr>
<tr><td>Стартовал:</td><td>31.05.2013 9:13:10</td></tr>
<tr><td>В работе:</td><td>0 ч. 24 мин. 51 сек.</td></tr>
<tr><td>Использование памяти, %:</td><td>98</td></tr>
<tr><td>Свободно физ. памяти, байт:</td><td>20004864</td></tr>
<tr><td>Свободно вирт. памяти, байт:</td><td>1832673280</td></tr>
</table>
</body>
</html>
 
4) Отчет по проблемам
 
Выдает html документ с отчетом о проблемах, имеющихся у пользователей. 
 
Команда /troublesreport
Параметры отсутствуют 
 
Пример запроса:
 http://192.168.1.224:1080/troublesreport
 
Пример ответа:

<html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"><link rel="stylesheet" type="text/css" href="style.css"><link rel="shortcut icon" href="/favicon.gif" type="image/gif"><style type="text/css">td {text-align: center;}</style></head><body><h3>�меющиеся технические проблемы</h3><p></p>
<table width="100%"  class="table"><tr><td class="tds">Подразделение</td><td class="tds">Объект</td><td class="tds">Время регистрации</td><td class="tds">Срок устранения</td><td class="tds">Описание проблемы</td></tr><tr><td>ТЭП</td><td>Урал н798мр72</td><td>28.03.2013 14:08:57</td><td>не указан</td><td class="tdl">Не указан гос номер автомобиля - Н798МР72</td></tr>
<tr><td>ТГМЗ</td><td>З�Л в058ву 72</td><td>02.04.2013 11:09:12</td><td>01.04.2013 11:09:12</td><td class="tdl">нет показаний ни по топливу ни по поездкам и стоянкам</td></tr>
<tr><td>ТГМЗ</td><td>ГАЗ а711ст 72</td><td>02.04.2013 11:11:42</td><td>01.04.2013 11:11:42</td><td class="tdl">не работают датчики ни по топливу ни по поездкам и стоянкам</td></tr>
</table>
</body></html>


5) Выбор текущего объекта
 
Команда:   /select
Параметры: imei - идентификатор подвижного объекта
 
Данная команда устанавливает текущий выбранный объект. Отчеты, маршруты загружаются
именно для этого объекта. Данную команду нужно вызывать при необходимости получать
данные другого объекта.
  
Пример запроса: 
http://192.168.1.224:1080/select?imei=862170012809537


6) Данные маршрута 
 
Выдает трек объекта за указанный период в формате json. Выдаются данные текущего 
выбранного объекта. Выбранный объект - принадлежащий группе id (установлена 
при регистрации командой /register)и имеющий идентификатор imei(установлен 
последней командой /select)

Команда /track
Параметры:
from - время начала периода
to - время конца периода
 
Пример запроса: 
http://192.168.1.224:1080/track?from=31.05.2013%2000:00&to=31.05.2013%2023:59
(период 31.05.2013 00:00 - 31.05.2013 23:59)


Пример ответа:
(набор точек coordinates в примере пустой, обычно он заполнен точками маршрута)


getTrack({
"type": "FeatureCollection",
"features":
[
{ "type": "Feature","geometry": {
  "type": "LineString",
  "coordinates": [
]
     },
   "properties": {
"label": "Volkswagen Caravelle",
"from": "31.05.2013 00:00",
"to": "31.05.2013 23:59",
     }
 }
]})
 
   
7) Отчет по поездкам и стоянкам 
  
Выдает отчет по поездкам и стоянкам для указанного временного периода и текущего
выбранного объекта. Документ выдается в формате HTML.  

Команда: /report0
Параметры:  
from - время начала периода 
to - время конца периода
  
 
8) Отчет по топливу 
 
Команда /report1 
from - время начала периода  
to - время конца периода  
Выдает отчет по поездкам и стоянкам для указанного временного периода и текущего
выбранного объекта. Документ выдается в формате HTML.