Это старая версия документа!
В данном программном документе приведено руководство системного программиста по установке и настройке WEB-интерфейса предоставляющего возможность ввода данных о результатах измерения прибора КЛОП-МН в систему хранения и обработки результатов измерений.
Структура WEB-интерфейса повторяет структуру сервера webrobo.mgul.ac.ru Программа включает в себя модули обработки приема HTTP-запросов и парсинга их содержимого, а также WEB-страницу, состоящую из HTML файла, файлов скрипта и стилей для него, а также конфигурационного файла, содержащего наборы мест измерений.
В корневой директории проекта расположены запускающий файл «serv.js», а также файлы, содержащие информацию о проекте и об используемых модулях. В директории «/node_modules» хранятся сами модули.
По пути «/public/klop_in» находятся статические файлы страницы отправки записей в базу «index.html», «style.css», «script.js», файл с группами точек «places.json» и файл конфигурации «settings.json»
По пути «/public/klop_in/places» находятся статические файлы страницы редактирования списка групп точек «index.html», «style.css», «script.js»
В директории «/routes» лежит скрипт «klop_api.js», отвечающий за пересылку данных на сервер с базой данных.
Обновите базу пакетов
$ apt-get update
Установите необходимый для работы пакет node.js
$ apt-get install nodejs
Теперь сервер готов к размещению программы.
Поместите архив с проектом в выбранную вами директорию. В данном примере используем удаленное подключение по SSH.
$ scp d:/klop_in.zip nozemiso@webrobo.mgul.ac.ru:/home/nozemiso
Распакуйте архив с программой
unzip klop_in.zip
Удалите скачанный архив
rm klop_in.zip
Теперь программа готова к дальнейшей настройке, корневой директорией проекта является «/home/nozemiso/klop_in»
Файл со списком мест (/public/klop_in/places.json) имеет следующую структуру.
{ "ИМЯ_НАБОРА_МЕСТ_1": ["ИМЯ_МЕСТА_1", "ИМЯ_МЕСТА_2", ..., "ИМЯ_МЕСТА_N"], "ИМЯ_НАБОРА_МЕСТ_2": ["ИМЯ_МЕСТА_1", "ИМЯ_МЕСТА_2", ..., "ИМЯ_МЕСТА_N"], ... "ИМЯ_НАБОРА_МЕСТ_N": ["ИМЯ_МЕСТА_1", "ИМЯ_МЕСТА_2", ..., "ИМЯ_МЕСТА_N"] }
Пример: файл списка мест, с сервера webrobo
{ "МГУЛ 1 этаж": ["4", "30", "43", "Акт. зал", "65", "Буфет", "103"], "МГУЛ 2 этаж": ["270", "261", "251", "242", "233", "222", "204"], "МГУЛ 3 этаж": ["303", "319", "334", "344", "356", "365", "374"], "МГУЛ 4 этаж": ["476", "463", "449", "440", "432", "419", "404"], "МГУЛ 5 этаж": ["505", "520", "532", "540", "558", "570", "579"] }
Чтобы создать новый набор мест следует добавить в файл строку соответствующего формата. Также можно использовать готовую форму для ввода новых групп точек после окончания настройки программы. Всю информацию вы найдете в пункте документации «Руководство пользователя»
Чтобы запустить WEB-сервер введите следующую команду, находясь в корневой директории проекта.
node serv.js &
По умолчанию программа будет прослушивать 3000 порт. Чтобы это изменить в файле serv.js измените строку 11. При изменении порта на 80 эта строка примет следующий вид:
const PORT = process.env.PORT || 80;
Для того чтобы дать доступ к редактированию групп точек для определенного круга лиц, предусмотрены api-ключи, который вы можете изменять самостояльно. Редактирование api-ключей производится путем редактирования файла public/klop_in/settings.json
Пример файла settings.json
{ "keys" : ["NeKKxx1", "key1", "key2"], "delayedSending" : true }
Рассмотрим функционал используемых полей:
Поле «keys» представляет собой список ключей, используя которые пользователь может редактировать список групп точек. Для добавления нового ключа внесите его в список поле keys. Для удаления - удалите ключ из поля.
Пример - измененный файл settings.json, удален ключ «key2», добавлен ключ «NewKey»
{ "keys" : ["NeKKxx1", "key2", "NewKey"], "delayedSending" : true }
Поле «delayedSending» отвечает за режим отправки записей. Если поле установлено в true, записи отправляются в базу раз в секунду. Если поле установлено в false - задержки при отправке записей не происходит.
Для проверки программы рекомендуется ввести в интерфейс какие-либо данные, а в поле Api key ввести ключ «NeKKxx1». Данный ключ связан с тестовым устройством «TEST». В случае успешного формирования и выполнения запросов вы увидите сообщение об успешной отправке строк в базу. Затем перейдите по ссылке «Просмотр базы данных» и убедитесь в наличии тестовой записи и соответствии данных в ней введенным вами данным.
При успешном запуске программы вы увидите сообщение:
«Server is running on port НОМЕР_ПОРТА»