@City IoT Cloud Platform




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. Опции за бизнес между бизнес (B2B) 9

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

3. Основна страница 11

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

4.1. Заглавна част 12

4.1.1. Връзка за дома - (отваря таблицата с действителните резултати) 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. Изберете Core Button 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. Промяна на скалата на MAP (ниво на мащабиране) 16

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

5.2.3. Lon, Lat (Географска дължина, координатни полета на Latitude) 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. Remove Empty - Не показвайте празни колони 20

6.2.6. Полето за отметка "X" (Показване / скриване на формуляра за заявка) 20

6.2.7. Клауза Къде (за ограничаване на данните) 20

6.2.8. Изберете Core Button (Активиране на най-често срещаните полета) 20

6.2.9. Премахнете избора на бутона All (Премахнете всички полета от заявката) 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. Премахнете избора на бутона All (Премахване на всички полета от заявката) 23

8.2.10. Изпълнение (бутон за изпълнение на заявката) 23

8.2.11. Квадратче за отметка „V“ (формуляр за отваряне / затваряне на поле) 24

8.3. Вариант на ленти: (показва само наличните данни) 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 Cloud Platform е посветен "микрооблак" система за индивидуални клиенти. Платформата не може да се споделя и само един клиент има достъп до физически или виртуален сървър (VPS или специализирани сървъри). Клиентът може да избере един от десетките центрове за данни в Европа или по света.

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

Платформата @City is е посветена на проследяването на продукти на iSys.PL



1.2. Поддържани видове продукти.

@City (eCity) Cloud IoT Platform е система с различни размери за IP IoT продукти (наричани заедно като @City Хардуер или CioT устройства ):


1.3. Поддържани комуникационни протоколи

Платформата @City supports поддържа следните протоколи за комуникация:

Данните, изпращани от контролер към облачен сървър и обратно, се криптират в уникален двоичен формат за най-нисък размер на данните и повишена сигурност. Всеки партньор получава свой уникален ключ за криптиране за упълномощаване на устройството, проверка на валидността на данните и т.н.


За устройства извън eHouse / eCity можем да предоставим индивидуални алгоритми за криптиране ( "C" изходен код) за всеки партньор за микропроцесор за защита на данните преди комуникация.

В този случай данните са напълно защитени по време на двупосочна комуникация през обществените комуникационни медии (интернет, въздух и др.) ).


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

Платформата @City supports поддържа:


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


1.5. @City Cloud Server

Софтуерът @City работи на базиран на Linux VPS (Виртуален частен сървър) или Специализиран сървър от интернет страна, в зависимост от заявената производителност на Сървър (наричан по-късно Сървър):


Съществуват няколко варианта на 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. Интерфейс отпред

Интерфейсът отпред е реализиран с PHP скриптове за извличане на персонализирани данни от базата данни @City Cloud. Той използва много еластичен механизъм за търсене, базиран на оригинални SQL заявки, за да ограничи желаните данни. Интерфейсът предоставя резултати от заявки във формат JSON за по-нататъшно декодиране и обработка от application Front-end Web „приложение“.

Оригиналният интерфейс отпред е един и същ за всеки потребител и не може да бъде персонализиран за различни клиенти.

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

1.5.3. Права за достъп до сървъра

Правата на достъп на клиента (до физическия сървър) са ограничени.

Достъп до файлове само за директория „шаблони“ (естествени текстови файлове - .txt, .js, .css, .html):

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


iSys - Персоналът на Интелигентни системи - има неограничен достъп до целия сървър, включително корен акаунт и пълен достъп до DB за поддръжка.

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


1.6. Интелигентни устройства

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

Нашите устройства съдържат микроконтролер и GSM / GPS / GNSS модул (2G..4G, NBIoT, CATM1) за комуникация. Микроконтролерът съдържа криптиран буутлоудър за сигурно надстройване на OTA фърмуера. Това позволява да се създадат много системни варианти, базирани на една и съща "CIoT Smart устройство".


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


Ethernet и WiFi контролерите позволяват IP базирана комуникация към системата (без таксуване за пренос на данни към GSM оператора). Тези устройства също имат криптиран буутлоудър и устройствата могат да бъдат актуализирани чрез собствения си интерфейс. За WiFi има надстройка на OTA фърмуер от основния сървър


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

LoRaWAN позволява предаване на данни на много големи разстояния (до прибл. 15 км). Този обхват зависи от скоростта на предаване на данни, количеството данни, урбанизацията на района и ефективността на радиопътеките на устройствата.

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

1.7. Опции за бизнес към бизнес (B2B)


Има няколко възможности за бизнес и сътрудничество:

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

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


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


Примерна и демонстрационна инсталация (Активирана е само за потенциални клиенти).

Моля, информирайте ни, когато искате да го тествате - за да разрешите публичен достъп до платформата.

Може да се наложи статичен IP на отдалечен компютър, за да се даде възможност за комуникация с платформата @City.


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. Раздел: Tab Name за добавяне или премахване

4.2.5. Добавяне / премахване Бутони - Добавяне или премахване на раздели с името в Раздел поле

4.2.6. Изберете Core Бутон

Изберете основните полета, видими на таблицата. То се актуализира автоматично.

4.2.7. Премахнете избора на всички Бутон

Премахнете избора на всички полета (трябва да бъдат последвани, като изберете някои от тях ръчно)

4.2.7. Избери всички Бутон

Изберете всички полета (трябва да бъдат последвани с премахване на избора на някои от тях ръчно)

4.2.8. Скриване на филтъра - Скриване на цялата форма

Това е еквивалентно на всички квадратчета за отметка (X)

4.2.9. Изпълни Бутон - Промяна на настройките на параметрите

4.2.10. "V" квадратче за отметка - показване / полета с висок филтър.


4.3. Раздели

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

Файлът всъщност съдържа име и URL (разделени с табулатор).


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

Показва всички полета, ограничени от Field Filter.


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

4.4.1. Тичам - вид изглед на резултата

карта- резултати от картографирането на картата (може да бъде избрано едно или повече полета)

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

tab - показва таблица (може да бъде избрана всяка комбинация от полета)

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

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


4.4.2. Копиране (+/- връзки)

Добавяне / премахване на раздел с име, зададено в Раздел поле. Той използва само полета, избрани в същия ред на таблицата.


4.4.3. Връзки на клетъчни таблици

Натискането на друго име на поле ще стартира Визуализация на данни на избраното поле за избрания ред.


4.5. Поръчка на данни


Редът на показваните полета е като неговия ред във формата на полета (обаче tm полето винаги се изпраща в края на текста). Този ред може да бъде променен само с директно редактиране на параметрите на URL (част от поръчката на полета).


4.6. Пример

Например: Настройка на Tab с Проследяване на активи име и съдържа карта с време и скорост на картата

Цялото описание се отнася до реда къде "Map" текстът е в "Бягай" колона.

  1. Въведи име "Проследяване на активи" в Раздел поле (без кавички)

  2. Уверете се, че всички колони са отменени в реда

  3. изберете tm, gps_speed_km само в реда

  4. Натиснете + бутон, където е в реда






5. Карти

Картите могат да се стартират от MainForm с предварителна конфигурация


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

Инициализацията на картата се извършва ръчно, когато се изпълнява директно с връзка: > http: //%IP%/IoT/maps.php


  1. Потребителят трябва да отмени всички полета (натиснете Премахнете избора Бутон)

  2. Натиснете някакво квадратче за отметка за показаните полета (напр. Ain5 (за ниво на смог) и tm (за дата / час на измерване)

  3. Натиснете "V" квадратче за скриване на полетата

  4. Натиснете Изпълни бутон за изпълнение на DB заявка и показване на текуща информация от всички сензори / устройства

  5. Картата с данни се актуализира след 30 секунди или повече.


5.2. Незадължителни настройки за заявка

Настройки, описани отляво надясно (на горната екранна снимка).

5.2.1. Промяна на скалата на MAP (ниво на мащабиране)

  1. Нивото на мащабиране може да бъде променено, като се използват бутони (+/-) за мащаб (мащаб текущ_2 * или текущ_ мащаб / 2). Натискането на един от тези бутони автоматично ще промени мащаба.

  2. Друг начин е да изберете Zoom Level in Мащабиране Поле Combo Box и натиснете Изпълни бутон. В този случай целият View / Map се презарежда и опреснява (отнема известно време по време на инициализацията).

5.2.2. IMEI (Изберете поле за устройство)

IMEIполето съдържа уникален идентификатор на устройството или уникален псевдоним за устройство. Настройката по подразбиране е * (звездичка), която показва най-новите стойности и геолокация за всяко устройство.

Задаването на IMEI на друга стойност ще покаже исторически данни за избраното устройство. Има смисъл само за мобилни и движещи се сензори, в противен случай резултатите ще се припокриват на картата на същото място.


5.2.3. Лон, лат (Географска дължина, координатни полета на Latitude)

Задайте централна позиция на картата. Това поле е настроено на позиция на курсора при натискане на бутона на мишката върху картата.


5.2.4. Промяна на стила на MAP (тема)

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

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


5.2.5. Клауза WHERE

Където Клаузата се използва за допълнителен низ за заявка {WHERE part} за MySQL / MariaDB.

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

  1. gps_speed_km> 10 // скоростта е повече от 10km / h

  2. ain5> 3 // ain5 е по-голямо от 3 (задържане на 2.5um брой частици - ниво на смог)

  3. gps_speed_km> 10 и ain6> 5 // скоростта е повече от 10km / h и ain6 е по-голяма от 5 (задържане на 10um брой частици - ниво на смог)


5.2.6. Изпълни (Бутон за изпълнение на заявка)

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

Картата се зарежда от самото начало с нови предварителни настройки.

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

5.2.7. Премахнете избора на всички (Премахване на всички полета от заявката)

След натискане на този бутон поне едно поле трябва да бъде избрано ръчно, за да се покажат резултатите на картата.


5.2.8. "V" Поле за отметка (Отворете / затворете формуляр за поле)

Това квадратче се използва за показване / скриване на селектора на полета за показване.


5.2.9. "Х" Поле за отметка (Показване / скриване на формуляра за заявка)

Това квадратче за отметка позволява скриване на целия формуляр с изключение на ( +/- бутони)


Резултатите на картата непрекъснато се обновяват и актуализират с нови стойности

5.3. Пример

Например резултати от смог (Сензор, инсталиран на автомобила): ниво на смог 2.5um частици (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 резултати и дата = 2019-02-18 и скорост> 0 км / ч



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

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

На "Основна форма" Натиснете "маса" елемент, след като изберете някои полета за показване на предварително конфигурирана таблица




6.1. Инициализиране на таблица

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

Можете да изберете видими полета (чрез натискане на "Видими полета" ) отметка.



  1. Натиснете всички задължителни квадратчета за показани полета

  2. Натиснете квадратчето за отметка "Видими полета" за да скриете полетата

  3. Натиснете бутона за изпълнение, за да стартирате DB заявка и показване на таблица


6.2. Незадължителни настройки за заявка

Настройките са описани отляво надясно (на екранната снимка).

6.2.1. Вид - поле за сортиране и ред във възходящ / низходящ ред

Полето за сортиране е еквивалентно на натискане на заглавката на колоната.

6.2.2. DB / IMEI - Изберете Устройство

IMEIполето съдържа уникален идентификатор на устройството или уникален псевдоним за устройство. С празна стойност показва таблица с най-новите стойности.

Задаването на IMEI на друга стойност ще покаже исторически данни за избраното устройство.


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

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

6.2.5. Премахване на празно - Не показвайте празни колони

6.2.6. "Х" Поле за отметка (Показване / скриване на формуляра за заявка)

6.2.7. Където Клауза (за ограничаване на данните)

Това е суфикс за допълнителен низ за заявка MySQL / MariaDB {WHERE част}

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

  1. gps_speed_km> 10 // скоростта е повече от 10km / h

  2. ain5> 3 // ain5 е по-голямо от 3 (задържане на 2.5um брой частици - ниво на смог)

  3. gps_speed_km> 10 и ain6> 5 // скоростта е повече от 10km / h и ain6 е по-голяма от 5 (задържане на 10um брой частици - ниво на смог)


6.2.8. Изберете Core Бутон (Активиране на най-често срещаните полета)


6.2.9. Премахнете избора на всички Бутон (Премахване на всички полета от заявката)

След натискане на този бутон поне едно поле трябва да бъде избрано ръчно, за да се покажат резултатите на картата.


6.2.10. Изпълни (Бутон за изпълнение на заявка)

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

Таблицата се презарежда от самото начало с нови предварителни настройки.



6.2.11. "V" Поле за отметка (Отворете / затворете формуляр за поле)

Това квадратче се използва за показване / скриване на селектора на полета за показване.



Резултатите в таблицата са сортирани според Вид настройка на полето. Редът на сортиране може да бъде променен чрез натискане на заглавката на реда (веднъж за една посока два пъти за друга посока).

Някои резултати в колони водят до допълнителни екрани за визуализация (твърдо кодирани).


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


7. Бар класации.

Стълбовите диаграми трябва да се изпълняват от Основна форма чрез натискане на едно поле в реда "Бар".

Той показва сортирани ленти, нормализирани до максимална стойност, показващи се от най-високия до най-ниския ред.

Полезно е за бърза проверка на екстремни резултати и предприемане на някои действия.





Събитието Mouse Over ще покаже допълнителна информация за устройството.


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

Историческите диаграми могат да бъдат инициирани от MainForm при натискане на избраната колона в реда "History" (за едно поле).

За няколко полета в реда "История" желаните полета трябва да бъдат маркирани и връзката "История" трябва да бъде натисната в колоната "Изпълнение".

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

8.1. Инициализиране на исторически карти


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

За показване на различни елементи могат да бъдат избрани множество полета. Може да се зададе и във формуляр за полеви филтри.




  1. Натиснете всички задължителни квадратчета за показани полета

  2. Натиснете квадратчето за отметка "Видими полета" за да скриете полетата

  3. Натиснете бутона за изпълнение, за да стартирате DB заявка и да покажете таблицата


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 част}.

Тази клауза се взема под внимание при конструирането на пълен низ QUERY за резултат от базата данни. Той може да ограничи данните, времето и всякакви други стойности, като ограничи броя на резултатите. Оригиналните имена на полета на таблицата (не псевдоними) трябва да се използват в това поле и валиден синтаксис на SQL. Напр.

  1. gps_speed_km> 10 // скоростта е повече от 10km / h

  2. ain5> 3 // ain5 е по-голямо от 3 (задържане на 2.5um брой частици - ниво на смог)

  3. gps_speed_km> 10 и ain6> 5 // скоростта е повече от 10km / h и ain6 е по-голяма от 5 (задържане на 10um брой частици - ниво на смог)


8.2.9. Премахнете избора на всички Бутон (Премахване на всички полета от заявката)

След натискане на този бутон поне едно поле трябва да бъде избрано ръчно, за да се покажат исторически резултати.


8.2.10. Изпълни (Бутон за изпълнение на заявка)

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

8.2.11. "V" Поле за отметка (Отворете / затворете формуляр за поле)

Това квадратче се използва за показване / скриване на селектора на полета за показване.


8.3. Барове Вариант: (показва само наличните данни)



8.4. Непрекъснато вариант (със същите данни):



Показалецът на мишката показва стойности на измерванията и дата / час.

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


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

Chrome 72

FireFox 65

Ръб, край

Опера 58

Карти

+

+

+

+

Исторически

+

+ (*)

+

+

Барове

+

+

+

+

Раздели

+

+

+

+


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

Internet Explorer не се поддържа (използвайте Ръб, край вместо)

Други уеб браузъри не са тествани.



10. Персонализиране на теми

Уеб страниците се основават на общ файл с шаблони, намиращ се на "шаблони" директория "* .template".

Освен това всеки тип страница съдържа:

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

  2. "* .foot" файлове, които съхраняват долния колонтитул на страницата (връзки и др. )


Темата за визуализация може да се променя според предпочитанията на потребителя чрез справяне и модифициране на CSS файлове. CSS файловете се намират в "шаблони / css" директория. Различни теми на уеб страници могат да се използват за създаване на оптимизирани за напр. печат, SmartPhones, PADs шаблони.


Разделle изгледи - имат избираемо поле за избор на CSS файл за пълна модификация на темата (съхранява се в "templates / css / tabs" директория).




Map мнения - общата тема е избрана от "карта" тип комбинирана кутия. Освен това има CSS файл по подразбиране "templates / css / map.css" който съдържа някои допълнителни функционалности като скриване / оцветяване на резултатите въз основа на неговите стойности. Останалата част от този CSS файл е практически ограничена до формуляри за заявки и полета.


Повечето от @City Platform Приемат се PHP файлове за визуализация cssпараметър със стойност на името на файла за темата (без разширение). Файлът трябва да се намира в директорията "templates / css" и името е чувствително към малки и големи букви.


Някои елементи на темата се намират директно във JavaScript файл, намиращ се в "шаблон / js" директория.

Основна @City скрипт"@ City.js" се намира в горната директория. В това няма възможност за модификация местоположение, но скриптът може да бъде копиран в "templates / js" директория и модифицирана там. Използването на отделен скрипт изисква актуализиране на всички заглавни файлове.

11. Актуализиране на алгоритми


Някои уникални сензори може да изискват специални изчислителни функции.

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

Най-добрият и най-лесният начин да го постигнете е актуализирането на JavaScript „overlay“ файлове за правилно показване на стойността / описанието.

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


Технически аспект на програмирането на @City системата не е предмет на този документ, но уеб разработчикът с основни познания по HTML и JS може да персонализира Front-end уеб приложението според индивидуалните нужди на клиента.


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


@City база данни с име „IoT“ или „* IoT“ е разделен на таблици (където астериксът е префикс в зависимост от хостинг сървъра - ако е необходимо). DataBase може да се наблюдава в PHPAdmin (уеб приложение) на връзката http: //% IP% / phpmyadmin




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

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



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

12.2. Команда на устройства (събития) опашка "* _c" таблица - структура


Тази таблица е опашка за събития / команди за всяко устройство и има следната структура:



12.3. Достъп до резултати от бази данни - средно ниво (четене на данни)


Данните могат да бъдат достъпни без уеб приложение на Front-end. Системата @City съдържа скрипт с функции на средно ниво. Резултатите се връщат във формат JSON.


12.3.1. Получете текущи състояния на всички устройства

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


Заявката се връща цяла "_ithings" таблица (текущи състояния на всички устройства) в JSON формат:

[{ "страна":"", "град":"", "континент":"", "страна":"", "регион":"", "подрегион":"", "подрегион":"", "град":"", "област":"", "улица":"", "street_nr":"", "артикул_номер":"", "gps_lat":"0000,0000N", "gps_long":"00000.0000E", "tm":"2019-02-10 12:56:23", "създаване":"2019-02-09 18:12:38", "последен":"0000-00-00 00:00:00", "събития":"", "потребител":"", "мине":"", "имей":"351580051067110", "sn":"", "статус":"73000200000f360033026800240000002c002c002dffffffffffffffffff5b63000001c1000001c2000000000000000009250a4f0a760a7a0a750a780a7e0000031d032205fc34029b025c025600460eb3050000", "хеш код":"", "адрес":"", "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", "вън5":"0", "6":"0", "out7":"0", "8":"0", "9":"0", "out10":"1", "out11":"0", "от12":"0", "13":"0", "14":"0", "15":"0", "out16":"0", "in1":"0", "в2":"0", "in3":"0", "in4":"0", "in5":"0", "in6":"0", "in7":"0", "in8":"0", "in9":"0", "в10":"0", "в11":"0", "в12":"0", "през13":"0", "в14":"0", "през15":"0", "in16":"0", "ain1":"3894", "ain2":"51", "ain3":"616", "ain4":"36", "ain5":"0", "ain6":"44", "ain7":"44", "ain8":"45", "sens1":"0", "sens2":"0", "sens3":"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":"", "текст2":"", "текст3":"", "текст4":"", "текст5":"", "text6":"" }]

12.3.2. Вземете исторически данни за устройството

Заявка за исторически данни за едно устройство от IMEI номер:

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


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

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

func - imeijson

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

поле - полета за показване в резултатите (списък, разделен с кома)

мин - минимална стойност за първото поле от списъка

макс - максимална стойност за първото поле от списъка

sилиt - поле за сортиране

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

where - къде клауза за ограничени данни


Пример:

Искаме да получим следния резултат

за устройство с imei=356345080018095

покажи полета: ain5, ain6, gps_lat, gps_long

и лимит ain5 в обхват ( 1, 10000 ) - трябва да е първото поле в списъка

и gps имат валидни данни (gps_fix = 3)

и дата / час (tm) from2019-02-14 23:00:19 to 2019-02-15 00:00:00


Изграден низ от URL:

http: //%IP%/IoT/que.php? func =imeijson& imei =356345080018095& поле =ain5, ain6, gps_lat, gps_long& мин =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","tm":"2019-02-14 23:04:31" }, { "ain5":"67","ain6":"76","gps_lat":"5202,7328N","gps_long":"02115.8075E","tm":"2019-02-14 23:05:42" }, { "ain5":"63","ain6":"77","gps_lat":"5202,7328N","gps_long":"02115.8074E","tm":"2019-02-14 23:06:05" }, { "ain5":"58","ain6":"77","gps_lat":"5202,7328N","gps_long":"02115.8075E","tm":"2019-02-14 23:06:32" }, { "ain5":"58","ain6":"68","gps_lat":"5202,7328N","gps_long":"02115.8076Е","tm":"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 и tm се добавят автоматично

мин - минимална стойност за полето

макс - максимална стойност за полето


За горния низ на заявка той се връща резултати от ain5, imei, tm полета:

ако ain5 е в обхват (13,5000)


Резултати от заявката:

[{"имей":"353080090069142", "tm":"2019-03-14 11:51:01", "ain5":"14." },

{"имей":"356345080018095", "tm":"2019-02-20 09:13:04", "ain5":"115" },

{"имей":"karczew", "tm":"2019-03-07 13:08:22", "ain5":"103" }]