@City IoT Облачная платформа




iSys - Интеллектуальные системы IoT Решения









IoE.Systems

Оглавление

1. Вступление. 5

1.1 Поддерживаемые типы устройств. 5

1.2. Поддерживаемые типы товаров. 5

1.3. Поддерживаемые протоколы связи 5

1.4. Поддерживаемые коммуникационные технологии устройств 6

1.5. @City Cloud Server 6

1.5.1. Серверные и коммуникационные шлюзы 7

1.5.2 Интеграция HTTP LoRaWAN 7

1.5.3. Внешний интерфейс 8

1.5.3. Права доступа к серверу 8

1.6. Умные устройства 9

1.6.1. CIoT - GSM устройства 9

1.6.3. BAS, BMS, IoT - устройства Ethernet и WiFi 9

1.6.2. IoT -Устройства LoRaWAN 9

1.7. Варианты Business to Business (B2B) 9

2. @City IoT Функциональность платформы 10

3. Главная страница 11

4. Основная форма 11

4.1. Заголовок 12

4.1.1. Home Link - (открывает таблицу фактических результатов) 12

4.1.2. Флажок "X" - открывает / закрывает форму запроса 12.

4.1.3. Флажок «V» - открывает / закрывает поля формы 12

4.1.4. Графические значки - ссылки на результаты визуализации (редактируемые) 12

4.2. Форма: 12

4.2.1. Флажок "X" - открывает / закрывает всю форму запроса 12.

4.2.2. CSS - Выберите тему визуализации 12

4.2.3. Флажок Видимые поля - показывает / скрывает список фильтров полей 12

4.2.4. Вкладка: Имя вкладки для добавления или удаления 12

4.2.5. Добавить / удалить кнопки - добавить или удалить вкладки с именем в поле вкладки 12.

4.2.6. Выбрать основную кнопку 12

4.2.7. Кнопка Отменить все 12

4.2.7. Кнопка Выбрать все 12

4.2.8. Скрыть фильтр - скрыть всю форму 12

4.2.9. Кнопка «Выполнить» - изменение настроек параметров 13

4.2.10. Флажок "V" - показать / высокий фильтр поля. 13

4.3. Вкладки 13

4.4. Содержание 13

4.4.1. Выполнить - просмотр типа результата 13

4.4.2. Копировать (+/- ссылки) 13

4.4.3. Ссылки на ячейки таблицы 13

4.5. Порядок данных 13

4.6. Пример 13

5. Карты 15

5.1. Инициализация карты 15

5.2. Дополнительные настройки для запроса 15

5.2.1. Изменить масштаб карты (уровень масштабирования) 16

5.2.2. IMEI (выберите поле устройства) 16

5.2.3. Lon, Lat (поля координат долготы и широты) 16

5.2.4. Изменить стиль (тему) MAP 16

5.2.5. ГДЕ Пункт 16

5.2.6. Выполнить (кнопка запуска запроса) 16

5.2.7. Отменить выбор (удалить все поля из запроса) 17

5.2.8. Флажок "V" (форма открытия / закрытия поля) 17

5.2.9. Флажок "X" (Показать / скрыть форму запроса) 17

5.3. Пример 17

6. Показать результаты в таблице 18

6.1. Инициализация таблицы 18

6.2. Дополнительные настройки для запроса 19

6.2.1. Сортировка - поле сортировки и порядок по возрастанию / убыванию 19

6.2.2. DB / IMEI - Выбрать устройство 19

6.2.3. CSS - выберите стиль (Тема визуализации) 20

6.2.4. Видимые поля - Показать / скрыть поля Форма 20

6.2.5. Удалить пустые - не отображать пустые столбцы 20

6.2.6. Флажок "X" (Показать / скрыть форму запроса) 20

6.2.7. Пункт "Где" (для ограничения данных) 20

6.2.8. Select Core Button (Включить наиболее распространенные поля) 20

6.2.9. Кнопка «Отменить выбор» (удалить все поля из запроса) 20

6.2.10. Выполнить (кнопка запуска запроса) 20

6.2.11. Флажок "V" (форма открытия / закрытия поля) 20

7. Гистограммы. 21 год

8. Исторические карты. 22

8.1. Инициализация исторических диаграмм 22

8.2. Дополнительные настройки исторических диаграмм 23

8.2.1. IMEI - (выберите устройство для отображения исторических данных) 23

8.2.2. Min - ограничение минимального значения первого поля 23

8.2.3. Max - ограничение максимального значения первого поля 23

8.2.4. "V" - Показать / скрыть поля формы 23

8.2.5. От: установить минимальную дату / время (*) 23

8.2.6. Кому: установить максимальную дату дата / время (*) 23

8.2.7. Флажок "X" (Показать / скрыть форму запроса) 23

8.2.8. "Где" Пункт 23

8.2.9. Кнопка «Отменить выбор» (удалить все поля из запроса) 23

8.2.10. Выполнить (кнопка "Выполнить запрос") 23

8.2.11. Флажок "V" (форма открытия / закрытия поля) 24

8.3. Bars Variant: (отображает только доступные данные) 24

8.4. Непрерывный вариант (с теми же данными): 24

9. Совместимость с веб-браузером 25

10. Настройка тем 26

11. Обновление алгоритмов 27

12. Структура базы данных 28

12.1. Структура таблиц «ithings_» и «*» 29

12.2. Таблица "* _c" очереди команд (событий) устройства - структура 30

12.3. Доступ к результатам из баз данных - средний уровень (чтение данных) 30

12.3.1. Получать текущие статусы всех устройств 30

12.3.2. Получить исторические данные для устройства 31

12.3.3. Получить список устройств - одно поле из текущих статусов с ограничением 32


1. Вступление.

@City IoT Облачная платформа посвящена "микрооблако" система для индивидуальных клиентов. Платформа не является общедоступной, и только один клиент имеет доступ к физическому или виртуальному серверу (VPS или выделенным серверам). Заказчик может выбрать один из десятков дата-центров в Европе или в мире.

1.1 Поддерживаемые типы устройств.

Платформа @City IoT предназначена для следующих продуктов iSys.PL



1.2. Поддерживаемые типы товаров.

@City (eCity) Cloud IoT Платформа - это система различного размера для IP IoT продуктов (вместе называемых @City Оборудование или же CioT устройства ):


1.3. Поддерживаемые протоколы связи

Платформа @City IoT поддерживает следующие протоколы связи:

Данные, отправляемые с контроллера на облачный сервер и наоборот, шифруются в уникальном двоичном формате для минимального размера данных и повышенной безопасности. Каждый партнер получает свой уникальный ключ шифрования для авторизации устройства, проверки достоверности данных и т. Д.


Для устройств, отличных от eHouse / eCity, мы можем предоставить индивидуальные алгоритмы шифрования ( "C" исходный код) для каждого партнера для микропроцессора для защиты данных перед обменом.

В этом случае данные полностью защищены во время двунаправленной связи через общедоступные средства связи (Интернет, эфир и т. Д.). ).


1.4. Поддерживаемые коммуникационные технологии устройств

Платформа @City IoT поддерживает:


@City IoT Платформа предназначена для устройств / узлов:


1.5. @City Cloud Server

Программное обеспечение @City работает на VPS (виртуальном частном сервере) на базе Linux или на выделенном сервере на стороне Интернета, в зависимости от требуемой производительности Сервер (названный позже Сервером):


Существует несколько вариантов VPS в зависимости от:


Десятки выделенных серверов существуют в зависимости от:


Платформа @City IoT предназначена для одного клиента:


Поскольку клиенты не могут совместно использовать этот сервер, он упрощает доступ к безопасности и снижает производительность. По этой причине только клиент несет ответственность за эффективную безопасность, стабильность, эффективность, пропускную способность данных и т. Д. В случае недостаточной производительности клиент может приобрести более высокий тарифный план (VPS или выделенный сервер), более оптимальный для ожидаемой функциональности и производительности.

В особых случаях "Cloud to cloud" обмен данными может быть реализован для глобализации и централизации данных в более крупных областях вместо облака для нескольких клиентов.

1.5.1. Серверные и коммуникационные шлюзы

Связь @City Server реализована на основе низкоуровневого приложения для максимизации производительности.

Основные возможности приложения @City Server:

Программное обеспечение @City Server одинаково для каждого пользователя и не может быть настроено для разных клиентов.

1.5.2 Интеграция HTTP LoRaWAN

Контроллеры LoRaWAN интегрируются с облаком @City через интерфейс HTTP (веб-перехватчики), доступный в сети / сервере приложений LoRaWAN.

Поддерживаются несколько типов серверов сети / приложений:

TTN (ограниченное время "В эфире" и максимальное количество команд, отправленных драйверу и не поддерживающих обновление прошивки)

LoraWAN-Stack (требуется хостинг на физическом устройстве с доступом в Интернет).

LoraServer.Io (требуется хостинг на физическом устройстве с доступом в Интернет - только отправка данных на сервер и не поддерживает обновление прошивки)



@City Cloud для контроллеров LoRaWAN делится так же, как и для других интерфейсов. Об этом говорилось в предыдущей главе.

1.5.3. Front-end интерфейс

Front-end интерфейс реализован с помощью PHP-скриптов для извлечения настроенных данных из @City Cloud Database. Он использует очень эластичный механизм поиска, основанный на исходных SQL-запросах для ограничения желаемых данных. Интерфейс предоставляет результаты запроса в формате JSON для дальнейшего декодирования и обработки JavaScript Front-end Web «приложением».

Исходный интерфейсный интерфейс одинаков для каждого пользователя и не может быть настроен для разных клиентов.

Интерфейс оверлея может быть создан нашими сотрудниками или в сотрудничестве для обеспечения индивидуальной настройки для клиента.

1.5.3. Права доступа к серверу

Права доступа клиента (к физическому Серверу) ограничены.

Доступ к файлам только для каталога "templates" (собственные текстовые файлы - .txt, .js, .css, .html):

Другие права доступа:


iSys - сотрудники Intelligent Systems - имеют неограниченный доступ ко всему серверу, включая учетную запись root и полный доступ к базе данных для обслуживания.

При определенных обстоятельствах iSys может предоставить заказчику дополнительные ограниченные права (сценарии PHP, файлы) после проверки исходного кода, запуска тестов, если это не влияет на общую безопасность, стабильность и производительность системы.


1.6. Умные устройства

1.6.1. CIoT - устройства GSM

Наши устройства содержат микроконтроллер и модуль GSM / GPS / GNSS (2G..4G, NBIoT, CATM1) для связи. Микроконтроллер содержит зашифрованный загрузчик для безопасного обновления прошивки OTA. Это позволяет создавать множество вариантов системы на основе одного и того же "Смарт-устройство CIoT".


1.6.3. BAS, BMS, IoT - устройства Ethernet и WiFi


Контроллеры Ethernet и WiFi обеспечивают связь с системой по IP (без взимания платы за передачу данных оператору GSM). Эти устройства также имеют зашифрованный загрузчик, и устройства могут быть обновлены через его собственный интерфейс. Для Wi-Fi есть обновление прошивки OTA с основного сервера


1.6.2. IoT - Устройства LoRaWAN

LoRaWAN позволяет передавать данные на очень большие расстояния (до прибл. 15 км). Этот диапазон зависит от скорости передачи данных, количества данных, урбанизации местности и эффективности радиотрактов устройств.

Наши устройства включают микроконтроллер и модуль LoRaWAN для связи. Микроконтроллер содержит зашифрованный загрузчик для безопасного обновления программного обеспечения OTA. Это позволяет создавать несколько вариантов системы на основе одного и того же "IoT smart device". Устройства работают в открытом диапазоне ISM без дополнительной абонентской платы. Необходимо использовать шлюзы LoRaWAN, чтобы покрыть всю территорию с доступом в Интернет. В случае существующих шлюзов LoRaWAN в пределах диапазона устройств (настроенных для сервера TTN), через них можно отправлять информацию. Для обновления прошивки требуется собственный сетевой / прикладной сервер LoRaWAN и хороший диапазон для связи.

1.7. Варианты Business to Business (B2B)


Есть несколько вариантов для бизнеса и сотрудничества:

2. @City IoT Функциональность платформы

Платформа @City поддерживает настраиваемый шаблон Front-End для визуализации, запроса, ограничения и обработки данных (текущие / исторические данные):


Пользовательский интерфейс доступен через статический IP-адрес или домен / субдомен / файл перенаправления DNS, если он доступен.


Образцовая и демонстрационная установка (доступна только для потенциальных клиентов).

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

Для связи с платформой @City может потребоваться статический IP-адрес удаленного компьютера.


3. Главная страница

Главная страница намеренно оставлена ​​пустой в целях безопасности: http: //% YourIP% / IoT /

Он может быть индивидуально включен и отредактирован и содержать ссылки на все доступные службы @City IoT Платформа если это требуется


4. Основная форма

Основная форма предназначена для создания новых пресетов и вкладок.: http: //%IP%/IoT/que.php

Это начальная форма для создания результатов, представлений и вкладок для каждой конфигурации.




Описания (сверху и слева направо)

4.1. Заголовок

4.1.1. Домашняя ссылка - (открывает таблицу фактических результатов)

4.1.2. "ИКС" флажок - открывает / закрывает форму запроса

4.1.3. "V" флажок - открывает / закрывает форму полей

4.1.4. Графические иконки - ссылки на результаты визуализации (редактируемые)


4.2. Форма:

4.2.1. "ИКС" флажок - открывает / закрывает всю форму запроса

4.2.2. CSS - Выберите тему визуализации

Файл CSS для изменения темы визуализации должен существовать в "шаблоны / css /" каталог - перечисляется автоматически.

4.2.3. Видимые поля флажок - показывает / скрывает список фильтров полей

4.2.4. Вкладка: Имя вкладки для добавления или удаления

4.2.5. Добавить / Удалить Кнопки - добавление или удаление вкладок с названием в Вкладка поле

4.2.6. Выбрать ядро Кнопка

Выберите основные поля, видимые в таблице. Это обновляется автоматически.

4.2.7. Убрать выделение со всего Кнопка

Снимите выделение со всех полей (необходимо выбрать некоторые из них вручную)

4.2.7. Выбрать все Кнопка

Выбрать все поля (после этого необходимо снять выделение с некоторых из них вручную)

4.2.8. Скрыть фильтр - Скрыть всю форму

Это эквивалент флажка all (X)

4.2.9. Выполнять Кнопка - изменить настройки параметров

4.2.10. "V" checkbox - показать / высокий фильтр поля.


4.3. Вкладки

Индивидуально созданные вкладки с именами и предустановками (хранятся в cfg / tabs.cfg файл).

Файл фактически содержит имя и URL-адрес (разделенные символом табуляции).


4.4. Содержание таблицы

Отображает все поля, ограниченные фильтром полей.


Поля в таблице:

4.4.1. Запустить - просмотр типа результата

карта- отображение результатов на карте (можно выбрать одно или несколько полей)

история - исторические диаграммы (можно выбрать одно или несколько полей)

tab - отображает таблицу (можно выбрать любую комбинацию полей)

бар - на гистограмме отображается только одно поле

При нажатии на одно из его значений откроются новые результаты с выбранными полями (для текущей строки).


4.4.2. Копировать (+/- ссылки)

Добавление / удаление вкладки с именем, заданным в Вкладка поле. Он использует только поля, выбранные в той же строке таблицы.


4.4.3. Ссылки на ячейки таблицы

Нажатие любого другого имени поля инициирует визуализацию данных выбранного поля для выбранной строки.


4.5. Порядок данных


Порядок отображаемых полей соответствует их порядку в форме полей (однако тм всегда отправляется в конец текста). Этот порядок можно изменить только при прямом редактировании параметров URL (части порядка полей).


4.6. Пример

Например: Вкладка настроек с Отслеживание активов название и содержит карту со временем и скоростью на карте

Все описание относится к строке, где "Map" текст в "Запустить" столбец.

  1. Введите имя "Отслеживание активов" в Вкладка поле (без кавычек)

  2. Убедитесь, что все столбцы в строке не выделены

  3. Выбрать тм, gps_speed_km только в ряду

  4. Нажмите + кнопка где в строке






5. Карты

Карты можно запускать из MainForm с предварительной настройкой


5.1. Инициализация карты

Инициализация карты выполняется вручную при запуске напрямую по ссылке: > http: //%IP%/IoT/maps.php


  1. Пользователь должен отменить выбор всех полей (нажмите Отменить выбор Кнопка)

  2. Установите флажок для отображаемых полей (например, Ain5 (для уровня смога) и тм (для даты / времени измерения)

  3. Нажмите "V" флажок, чтобы скрыть форму полей

  4. Нажмите Выполнять кнопка для запуска запроса к БД и отображения текущей информации со всех датчиков / устройств

  5. Карта с данными обновляется через 30 секунд и более.


5.2. Дополнительные настройки для запроса

Настройки описаны слева направо (на скриншоте выше).

5.2.1. Изменить масштаб карты (уровень масштабирования)

  1. Уровень масштабирования можно изменить с помощью кнопок (+/-) для масштабирования (current_scale * 2 или current_scale / 2 соответственно). Нажатие одной из этих кнопок автоматически изменит масштаб.

  2. Другой способ - выбрать уровень увеличения. Увеличить Поле со списком и нажмите Выполнять кнопка. В этом случае весь вид / карта перезагружается и обновляется (требуется некоторое время во время инициализации).

5.2.2. IMEI (Выберите поле устройства)

IMEIПоле содержит уникальный идентификатор устройства или уникальный псевдоним устройства. Настройка по умолчанию: * (звездочка), которая показывает самые последние значения и геолокацию для каждого устройства.

Если установить для IMEI любое другое значение, отобразятся исторические данные выбранного устройства. Это имеет смысл только для мобильных и движущихся датчиков, иначе результаты будут перекрываться на карте в одном и том же месте.


5.2.3. Лон, лат (Поля координат долготы и широты)

Установите центральное положение карты. Это поле устанавливается в положение курсора при нажатии кнопки мыши на карте.


5.2.4. Изменить стиль MAP (тему)

Стиль / тему карты можно выбрать из Map Поле ComboBox (например, Темный, Серый, Топографический).

Различные темы карты могут иметь разные максимальные уровни масштабирования, поэтому для увеличения масштаба карты может применяться соответствующая тема.


5.2.5. Пункт WHERE

Предложение Where используется для дополнительной строки запроса {WHERE part} для MySQL / MariaDB.

Это предложение учитывается при построении полной строки QUERY для результата базы данных. Он может ограничивать данные, время и любые другие значения, ограничивая количество результатов. В этом поле должны использоваться исходные имена полей таблицы (не псевдонимы). Например.

  1. gps_speed_km> 10 // скорость больше 10 км / ч

  2. ain5> 3 // ain5 больше 3 (количество частиц 2,5 мкм - уровень смога)

  3. gps_speed_km> 10 и ain6> 5 // скорость больше 10 км / ч, а ain6 больше 5 (количество частиц 10um - уровень смога)


5.2.6. Выполнять (Кнопка "Выполнить запрос")

Нажатие этой кнопки необходимо для изменения любых настроек, параметров (кроме нажатия +/- кнопки).

Карта загружается с самого начала с новыми предустановками.

Карта вообще не загружается, когда нет данных для текущего запроса.

5.2.7. Убрать выделение со всего (Удалить все поля из запроса)

После нажатия этой кнопки необходимо вручную выбрать хотя бы одно поле для отображения результатов на карте.


5.2.8. "V" Флажок (Открыть / закрыть поле формы)

Этот флажок используется для отображения / скрытия селектора отображаемых полей.


5.2.9. "ИКС" Флажок (Показать / скрыть форму запроса)

Этот флажок позволяет скрыть всю форму, кроме ( +/- кнопки)


Результаты на карте постоянно обновляются и обновляются новыми значениями.

5.3. Пример

Например, результаты смога (датчик установлен на автомобиле): уровень смога частиц 2,5 мкм (Ain5), скорость (gps_speed_km), дата / время (tm), карта (2 - топографическая), уровень масштабирования 16,

Предложение где:

"gps_fix = 3 и tm> "2019-02-18 00:00:00" и tm <"2019-02-19 00:00:00" и gps_speed_km> 0".

// GPS = действительные результаты 3D & date = 18.02.2019 & скорость> 0 км / ч



6. Показать результаты в таблице

Показать результаты в таблице.

На "Основная форма" Нажмите "Таблица" элемент, после выбора некоторых полей для отображения предварительно настроенной таблицы




6.1. Инициализация таблицы

Когда таблица открыта по ссылке http: //%IP%/IoT/que.php? func = tabs требует предварительной инициализации настроек.

Вы можете выбрать видимые поля (нажав "Видимые поля" ) флажок.



  1. Установите все необходимые флажки для отображаемых полей

  2. Установите флажок "Видимые поля" скрыть форму полей

  3. Нажмите кнопку «Выполнить», чтобы запустить запрос БД и отобразить таблицу.


6.2. Дополнительные настройки для запроса

Настройки описаны слева направо (на скриншоте).

6.2.1. Сортировать - поле сортировки и порядок по возрастанию / убыванию

Поле сортировки эквивалентно нажатию заголовка столбца.

6.2.2. БД / IMEI - Выберите устройство

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

Если установить для IMEI любое другое значение, отобразятся исторические данные выбранного устройства.


6.2.3. CSS - выберите стиль (Тема визуализации)

6.2.4. Видимые поля - Показать / скрыть форму полей

6.2.5. Удалить пустой - Не отображать пустые столбцы

6.2.6. "ИКС" Флажок (Показать / скрыть форму запроса)

6.2.7. Где Пункт (для ограничения данных)

Это суфикс для дополнительной строки запроса MySQL / MariaDB {WHERE part}

Это предложение учитывается при построении полной строки QUERY для результата базы данных. Он может ограничивать данные, время и любые другие значения, ограничивая количество результатов. В этом поле должны использоваться исходные имена полей таблицы (не псевдонимы). Например.

  1. gps_speed_km> 10 // скорость больше 10 км / ч

  2. ain5> 3 // ain5 больше 3 (количество частиц 2,5 мкм - уровень смога)

  3. gps_speed_km> 10 и ain6> 5 // скорость больше 10 км / ч, а ain6 больше 5 (количество частиц 10um - уровень смога)


6.2.8. Выбрать ядро Кнопка (включить наиболее распространенные поля)


6.2.9. Убрать выделение со всего Кнопка (удалить все поля из запроса)

После нажатия этой кнопки необходимо вручную выбрать хотя бы одно поле для отображения результатов на карте.


6.2.10. Выполнять (Кнопка "Выполнить запрос")

Нажатие этой кнопки необходимо для изменения любых настроек, параметров (кроме нажатия +/- кнопки).

Таблица перезагружается с самого начала с новыми пресетами.



6.2.11. "V" Флажок (Открыть / закрыть поле формы)

Этот флажок используется для отображения / скрытия селектора отображаемых полей.



Результаты в таблице отсортированы по Сортировать полевая установка. Порядок сортировки можно изменить, нажав заголовок строки (один раз для одного направления, два раза для другого направления).

Некоторые результаты в столбцах ссылаются на дополнительные экраны визуализации (жестко запрограммированные).


При отображении исторических данных для устройства его следует ограничить, чтобы не отображать всю историческую информацию, поскольку это может привести к проблемам с производительностью или нехватке памяти.


7. Гистограммы.

Гистограммы следует запускать из Основной формы, нажав на одно поле в строке «Бар».

Он отображает отсортированные столбцы, нормализованные до максимального значения, от самого высокого до самого низкого порядка.

Это полезно для быстрой проверки крайних результатов и выполнения некоторых действий.





Событие Mouse Over отобразит дополнительную информацию об устройстве.


8. Исторические карты.

Исторические диаграммы могут быть инициированы из MainForm при нажатии на выбранный столбец в строке «History» (для одного поля).

Для нескольких полей в строке «История» необходимо отметить нужные поля и нажать ссылку «История» в столбце «Выполнить».

Исторические результаты ограничены последними 24 часами + следующими 24 часами (для возможного обновления графиков), когда ограничения не были установлены.

8.1. Инициализация исторических диаграмм


Исторические диаграммы при открытии по основной ссылке требуют инициализации, как и другие результаты, когда открываются по ссылке без параметров предпочтений.

Для отображения различных элементов можно выбрать несколько полей. Его также можно установить в форме фильтра поля.




  1. Установите все необходимые флажки для отображаемых полей

  2. Установите флажок "Видимые поля" скрыть форму полей

  3. Нажмите кнопку «Выполнить», чтобы запустить запрос БД и отобразить таблицу.


8.2. Дополнительные настройки исторических диаграмм

Пункты описаны сверху и слева направо (на скриншоте).

8.2.1. IMEI - (Выберите устройство, чтобы отобразить исторические данные)

IMEIПоле содержит уникальный идентификатор устройства или уникальный псевдоним устройства. Со значением * (звездочка) показывает таблицу самых последних значений, которая не имеет смысла.

Если установить для IMEI любое другое значение, отобразятся исторические данные выбранного устройства.

8.2.2. Мин - ограничить минимальное значение первого поля

8.2.3. Максимум - ограничить максимальное значение первого поля

8.2.4. "V" - Показать / скрыть форму полей

8.2.5. Из: установить минимальную дату / время (*)

8.2.6. К: установить максимальную дату / время (*)

8.2.7. "ИКС" Флажок (Показать / скрыть форму запроса)

8.2.8. "Где" Пункт

Пункт для ограничения результатов данных MySQL / MariaDB дополнительная строка запроса {WHERE part}.

Это предложение учитывается при построении полной строки QUERY для результата базы данных. Он может ограничивать данные, время и любые другие значения, ограничивая количество результатов. В этом поле должны использоваться исходные имена полей таблицы (не псевдонимы) и допустимый синтаксис SQL. Например.

  1. gps_speed_km> 10 // скорость больше 10 км / ч

  2. ain5> 3 // ain5 больше 3 (количество частиц 2,5 мкм - уровень смога)

  3. gps_speed_km> 10 и ain6> 5 // скорость больше 10 км / ч, а ain6 больше 5 (количество частиц 10um - уровень смога)


8.2.9. Убрать выделение со всего Кнопка (удалить все поля из запроса)

После нажатия этой кнопки необходимо вручную выбрать хотя бы одно поле для отображения исторических результатов.


8.2.10. Выполнять (Кнопка "Выполнить запрос")

Нажатие этой кнопки необходимо для изменения любых настроек, параметров (кроме отображения полей или панели запросов). Таблица перезагружается с самого начала с новыми пресетами.

8.2.11. "V" Флажок (Открыть / закрыть поле формы)

Этот флажок используется для отображения / скрытия селектора отображаемых полей.


8.3. Бары Вариант: (отображает только доступные данные)



8.4. Непрерывный вариант (с теми же данными):



Указатель мыши отображает значения измерений и дату / время.

9. Совместимость с веб-браузером


Функция / WWW-браузер

Хром 72

FireFox 65

Край

Опера 58

Карты

+

+

+

+

Исторический

+

+ (*)

+

+

Бары

+

+

+

+

Вкладки

+

+

+

+


* - Firefox не поддерживает выбор даты / времени (текстовое поле необходимо редактировать вручную, используя правильный формат даты и времени).

Internet Explorer не поддерживается (используйте Край вместо)

Другие браузеры не тестировались.



10. Настройка тем

Веб-страницы основаны на общем файле шаблона, расположенном по адресу "шаблоны" каталог "* .template".

Дополнительно каждый тип страницы содержит:

  1. Файл "* .head", в котором хранится заголовок страницы (ссылки, импортированные CSS, JavaScript файлы и т. д.) )

  2. Файлы "* .foot", в которых хранится нижний колонтитул страницы (ссылки и т. д.). )


Тема визуализации может быть изменена в соответствии с предпочтениями пользователя путем копирования и изменения файлов CSS. Файлы CSS находятся в "шаблоны / CSS" каталог. Различные темы веб-страниц могут быть использованы для создания оптимизированных, например, для. печать, смартфоны, шаблоны планшетов.


Вкладкаle views - есть поле выбора для выбора файла CSS для полной модификации темы (хранится в "шаблоны / CSS / вкладки" каталог).




Map взгляды - общая тема выбрана "карта" введите поле со списком. Дополнительно есть файл CSS по умолчанию "шаблоны / css / map.css" который содержит некоторые дополнительные функции, такие как скрытие / раскрашивание результатов на основе его значений. Остальная часть этого CSS-файла практически ограничена формами запросов и полей.


Большинство @City Platform PHP файлы для визуализации принимают cssпараметр со значением имени файла для Темы (без расширения). Файл должен находиться в каталоге "templates / css", а имя должно быть чувствительно к регистру.


Некоторые элементы отображения темы находятся непосредственно в JavaScript файле, расположенном в "шаблон / js" каталог.

Основной @Город сценарий"@ City.js" находится в верхнем каталоге. В этом нет возможности модификации местоположение, однако сценарий может быть скопирован в "шаблоны / js" каталог и изменен там. Использование отдельного скрипта требует обновления всех файлов заголовков.

11. Обновление алгоритмов


Для некоторых уникальных датчиков могут потребоваться специальные функции расчета.

Нет возможности обновлять и поддерживать несколько вариантов Серверное программное обеспечение @City, Внешний интерфейс PHP, что вызвало бы множество проблем, версий, ошибок.

Лучший и самый простой способ добиться этого - обновить JavaScript «оверлейные» файлы для правильного отображения значения / описания.

Оригинальные сценарии JS представляют собой открытый текстовый файл и могут быть адаптированы к потребностям клиентов. Как было сказано в предыдущей главе, они должны быть скопированы в "шаблоны / js" каталог, в котором у клиента есть права доступа для изменения.


Технический аспект программирования @Город Система не является предметом этого документа, однако веб-разработчик с базовыми знаниями HTML и JS может настроить интерфейсное веб-приложение в соответствии с индивидуальными потребностями клиента.


12. Структура базы данных


@City База данных с именем «Интернет вещей» или же «* IoT» разделен на таблицы (где звездочка - префикс в зависимости от сервера хостинга - при необходимости). Базу данных можно увидеть в PHPAdmin (веб-приложение) по ссылке http: //% IP% / phpmyadmin




Таблицы, установленные для каждого устройства (где * {asterix} - адрес IMEI - уникальный идентификатор):

Другие таблицы:



12.1. Структура таблиц "ithings_" и "*"

12.2. Таблица "* _c" очереди команд (событий) устройства - структура


Эта таблица представляет собой очередь событий / команд для каждого устройства и имеет следующую структуру:



12.3. Доступ к результатам из баз данных - средний уровень (чтение данных)


Данные могут быть доступны без интерфейсного веб-приложения. Система @City содержит скрипт с функциями среднего уровня. Результаты возвращаются в формате JSON.


12.3.1. Получать текущие статусы всех устройств

http: //%IP%/IoT/que.php? func = devsjson


Запрос возвращает целиком "_ithings" таблица (текущие статусы всех устройств) в формате JSON:

[{ "страна":"", "город":"", "континент":"", "страна":"", "область, край":"", "субрегион":"", "подобласть":"", "город":"", "округ":"", "улица":"", "street_nr":"", "item_nr":"", "gps_lat":"0000.0000N", "gps_long":"00000.0000E", "тм":"2019-02-10 12:56:23", "создание":"2019-02-09 18:12:38", "последний":"0000-00-00 00:00:00", "События":"", "Пользователь":"", "проходить":"", "imei":"351580051067110", "sn":"", "статус":"73000200000f360033026800240000002c002c002dffffffffffffffff5b63000001c1000001c2000000000000000009250a4f0a760a7a0a750a780a7e0000031d032205fc34029b025c025600460eb30532532", "хэш-код":"", "адрес":"", "fwnr":"", "отключен":"", "gsm_nr":"", "продавец":"", "часовой пояс":"", "dst":"", "rssi":"91", "rsrp":"99", "gps_lat":"0000.0000N", "gps_long":"00000.0000E", "gps_hdop":"", "gps_alt":"", "gps_fix":"4", "gps_cog":"", "gps_speed_km":"", "gps_sat":"", "События":"", "out1":"0", "out2":"0", "out3":"0", "out4":"0", "out5":"0", "out6":"0", "out7":"0", "out8":"0", "out9":"0", "out10":"1", "out11":"0", "out12":"0", "out13":"0", "out14":"0", "out15":"0", "out16":"0", "в 1":"0", "in2":"0", "in3":"0", "in4":"0", "in5":"0", "in6":"0", "in7":"0", "in8":"0", "in9":"0", "in10":"0", "in11":"0", "in12":"0", "in13":"0", "in14":"0", "in15":"0", "in16":"0", "ain1":"3894", "ain2":"51", "ain3":"616", "ain4":"36", "ain5":"0", "ain6":"44 год", "ain7":"44 год", "ain8":"45", "sens1":"0", "sens2":"0", "сенс3":"0", "sens4":"0", "sens5":"0", "sens6":"0", "sens7":"0", "sens8":"0", "dimm1":"255", "dimm2":"255", "dimm3":"255", "dimm4":"255", "dimm5":"255", "dimm6":"255", "dimm7":"255", "dimm8":"255", "int1":"-16776767", "int2":"450", "int3":"", "int4":"", "int5":"", "int6":"0", "текст 1":"", "text2":"", "text3":"", "text4":"", "text5":"", "текст6":"" }]

12.3.2. Получить исторические данные для устройства

Запросить исторические данные одного устройства по номеру IMEI:

http: //%IP%/IoT/que.php? func = imeijson & imei = 356345080018095


Поскольку вся таблица может содержать миллионы строк, ее следует ограничить предложением WHERE, чтобы сервер не зависал.

Дополнительные параметры параметры url:

func - имейджсон

imei - IMEI устройства

поле - поля для отображения в результатах (список, разделенный запятыми)

мин - минимальное значение для первого поля из списка

Максимум - максимальное значение для первого поля из списка

sили жеt - поле для сортировки

тм - поле автоматически добавляется к результатам.

where - пункт where для ограничения данных


Пример:

Мы хотим получить следующий результат

для устройства с imei=356345080018095

показать поля: ain5, ain6, gps_lat, gps_long

и ограничить ain5 в диапазоне ( 1, 10000 ) - должно быть первым полем в списке

а также GPS иметь действительные данные (gps_fix = 3)

и дата / время (тм) from2019-02-14 23:00:19 to 2019-02-15 00:00:00


Созданная строка URL:

http: //%IP%/IoT/que.php? func =imeijson& imei =356345080018095& field =ain5, ain6, gps_lat, gps_long& min =1& max =1000& где =gps_fix = 3 и tm> "2019-02-14 23:00:19" и tm <"2019-02-15 00:00:00"


Результаты запроса:

[{ "ain5":"66","ain6":"68","gps_lat":"5202.7326N","gps_long":"02115.8073E","тм":"2019-02-14 23:04:31" }, { "ain5":"67","ain6":"76","gps_lat":"5202.7328N","gps_long":"02115.8075E","тм":"2019-02-14 23:05:42" }, { "ain5":"63","ain6":"77","gps_lat":"5202.7328N","gps_long":"02115.8074E","тм":"2019-02-14 23:06:05" }, { "ain5":"58","ain6":"77","gps_lat":"5202.7328N","gps_long":"02115.8075E","тм":"2019-02-14 23:06:32" }, { "ain5":"58","ain6":"68","gps_lat":"5202.7328N","gps_long":"02115.8076E","тм":"2019-02-14 23:06:55" }]

12.3.3. Получить список устройств - одно поле из текущих статусов с ограничением

Эта функция возвращает ограниченные данные из таблицы "_ithings".


http: //%IP%/IoT/que.php? func = fieldjson & field = ain5 & min = 13 & max = 5000



Параметры:

func - fieldjson

поле - поле для отображения в результатах - imei а также тм добавляются автоматически

мин - минимальное значение для поля

Максимум - максимальное значение для поля


Для приведенной выше строки запроса он возвращает Результаты ain5, imei, tm поля:

если ain5 в пределах досягаемости (13 500)


Результаты запроса:

[{"imei":"353080090069142", "тм":"2019-03-14 11:51:01", "ain5":"14" },

{"imei":"356345080018095", "тм":"2019-02-20 09:13:04", "ain5":"115" },

{"imei":"Карчев", "тм":"2019-03-07 13:08:22", "ain5":"103" }]