====== АННОТАЦИЯ ====== В данном документе приведено руководство оператора по применению и эксплуатации системы сбора, обработки и хранения результатов измерения (далее система), предназначенной для сохранения и предоставления любых переданных данных, а в частности – с учебных устройств, разработанных на кафедре ПМиВТ МФ МГТУ им. Н. Э. Баумана.   ====== Назначение системы ====== Функциональным назначением системы является приём, сохранение и предоставление данных, полученных в процессе проведения замеров. ====== Условия выполнения системы ====== Для выполнения системы требуется обеспечить минимальный состав аппаратных средств: *интернет-соединение, сервер, физические носители информации. А также требуется обеспечить минимальный состав программных средств: *серверная операционная система, веб-сервер, интерпретатор 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.==