Инструменты пользователя

Инструменты сайта


doc:1513:643.mgul.15131-01_32_01

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
doc:1513:643.mgul.15131-01_32_01 [2019/06/20 04:34]
deimozzz создано
doc:1513:643.mgul.15131-01_32_01 [2019/07/21 12:09] (текущий)
deimozzz [5 Обязательные изменения в текстах программ]
Строка 160: Строка 160:
 Смените владельца директории сайта на группу http Смените владельца директории сайта на группу http
   $ chgrp –R http /​var/​www/​site.ru/​   $ chgrp –R http /​var/​www/​site.ru/​
 +  ​
 +===== 5 Обязательные изменения в текстах программ =====
 +
 +1. Откройте в текстовом редакторе файл /​core/​baseinfo.php.
 +
 +2. Замените в нём:
 +  * '​server'​ – если база данных и веб сервер находятся на одной машине,​ то замените на «localhost»,​ иначе замените на адрес сервера с базой данных.
 +  * '​user'​ – замените на логин пользователя базы данных.
 +  * '​password'​ – замените на пароль пользователя базы данных.
 +  * '​BD'​ – замените на название базы данных (по умолчанию Production).
 +
 +3. Сохраните изменения
 +
 +4. Откройте в текстовом редакторе файл /​admin/​config.php.
 +
 +5. Добавьте пользователей панели управления.
 +
 +Шаблонный пример:​
 +<​code>​$buffer['​admin'​] = ['​password'​=>'​111','​level'​=>​255];​ </​code> ​
 +В данной строке в массив buffer по индексу ‘admin’ вносится массив с паролем ‘12345’ и уровнем доступа ‘255’. Индекс – имя пользователя. Уровень доступа указывает к каким функциям пользователь имеет доступ:​
 +
 +**"​1"​** – только внесение новых данных.
 +
 +**"​2"​** – внесение новых данных и данных калибровки и адресов датчиков.
 +
 +**"​127"​** – добавление и редактирование объектов,​ операторов и приборов.
 +
 +**"​255"​** – Полный доступ.
 +
 +6. Сохраните изменений
 +
 +7. Загрузите изменённые файлы в директорию сайта.
 +
  
 ====== Проверка системы ====== ====== Проверка системы ======
Строка 208: Строка 241:
 Введите Y. Перезагрузить таблицу привилегий для вступления их в силу. Введите Y. Перезагрузить таблицу привилегий для вступления их в силу.
  
 +
 +====== ПРИЛОЖЕНИЕ 1 ======
 +===== Структура базы данных =====
 +Для хранения данных используется следующая структура базы данных:​
 +
 +
 +1. **opr_list(N,​ Name)** – таблица содержащая данные о операторах.
 +  *Столбцы:​
 +    ***N** – уникальный номер оператора(id).
 +    ***Name** – имя оператора.
 +
 +2. **objects(NumOb,​ NameOb)** – таблица содержащая данные о объектах размещения приборов.
 +  *Столбцы:​
 +    ***NumOb** – уникальный номер объекта размещения(id).
 +    ***NameOb** – наименование объекта размещения.
 +
 +3. **units_list(uNum,​ uName, Serial, AKey, OPid, x, y, IDob)** – таблица со-держащая данные о используемых приборах.
 +  *Столбцы:​
 +    ***uNum** – уникальный номер прибора(id).
 +    ***uName** – наименование прибора.
 +    ***Serial** – серийный номер прибора.
 +    ***AKey** – ключ доступа прибора (используется для идентификации при-бора при передаче данных).
 +    ***OPid** – уникальный номер оператора (берётся из таблицы OPR_list).
 +    ***x** – координата размещения прибора Х.
 +    ***y** – координата размещения прибора У.
 +    ***IDob** – уникальный номер объекта размещения (берётся из таблицы Objects)
 +
 +4. **info(Num_i,​ Date, Prib_id, OpNum, ObjectId, x, y)** – таблица содержащая данные о сессиях передачи данных.
 +  *Столбцы:​
 +    ***Num_i** – номер сессии передачи данных.
 +    ***Date** – временной штамп сессии передачи данных.
 +    ***Prib_id** – уникальный номер прибора передавшего данные (берётся из units_list)
 +    ***OpNum** – уникальный номер оператора,​ закреплённого к прибору на момент сессии передачи данных (берётся из OPR_list)
 +    ***ObjectId** – уникальный номер объекта размещения,​ где располагался прибор на момент сессии передачи данных.
 +    ***x** – координата X размещения прибора на объекта размещения,​ на момент сессии передачи данных.
 +    ***y** – координата Y размещения прибора на объекте размещения,​ на момент сессии передачи данных.
 +
 +5. **save_data(Num,​ Type, Value)** – таблица содержащая данные,​ полученные в процессе сессии передачи данных.
 +  *Столбцы:​
 +    ***Num** – номер сессии,​ в процессе которой были переданы данные.
 +    ***Type** – вид параметра,​ данные измерения которого были переданы.
 +    ***Value** – значение данных для замеряемого параметра.
 +
 +6. **multiplier(unit,​ sensor, timestamp, ratio)** – таблица содержащая калибровочные данные датчиков.
 +  *Столбцы:​
 +    ***unit** – уникальный номер прибора на котором установлен калибруемый датчик.
 +    ***sensor** – наименование датчика,​ параметр,​ если он снимает несколько параметров,​ а так же номер датчика,​ если их   ​несколько в одном приборе
 +    ***timestamp** – временная привязка данных калибровки
 +    ***ratio** – данные калибровки.
 +
 +7. **sensors_adr(id,​ unit_id, sensor, adr, timestamp, sensor_name,​ note)** – таблица содержащая адреса датчиков.
 +  *Столбцы:​
 +    ***id** – уникальный номер записи
 +    ***unit_id** – уникальный номер прибора на котором установлен датчик
 +    ***sensor** – полное название параметра передаваемого датчиком
 +    ***adr** – адрес датчика
 +    ***timestamp** – время внесения данных
 +    ***sensor_name** – короткое наименование параметра
 +    ***note** – заметка о датчике и его применение
 +
 +Далее представлена структура базы данных и взаимосвязь таблиц на рисунке 1.
 +
 +{{:​doc:​1513:​bd_after.png?​nolink|}}
 +=== Рисунок 1. ===
 + 
 +
 +----
 +
 +===== SQL запрос,​ для загрузки в новую базу данных созданной структуры =====
 +
 +<file sql inject.sql>​
 +SET NAMES utf8mb4;
 +SET FOREIGN_KEY_CHECKS = 0;
 +
 +-- ----------------------------
 +-- Table structure for info
 +-- ----------------------------
 +DROP TABLE IF EXISTS `info`;
 +CREATE TABLE `info` ​ (
 +  `Num_i` int(1) UNSIGNED NOT NULL AUTO_INCREMENT,​
 +  `Date` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP,​
 +  `Prib_id` tinyint(1) UNSIGNED NOT NULL,
 +  `OpNum` tinyint(1) UNSIGNED NOT NULL,
 +  `ObjectId` tinyint(1) UNSIGNED NOT NULL,
 +  `x` float(10, 5) NOT NULL,
 +  `y` float(10, 5) NOT NULL,
 +  PRIMARY KEY (`Num_i`) USING BTREE,
 +  UNIQUE INDEX `Number_id_index`(`Num_i`) USING BTREE,
 +  INDEX `date_index`(`Date`) USING BTREE,
 +  INDEX `Unit_index`(`Prib_id`) USING BTREE
 +) ENGINE = Aria CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Page;
 +
 +-- ----------------------------
 +-- Table structure for multiplier
 +-- ----------------------------
 +DROP TABLE IF EXISTS `multiplier`;​
 +CREATE TABLE `multiplier` ​ (
 +  `unit` tinyint(1) NOT NULL,
 +  `sensor` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
 +  `timestamp` datetime(0) NOT NULL,
 +  `ratio` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
 +  `adr` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
 +  INDEX `Unit_index_multip`(`unit`) USING BTREE
 +) ENGINE = Aria CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Page;
 +
 +-- ----------------------------
 +-- Table structure for objects
 +-- ----------------------------
 +DROP TABLE IF EXISTS `objects`;
 +CREATE TABLE `objects` ​ (
 +  `NumOb` tinyint(1) UNSIGNED NOT NULL AUTO_INCREMENT,​
 +  `NameOb` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
 +  PRIMARY KEY (`NumOb`) USING BTREE
 +) ENGINE = Aria CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Page;
 +
 +-- ----------------------------
 +-- Table structure for opr_list
 +-- ----------------------------
 +DROP TABLE IF EXISTS `opr_list`;
 +CREATE TABLE `opr_list` ​ (
 +  `N` tinyint(1) UNSIGNED NOT NULL AUTO_INCREMENT,​
 +  `Name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
 +  PRIMARY KEY (`N`) USING BTREE
 +) ENGINE = Aria CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Page;
 +
 +-- ----------------------------
 +-- Table structure for save_data
 +-- ----------------------------
 +DROP TABLE IF EXISTS `save_data`;​
 +CREATE TABLE `save_data` ​ (
 +  `Num` int(1) UNSIGNED NOT NULL,
 +  `Type` char(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
 +  `Value` char(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
 +  INDEX `Num_ses`(`Num`) USING BTREE,
 +  INDEX `Type_value_index`(`Type`,​ `Value`) USING BTREE
 +) ENGINE = Aria CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Page;
 +
 +-- ----------------------------
 +-- Table structure for sensors_adr
 +-- ----------------------------
 +DROP TABLE IF EXISTS `sensors_adr`;​
 +CREATE TABLE `sensors_adr` ​ (
 +  `id` smallint(1) UNSIGNED NOT NULL AUTO_INCREMENT,​
 +  `unit_id` tinyint(1) UNSIGNED NOT NULL,
 +  `sensor` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
 +  `adr` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
 +  `timestamp` datetime(0) NOT NULL,
 +  `sensor_name` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
 +  `note` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
 +  PRIMARY KEY (`id`) USING BTREE
 +) ENGINE = Aria CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Page;
 +
 +-- ----------------------------
 +-- Table structure for units_list
 +-- ----------------------------
 +DROP TABLE IF EXISTS `units_list`;​
 +CREATE TABLE `units_list` ​ (
 +  `uNum` tinyint(1) UNSIGNED NOT NULL AUTO_INCREMENT,​
 +  `uName` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
 +  `Serial` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
 +  `AKey` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
 +  `OPid` tinyint(1) UNSIGNED NOT NULL,
 +  `x` float(10, 5) NOT NULL,
 +  `y` float(10, 5) NOT NULL,
 +  `IDob` tinyint(1) UNSIGNED NOT NULL,
 +  `remove` bit(1) NOT NULL,
 +  PRIMARY KEY (`uNum`) USING BTREE,
 +  UNIQUE INDEX `Units`(`uNum`,​ `uName`) USING BTREE
 +) ENGINE = Aria CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Page;
 +
 +SET FOREIGN_KEY_CHECKS = 1;
 +
 +</​file>​
doc/1513/643.mgul.15131-01_32_01.1560994447.txt.gz · Последние изменения: 2019/06/20 04:34 — deimozzz