====== АННОТАЦИЯ ======
В данном документе приведено руководство оператора по применению и эксплуатации системы сбора, обработки и хранения результатов измерения (далее система), предназначенной для сохранения и предоставления любых переданных данных, а в частности – с учебных устройств, разработанных на кафедре ПМиВТ МФ МГТУ им. Н. Э. Баумана.
====== Назначение системы ======
Функциональным назначением системы является приём, сохранение и предоставление данных, полученных в процессе проведения замеров.
====== Условия выполнения системы ======
Для выполнения системы требуется обеспечить минимальный состав аппаратных средств:
*интернет-соединение, сервер, физические носители информации.
А также требуется обеспечить минимальный состав программных средств:
*серверная операционная система, веб-сервер, интерпретатор PHP 7.2, система управления базами данных.
====== Выполнение системы ======
===== Начало работы с новым устройством =====
==== Добавление устройства через web-интерфейс ====
1. Откройте раздел «[[http://188.35.161.31/admin/|Панель управления]]».
2. Перейдите в разделы «Редактировать персонал» и «Редактировать объекты», где запомните ID уже внесённых, либо же добавьте новые и запомните их ID.
3. Перейдите в раздел «Редактировать приборы».
4. В колонке «Добавить новый прибор» заполните поля и нажмите «добавить».
**ВНИМАНИЕ:** при заполнении поля «ключ доступа» не используйте спецсимволы.
==== Изменение прошивки устройства ====
1. Установите и подключите библиотеку «ESP8266HTTPClient».
2. Объявите объект класса HTTPClient.
HTTPClient http;
3. Создайте макрос ключа доступа.
#define Akey "ключ доступа"
4. Результаты измерений для передачи сформируйте в JSON строку с вложенностями (в примере используется строка «status»). В вложенности system требуется указать ключ доступа.
{“system”:{“Akey”: “String(Akey)”, …}…{}…}
5. Подготовьте клиент к передаче.
http.begin("http://188.35.161.31/core/jsonadd.php");
6. Укажите тип передаваемых данных в заголовке.
http.addHeader("Content-Type", "application/json");
7. Передайте JSON строку status методом POST.
http.POST(status);
8. Завершите сессию.
http.end();
===== API запроса данных =====
API принимает GET запросы с следующими ключами:
***calibration** – ключ, указывающий что запрошены данные калибровки, а так же выступающий фильтром запрашиваемых данных. Значение //full// выводит все данные калибровок. Для фильтрации по приборам указывается значение //filtid// и дополнительно передаётся ключ //id//, в значении которого указывается уникальный номер прибора.
***id** – ключ, принимаемый в случае если как значение ключа //calibration// передано //filtid//. Принимает уникальный номер прибора.
***manualmode** – ключ, при возведение которого (**1**) указывается что запрошенные данные требуются для ручной обработки (файл CSV формата). Вместе с ним ожидаются ключи //unitid, fdate, sdate//.
***fdate** & **sdate** – ключи используются исключительно вместе и указывают начальную (fdate) и конечную (sdate) временные метки, за интервал между которыми запрашиваются данные. Формат yyyy-mm-dd HH:mm:ss . По умолчанию возвращается JSON строка с данными. Могут использоваться вместе с ключом manualmode или fileback.
***unitid** – ключ принимаемый в случае использования ключа //manualmode//. Принимает как значение уникальный номер прибора.
***fileback** – ключ принимаемый в случае если переданы ключи fdate и sdate. Возведение ключа (**1**) указывает что результат за интервал требуется предоставить в файле.
**Пример:**
http://188.35.161.31/core/deb.php?fdate=2019-02-17 11:01:00&sdate=2019-02-17 12:01:00
Или
http://188.35.161.31/core/deb.php?fdate=2019-02-17 11:01:00&sdate=2019-02-17 12:01:00&fileback=1
**ВНИМАНИЕ!**
При запросе через консоль нужно учитывать, что пробелы требуется заменить на **%20**.
Соответственно:
http://188.35.161.31/core/deb.php?fdate=2019-02-17%2011:01:00&sdate=2019-02-17%2012:01:00
===== Внесение данных из таблиц EXCEL =====
-Скачайте по [[http://188.35.161.31/export/Standart%20book.xlsx|ссылке]] подготовленный файл.
-Заполните для каждого выполненного измерения по отдельной строке и сохраните файл.
-Откройте раздел «[[http://188.35.161.31/admin/|Панель управления]]».
-Пройдите авторизацию.
-Зайдите в раздел «Внесение новых данных» в панели управления.
-Выберите вариант «EXCEL».
-Выберите из списка устройство, которым были произведены замеры, после чего станет доступна форма загрузки файла.
-Выберите заполненный файл.
-Нажмите «Готово».
-Проверьте точность указанной информации в окне оповещения. Если всё верно, то нажмите «Ок», иначе нажмите «Отмена».
===== Внесение данных одного замера =====
-Откройте раздел «[[http://188.35.161.31/admin/|Панель управления]]».
-Пройдите авторизацию.
-Зайдите в раздел «Внесение новых данных» в панели управления.
-Выберите вариант «FORM».
-Выберите из списка устройство, которым был произведен замер, после чего станет доступна форма с хранимыми параметрами устройства, иначе будет предложено создать и внести стандартный набор параметров. В случае ошибки выбора устройства нажмите «Сбросить».
-Заполните данные замера.
-Проверьте верность введённых данных.
-Нажмите «Готово».
===== Получение данных =====
Получить данные можно с помощью пользовательского интерфейса интервальных измерений.
-На [[http://188.35.161.31/index.html|главной]] странице выберите «Данные за интервал времени».
-Выберите формат получения данных и требуемые фильтрующие параметры.
-Подтвердите выбранный формат получения данных и фильтрующие параметры, нажав на кнопку «Принять».
Результат будет сформирован в файле, в зависимости от выбранного Вами формата. Ссылка на файл будет предоставлена после выполнения. Процесс выполнения запроса и формирования файла может занять до нескольких минут, в зависимости от объёма запрошенных данных.
===== Внесение калибровочных данных =====
-Откройте раздел «[[http://188.35.161.31/admin/|Панель управления]]».
-Пройдите авторизацию.
-Зайдите в раздел «Внести данные калибровки» в панели управления.
-Выберите прибор, на котором установлен откалиброванный датчик.
-Выберите датчик из списка хранимых параметров прибора.
-Выберите n.
-Если n > 0 , то заполните появившиеся области для каждой a//i//.
-Нажмите «Готово».
Если для выбранного датчика устройства сохранён адрес, то он будет автоматически добавлен к записи.
===== Внесение адреса датчика =====
-Откройте раздел «[[http://188.35.161.31/admin/|Панель управления]]».
-Пройдите авторизацию.
-Зайдите в раздел «Редактировать данные датчиков» в панели управления.
-Выберите прибор, на котором установлен датчик, адрес которого вы хотите внести.
-Заполните поля. По необходимости заполните поле «Заметка» описанием датчика и его применением.
-Если выбранный прибор передаёт адреса датчиков, то поле «Название» станет списком с возможностью выбора. После выбора поля «Адрес сенсора» и «Краткое название» автоматически заполнятся.
-Если выбранные прибор не передаёт адреса датчиков, то заполните поля «Название», «Адрес сенсора» вручную, а также в поле «Краткое название» укажите измеряемый датчиком с указанным адресом параметр.
-Нажмите «Добавить».
===== Изменение адреса датчика =====
-Откройте раздел «[[http://188.35.161.31/admin/|Панель управления]]».
-Пройдите авторизацию.
-Зайдите в раздел «Редактировать данные датчиков» в панели управления.
-Измените данные уже внесённых записей. Изменённые значения перестают подсвечиваться. Для отмены всех изменений нажмите «Сбросить».
-Нажмите «Изменить».
====== Сообщения оператору ======
При внесении данных через веб-интерфейс могут быть заданы вопросы:
«Подтвердите действие
Проверьте внесённые данные:
Устройство:
Файл: »
Данное сообщение представлено на рисунке 1. Появляется при внесении данных из excel таблиц через веб-интерфейс и предполагает проверку перед отправлением данных.
{{:doc:1513:messexcel.png?nolink|}}
==Рисунок 1.==
----
«Нет данных
Внести стандартный набор параметров?»
Данное сообщение представлено на рисунке 2. Появляется на странице внесения данных единичного замера веб-интерфейса, при выборе устройства, с которого ещё не было произведено внесения данных. Предполагает выбор создания стандартного набора данных или смену прибора.
{{:doc:1513:messform.png?nolink|}}
==Рисунок 2.==