@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. Варыянты бізнесу да бізнесу (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. Абярыце асноўную кнопку 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. Змяніць стыль карты (тэма) 16

5.2.5. ДЗЕ Пункт 16

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

5.2.7. Адмяніць выбар усіх (выдаліць усе палі з запыту) 17

5.2.8. "V" сцяжок (Адкрыць / закрыць поле) 17

5.2.9. "Х" сцяжок (Паказаць / схаваць форму запыту) 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. "Х" сцяжок (Паказаць / схаваць форму запыту) 20

6.2.7. Пункт Where (для абмежавання дадзеных) 20

6.2.8. Абярыце асноўную кнопку (Уключыць найбольш распаўсюджаныя палі) 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. "Х" сцяжок (Паказаць / схаваць форму запыту) 23

8.2.8. "Дзе" Пункт 23

8.2.9. Адмяніць выбар кнопкі "Усе" (выдаліць усе палі з запыту) 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) - гэта сістэма розных памераў для прадуктаў IP IoT (якая называецца разам @City Hardware альбо Прылады CioT ):


1.3. Падтрымліваюцца пратаколы сувязі

Платформа @City supports падтрымлівае наступныя пратаколы сувязі:

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


Для прылад не eHouse / eCity мы можам паставіць індывідуальныя алгарытмы шыфравання ( "C" зыходны код) для кожнага партнёра для мікрапрацэсара для абароны дадзеных перад сувяззю.

У гэтым выпадку дадзеныя цалкам абаронены падчас двухбаковай сувязі праз грамадскія камунікацыйныя носьбіты (Інтэрнэт, Эфір і г.д. ).


1.4. Падтрымліваюцца камунікацыйныя тэхналогіі прылад

Платформа @City supports падтрымлівае:


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


1.5. Воблачны сервер @City

Праграмнае забеспячэнне @City працуе на VPS на базе Linux (віртуальны прыватны сервер) або выдзелены сервер на Інтэрнэт-старонцы, у залежнасці ад запытанай прадукцыйнасці Сервер (званы пазней Сервер):


Існуе некалькі варыянтаў VPS у залежнасці ад:


Дзесяткі выдзеленых сервераў існуюць у залежнасці ад:


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


Паколькі сервер не з'яўляецца агульным для кліентаў, гэта спрашчае доступ да бяспекі і праблемы з прадукцыйнасцю. Па гэтай прычыне толькі кліент нясе адказнасць за эфектыўную бяспеку, стабільнасць, эфектыўнасць, прапускную здольнасць і г.д. У выпадку недастатковай прадукцыйнасці кліент можа набыць больш высокі план (VPS або выдзелены сервер), больш аптымальны да чаканай функцыянальнасці і прадукцыйнасці.

У асаблівых выпадках "Cloud to cloud" сувязь можа быць рэалізавана для глабалізацыі і цэнтралізацыі дадзеных на вялікіх плошчах, а не ў воблаку для некалькіх кліентаў.

1.5.1. Серверныя і камунікацыйныя шлюзы

Сувязь сервера @City рэалізавана на аснове прыкладання нізкага ўзроўню для максімізацыі прадукцыйнасці.

Асноўнымі асаблівасцямі прыкладання @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. Ён выкарыстоўвае вельмі эластычны механізм пошуку, заснаваны на арыгінальных запытах SQL, каб абмежаваць патрэбныя дадзеныя. Інтэрфейс забяспечвае вынікі запыту ў фармаце JSON для далейшага дэкадавання і апрацоўкі by Інтэрнэт-вэб-дадатак.

Арыгінальны інтэрфейсны інтэрфейс аднолькавы для кожнага карыстальніка і не можа быць настроены для розных кліентаў.

Інтэрфейс накладання можа быць створаны нашымі супрацоўнікамі альбо ў супрацоўніцтве, каб забяспечыць настройку для кліента.

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

Правы доступу кліента (да фізічнага сервера) абмежаваныя.

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

Іншыя правы доступу:


iSys - супрацоўнікі інтэлектуальных сістэм - маюць неабмежаваны доступ да ўсяго сервера, уключаючы каранёвую ўліковы запіс і поўны доступ да БД для тэхнічнага абслугоўвання.

Пры пэўных абставінах 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). Гэтыя прылады таксама маюць зашыфраваны загрузнік, і прылады могуць абнаўляцца праз уласны інтэрфейс. Для WiFi ён мае абнаўленне прашыўкі OTA з асноўнага сервера


1.6.2. IoT - прылады LoRaWAN

LoRaWAN дазваляе перадаваць дадзеныя на вельмі вялікія адлегласці (прыблізна да 15 км). Гэты дыяпазон залежыць ад хуткасці перадачы дадзеных, колькасці дадзеных, урбанізацыі тэрыторыі і эфектыўнасці радыёканалаў прылад.

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

1.7. Варыянты бізнесу да бізнесу (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. Абярыце 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. Змест табліцы

Адлюстроўвае ўсе палі, абмежаваныя фільтрам палёў.


Палі ў табліцы:

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. Змяненне шкалы MAP (узровень маштабавання)

  1. Узровень маштабавання можна змяніць, выкарыстоўваючы (+/-) кнопкі для маштабу (бягучы_маштаб * 2 альбо бягучы_маштаб / 2 адпаведна). Націсканне адной з гэтых кнопак аўтаматычна зменіць маштаб.

  2. Іншы спосаб - выбраць Zoom Level Павялічыць Combo Box поле і націсніце Выканаць кнопка. У гэтым выпадку ўвесь View / Map перазагружаецца і абнаўляецца (патрабуецца некаторы час падчас ініцыялізацыі).

5.2.2. IMEI (Выберыце поле прылады)

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

Наладжванне IMEI на любое іншае значэнне, будзе паказваць гістарычныя дадзеныя абранай прылады. Гэта мае сэнс толькі для мабільных і рухомых датчыкаў, інакш вынікі будуць супадаць на карце ў тым самым становішчы.


5.2.3. Лон, лат (Даўгата, каардынатныя палі шыраты)

Усталюйце цэнтральнае становішча карты. Гэта поле ўстанаўліваецца ў становішча курсора пры націску кнопкі мышы на карце.


5.2.4. Змяніць стыль карты (тэма)

Стыль / тэму карты можна выбраць з Map Поле ComboBox (напрыклад, Цёмны, шэры, тапаграфічны).

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


5.2.5. Пункт ДЗЕ

Дзе пункт выкарыстоўваецца для дадатковай радка запыту {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.5um (Ain5), хуткасць (gps_speed_km), дата / час (тм), карта (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. БД / 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. Абярыце 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 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" каталог. Для стварэння аптымізаваных, напрыклад, розных тэм вэб-старонак. друк, смартфоны, шаблоны PAD.


Укладкаle праглядаў - ёсць поле для выбару файла CSS для поўнай мадыфікацыі тэмы (захоўваецца ў "шаблоны / css / укладкі" каталог).




Map погляды - агульная тэма абрана "карта" тып камбінаванай скрынкі. Акрамя таго, ёсць CSS-файл па змаўчанні "templates / css / map.css" які ўтрымлівае дадатковую функцыянальнасць, напрыклад, вынікі схавання / афарбоўкі на аснове яго значэнняў. Астатняя частка гэтага файла CSS практычна абмежаваная формамі запытаў і палёў.


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


Некаторыя элементы дысплея тэмы размешчаны непасрэдна ў файле located, размешчаным у "шаблон / js" каталог.

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

11. Абнаўленне алгарытмаў


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

Няма магчымасці абнаўляць і падтрымліваць некалькі варыянтаў @City Server Software, Франтальны інтэрфейс PHP, які выкліча шмат праблем, версій, памылак.

Лепшы і просты спосаб гэтага дасягнуць - гэта абнаўленне over "накладных" файлаў для правільнага адлюстравання значэння / апісання.

Арыгінальныя сцэнарыі JS - гэта адкрыты тэкставы файл, і яны могуць быць прыняты пад патрэбы кліента. Як было сказана ў папярэдняй главе, іх трэба скапіяваць "шаблоны / js" каталог, дзе кліент мае правы доступу на змяненне.


Тэхнічны аспект праграмавання @City сістэма не з'яўляецца прадметам гэтага дакумента, аднак вэб-распрацоўшчык, які валодае базавымі ведамі HTML і JS, можа наладзіць інтэрфейснае вэб-дадатак пад індывідуальныя патрэбы кліентаў.


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


База дадзеных @City з імем "IoT" альбо "* 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:

[{ "краіна":"", "горад":"", "кантынента":"", "краіна":"", "вобласці":"", "субрэгіён":"", "субрэгіён":"", "горад":"", "раён":"", "вул":"", "вуліца_нр":"", "элемент_н":"", "gps_lat":"0000,0000Н", "gps_long":"00000.0000E", "тм":"2019-02-10 12:56:23", "стварэнне":"2019-02-09 18:12:38", "апошні":"0000-00-00 00:00:00", "падзеі":"", "карыстальнік":"", "прайсці":"", "imei":"351580051067110", "сн":"", "статус":"73000200000f360033026800240000002c002c002dffffffffffffffffff5b63000001c1000001c2000000000000000009250a4f0a760a7a0a750a780a7e0000031d032205fc34029b025c025600460eb3050000", "хэш-код":"", "адр":"", "fwnr":"", "інвалідам":"", "gsm_nr":"", "прадавец":"", "Часавы пояс":"", "суткі":"", "rssi":"91", "rsrp":"99", "gps_lat":"0000,0000Н", "gps_long":"00000.0000E", "gps_hdop":"", "gps_alt":"", "gps_fix":"4", "gps_cog":"", "gps_speed_km":"", "gps_sat":"", "падзеі":"", "out1":"0", "з2":"0", "з3":"0", "out4":"0", "з5":"0", "out6":"0", "out7":"0", "з8":"0", "out9":"0", "з10":"1", "з11":"0", "з12":"0", "з13":"0", "з14":"0", "з15":"0", "з16":"0", "у1":"0", "у2":"0", "у3":"0", "in4":"0", "у5":"0", "у6":"0", "in7":"0", "у8":"0", "у9":"0", "у10":"0", "у11":"0", "у12":"0", "у13":"0", "у14":"0", "у15":"0", "у16":"0", "ain1":"3894", "ain2":"51", "ain3":"616", "ain4":"36", "aу5":"0", "ain6":"44", "ain7":"44", "ain8":"45", "Sens1":"0", "сэнс2":"0", "сэнс3":"0", "сэнс4":"0", "сэнс5":"0", "sens6":"0", "Sens7":"0", "sens8":"0", "dimm1":"255", "цьмяныm2":"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 nr:

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


Паколькі ўся табліца можа ўтрымліваць мільёны радкоў, яна павінна быць абмежаваная прапановай WHERE, каб не адключаць сервер.

Дадатковыя параметры url параметры:

функц - imeijson

imei - IMEI прылады

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

мін - мінімальнае значэнне для першага поля са спісу

макс - максімальнае значэнне для першага поля са спісу

sальбоt - поле для сартавання

тм - поле аўтаматычна дадаецца да вынікаў.

where - дзе пункт аб абмежаваных дадзеных


Прыклад:

Мы хочам атрымаць наступны вынік

для прылады з imei=356345080018095

паказаць палі: ain5, ain6, gps_lat, gps_long

і абмежаваць aу5 у дыяпазоне ( 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& поле =aу5, ain6, gps_lat, gps_long& мін =1& макс =1000& дзе =gps_fix = 3 і tm> "2019-02-14 23:00:19" і tm <"2019-02-15 00:00:00"


Вынікі запыту:

[{ "aу5":"66","ain6":"68","gps_lat":"5202,7326N","gps_long":"02115.8073E","тм":"2019-02-14 23:04:31" }, { "aу5":"67","ain6":"76","gps_lat":"5202,7328N","gps_long":"02115.8075Е","тм":"2019-02-14 23:05:42" }, { "aу5":"63","ain6":"77","gps_lat":"5202,7328N","gps_long":"02115.8074E","тм":"2019-02-14 23:06:05" }, { "aу5":"58","ain6":"77","gps_lat":"5202,7328N","gps_long":"02115.8075Е","тм":"2019-02-14 23:06:32" }, { "aу5":"58","ain6":"68","gps_lat":"5202,7328N","gps_long":"02115.8076Е","тм":"2019-02-14 23:06:55" }]

12.3.3. Атрымаць спіс прылад - адно поле з бягучых статусаў з абмежаваннем

Гэтая функцыя вяртае абмежаваныя дадзеныя з табліцы "_ithings"


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



Параметры:

функц - fieldjson

поле - поле для адлюстравання ў выніках - imei і тм аўтаматычна дадаюцца

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

макс - максімальнае значэнне для поля


Прыведзеная вышэй радок запыту вяртаецца вынікі ain5, imei, tm палі:

калі aу5 знаходзіцца ў дыяпазоне (135000)


Вынікі запыту:

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

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

{"imei":"karczew", "тм":"2019-03-07 13:08:22", "aу5":"103" }]