@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
@City IoT Cloud Platform е посветен "микрооблак" система за индивидуални клиенти. Платформата не може да се споделя и само един клиент има достъп до физически или виртуален сървър (VPS или специализирани сървъри). Клиентът може да избере един от десетките центрове за данни в Европа или по света.
Платформата @City is е посветена на проследяването на продукти на iSys.PL
IoT - RF / LoRaWAN (Интернет на нещата)
CIoT - GSM / 2G / 3G / 4G / CATM1 / NBIoT (Cell Internet of Things)
WiFi
Ethernet
@City (eCity) Cloud IoT Platform е система с различни размери за IP IoT продукти (наричани заедно като @City Хардуер или CioT устройства ):
@City
@Светлина
@ Измерване
@Trace
@AirQ
@Bin
Платформата @City supports поддържа следните протоколи за комуникация:
UDP - препоръчва се за CIoT сензори / устройства (особено NBIoT) - най-ниско използване на данни
TCPIP - препоръчва се за устройства с двупосочна комуникация - ръкостискане / потвърждение
HTTP - препоръчва се само за достъп до данни / визуализация / експортиране / "облак до облак"
HTTP Webhooks - за LoRaWAN комуникация между LoRaWAN Network / Application Server и @City Cloud.
Данните, изпращани от контролер към облачен сървър и обратно, се криптират в уникален двоичен формат за най-нисък размер на данните и повишена сигурност. Всеки партньор получава свой уникален ключ за криптиране за упълномощаване на устройството, проверка на валидността на данните и т.н.
За устройства извън eHouse / eCity можем да предоставим индивидуални алгоритми за криптиране ( "C" изходен код) за всеки партньор за микропроцесор за защита на данните преди комуникация.
В този случай данните са напълно защитени по време на двупосочна комуникация през обществените комуникационни медии (интернет, въздух и др.) ).
Платформата @City supports поддържа:
GSM: 2G, 3G, 4G (LTE), CATM1 (LTEM1), NBIoT - устройства (UDP / TCPIP комуникация)
Устройства LoRaWAN (HTTP Webhooks) - чрез LoRaWAN шлюз и LoRaWAN мрежа / сървъри за приложения
Ethernet контролери (UDP / TCP комуникация)
WiFi контролери (UDP / TCP комуникация)
Бъдещи IP продукти
Продукти, които не са IP, чрез допълнителни местни @ City / eHouse.PRO Хардуерен шлюз
@City IoT Платформата е посветена на устройства / възли:
Родни продукти на iSys:
CIoT (GSM / 2G / 3G / 4G / CATM1 / NBIoT)
IoT (LoRaWAN)
WiFi - специални продукти за платформата @City
Ethernet - специални продукти за платформа @City
Продукти за съвместно производство (произведени от трети страни под лиценз iSys и външна марка)
Франчайз продукти (произведени от трети страни под iSys лиценз с iSys лога)
Софтуерът @City работи на базиран на Linux VPS (Виртуален частен сървър) или Специализиран сървър от интернет страна, в зависимост от заявената производителност на Сървър (наричан по-късно Сървър):
частен / публичен достъп
общото количество устройства се брои
актуализация на честотата на състоянието на устройствата
скорост на опресняване на данни
Съществуват няколко варианта на VPS в зависимост от:
Цена
геолокализация на центъра за данни
Виртуални процесорни ядра (1-8)
Виртуална RAM (1-32GB)
SSD диск (20GB-1TB)
Десетки специален сървър съществува в зависимост от:
Цена
геолокализация на центъра за данни
Процесорни ядра (4 .. 32)
RAM (16 .. 512 GB)
SSD / HDD (256GB .. 8TB)
Платформата @City IoT е посветена на един клиент:
местни правителства и власти (град, общност, държава)
B2B (за собственик на трета страна)
Тъй като това не е споделен сървър между клиентите, той опростява проблемите на достъпа до сигурността и производителността. Поради тази причина само клиентът е отговорен за ефективна сигурност, стабилност, ефективност, пропускане на данни и т.н. В случай на недостатъчна производителност, клиентът може да закупи по-висок план (VPS или специален сървър), по-оптимален за очакваната функционалност и производителност.
В специални случаи "Cloud to cloud" комуникацията може да бъде приложена за глобализация и централизация на данните към по-големи области вместо облак с много клиенти.
Комуникацията на @City Server се реализира въз основа на приложение на ниско ниво за максимизиране на производителността.
Основните характеристики на приложението @City Server са:
асинхронно получаване на данни от устройства (чрез протоколи: UDP, TCP IP, HTTP)
минимизиране на използването на данни и техните разходи между устройствата и облака (чрез използване на комуникационни протоколи на ниско ниво UDP, TCP IP)
получаване на криптиран статус на устройства (чрез всеки комуникационен носител)
упълномощаване и валидиране на данни от устройства чрез дешифриране на техните състояния
декодиране на състоянието на устройствата и актуализирането му директно в таблици MariaDB / MySQL (във формат на сурови данни)
текуща таблица с данни (съдържа само най-новото състояние на всяко устройство)
таблица с исторически данни (съдържа всички състояния за едно устройство)
изпращане на чакащи команди (събития) до устройства
осигуряване на ръкостискане, проверка и потвърждения
Софтуерът @City Server е еднакъв за всеки потребител и не може да бъде персонализиран за различни клиенти.
Контролерите LoRaWAN са интегрирани с облака @City чрез HTTP интерфейса (уеб куки), наличен на мрежата / сървъра за приложения LoRaWAN.
Поддържат се няколко типа сървър за мрежа / приложения:
TTN (ограничено време "В ефир" и максималния брой команди, изпратени до драйвера и не поддържат надстройка на фърмуера)
LoraWAN-Stack (Изисква хостинг на физическо устройство с достъп до интернет).
LoraServer.Io (Изисква хостинг на физическо устройство с достъп до интернет - само изпращане на данни към сървъра и не поддържа надстройка на фърмуера)
Контролерите @City Cloud за LoRaWAN са разделени по същия начин, както при другите интерфейси. Той е обсъден в предишната глава.
Интерфейсът отпред е реализиран с PHP скриптове за извличане на персонализирани данни от базата данни @City Cloud. Той използва много еластичен механизъм за търсене, базиран на оригинални SQL заявки, за да ограничи желаните данни. Интерфейсът предоставя резултати от заявки във формат JSON за по-нататъшно декодиране и обработка от application Front-end Web „приложение“.
Оригиналният интерфейс отпред е един и същ за всеки потребител и не може да бъде персонализиран за различни клиенти.
Интерфейсът за наслагване може да бъде създаден от нашия персонал или в сътрудничество, за да се осигури персонализиране за клиента.
Правата на достъп на клиента (до физическия сървър) са ограничени.
Достъп до файлове само за директория „шаблони“ (естествени текстови файлове - .txt, .js, .css, .html):
добавяне, премахване, модифициране на чисти HTML файлове (Front-End GUI / Interface Development)
добавяне, премахване, модифициране на чисти JavaScript файлове (Front-End GUI / Interface Development and Algorithms)
добавяне, премахване, модифициране на чисти CSS файлове (Front-End - персонализирани изгледи / теми)
добавяне, премахване, модифициране на текстови файлове на шаблони (графичен интерфейс отпред)
добавяне, премахване, модифициране на раздели, преки пътища, връзки към резултати от данни
Други права за достъп:
Пълен достъп до @City Cloud Database MySQL / MariaDB, където се съхраняват всички данни на устройствата
Достъпът до уеб услуги е дефиниран (идентификационни данни) за клиента.
Клиентът няма право да предава идентификационни данни на трети страни (многократният достъп до резултатите може да повлияе на производителността, стабилността и сигурността на цялостната система)
При специални обстоятелства и използване на високопроизводителен специален сървър може да бъде настроен публичен акаунт, който да наблюдава най-актуалните данни (не исторически).
Потребителят може да дублира данни към собствения си MySQL сървър и да извършва собствен анализ на данни и обработка, за да не повлияе на производителността на @City Server
iSys - Персоналът на Интелигентни системи - има неограничен достъп до целия сървър, включително корен акаунт и пълен достъп до DB за поддръжка.
При определени обстоятелства iSys може да предостави допълнителни ограничени права на клиента (PHP скриптове, файлове) след проверка на изходния код, стартиране на тестове, ако това не засяга цялостната сигурност, стабилност и производителност на системата.
Нашите устройства съдържат микроконтролер и GSM / GPS / GNSS модул (2G..4G, NBIoT, CATM1) за комуникация. Микроконтролерът съдържа криптиран буутлоудър за сигурно надстройване на OTA фърмуера. Това позволява да се създадат много системни варианти, базирани на една и съща "CIoT Smart устройство".
Ethernet и WiFi контролерите позволяват IP базирана комуникация към системата (без таксуване за пренос на данни към GSM оператора). Тези устройства също имат криптиран буутлоудър и устройствата могат да бъдат актуализирани чрез собствения си интерфейс. За WiFi има надстройка на OTA фърмуер от основния сървър
LoRaWAN позволява предаване на данни на много големи разстояния (до прибл. 15 км). Този обхват зависи от скоростта на предаване на данни, количеството данни, урбанизацията на района и ефективността на радиопътеките на устройствата.
Нашите устройства включват микроконтролер и LoRaWAN модул за комуникация. Микроконтролерът съдържа криптиран буутлоудър за сигурна актуализация на OTA софтуера. Това ви позволява да създавате множество системни варианти, базирани на един и същ "IoT smart device". Устройствата работят в отворена лента ISM без допълнителни абонаментни такси. Необходимо е да използвате LoRaWAN Gateways, за да покриете цялата зона с достъп до Интернет. В случай на съществуващи порти LoRaWAN в обхвата на устройства (конфигурирани за TTN сървър), е възможно да се изпраща информация чрез тях. Надстройката на фърмуера изисква собствена мрежа / приложение LoRaWAN сървър и добър обхват за комуникация.
Има няколко възможности за бизнес и сътрудничество:
внос / износ на готови продукти (табла, устройства) - крайни продукти
внос / износ на OEM продукти (печатни платки, контролери и др.) - междинни продукти, резервни части
франчайз - производство въз основа на нашия лиценз за местни пазари (предлагаме само програмирани микроконтролери) под iSys - Интелигентни марки
Копродукция - (както по-горе), но под външни марки
Платформата @City поддържа персонализиран Front-End шаблон за визуализация на данни, заявки, ограничаване и обработка (текущи / исторически данни):
визуализирайте избрани данни на картата (геолокализация)
показва избрани данни и резултати в таблиците
показва избрани данни в лентови диаграми
показва избрани данни в исторически диаграми
експортиране на данни към приложения на трети страни и по-нататъшна обработка
друга функционалност ще се актуализира при индивидуални заявки.
Front-End на потребителя е достъпен чрез статичен IP или DNS пренасочване домейн / поддомейн / файл, ако е наличен.
Примерна и демонстрационна инсталация (Активирана е само за потенциални клиенти).
Моля, информирайте ни, когато искате да го тествате - за да разрешите публичен достъп до платформата.
Може да се наложи статичен IP на отдалечен компютър, за да се даде възможност за комуникация с платформата @City.
Главната страница е оставена празна умишлено от съображения за сигурност: http: //% YourIP% / IoT /
Той може да бъде активиран и редактиран поотделно и да съдържа връзки към всички налични услуги на @City IoT Платформа ако е необходимо
Основната форма е предназначена за създаване на нови предварителни настройки и раздели: http: //%IP%/IoT/que.php
Това е първоначална форма за създаване на резултати, изгледи и раздели за всяка конфигурация
Описания (От горе и отляво надясно)
Модифицирайте CSS файла на темата за визуализация трябва да съществува в "шаблони / css /" директория - изброява се автоматично.
Изберете основните полета, видими на таблицата. То се актуализира автоматично.
Премахнете избора на всички полета (трябва да бъдат последвани, като изберете някои от тях ръчно)
Изберете всички полета (трябва да бъдат последвани с премахване на избора на някои от тях ръчно)
Това е еквивалентно на всички квадратчета за отметка (X)
Индивидуално създадени раздели с имена и предварителни настройки (съхранявани в cfg / tabs.cfg файл).
Файлът всъщност съдържа име и URL (разделени с табулатор).
Показва всички полета, ограничени от Field Filter.
Полета в таблицата:
карта- резултати от картографирането на картата (може да бъде избрано едно или повече полета)
история - исторически диаграми (може да бъде избрано едно или повече полета)
tab - показва таблица (може да бъде избрана всяка комбинация от полета)
лента - на лентовата диаграма се показва само едно поле
При натискане на една от стойностите му ще се отворят нови резултати с избрани полета (за текущия ред).
Добавяне / премахване на раздел с име, зададено в Раздел поле. Той използва само полета, избрани в същия ред на таблицата.
Натискането на друго име на поле ще стартира Визуализация на данни на избраното поле за избрания ред.
Редът на показваните полета е като неговия ред във формата на полета (обаче tm полето винаги се изпраща в края на текста). Този ред може да бъде променен само с директно редактиране на параметрите на URL (част от поръчката на полета).
Например: Настройка на Tab с Проследяване на активи име и съдържа карта с време и скорост на картата
Цялото описание се отнася до реда къде "Map" текстът е в "Бягай" колона.
Въведи име "Проследяване на активи" в Раздел поле (без кавички)
Уверете се, че всички колони са отменени в реда
изберете tm, gps_speed_km само в реда
Натиснете + бутон, където е в реда
Картите могат да се стартират от MainForm с предварителна конфигурация
Инициализацията на картата се извършва ръчно, когато се изпълнява директно с връзка: > http: //%IP%/IoT/maps.php
Потребителят трябва да отмени всички полета (натиснете Премахнете избора Бутон)
Натиснете някакво квадратче за отметка за показаните полета (напр. Ain5 (за ниво на смог) и tm (за дата / час на измерване)
Натиснете "V" квадратче за скриване на полетата
Натиснете Изпълни бутон за изпълнение на DB заявка и показване на текуща информация от всички сензори / устройства
Картата с данни се актуализира след 30 секунди или повече.
Настройки, описани отляво надясно (на горната екранна снимка).
Нивото на мащабиране може да бъде променено, като се използват бутони (+/-) за мащаб (мащаб текущ_2 * или текущ_ мащаб / 2). Натискането на един от тези бутони автоматично ще промени мащаба.
Друг начин е да изберете Zoom Level in Мащабиране Поле Combo Box и натиснете Изпълни бутон. В този случай целият View / Map се презарежда и опреснява (отнема известно време по време на инициализацията).
IMEIполето съдържа уникален идентификатор на устройството или уникален псевдоним за устройство. Настройката по подразбиране е * (звездичка), която показва най-новите стойности и геолокация за всяко устройство.
Задаването на IMEI на друга стойност ще покаже исторически данни за избраното устройство. Има смисъл само за мобилни и движещи се сензори, в противен случай резултатите ще се припокриват на картата на същото място.
Задайте централна позиция на картата. Това поле е настроено на позиция на курсора при натискане на бутона на мишката върху картата.
Стил / тема на картата може да бъде избран от Map Поле ComboBox (напр. Тъмно, сиво, топографско).
Различните теми на картата може да имат различни максимални нива на мащабиране, така че може да налагат правилната тема за увеличаване на мащаба на картата.
Където Клаузата се използва за допълнителен низ за заявка {WHERE part} за MySQL / MariaDB.
Тази клауза се взема под внимание при конструирането на пълен низ QUERY за резултат от базата данни. Той може да ограничи данните, времето и всякакви други стойности, като ограничи броя на резултатите. В това поле трябва да се използват оригинални имена на полета на таблицата (не псевдоними). Напр.
gps_speed_km> 10 // скоростта е повече от 10km / h
ain5> 3 // ain5 е по-голямо от 3 (задържане на 2.5um брой частици - ниво на смог)
gps_speed_km> 10 и ain6> 5 // скоростта е повече от 10km / h и ain6 е по-голяма от 5 (задържане на 10um брой частици - ниво на смог)
Натискането на този бутон е необходимо за промяна на всички настройки, параметри (с изключение на натискането +/- бутони).
Картата се зарежда от самото начало с нови предварителни настройки.
Картата изобщо не се зарежда, когато няма налични данни за текущата заявка.
След натискане на този бутон поне едно поле трябва да бъде избрано ръчно, за да се покажат резултатите на картата.
Това квадратче се използва за показване / скриване на селектора на полета за показване.
Това квадратче за отметка позволява скриване на целия формуляр с изключение на ( +/- бутони)
Резултатите на картата непрекъснато се обновяват и актуализират с нови стойности
Например резултати от смог (Сензор, инсталиран на автомобила): ниво на смог 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 км / ч
Показване на резултатите в таблицата.
На "Основна форма" Натиснете "маса" елемент, след като изберете някои полета за показване на предварително конфигурирана таблица
Когато таблицата е отворена от връзката http: //%IP%/IoT/que.php? func = tabs изисква предварителна инициализация на настройките.
Можете да изберете видими полета (чрез натискане на "Видими полета" ) отметка.
Натиснете всички задължителни квадратчета за показани полета
Натиснете квадратчето за отметка "Видими полета" за да скриете полетата
Натиснете бутона за изпълнение, за да стартирате DB заявка и показване на таблица
Настройките са описани отляво надясно (на екранната снимка).
Полето за сортиране е еквивалентно на натискане на заглавката на колоната.
IMEIполето съдържа уникален идентификатор на устройството или уникален псевдоним за устройство. С празна стойност показва таблица с най-новите стойности.
Задаването на IMEI на друга стойност ще покаже исторически данни за избраното устройство.
Това е суфикс за допълнителен низ за заявка MySQL / MariaDB {WHERE част}
Тази клауза се взема предвид при изграждането на пълен низ QUERY за резултат от базата данни. Той може да ограничи данните, времето и всякакви други стойности, като ограничи броя на резултатите. В това поле трябва да се използват оригинални имена на полета на таблицата (не псевдоними). Напр.
gps_speed_km> 10 // скоростта е повече от 10km / h
ain5> 3 // ain5 е по-голямо от 3 (задържане на 2.5um брой частици - ниво на смог)
gps_speed_km> 10 и ain6> 5 // скоростта е повече от 10km / h и ain6 е по-голяма от 5 (задържане на 10um брой частици - ниво на смог)
След натискане на този бутон поне едно поле трябва да бъде избрано ръчно, за да се покажат резултатите на картата.
Натискането на този бутон е необходимо за промяна на всички настройки, параметри (с изключение на натискането +/- бутони).
Таблицата се презарежда от самото начало с нови предварителни настройки.
Това квадратче се използва за показване / скриване на селектора на полета за показване.
Резултатите в таблицата са сортирани според Вид настройка на полето. Редът на сортиране може да бъде променен чрез натискане на заглавката на реда (веднъж за една посока два пъти за друга посока).
Някои резултати в колони водят до допълнителни екрани за визуализация (твърдо кодирани).
Когато се показват исторически данни за устройство, то трябва да бъде ограничено, за да не се показва цялата информация за историята, защото това може да доведе до проблеми с производителността или липса на памет.
Стълбовите диаграми трябва да се изпълняват от Основна форма чрез натискане на едно поле в реда "Бар".
Той показва сортирани ленти, нормализирани до максимална стойност, показващи се от най-високия до най-ниския ред.
Полезно е за бърза проверка на екстремни резултати и предприемане на някои действия.
Събитието Mouse Over ще покаже допълнителна информация за устройството.
Историческите диаграми могат да бъдат инициирани от MainForm при натискане на избраната колона в реда "History" (за едно поле).
За няколко полета в реда "История" желаните полета трябва да бъдат маркирани и връзката "История" трябва да бъде натисната в колоната "Изпълнение".
Историческите резултати са ограничени до последните 24 часа + следващите 24 часа (за евентуални опресняващи диаграми), когато не са зададени ограничения.
Историческите диаграми, когато се отварят от основната връзка, изискват инициализация като други резултати, когато се отварят от връзка без параметри на предпочитанията.
За показване на различни елементи могат да бъдат избрани множество полета. Може да се зададе и във формуляр за полеви филтри.
Натиснете всички задължителни квадратчета за показани полета
Натиснете квадратчето за отметка "Видими полета" за да скриете полетата
Натиснете бутона за изпълнение, за да стартирате DB заявка и да покажете таблицата
Елементи, описани отгоре и отляво надясно (на екранната снимка).
IMEIполето съдържа уникален идентификатор на устройството или уникален псевдоним за устройство. Със стойност * (звездичка) показва таблица с най-новите стойности, която няма смисъл.
Задаването на IMEI на друга стойност ще покаже исторически данни за избраното устройство.
Клауза за ограничаване на резултатите от данни MySQL / MariaDB допълнителен низ за заявка {WHERE част}.
Тази клауза се взема под внимание при конструирането на пълен низ QUERY за резултат от базата данни. Той може да ограничи данните, времето и всякакви други стойности, като ограничи броя на резултатите. Оригиналните имена на полета на таблицата (не псевдоними) трябва да се използват в това поле и валиден синтаксис на SQL. Напр.
gps_speed_km> 10 // скоростта е повече от 10km / h
ain5> 3 // ain5 е по-голямо от 3 (задържане на 2.5um брой частици - ниво на смог)
gps_speed_km> 10 и ain6> 5 // скоростта е повече от 10km / h и ain6 е по-голяма от 5 (задържане на 10um брой частици - ниво на смог)
След натискане на този бутон поне едно поле трябва да бъде избрано ръчно, за да се покажат исторически резултати.
Натискането на този бутон е необходимо за промяна на всички настройки, параметри (с изключение на показването на полета или панел за заявки). Таблицата се презарежда от самото начало с нови предварителни настройки.
Това квадратче се използва за показване / скриване на селектора на полета за показване.
Показалецът на мишката показва стойности на измерванията и дата / час.
Функция / WWW браузър | Chrome 72 | FireFox 65 | Ръб, край | Опера 58 |
Карти | + | + | + | + |
Исторически | + | + (*) | + | + |
Барове | + | + | + | + |
Раздели | + | + | + | + |
* - Firefox не поддържа избор на дата / час (текстовото поле трябва да се редактира ръчно, като се използва подходящ формат за дата и час).
Internet Explorer не се поддържа (използвайте Ръб, край вместо)
Други уеб браузъри не са тествани.
Уеб страниците се основават на общ файл с шаблони, намиращ се на "шаблони" директория "* .template".
Освен това всеки тип страница съдържа:
Файл "* .head", който съхранява заглавката на страницата (връзки, импортиран CSS, JavaScript файлове и др. )
"* .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" директория и модифицирана там. Използването на отделен скрипт изисква актуализиране на всички заглавни файлове.
Някои уникални сензори може да изискват специални изчислителни функции.
Няма възможност за актуализиране и поддържане на множество варианти на @City сървърен софтуер, Интерфейс на PHP отпред, което би причинило много проблеми, версии, грешки.
Най-добрият и най-лесният начин да го постигнете е актуализирането на JavaScript „overlay“ файлове за правилно показване на стойността / описанието.
Оригиналните JS скриптове са отворен текстов файл и могат да бъдат приети според нуждите на клиента. Както беше посочено в предишната глава, те трябва да бъдат копирани в "templates / js" директория, където клиентът има права за достъп за модификация.
Технически аспект на програмирането на @City системата не е предмет на този документ, но уеб разработчикът с основни познания по HTML и JS може да персонализира Front-end уеб приложението според индивидуалните нужди на клиента.
@City база данни с име „IoT“ или „* IoT“ е разделен на таблици (където астериксът е префикс в зависимост от хостинг сървъра - ако е необходимо). DataBase може да се наблюдава в PHPAdmin (уеб приложение) на връзката http: //% IP% / phpmyadmin
Таблици, зададени за всяко устройство (където * {asterix} е IMEI адрес - уникален идентификатор):
"*_T" - жетони за текущо упълномощаване на потребители (не се използват за облаци с един клиент)
"*_° С" - опашка от команди (събития) - за изпращане до устройството
"*" - всички резултати от декодиран статус.
Други таблици:
"ithings_" таблица - съдържа декодирано текущо състояние на всички устройства (копира се по време на актуализация на някое от "*" таблици). Структура на ithings_ таблицата е почти еднаква с "*" таблици. "ithings_" имат допълнителни полета за пощенски адрес и описания.
таблицата "потребители" е ограничена и трябва да бъде променена.
"idx" - индекс
"tm" - автоматичен клеймо за време
"dt" Unix времева марка -
"имей" - уникален адрес на устройството -
"rssi" - Ниво на RSSI сигнал
"rsrp" - RSRP сигнал
"събития" - чакащи събития да бъдат изпратени на контролера
"out1" .. "out16" - състояние на декодирани изходи
"in1" .. "in16" - състояние на декодирани входове
"ain1" .. "ain8" - декодирани ADC стойности (RAW)
"sens1" .. "sens8" - преобразувани стойности на сензора (зависи от типа устройство)
"dimm1" .. "dimm8" - декодирани стойности на димери (зависи от типа устройство)
"int1" .. "int6" - декодирани стойности на броячите (зависи от типа устройство)
"текст1" .. "text6" - декодирани текстови стойности (зависи от типа устройство)
"създаване" - дата / час на създаване на устройство
"последен" - последна дата / час
"потребител" - бъдеща употреба
"pass" - бъдеща употреба
"sn" - gsm сериен номер
"статус" - текущото състояние на контролера не е декодирано в шестнадесетичен формат
"hash_code" - бъдеща употреба
"addr" - кратък адрес на устройството
"fwnr" - фърмуер бр
"disabled" - деактивирано устройство (не се извършва)
"gsm_nr" - gsm номер на CIoT
"доставчик" - код на доставчик (за франчайз / копродукция)
„часова зона“ - изместване на часовата зона
"dst" - Използвайте настройките за ежедневни спестявания
"gps_lat" - GPS Latitude
"gps_long" - GPS дължина
"gps_hdop" - GPS HDOP
"gps_alt" - GPS надморска височина
"gps_fix" - GPS фиксиране (трябва да бъде 3 - за валидни резултати)
"gps_cog" - GPS Cog
"gps_speed_km" - GPS скорост в [км / ч]
"gps_sat" - Намерени са GPS сателити
"континент", "държава", "регион", "субрегион", "субрегион", "град", "област", "улица", "улица_нр", "артикул_нр" - Адрес и поле за описание на клиента (!!!! Не е налице за „*“ исторически таблици)
"дневник" - регистрационни данни
Имената на полетата са важни за създаването на SQL заявки за увеличаване на функционалността на търсенето, тъй като в SQL Statement трябва да се използва оригиналното име.
Тази таблица е опашка за събития / команди за всяко устройство и има следната структура:
"command" - команда, която трябва да бъде изпратена или вече изпратена до контролера
"потвърден" - флаг за потвърждение, ако вече е изпратен и потвърден
"дата" - Unix времева марка на събитието
"актуализирано" - флаг за автоматично актуализиране (дата / час на клеймото)
Данните могат да бъдат достъпни без уеб приложение на Front-end. Системата @City съдържа скрипт с функции на средно ниво. Резултатите се връщат във формат JSON.
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":"" }]
Заявка за исторически данни за едно устройство от 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" }]
Тази функция връща ограничени данни от таблицата "_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" }]