@City IoT Bulutli platforma




iSys - Aqlli tizimlar va echimlar









IoE.Sistemalari

Mundarija

1. Kirish 5

1.1 Qo'llab-quvvatlanadigan qurilma turlari. 5

1.2. Qo'llab-quvvatlanadigan mahsulotlar turlari. 5

1.3. Qo'llab-quvvatlanadigan aloqa protokollari 5

1.4. 6. Qurilmalarning aloqa texnologiyasi

1.5. @City Cloud Server 6

1.5.1. Server va aloqa shlyuzlari 7

1.5.2 HTTP LoRaWAN integratsiyasi 7

1.5.3. Old interfeys 8

1.5.3. 8. Serverga kirish huquqlari

1.6. Aqlli qurilmalar 9

1.6.1. CIoT - GSM qurilmalari 9

1.6.3. BAS, BMS, IoT - Ethernet va WiFi qurilmalari 9

1.6.2. IoT -LoRaWAN qurilmalari 9

1.7. Business to Business (B2B) variantlari 9

2018-04-01 121 2. @City IoT Platformaning funktsionalligi 10

3. Asosiy sahifa 11

4. Asosiy shakl 11

4.1. Sarlavha 12

4.1.1. Home Link - (haqiqiy natijalar jadvalini ochadi) 12

4.1.2. "X" katakchasi - 12-so'rov shaklini ochadi / yopadi

4.1.3. "V" katakchasi - 12-maydon maydonlarini ochadi / yopadi

4.1.4. Grafik piktogramma - vizualizatsiya natijalariga havolalar (tahrirlash mumkin) 12

4.2. Shakl: 12

4.2.1. "X" katakchasi - 12-so'rov shaklini to'liq ochadi / yopadi

4.2.2. CSS - Vizualizatsiya mavzusini 12 tanlang

4.2.3. Ko'rinadigan maydonlar katagiga - Filtrlar ro'yxati 12-ni ko'rsatadi / yashiradi

4.2.4. Tab: 12 ni qo'shish yoki olib tashlash uchun yorliq nomi

4.2.5. Tugmachalarni qo'shish / olib tashlash - 12-maydon maydonidagi yorliqlarni qo'shish yoki o'chirish

4.2.6. Core 12 tugmachasini tanlang

4.2.7. 12 tugmachasini bekor qiling

4.2.7. Hamma tugmani tanlang 12

4.2.8. Filtrni yashirish - 12-shaklni to'liq yashirish

4.2.9. Tugmachani bajarish - parametr parametrlarini o'zgartirish 13

4.2.10. "V" katakchasi - shou / yuqori filtr maydonlari. 13

4.3. Yorliqlar 13

4.4. Jadval tarkibi 13

4.4.1. Ishlash natijalari 13-sonli natijalar

4.4.2. Nusxalash (+/- havolalar) 13

4.4.3. 13-jadval

4.5. Ma'lumotlar tartibi 13

4.6. 13-misol

5. Xaritalar 15

5.1. Xaritani boshlash 15

5.2. 15-so'rov uchun ixtiyoriy sozlamalar

5.2.1. MAP shkalasini o'zgartirish (Zoom darajasi) 16

5.2.2. IMEI (Qurilma maydonini tanlang) 16

5.2.3. Lon, Lat (Uzunlik, kenglik koordinatalari maydonlari) 16

5.2.4. MAP uslubini o'zgartirish (Mavzu) 16

5.2.5. Qaerda 16-modda

5.2.6. Ijro eting (So'rov tugmachasini ishga tushirish) 16

5.2.7. Hammasini bekor qiling (So'rovdan barcha maydonlarni olib tashlang) 17

5.2.8. "V" katakchasi (maydonchani ochish / yopish) 17

5.2.9. "X" katakchasi (So'rov shaklini ko'rsatish / yashirish) 17

5.3. 17-misol

6. Natijalarni 18-jadvalda ko'rsating

6.1. 18-jadvalni boshlash

6.2. 19-so'rov uchun ixtiyoriy sozlamalar

6.2.1. Tartiblash - tartiblash maydoni va ko'tarilish / tushish tartibini 19

6.2.2. JB / IMEI - Qurilmani tanlang 19

6.2.3. CSS - uslubni tanlang (Vizualizatsiya mavzusi) 20

6.2.4. Ko'rinadigan maydonlar - maydonlarni ko'rsatish / yashirish 20-shakl

6.2.5. Bo'shni olib tashlang - 20-sonli bo'sh ustunlarni ko'rsatmang

6.2.6. "X" katakchasi (So'rov shaklini ko'rsatish / yashirish) 20

6.2.7. 20. Qaerda (ma'lumotlar cheklanishi uchun) 20-band

6.2.8. Asosiy tugmani tanlang (Eng keng tarqalgan maydonlarni yoqish) 20

6.2.9. All Button tugmasini bekor qiling (So'rovdan barcha maydonlarni olib tashlang) 20

6.2.10. Ijro eting (So'rov tugmachasini ishga tushirish) 20

6.2.11. "V" belgilash katakchasi (maydonchani ochish / yopish) 20

7. Shtrixli jadvallar. 21

8. Tarixiy jadvallar. 22

8.1. Tarixiy jadvallarni initsializatsiya qilish 22

8.2. Tarixiy jadvallarning ixtiyoriy sozlamalari 23

8.2.1. IMEI - (Tarixiy ma'lumotlarni ko'rsatish uchun Qurilmani tanlang) 23

8.2.2. Min - birinchi maydonning minimal minimal qiymati 23

8.2.3. Maks - birinchi maydonning maksimal maksimal qiymati 23

8.2.4. "V" - maydonlarni ko'rsatish / yashirish 23-shakl

8.2.5. Kimdan: minimal sana / vaqtni belgilang (*) 23

8.2.6. Kimga: maksimal sana sanasini / vaqtini belgilang (*) 23

8.2.7. "X" katakchasi (So'rov shaklini ko'rsatish / yashirish) 23

8.2.8. "Qaerda" 23-modda

8.2.9. All Button tugmachasini olib tashlang (So'rovdan barcha maydonlarni olib tashlash) 23

8.2.10. Ijro eting (So'rov tugmachasini ishga tushirish) 23

8.2.11. "V" belgilash katakchasi (maydonchani ochish / yopish) 24

8.3. Bars Variant: (faqat mavjud ma'lumotlarni aks ettiradi) 24

8.4. Doimiy variant (bir xil ma'lumotlar bilan): 24

9. 25-sonli veb-brauzer

10. 26-mavzu

11. Algoritmlarni yangilash 27

12. Ma'lumotlar bazasi tuzilishi 28

12.1. "ithings_" va "*" jadvallari tuzilishi 29

12.2. Qurilma buyruqlari (Voqealar) navbati "* _c" jadvali - 30-tuzilma

12.3. Ma'lumotlar bazalaridan natijalarga kirish - O'rta daraja (Ma'lumotlarni o'qish) 30

12.3.1. Barcha qurilmalarning joriy holatini oling 30

12.3.2. Qurilma 31 uchun tarixiy ma'lumotlarni oling

12.3.3. Qurilmalar ro'yxatini oling - cheklangan 32 holati bo'lgan bitta maydon


1. Kirish

@City IoT Cloud Platform bag'ishlangan "mikro bulut" individual mijozlar uchun tizim. Platforma almashinilmaydi va faqat bitta mijoz jismoniy yoki virtual serverga (VPS yoki maxsus serverlar) kirish huquqiga ega. Mijoz Evropada yoki dunyodagi o'nlab ma'lumotlar markazlaridan birini tanlashi mumkin.

1.1 Qo'llab-quvvatlanadigan qurilma turlari.

@City IoT platformasi iSys.PL mahsulotlarini kuzatishga bag'ishlangan



1.2. Qo'llab-quvvatlanadigan mahsulotlar turlari.

@City (eCity) Cloud IoT Platformasi - bu IP IoT mahsulotlari uchun har xil o'lchamdagi tizim (birgalikda nomlanadi) @City Hardware yoki CioT qurilmalari ):


1.3. Qo'llab-quvvatlanadigan aloqa protokollari

@City IoT platformasi aloqa uchun quyidagi protokollarni qo'llab-quvvatlaydi:

Ma'lumotlarni boshqaruvchidan bulutli serverga yuborish va aksincha, ma'lumotlarning eng past hajmi va xavfsizligini oshirish uchun noyob ikkilik formatda shifrlangan. Har bir sherik qurilmaning avtorizatsiyasi, ma'lumotlarning to'g'riligini tekshirish va boshqalar uchun o'ziga xos shifrlash kalitini oladi.


EHouse / eCity bo'lmagan qurilmalar uchun biz individual shifrlash algoritmlarini taqdim eta olamiz ( "C" manba kodi) aloqa qilishdan oldin ma'lumotlarni himoya qilish uchun mikroprotsessor uchun har bir sherik uchun.

Bunday holda, ma'lumotlar ommaviy axborot vositalari (Internet, Air va boshqalar) orqali ikki tomonlama aloqada bo'lganda to'liq ta'minlanadi. ).


1.4. Qurilmalarning qo'llab-quvvatlanadigan aloqa texnologiyasi

@City IoT platformasi qo'llab-quvvatlaydi:


@City IoT Platformasi qurilmalar / tugunlarga bag'ishlangan:


1.5. @City Cloud Server

@City dasturiy ta'minoti talab qilinadigan ishlashga qarab, Linux asosida VPS (Virtual Private Server) yoki Dedicated Server ustida ishlaydi. Server (keyinchalik Server deb nomlanadi):


VPS ning bir nechta variantlari quyidagilarga bog'liq:


Bunga bag'ishlangan o'nlab server mavjud:


@City IoT platformasi bitta mijozga bag'ishlangan:


Mijozlar o'rtasida umumiy server emasligi sababli, u xavfsizlikka kirish va ishlash muammolarini soddalashtiradi. Shu sababli, faqat mijoz mijozning xavfsizligi, barqarorligi, samaradorligi, ma'lumotlarning o'tkazuvchanligi va boshqalar uchun javobgardir. Etarli darajada ishlamagan taqdirda, mijoz kutilgan funktsionallik va ishlashga nisbatan maqbulroq bo'lgan yuqori rejani (VPS yoki Dedicated Server) sotib olishi mumkin.

Maxsus holatlarda "Cloud to cloud" kommunikatsiya ko'plab mijozlar buluti o'rniga globalizatsiya va ma'lumotlarni markazlashtirish uchun amalga oshirilishi mumkin.

1.5.1. Server va aloqa shlyuzlari

@City Server aloqasi ishlashni maksimal darajaga ko'tarish uchun past darajadagi dastur asosida amalga oshiriladi.

@City Server dasturining asosiy xususiyatlari:

@City Server dasturiy ta'minoti har bir foydalanuvchi uchun bir xil va turli xil mijozlar uchun moslashtirilmaydi.

1.5.2 HTTP LoRaWAN integratsiyasi

LoRaWAN tekshirgichlari LoRaWAN tarmog'i / dastur serverida mavjud bo'lgan HTTP interfeysi (veb-kancalar) orqali @City buluti bilan birlashtirilgan.

Tarmoq / dastur serverlarining bir nechta turlari qo'llab-quvvatlanadi:

TTN (cheklangan vaqt "Efirda" va haydovchiga yuborilgan buyruqlarning maksimal soni va dasturiy ta'minotni yangilashni qo'llab-quvvatlamaydi)

LoraWAN-Stack (Internetga ulangan jismoniy qurilmada xosting talab qilinadi).

LoraServer.Io (Internetga ulangan jismoniy qurilmada xostingni talab qiladi - faqat serverga ma'lumotlarni yuborish va dasturiy ta'minotni yangilashni qo'llab-quvvatlamaydi)



LoRaWAN tekshirgichlari uchun @City Cloud boshqa interfeyslar singari bo'linadi. Bu avvalgi bobda muhokama qilingan.

1.5.3. Old interfeys

Old interfeys @City Cloud Database-dan moslashtirilgan ma'lumotlarni olish uchun PHP-skriptlari bilan amalga oshiriladi. Istalgan ma'lumotlarni cheklash uchun original SQL so'rovlariga asoslangan holda juda elastik qidiruv mexanizmidan foydalaniladi. Interfeys so'rov natijalarini JSON formatida kelgusida dekodlash va JavaScript Front-end Web "application" orqali qayta ishlash uchun taqdim etadi.

Asl oldingi interfeys har bir foydalanuvchi uchun bir xil va uni har xil mijozlar uchun sozlash mumkin emas.

Qatlamli interfeys bizning xodimlarimiz tomonidan yoki mijozlar uchun moslashtirishni ta'minlash uchun hamkorlikda yaratilishi mumkin.

1.5.3. Serverga kirish huquqlari

Mijozlarga kirish huquqlari (jismoniy Serverga) cheklangan.

Faqat "andozalar" katalogi uchun faylga kirish (mahalliy matnli fayllar - .txt, .js, .css, .html):

Boshqa kirish huquqlari:


iSys - Intelligent Systems xodimlari - butun serverga, shu jumladan root hisobiga va xizmat ko'rsatish uchun JBga to'liq kirishga cheksiz kirish huquqiga ega.

Muayyan sharoitlarda iSys tizim tizimining xavfsizligi, barqarorligi va ishlashiga ta'sir qilmasa, dastlabki kodni tekshirgandan so'ng, testlarni o'tkazgandan so'ng mijozga qo'shimcha cheklangan huquqlarni (PHP skriptlari, fayllari) berishi mumkin.


1.6. Aqlli qurilmalar

1.6.1. CIoT - GSM qurilmalari

Bizning qurilmalarimiz mikrokontroller va aloqa uchun GSM / GPS / GNSS modulini (2G..4G, NBIoT, CATM1) o'z ichiga oladi. Microcontroller OTA dasturiy ta'minotini xavfsiz yangilash uchun shifrlangan bootloader-ni o'z ichiga oladi. Bu xuddi shu asosda ko'plab tizim variantlarini yaratishga imkon beradi "CIoT Smart qurilmasi".


1.6.3. BAS, BMS, IoT - Ethernet va WiFi qurilmalari


Ethernet va WiFi tekshirgichlari tizim bilan IP-ga asoslangan aloqani amalga oshirishga imkon beradi (GSM operatoriga ma'lumot uzatish uchun to'lov olinmaydi). Ushbu qurilmalarda shifrlangan bootloader ham mavjud va qurilmalar mahalliy interfeysi orqali yangilanishi mumkin. WiFi uchun u OTA proshivkasini asosiy serverdan yangilaydi


1.6.2. IoT - LoRaWAN qurilmalari

LoRaWAN juda uzoq masofalarga ma'lumotlarni uzatish imkoniyatini beradi (taxminan. 15 km). Ushbu diapazon ma'lumotlarni uzatish tezligiga, ma'lumotlar miqdoriga, hududning urbanizatsiyasiga va qurilmalarning radio yo'llarining samaradorligiga bog'liq.

Bizning qurilmalarimiz mikrokontroller va aloqa uchun LoRaWAN modulini o'z ichiga oladi. Mikrokontroller xavfsiz OTA dasturiy ta'minotini yangilash uchun shifrlangan bootloader-ni o'z ichiga oladi. Bu sizga bir xil asosda bir nechta tizim variantlarini yaratishga imkon beradi "IoT smart device". Qurilmalar ISM ochiq diapazonida qo'shimcha obuna to'lovisiz ishlaydi. Butun hududni Internetga kirish bilan qoplash uchun LoRaWAN Gateways-dan foydalanish kerak. Qurilmalar doirasidagi (TTN-server uchun tuzilgan) LoRaWAN eshiklari mavjud bo'lsa, ular orqali ma'lumot yuborish mumkin. Dasturiy ta'minotni yangilash uchun o'z tarmoq / dastur LoRaWAN-server va aloqa uchun yaxshi diapazon kerak.

1.7. Business to Business (B2B) variantlari


Biznes va hamkorlikning bir nechta variantlari mavjud:

2018-04-01 121 2. @City IoT Platformaning funktsionalligi

@City platformasi ma'lumotlarni vizualizatsiya qilish, so'rov qilish, cheklash va qayta ishlash uchun moslashtirilgan Front-End shablonini qo'llab-quvvatlaydi (Hozirgi / tarix ma'lumotlari):


Agar mavjud bo'lsa, foydalanuvchining Front-End-ga statik IP yoki DNS yo'naltirish domeni / subdomain / file orqali kirish mumkin.


Namunaviy va demolarni o'rnatish (Bu faqat bo'lajak mijozlar uchun yoqilgan).

Iltimos, sinovdan o'tishni xohlaganingizda bizga xabar bering - platformaga ommaviy kirish imkoniyatini yaratish.

@City platformasi bilan aloqa o'rnatishni ta'minlash uchun masofaviy kompyuterning statik IP-ni talab qilishi mumkin.


3. Asosiy sahifa

Xavfsizlik sababli asosiy sahifa qasddan bo'sh qoldiriladi: http: //% YourIP% / IoT /

U birma-bir yoqilgan va tahrirlangan bo'lishi mumkin va barcha mavjud xizmatlarga havolalarni o'z ichiga olishi mumkin @City IoT platformasi agar kerak bo'lsa


4. Asosiy shakl

Asosiy shakl yangi sozlamalar va yorliqlarni yaratishga mo'ljallangan: http: //%IP%/IoT/que.php

Bu har bir konfiguratsiya uchun natijalar, ko'rinish va yorliqlarni yaratish uchun dastlabki shakl




Ta'riflar (yuqoridan va chapdan o'ngga)

4.1. Sarlavha

4.1.1. Bosh sahifa havolasi - (haqiqiy natijalar jadvalini ochadi)

4.1.2. "X" katakchasi - So'rov shaklini ochadi / yopadi

4.1.3. "V" katakchasi - Maydonlar shaklini ochadi / yopadi

4.1.4. Grafik piktogrammalar - vizualizatsiya natijalariga havolalar (tahrirlash mumkin)


4.2. Shakl:

4.2.1. "X" katakchasi - butun So'rov shaklini ochadi / yopadi

4.2.2. CSS - Vizualizatsiya mavzusini tanlang

Vizualizatsiya mavzusini o'zgartirish CSS fayli mavjud bo'lishi kerak "andozalar / CSS /" katalog - avtomatik ravishda ro'yxatga olinadi.

4.2.3. Ko'rinmaydigan maydonlar katakchasi - Filtrlar ro'yxatini ko'rsatadi / yashiradi

4.2.4. Yorliq: Qo'shish yoki olib tashlash uchun yorliq nomi

4.2.5. Qo'shish / olib tashlash Tugmalar - nomi bilan yorliqlarni qo'shing yoki olib tashlang Yorliq maydon

4.2.6. Core-ni tanlang Tugma

Jadvalda ko'rinadigan asosiy maydonlarni tanlang. Bu yangilanadi avtomatik ravishda.

4.2.7. Hammasini bekor qiling Tugma

Barcha maydonlarni olib tashlang (ulardan ba'zilari qo'lda tanlanishi kerak)

4.2.7. Hammasini belgilash Tugma

Barcha maydonlarni tanlang (ulardan ba'zilari qo'lda bekor qilinishi kerak)

4.2.8. Filtrni yashirish - To'liq shaklni yashirish

Bu barcha (X) katakchalarga teng

4.2.9. Ijro eting Tugma - parametr parametrlarini o'zgartirish

4.2.10. "V" katakchasi - yuqori filtr maydonlarini ko'rsatish / ko'rsatish.


4.3. Yorliqlar

Shaxsiy ravishda yaratilgan nomlar va oldindan belgilab qo'yilgan yorliqlar (ichida saqlanadi cfg / tabs.cfg fayl).

Faylda aslida ism va URL mavjud (yorliqli yorliq bilan ajratilgan).


4.4. Jadval tarkibi

Field Filter bilan cheklangan barcha maydonlarni aks ettiradi.


Jadvaldagi maydonlar:

4.4.1. Yugurish - natija turi

xarita- xaritada xaritalash natijalari (bir yoki bir nechta maydon tanlanishi mumkin)

tarix - tarixiy jadvallar (bir yoki bir nechta maydon tanlanishi mumkin)

tab - jadvalni aks ettiradi (maydonlarning har qanday kombinatsiyasi tanlanishi mumkin)

bar - jadvalda faqat bitta maydon ko'rsatiladi

Uning qiymatidan birini bosish bilan tanlangan maydonlar bilan yangi natijalar ochiladi (joriy qator uchun).


4.4.2. Nusxalash (+/- havolalar)

O'rnatilgan nom bilan yorliqni qo'shish / olib tashlash Yorliq maydon. Bunda faqat jadvalning bir qatorida tanlangan maydonlardan foydalaniladi.


4.4.3. Jadval hujayralari havolalari

Boshqa har qanday maydon nomini bosish tanlangan satr uchun tanlangan maydonni Vizualizatsiya qilishni boshlaydi.


4.5. Ma'lumotlar tartibi


Ko'rsatilgan maydonlarning tartibi dalalar shaklidagi tartib bilan (shunga qaramay) tm maydon har doim matnning oxiriga yuboriladi). Ushbu buyurtma faqat URL parametrlarini to'g'ridan-to'g'ri tahrirlash bilan o'zgartirilishi mumkin (maydonlar buyurtma qismi).


4.6. Misol

Masalan: Tab-ni sozlash Aktivlarni kuzatish nomi va xaritada vaqt va tezlik bilan xaritani o'z ichiga oladi

Qaerda qatorga tegishli barcha tavsif "Map" matn ichida "Yugurish" ustun.

  1. Ismni kiriting "Aktivlarni kuzatish" yilda Yorliq maydon (tirnoqsiz)

  2. Qatorda barcha ustunlar tanlanmaganligiga ishonch hosil qiling

  3. tanlang tm, gps_speed_km faqat qatorda

  4. bosing + qatorda joylashgan tugma






5. Xaritalar

Xaritalarni MainForm-dan oldindan sozlash bilan boshlash mumkin


5.1. Xaritani boshlash

Xaritani ishga tushirish to'g'ridan-to'g'ri havola bilan bajarilganda qo'lda amalga oshiriladi: > http: //%IP%/IoT/maps.php


  1. Foydalanuvchi barcha maydonlarni bekor qilishi kerak (Matbuot Tanlamani bekor qiling Tugma)

  2. Ko'rsatilgan maydonlar uchun bir nechta katakchani bosing (masalan, Ain5 (Smog darajasi uchun) va tm (o'lchov sanasi / vaqti uchun)

  3. bosing "V" maydonlar shaklini yashirish uchun katakchani tanlang

  4. bosing Ijro eting JB so'rovini ishga tushirish va barcha sensorlardan / qurilmalardan joriy ma'lumotlarni ko'rsatish uchun tugmani bosing

  5. Ma'lumotli xarita 30 soniyadan yoki undan ko'proq vaqtdan keyin yangilanadi.


5.2. So'rov uchun ixtiyoriy sozlamalar

Chapdan o'ngga tasvirlangan sozlamalar (yuqoridagi skrinshotda).

5.2.1. MAP shkalasini o'zgartirish (kattalashtirish darajasi)

  1. Kattalashtirish darajasi (+/-) tugmachalari yordamida o'zgartirilishi mumkin (current_scale * 2 yoki current_scale / 2 navbati bilan). Ushbu tugmachalardan birini bosish shkalani avtomatik ravishda o'zgartiradi.

  2. Boshqa usul - kattalashtirish darajasini tanlang Kattalashtirish Combo Box maydonini bosing va bosing Ijro eting tugmasi Bu holda View / Map butunlay qayta tiklanadi va yangilanadi (ishga tushirish paytida biroz vaqt ketadi).

5.2.2. IMEI (Qurilma maydonini tanlang)

IMEImaydonda qurilmaning noyob identifikatori yoki qurilma uchun noyob taxallus mavjud. Standart sozlama * (yulduzcha), bu har bir qurilma uchun eng so'nggi qiymatlarni va geolokatsiyani ko'rsatadi.

IMEI-ni boshqa har qanday qiymatga o'rnatish tanlangan qurilmaning tarixiy ma'lumotlarini ko'rsatadi. Bu faqat mobil va harakatlanuvchi sensorlar uchun ma'noga ega, aks holda natijalar xaritada bir xil holatda ustma-ust tushadi.


5.2.3. Lon, Lat (Uzunlik, kenglik koordinatalari maydonlari)

Xaritaning markaziy o'rnini belgilang. Ushbu maydon xaritada sichqoncha tugmasi bosilganda kursor holatiga o'rnatiladi.


5.2.4. MAP uslubini o'zgartirish (Mavzu)

Xarita uslubi / mavzusini tanlash mumkin Map ComboBox maydoni (masalan. To'q, kulrang, topografik).

Har xil xarita mavzulari har xil maksimal kattalashtirish darajalariga ega bo'lishi mumkin, shuning uchun xarita masshtabini oshirish uchun tegishli mavzuni bajarishi mumkin.


5.2.5. Qaerda bandi

Qaerda MySQL / MariaDB uchun qo'shimcha so'rovlar qatori (WHERE part}) ishlatiladi.

Ushbu band ma'lumotlar bazasi uchun to'liq QUERY satrini yaratish uchun hisobga olinadi. Bu natijalar sonini cheklash orqali ma'lumotlar, vaqt va boshqa har qanday qiymatlarni cheklashi mumkin. Ushbu maydonda jadval maydonining asl nomlari (taxallus emas) ishlatilishi kerak. Masalan.

  1. gps_speed_km> 10 // tezlik 10 km / s dan yuqori

  2. ain5> 3 // ain5 3 dan katta (2,5um zarralar sonini ushlab turish - tutun darajasi)

  3. gps_speed_km> 10 va ain6> 5 // tezligi 10 km / s dan yuqori va ain6 5 dan katta (10 zarralar sonini ushlab turish - tutun darajasi)


5.2.6. Ijro eting (So'rov tugmachasini ishga tushirish)

Ushbu tugmani bosish har qanday sozlamalarni, parametrlarni o'zgartirish uchun talab qilinadi (bosishdan tashqari) +/- tugmalar).

Xarita boshidanoq yangi sozlamalar bilan yuklanadi.

Hozirgi so'rov uchun ma'lumot mavjud bo'lmaganda, xarita umuman yuklanmaydi.

5.2.7. Hammasini bekor qiling (So'rovdan barcha maydonlarni olib tashlash)

Ushbu tugmani bosgandan so'ng, natijalarni xaritada ko'rsatish uchun kamida bitta maydonni qo'lda tanlash kerak.


5.2.8. "V" Belgilash katakchasi (Maydon shaklini ochish / yopish)

Ushbu katakchani ko'rsatish uchun maydonlarning selektorini ko'rsatish / yashirish uchun foydalaniladi.


5.2.9. "X" Belgilash katakchasi (So'rov shaklini ko'rsatish / yashirish)

Ushbu katakchadan tashqari butun Formani yashirishga imkon beradi. +/- tugmalar)


Xaritadagi natijalar doimiy ravishda yangilanadi va yangi qiymatlar bilan yangilanadi

5.3. Misol

Masalan, Smog natijalari (Sensor mashinaga o'rnatilgan): Smog darajasi 2.5um zarralari (Ain5), Tezlik (gps_speed_km), Sana / Vaqt (tm), xarita (2 - topografik), kattalashtirish darajasi 16,

Qaerda band:

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

// GPS = amaldagi 3D natijalar va sana = 2019-02-18 va tezlik> 0 km / soat



6. Jadvalda natijalarni ko'rsating

Natijalarni jadvalda ko'rsating.

Yoqilgan "Asosiy shakl" bosing "stol" oldindan tuzilgan jadvalni ko'rsatish uchun ba'zi maydonlarni tanlagandan so'ng




6.1. Jadvalni boshlash

Jadval havoladan ochilganda http: //%IP%/IoT/que.php? func = yorliqlar bu sozlamalarni oldindan boshlashni talab qiladi.

Ko'rinadigan maydonlarni tanlashingiz mumkin (bosish orqali "Ko'rinadigan maydonlar" ) belgilash katakchasi.



  1. Ko'rsatilgan maydonlar uchun barcha kerakli katakchani bosing

  2. Belgilash katagiga bosing "Ko'rinadigan maydonlar" maydonlar shaklini yashirish uchun

  3. JB so'rovini bajarish va jadvalni ko'rsatish uchun Execute tugmasini bosing


6.2. So'rov uchun ixtiyoriy sozlamalar

Sozlamalar chapdan o'ngga tasvirlangan (skrinshotda).

6.2.1. Saralash - maydonni tartiblash va ko'tarilish / tushish tartibini

Saralash maydoni ustun sarlavhasini bosishga tengdir.

6.2.2. JB / IMEI - Qurilmani tanlang

IMEImaydonda qurilmaning noyob identifikatori yoki qurilma uchun noyob taxallus mavjud. Bo'sh qiymat bilan u eng so'nggi qiymatlar jadvalini ko'rsatadi.

IMEI-ni boshqa har qanday qiymatga o'rnatish tanlangan qurilmaning tarixiy ma'lumotlarini ko'rsatadi.


6.2.3. CSS - uslubni tanlang (Vizualizatsiya mavzusi)

6.2.4. Ko'rinadigan maydonlar - Maydonlar shaklini ko'rsatish / yashirish

6.2.5. Bo'shni olib tashlash - Bo'sh ustunlarni namoyish qilmang

6.2.6. "X" Belgilash katakchasi (So'rov shaklini ko'rsatish / yashirish)

6.2.7. Qaerda Maqola (ma'lumotlarni cheklash uchun)

Bu MySQL / MariaDB qo'shimcha so'rovlar qatori uchun qo'shimchalar {WHERE part}

Ushbu band ma'lumotlar bazasi natijasi uchun to'liq QUERY satrini yaratish uchun hisobga olinadi. Bu natijalar sonini cheklash orqali ma'lumotlar, vaqt va boshqa har qanday qiymatlarni cheklashi mumkin. Ushbu maydonda jadval maydonining asl nomlari (taxallus emas) ishlatilishi kerak. Masalan.

  1. gps_speed_km> 10 // tezlik 10 km / s dan yuqori

  2. ain5> 3 // ain5 3 dan katta (2,5um zarralar sonini ushlab turish - tutun darajasi)

  3. gps_speed_km> 10 va ain6> 5 // tezligi 10 km / s dan yuqori va ain6 5 dan katta (10 zarralar sonini ushlab turish - tutun darajasi)


6.2.8. Core-ni tanlang Tugma (Eng keng tarqalgan maydonlarni yoqish)


6.2.9. Hammasini bekor qiling Tugma (So'rovdan barcha maydonlarni olib tashlash)

Ushbu tugmani bosgandan so'ng, natijalarni xaritada ko'rsatish uchun kamida bitta maydonni qo'lda tanlash kerak.


6.2.10. Ijro eting (So'rov tugmachasini ishga tushirish)

Ushbu tugmani bosish har qanday sozlamalarni, parametrlarni o'zgartirish uchun talab qilinadi (bosishdan tashqari) +/- tugmalar).

Jadval boshidanoq yangi sozlamalar bilan qayta yuklanadi.



6.2.11. "V" Belgilash katakchasi (Maydon shaklini ochish / yopish)

Ushbu katakchani ko'rsatish uchun maydonlarning selektorini ko'rsatish / yashirish uchun foydalaniladi.



Jadvaldagi natijalar bo'yicha tartiblangan Saralash maydon sozlamalari. Saralash tartibini satr sarlavhasini bosish bilan o'zgartirish mumkin (bitta yo'nalish uchun bitta yo'nalish boshqa yo'nalish uchun ikki marta).

Ba'zi natijalar vizualizatsiya ekranlariga (qattiq kodlangan) bog'lanadi.


Qurilma uchun tarixiy ma'lumotlarni namoyish qilishda butun tarix ma'lumotlarini ko'rsatmaslik uchun cheklash kerak, chunki bu ishlashga yoki xotirada muammolarga olib kelishi mumkin.


7. Shtrixli jadvallar.

Shtrixli jadvallar "Bar" qatoridagi bitta maydonni bosib, asosiy shakldan bajarilishi kerak.

U eng yuqori darajadan eng pastgacha ko'rsatib, maksimal qiymatgacha normallashtirilgan tartiblangan panjaralarni aks ettiradi.

Haddan tashqari natijalarni tezkor tekshirish va ba'zi choralarni ko'rish uchun foydalidir.





Mouse Over hodisasi qurilma uchun qo'shimcha ma'lumotlarni namoyish etadi.


8. Tarixiy jadvallar.

Tarixiy jadvallarni MainForm-dan "Tarix" qatoridagi tanlangan ustunni bosishda boshlash mumkin (bitta maydon uchun).

"Tarix" qatoridagi bir nechta maydon uchun kerakli maydonlar belgilanishi va "Ishga tushirish" ustunida "Tarix" havolasi bosilishi kerak.

Tarixiy natijalar cheklovlar o'rnatilmagan oxirgi 24 soat + keyingi 24 soat (oxir-oqibat tetiklantiruvchi jadvallar uchun) bilan cheklangan.

8.1. Tarixiy jadvallarni boshlash


Tarixiy jadvallar asosiy havoladan ochilganda, boshqa natijalar singari, parametrlardan tashqari havoladan ochilganda ham boshlashni talab qiladi.

Har xil elementlarni ko'rsatish uchun bir nechta maydonlarni tanlash mumkin. U shuningdek Field Filter Formasida o'rnatilishi mumkin.




  1. Ko'rsatilgan maydonlar uchun barcha kerakli katakchani bosing

  2. Belgilash katagiga bosing "Ko'rinadigan maydonlar" maydonlar shaklini yashirish uchun

  3. JB so'rovini bajarish va jadvalni ko'rsatish uchun Execute tugmasini bosing


8.2. Tarixiy jadvallarning ixtiyoriy sozlamalari

Yuqoridan va chapdan o'ngga tasvirlangan narsalar (skrinshotda).

8.2.1. IMEI - (Tarixiy ma'lumotlarni ko'rsatish uchun Qurilmani tanlang)

IMEImaydonda qurilmaning noyob identifikatori yoki qurilma uchun noyob taxallus mavjud. * (Asterix) qiymati bilan u ma'nosiz bo'lgan eng so'nggi qiymatlar jadvalini ko'rsatadi.

IMEI-ni boshqa har qanday qiymatga o'rnatish tanlangan qurilmaning tarixiy ma'lumotlarini ko'rsatadi.

8.2.2. Min - birinchi maydonning minimal qiymatini cheklash

8.2.3. Maks - birinchi maydonning maksimal qiymatini cheklash

8.2.4. "V" - Maydonlar shaklini ko'rsatish / yashirish

8.2.5. Kimdan: minimal sana / vaqtni belgilang (*)

8.2.6. Kimga: maksimal sana sanasini / vaqtini belgilang (*)

8.2.7. "X" Belgilash katakchasi (So'rov shaklini ko'rsatish / yashirish)

8.2.8. "Qaerda" Maqola

Ma'lumotlar natijalarini cheklash bo'yicha maqola MySQL / MariaDB qo'shimcha so'rovlar qatori {WHERE part}.

Ushbu band ma'lumotlar bazasi uchun to'liq QUERY satrini yaratish uchun hisobga olinadi. Bu natijalar sonini cheklash orqali ma'lumotlar, vaqt va boshqa har qanday qiymatlarni cheklashi mumkin. Ushbu maydonda haqiqiy jadval maydonlari nomlari (taxallus emas) va to'g'ri SQL sintaksisidan foydalanish kerak. Masalan.

  1. gps_speed_km> 10 // tezlik 10 km / s dan yuqori

  2. ain5> 3 // ain5 3 dan katta (2,5um zarralar sonini ushlab turish - tutun darajasi)

  3. gps_speed_km> 10 va ain6> 5 // tezligi 10 km / s dan yuqori va ain6 5 dan katta (10 zarralar sonini ushlab turish - tutun darajasi)


8.2.9. Hammasini bekor qiling Tugma (So'rovdan barcha maydonlarni olib tashlash)

Ushbu tugmani bosgandan so'ng tarixiy natijalarni ko'rsatish uchun kamida bitta maydonni qo'lda tanlash kerak.


8.2.10. Ijro eting (So'rov tugmachasini ishga tushirish)

Ushbu tugmani bosish har qanday sozlamalarni, parametrlarni o'zgartirish uchun talab qilinadi (maydonlarni yoki so'rovlar panelini ko'rsatish bundan mustasno). Jadval boshidanoq yangi sozlamalar bilan qayta yuklanadi.

8.2.11. "V" Belgilash katakchasi (Maydon shaklini ochish / yopish)

Ushbu katakchani ko'rsatish uchun maydonlarning selektorini ko'rsatish / yashirish uchun foydalaniladi.


8.3. Barlar Variant: (faqat mavjud ma'lumotlarni aks ettiradi)



8.4. Davomiy variant (xuddi shu ma'lumotlar bilan):



Sichqoncha ko'rsatgichining o'lchamlari va sana / vaqt ko'rsatkichlari.

9. Veb-brauzerning mosligi


Funktsiya / WWW brauzeri

Chrome 72

FireFox 65

Yon

Opera 58

Xaritalar

+

+

+

+

Tarixiy

+

+ (*)

+

+

Barlar

+

+

+

+

Yorliqlar

+

+

+

+


* - Firefox sanani / vaqtni tanlashni qo'llab-quvvatlamaydi (matn maydonini sana vaqti to'g'ri formatida qo'lda tahrirlash kerak).

Internet Explorer-ni qo'llab-quvvatlamaydi (foydalaning Yon o'rniga)

Boshqa veb-brauzerlar sinovdan o'tkazilmadi.



10. Mavzularni sozlash

Veb-sahifalar umumiy shablon fayli asosida joylashgan "andozalar" "* .tablon" katalogi.

Bundan tashqari, har bir sahifa turi quyidagilarni o'z ichiga oladi:

  1. Sahifaning sarlavhasini saqlaydigan "* .head" fayli (havolalar, import qilingan CSS, JavaScript fayllari va boshqalar. )

  2. Sahifaning altbilgisini saqlaydigan "* .foot" fayllari (havolalar va hk.) )


Vizualizatsiya mavzusini CSS fayllarini nusxalash va o'zgartirish orqali foydalanuvchi xohishiga ko'ra o'zgartirish mumkin. CSS fayllari joylashgan "Templates / CSS" katalog. Masalan, optimallashtirish uchun turli xil veb-sahifalar mavzularidan foydalanish mumkin. bosib chiqarish, SmartPhone, PADs shablonlari.


Yorliqle Ko'rishlar - mavzuni to'liq o'zgartirish uchun CSS faylini tanlash uchun tanlanadigan maydon mavjud (saqlangan "templates / css / tabs" katalog).




Map qarashlar - umumiy mavzu tanlanadi "xarita" combo box yozing. Bundan tashqari, standart CSS fayli mavjud "templates / css / map.css" uning qiymatlari asosida natijalarni yashirish / rang berish kabi ba'zi qo'shimcha funktsiyalarni o'z ichiga oladi. Ushbu CSS-faylning qolgan qismi deyarli so'rovlar va maydon shakllari bilan cheklangan.


Ko'pchilik @City Platformasi Vizualizatsiya uchun PHP fayllari qabul qilinadi CSSMavzu uchun fayl nomidagi parametr (kengaytmasiz). Fayl "templates / css" katalogida joylashgan bo'lishi kerak va uning nomi katta-kichikligi bilan ajralib turadi.


Mavzu displeyining ba'zi elementlari to'g'ridan-to'g'ri joylashgan JavaScript faylida joylashgan "template / js" katalog.

Asosiy @Shahar skript"@ City.js" yuqori katalogda joylashgan. Bunda modifikatsiya qilish imkoniyati yo'q joylashuvi, ammo skript nusxa ko'chirilishi mumkin "templates / js" katalog va u erda o'zgartirilgan. Shaxsiy skriptni ishlatish uchun barcha sarlavha fayllarini yangilash kerak.

11. Algoritmlarni yangilash


Ba'zi noyob sensorlar maxsus hisoblash funktsiyalarini talab qilishi mumkin.

Ning bir nechta variantlarini yangilash va saqlash imkoniyati yo'q @City Server dasturi, PHP-ning oldingi interfeysi, bu juda ko'p muammolarni, versiyalarni, xatolarni keltirib chiqaradi.

Bunga erishishning eng yaxshi va eng oson usuli - qiymatni / tavsifni to'g'ri ko'rsatish uchun JavaScript "ustma-ust" fayllarni yangilash.

Asl JS skriptlari ochiq matnli fayl bo'lib, mijozlar ehtiyojlari uchun qabul qilinishi mumkin. Oldingi bobda aytib o'tilganidek, ularni nusxalash kerak "templates / js" xaridor modifikatsiya qilish huquqiga ega bo'lgan katalog.


Dasturlashning texnik jihati @Shahar tizim ushbu hujjatning mavzusi emas, ammo HTML va JS bo'yicha asosiy bilimlarga ega bo'lgan veb-ishlab chiquvchi Front-end veb-ilovasini mijozlarning shaxsiy ehtiyojlari uchun moslashtirishi mumkin.


12. Ma'lumotlar bazasi tuzilishi


@City ma'lumotlar bazasi nomi bilan "IoT" yoki "* IoT" jadvallarga bo'linadi (bu erda xosting serveriga qarab asteriks prefiksi - agar kerak bo'lsa). Ma'lumotlar bazasi havoladagi PHPAdmin (veb-dastur) da kuzatilishi mumkin http: //% IP% / phpmyadmin




Har bir qurilma uchun jadvallar o'rnatildi (qayerda * {asterix} - bu IMEI manzili - noyob identifikator):

Boshqa jadvallar:



12.1. "ithings_" va "*" jadvallar tuzilishi

12.2. Qurilma buyruqlari (Voqealar) navbat "* _c" jadval - tuzilishi


Ushbu jadval har bir qurilma uchun voqea / buyruqlar navbatida va quyidagi tuzilishga ega:



12.3. Ma'lumotlar bazalaridan natijalarga kirish - O'rta daraja (o'qish ma'lumotlari)


Ma'lumotlarga Front-end veb-dasturisiz kirish mumkin. @City tizimida o'rta darajadagi funktsiyalarga ega skript mavjud. Natijalar JSON formatida qaytariladi.


12.3.1. Barcha qurilmalarning joriy holatini oling

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


So'rov to'liq qaytadi "_ithith" JSON Formatidagi jadval (barcha qurilmalarning joriy holati):

[{ "mamlakat":"", "shahar":"", "qit'a":"", "mamlakat":"", "mintaqa":"", "subregion":"", "subregion":"", "shahar":"", "tuman":"", "ko'cha":"", "ko'cha_nr":"", "element_nr":"", "gps_lat":"0000.0000N", "gps_long":"00000.0000E", "tm":"2019-02-10 12:56:23", "yaratilish":"2019-02-09 18:12:38", "oxirgi":"0000-00-00 00:00:00", "voqealar":"", "foydalanuvchi":"", "o'tish":"", "imei":"351580051067110", "sn":"", "holat":"73000200000f360033026800240000002c002c002dffffffffffffffff5b63000001c1000001c200000000000000009292a4f0a760a7a0a750a780a7e0000031d032205fc34029b025c025600460", "hash_code":"", "addr":"", "fwnr":"", "nogiron":"", "gsm_nr":"", "sotuvchi":"", "vaqt zonasi":"", "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":"", "voqealar":"", "out1":"0", "tashqariga2":"0", "tashqariga3":"0", "chiqib4":"0", "chiqib 5.":"0", "tashqariga 6.":"0", "tashqarida7":"0", "chiqib 8.":"0", "9":"0", "10":"1", "11":"0", "12":"0", "13":"0", "14":"0", "15":"0", "out16":"0", "in1":"0", "in2":"0", "in3":"0", "in4":"0", "in5":"0", "in6":"0", "in7":"0", "in8":"0", "in9":"0", "yilda10":"0", "11":"0", "12":"0", "13 yilda":"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", "sezgir5":"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", "matn1":"", "matn2":"", "matn3":"", "matn4":"", "matn5":"", "text6":"" }]

12.3.2. Qurilmaning tarixiy ma'lumotlarini oling

IMEI nr tomonidan bitta qurilmaning tarixiy ma'lumotlarini so'rash:

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


Jadvalda millionlab qatorlar bo'lishi mumkinligi sababli, serverni o'chirib qo'ymaslik uchun WHERE bandi bilan cheklanishi kerak.

Qo'shimcha parametrlar url parametrlari:

funktsiya - imeyson

imei - qurilmaning IMEI

maydon - natijalarda ko'rsatiladigan maydonlar (komadan ajratilgan ro'yxat)

min - ro'yxatdagi birinchi maydon uchun minimal qiymat

maksimal - ro'yxatdagi birinchi maydon uchun maksimal qiymat

syokit - saralash uchun maydon

tm - maydon avtomatik ravishda natijalarga qo'shiladi.

where - bu erda ma'lumotlarni cheklash uchun band


Misol:

Biz quyidagi natijani olishni xohlaymiz

bilan qurilma uchun imei=356345080018095

maydonlarni ko'rsatish: ain5, ain6, gps_lat, gps_long

va chegara ain5 oralig'ida ( 1, 10000 ) - ro'yxatdagi birinchi maydon bo'lishi kerak

va GPS haqiqiy ma'lumotlarga ega bo'lish (gps_fix = 3)

va sana / vaqt (tm) from2019-02-14 23:00:19 to 2019-02-15 00:00:00


Qurilgan URL qatori:

http: //%IP%/IoT/que.php? func =imeyson& imei =356345080018095& maydon =ain5, ain6, gps_lat, gps_long& min =1& max =1000& qaerda =gps_fix = 3 va tm> "2019-02-14 23:00:19" va tm <"2019-02-15 00:00:00"


So'rov natijalari:

[{ "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.8076E","tm":"2019-02-14 23:06:55" }]

12.3.3. Mavjud holatlardan cheklangan holda bitta maydon - qurilmalar ro'yxatini oling

Ushbu funktsiya "_ithings" jadvalidan cheklangan ma'lumotlarni qaytaradi


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



Parametrlar:

funktsiya - fieldjson

maydon - natijalarda ko'rsatiladigan maydon - imei va tm avtomatik ravishda qo'shiladi

min - maydon uchun minimal qiymat

maksimal - maydon uchun maksimal qiymat


Yuqoridagi so'rovlar qatori uchun u qaytadi natijalari ain5, imei, tm maydonlar:

agar ain5 oralig'ida (13,5000)


So'rov natijalari:

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

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

{"imei":"karczew", "tm":"2019-03-07 13:08:22", "ain5":"103" }]