@Ity IoT Cloud Platform




iSys - Sistem Cerdas IoT Solusi









IoE. Sistem

Daftar isi

1. Pengantar. 5

1.1 Jenis perangkat yang didukung. 5

1.2. Jenis produk yang didukung. 5

1.3. Protokol komunikasi yang didukung 5

1.4. Teknologi Komunikasi yang Didukung dari Perangkat 6

1.5. @City Cloud Server 6

1.5.1. Gerbang server dan komunikasi 7

1.5.2 Integrasi HTTP LoRaWAN 7

1.5.3. Antarmuka ujung depan 8

1.5.3. Hak akses server 8

1.6. Perangkat Cerdas 9

1.6.1. CIoT - Perangkat GSM 9

1.6.3. BAS, BMS, IoT - Perangkat Ethernet dan WiFi 9

1.6.2. IoT Perangkat -LoRaWAN 9

1.7. Opsi Bisnis ke Bisnis (B2B) 9

2. @Ity IoT Fungsi Platform 10

3. Halaman Utama 11

4. Formulir Utama 11

4.1. Tajuk 12

4.1.1. Tautan Beranda - (membuka tabel hasil aktual) 12

4.1.2. Kotak centang "X" - membuka / menutup Formulir Kueri 12

4.1.3. Kotak centang "V" - membuka / menutup Formulir Bidang 12

4.1.4. Ikon grafis - tautan ke hasil visualisasi (dapat diedit) 12

4.2. Formulir: 12

4.2.1. Kotak centang "X" - membuka / menutup seluruh Formulir Kueri 12

4.2.2. CSS - Pilih Tema Visualisasi 12

4.2.3. Kotak centang Bidang Terlihat - menampilkan / menyembunyikan Daftar Filter Bidang 12

4.2.4. Tab: Nama Tab untuk menambah atau menghapus 12

4.2.5. Tombol Tambah / Hapus - Tambahkan atau hapus tab dengan nama di bidang Tab 12

4.2.6. Pilih Tombol Inti 12

4.2.7. Hapus Semua Tombol 12

4.2.7. Pilih Semua Tombol 12

4.2.8. Sembunyikan Filter - Sembunyikan seluruh Formulir 12

4.2.9. Tombol Execute - Mengubah pengaturan parameter 13

4.2.10. Kotak centang "V" - tampilkan / bidang filter tinggi. 13

4.3. Tab 13

4.4. Isi Tabel 13

4.4.1. Jalankan - melihat jenis hasil 13

4.4.2. Salin (+/- tautan) 13

4.4.3. Tautan Sel Tabel 13

4.5. Urutan Data 13

4.6. Contoh 13

5. Peta 15

5.1. Inisialisasi Peta 15

5.2. Pengaturan opsional untuk kueri 15

5.2.1. Ubah skala MAP (Tingkat Zoom) 16

5.2.2. IMEI (Pilih Bidang Perangkat) 16

5.2.3. Lon, Lat (Bujur, bidang koordinat Latitude) 16

5.2.4. Modifikasi MAP Style (Tema) 16

5.2.5. WHERE Klausul 16

5.2.6. Jalankan (Jalankan Tombol Kueri) 16

5.2.7. Hapus Semua (Hapus semua bidang dari kueri) 17

5.2.8. Kotak Centang "V" (Formulir Buka / Tutup Bidang) 17

5.2.9. Kotak Centang "X" (Tampilkan / Sembunyikan Formulir Kueri) 17

5.3. Contoh 17

6. Tunjukkan Hasil pada Tabel 18

6.1. Inisialisasi tabel 18

6.2. Pengaturan opsional untuk kueri 19

6.2.1. Sortir - mengurutkan bidang dan urutan naik / turun 19

6.2.2. DB / IMEI - Pilih Perangkat 19

6.2.3. CSS - pilih gaya (Tema Visualisasi) 20

6.2.4. Bidang Terlihat - Tampilkan / Sembunyikan Formulir Bidang 20

6.2.5. Hapus Kosong - Jangan tampilkan kolom kosong 20

6.2.6. Kotak Centang "X" (Tampilkan / Sembunyikan Formulir Kueri) 20

6.2.7. Where Clause (untuk batasan data) 20

6.2.8. Pilih Tombol Inti (Aktifkan bidang paling umum) 20

6.2.9. Hapus Semua Tombol (Hapus semua bidang dari kueri) 20

6.2.10. Jalankan (Jalankan Tombol Kueri) 20

6.2.11. Kotak Centang "V" (Formulir Buka / Tutup Bidang) 20

7. Diagram batang. 21

8. Grafik Sejarah. 22

8.1. Inisialisasi grafik Sejarah 22

8.2. Pengaturan Opsional Grafik Sejarah 23

8.2.1. IMEI - (Pilih Perangkat untuk menampilkan data historis) 23

8.2.2. Min - batas nilai minimal dari bidang pertama 23

8.2.3. Maks - batas nilai maksimal bidang pertama 23

8.2.4. "V" - Tampilkan / Sembunyikan Formulir Bidang 23

8.2.5. Dari: tetapkan tanggal / waktu minimal (*) 23

8.2.6. Ke: atur tanggal / waktu maksimal (*) 23

8.2.7. Kotak Centang "X" (Tampilkan / Sembunyikan Formulir Kueri) 23

8.2.8. "Dimana" Pasal 23

8.2.9. Hapus Semua Tombol (Hapus semua bidang dari kueri) 23

8.2.10. Jalankan (Jalankan Tombol Kueri) 23

8.2.11. Kotak Centang "V" (Formulir Buka / Tutup Bidang) 24

8.3. Bar Varian: (hanya menampilkan data yang tersedia) 24

8.4. Varian berkelanjutan (dengan data yang sama): 24

9. Kompatibilitas browser web 25

10. Kustomisasi Tema 26

11. Pembaruan Algoritma 27

12. Struktur Basis Data 28

12.1. Struktur tabel "ithings_" dan "*" 29

12.2. Tabel "* _c" untuk perintah perangkat (Peristiwa) - struktur 30

12.3. Mengakses hasil dari database - Tingkat Menengah (Membaca Data) 30

12.3.1. Dapatkan status terkini dari semua perangkat 30

12.3.2. Dapatkan data Historis untuk Perangkat 31

12.3.3. Dapatkan daftar perangkat - bidang tunggal dari status saat ini dengan batasan 32


1. Pengantar.

@City IoT Cloud Platform didedikasikan "awan mikro" sistem untuk pelanggan individu. Platform tidak dapat dibagikan dan hanya satu pelanggan yang memiliki akses ke server fisik atau virtual (VPS atau server khusus). Pelanggan dapat memilih salah satu dari lusinan pusat data di Eropa atau di dunia.

1.1 Jenis perangkat yang didukung.

Platform @City IoT didedikasikan untuk mengikuti produk iSys.PL



1.2. Jenis produk yang didukung.

@City (eCity) Cloud IoT Platform adalah berbagai sistem ukuran untuk produk IP IoT (disebut bersama sebagai @ Hardware Kota atau Perangkat CioT ):


1.3. Protokol komunikasi yang didukung

Platform @City IoT mendukung protokol berikut untuk komunikasi:

Pengiriman data dari pengontrol ke server cloud dan sebaliknya dienkripsi dalam format biner unik untuk ukuran data terendah dan peningkatan keamanan. Setiap mitra mendapatkan kunci enkripsi uniknya sendiri untuk otorisasi perangkat, pemeriksaan validitas data, dll.


Untuk perangkat non eHouse / eCity, kami dapat menyediakan algoritme enkripsi individual ( "C" kode sumber) untuk setiap mitra bagi mikroprosesor untuk melindungi data sebelum komunikasi.

Dalam hal ini data benar-benar aman selama komunikasi dua arah melalui media komunikasi publik (internet, udara, dll. ).


1.4. Teknologi Komunikasi yang Didukung dari Perangkat

Platform @City IoT mendukung:


@City IoT Platform didedikasikan untuk perangkat / node:


1.5. @Server Cloud Kota

Perangkat lunak @City bekerja pada VPS berbasis Linux (Virtual Private Server) atau Server Khusus di sisi internet, tergantung pada kinerja yang diminta dari Server (disebut kemudian Server):


Ada beberapa varian VPS bergantung pada:


Lusinan server khusus ada bergantung pada:


Platform @City IoT didedikasikan untuk pelanggan tunggal:


Karena bukan Server yang dapat dibagikan antar pelanggan, ini menyederhanakan akses keamanan dan masalah kinerja. Karena alasan ini, hanya pelanggan yang bertanggung jawab atas keamanan yang efektif, stabilitas, efisiensi, keluaran data, dll. Jika kinerja tidak mencukupi, pelanggan dapat membeli paket yang lebih tinggi (VPS atau Server Terdedikasi), lebih optimal dari fungsionalitas dan kinerja yang diharapkan.

Dalam kasus khusus "Cloud to cloud" komunikasi mungkin diterapkan untuk globalisasi dan sentralisasi data ke area yang lebih besar daripada cloud multi-pelanggan.

1.5.1. Gerbang server dan komunikasi

Komunikasi @City Server direalisasikan berdasarkan aplikasi level rendah untuk maksimalisasi performa.

Fitur utama aplikasi @City Server adalah:

Perangkat lunak @City Server sama untuk setiap pengguna dan tidak dapat disesuaikan untuk pelanggan yang berbeda.

1.5.2 Integrasi HTTP LoRaWAN

Pengontrol LoRaWAN terintegrasi dengan cloud @City melalui antarmuka HTTP (webhook) yang tersedia di jaringan / server aplikasi LoRaWAN.

Beberapa jenis server jaringan / aplikasi didukung:

TTN (waktu terbatas "Disiarkan" dan jumlah maksimum perintah yang dikirim ke driver dan tidak mendukung peningkatan firmware)

LoraWAN-Stack (Membutuhkan hosting di perangkat fisik dengan akses internet).

LoraServer.Io (Membutuhkan hosting di perangkat fisik dengan akses internet - hanya mengirim data ke server dan tidak mendukung peningkatan firmware)



Pengontrol @City Cloud untuk LoRaWAN dibagi dengan cara yang sama seperti untuk antarmuka lainnya. Ini dibahas di bab sebelumnya.

1.5.3. Antarmuka ujung depan

Antarmuka front-end diwujudkan dengan skrip PHP untuk mengekstrak data yang disesuaikan dari @City Cloud Database. Ini menggunakan mekanisme pencarian yang sangat elastis, berdasarkan kueri SQL asli untuk membatasi data yang diinginkan. Antarmuka menyediakan hasil kueri dalam format JSON untuk decoding dan pemrosesan lebih lanjut dengan JavaScript "Aplikasi" Web front-end.

Antarmuka front-end asli sama untuk setiap pengguna dan tidak dapat disesuaikan untuk pelanggan yang berbeda.

Antarmuka overlay dapat dibuat oleh staf kami atau dalam kerjasama untuk memastikan kustomisasi untuk pelanggan.

1.5.3. Hak akses server

Hak akses pelanggan (ke Server fisik) terbatas.

Akses file hanya untuk direktori "templates" (file teks asli - .txt, .js, .css, .html):

Hak Akses Lainnya:


iSys - Staf Sistem Cerdas - memiliki akses tak terbatas ke seluruh server termasuk akun root dan akses DB penuh untuk pemeliharaan.

Dalam keadaan tertentu iSys mungkin memberikan hak terbatas tambahan kepada pelanggan (skrip PHP, file) setelah memeriksa kode sumber, menjalankan pengujian, jika tidak memengaruhi keamanan, stabilitas, dan kinerja sistem secara keseluruhan.


1.6. Perangkat Cerdas

1.6.1. CIoT - Perangkat GSM

Perangkat kami berisi mikrokontroler dan modul GSM / GPS / GNSS (2G..4G, NBIoT, CATM1) untuk komunikasi. Mikrokontroler berisi bootloader terenkripsi untuk peningkatan firmware OTA yang aman. Ini memungkinkan pembuatan banyak varian sistem berdasarkan yang sama "Perangkat CIoT Smart".


1.6.3. BAS, BMS, IoT - Perangkat Ethernet dan WiFi


Pengontrol Ethernet dan WiFi memungkinkan komunikasi berbasis IP ke sistem (tanpa biaya untuk transfer data ke operator GSM). Perangkat ini juga telah mengenkripsi bootloader dan perangkat mungkin diperbarui melalui antarmuka aslinya. Untuk WiFi memiliki peningkatan firmware OTA dari server utama


1.6.2. IoT - Perangkat LoRaWAN

LoRaWAN memungkinkan transmisi data dalam jarak yang sangat jauh (hingga kira-kira. 15 km). Kisaran ini tergantung pada kecepatan transmisi data, jumlah data, urbanisasi wilayah dan efisiensi jalur radio perangkat.

Perangkat kami termasuk mikrokontroler dan modul LoRaWAN untuk komunikasi. Mikrokontroler berisi bootloader terenkripsi untuk pembaruan perangkat lunak OTA yang aman. Ini memungkinkan Anda membuat beberapa varian sistem berdasarkan yang sama "IoT smart device". Perangkat beroperasi di band terbuka ISM tanpa biaya langganan tambahan. Anda perlu menggunakan LoRaWAN Gateways untuk mencakup seluruh area dengan akses ke Internet. Dalam kasus gerbang LoRaWAN yang ada dalam jangkauan perangkat (dikonfigurasi untuk server TTN), dimungkinkan untuk mengirim informasi melaluinya. Pembaruan firmware memerlukan server LoRaWAN jaringan / aplikasi sendiri dan jangkauan yang baik untuk komunikasi.

1.7. Opsi Business to Business (B2B)


Ada beberapa pilihan untuk bisnis dan kerjasama:

2. @Itas IoT Fungsi Platform

Platform @City mendukung templat Front-End yang dapat disesuaikan untuk visualisasi data, kueri, pembatasan, dan pemrosesan (Data saat ini / riwayat):


Front-End pengguna dapat diakses melalui IP statis atau domain / subdomain / file pengalihan DNS jika tersedia.


Instalasi Contoh & Demo (Ini diaktifkan hanya untuk calon pelanggan).

Harap beri tahu kami saat Anda ingin mengujinya - untuk mengaktifkan akses publik ke platform.

Ini mungkin memerlukan IP statis komputer jarak jauh untuk mengaktifkan komunikasi ke platform @City.


3. Halaman Utama

Halaman utama sengaja dikosongkan demi keamanan: http: //% YourIP% / IoT /

Ini mungkin diaktifkan dan diedit satu per satu dan berisi tautan ke semua layanan yang tersedia dari @Ity IoT Platform jika diperlukan


4. Formulir Utama

Formulir Utama dimaksudkan untuk membuat preset dan tab baru: http: //%IP%/IoT/que.php

Ini adalah bentuk awal untuk membuat hasil, tampilan dan tab untuk setiap konfigurasi




Deskripsi (Dari atas dan kiri ke arah kanan)

4.1. Header

4.1.1. Tautan Beranda - (membuka tabel hasil aktual)

4.1.2. "X" checkbox - membuka / menutup Formulir Permintaan

4.1.3. "V" kotak centang - membuka / menutup Formulir Bidang

4.1.4. Ikon grafis - tautan ke hasil visualisasi (dapat diedit)


4.2. Untuk m:

4.2.1. "X" kotak centang - membuka / menutup seluruh Formulir Kueri

4.2.2. CSS - Pilih Tema Visualisasi

Ubah file CSS Tema Visualisasi harus ada di "templates / css /" direktori - terdaftar secara otomatis.

4.2.3. Bidang Terlihat kotak centang - menampilkan / menyembunyikan Daftar Filter Bidang

4.2.4. Tab: Nama Tab untuk menambah atau menghapus

4.2.5. Tambah / Hapus Tombol - Tambahkan atau hapus tab dengan nama dalam Tab bidang

4.2.6. Pilih Core Tombol

Pilih bidang utama yang terlihat di tabel. Saya t diperbarui secara otomatis.

4.2.7. Hapus Semua Tombol

Batalkan pilihan semua bidang (harus diikuti dengan memilih beberapa di antaranya secara manual)

4.2.7. Pilih Semua Tombol

Pilih semua bidang (harus diikuti dengan hapus beberapa di antaranya secara manual)

4.2.8. Sembunyikan Filter - Sembunyikan seluruh Formulir

Ini setara dengan semua kotak centang (X)

4.2.9. Menjalankan Tombol - Mengubah pengaturan parameter

4.2.10. "V" kotak centang - tampilkan / bidang filter tinggi.


4.3. Tab

Tab yang dibuat secara individual dengan nama dan preset (disimpan dalam format cfg / tabs.cfg file).

File sebenarnya berisi nama dan URL (dipisahkan oleh karakter tab).


4.4. Isi Tabel

Menampilkan semua bidang yang dibatasi oleh Filter Bidang.


Bidang di tabel:

4.4.1. Lari - melihat jenis hasil

peta- hasil pemetaan di peta (satu atau lebih bidang dapat dipilih)

sejarah - grafik sejarah (satu atau lebih bidang dapat dipilih)

tab - menampilkan tabel (kombinasi bidang apa pun dapat dipilih)

batang - hanya satu bidang yang ditampilkan pada diagram batang

Saat menekan salah satu nilainya, itu akan membuka hasil baru dengan bidang yang dipilih (untuk baris saat ini).


4.4.2. Salin (+/- tautan)

Menambah / menghapus Tab dengan nama yang ditetapkan Tab bidang. Ini hanya menggunakan bidang yang dipilih di baris yang sama dari tabel.


4.4.3. Tautan Sel Tabel

Menekan nama bidang lain akan memulai Visualisasi Data dari bidang yang dipilih untuk baris yang dipilih.


4.5. Urutan Data


Urutan bidang yang ditampilkan adalah sebagai urutannya dalam formulir bidang (namun tm bidang selalu dikirim ke akhir teks). Urutan ini hanya dapat diubah dengan pengeditan langsung parameter URL (bagian pesanan bidang).


4.6. Contoh

Misalnya: Setting Tab with Pelacakan Aset nama dan berisi peta dengan waktu dan kecepatan di peta

Semua uraian mengacu pada baris di mana "Map" teks ada di "Lari" kolom.

  1. Masukkan nama "Pelacakan Aset" di Tab bidang (tanpa tanda kutip)

  2. Pastikan semua kolom tidak dipilih di baris

  3. Pilih tm, gps_speed_km hanya di baris

  4. tekan + tombol di mana di baris






5. Maps

Peta dapat diluncurkan dari MainForm dengan pra-konfigurasi


5.1. Inisialisasi Peta

Inisialisasi peta dilakukan secara manual saat dijalankan langsung dengan tautan: > http: //%IP%/IoT/maps.php


  1. Pengguna harus Hapus semua bidang (Tekan Batalkan pilihan Tombol)

  2. Tekan beberapa kotak centang untuk bidang yang ditampilkan (mis. Ain5 (untuk Smog level) dan tm (untuk tanggal / waktu pengukuran)

  3. tekan "V" kotak centang untuk menyembunyikan formulir bidang

  4. tekan Menjalankan tombol untuk menjalankan kueri DB dan menampilkan informasi terkini dari semua sensor / perangkat

  5. Peta dengan data diperbarui setelah 30 detik atau lebih.


5.2. Pengaturan opsional untuk kueri

Pengaturan dijelaskan dari kiri ke kanan (pada tangkapan layar di atas).

5.2.1. Ubah skala MAP (Tingkat Zoom)

  1. Tingkat zoom dapat dimodifikasi dengan menggunakan tombol (+/-) untuk skala (skala_kini * 2 atau skala_kini / 2 secara berurutan). Menekan salah satu tombol ini akan mengubah skala secara otomatis.

  2. Cara lainnya adalah dengan memilih Zoom Level in Perbesar Bidang Kotak Kombo dan tekan Menjalankan tombol. Dalam hal ini seluruh Tampilan / Peta dimuat ulang dan disegarkan (memerlukan beberapa saat selama inisialisasi).

5.2.2. IMEI (Pilih Bidang Perangkat)

IMEIkolom berisi ID unik perangkat atau alias Unik untuk perangkat. Pengaturan default adalah * (asterisk) yang menunjukkan nilai terbaru dan geolocation untuk setiap perangkat.

Mengatur IMEI ke nilai lain, akan menampilkan data historis dari perangkat yang dipilih. Ini hanya berlaku untuk sensor seluler dan bergerak, jika tidak, hasil akan tumpang tindih di peta pada posisi yang sama.


5.2.3. Lon, Lat (Bujur, bidang koordinat Lintang)

Tetapkan posisi tengah peta. Bidang ini disetel ke posisi kursor saat tombol mouse ditekan di peta.


5.2.4. Ubah Gaya MAP (Tema)

Gaya / tema peta dapat dipilih dari Map Bidang ComboBox (mis. Gelap, Abu-abu, Topografi).

Berbagai tema peta mungkin memiliki tingkat zoom maksimal yang berbeda sehingga mungkin menerapkan Tema yang tepat untuk meningkatkan skala peta.


5.2.5. Klausul WHERE

Di mana Klausa digunakan untuk string kueri tambahan {WHERE part} untuk MySQL / MariaDB.

Klausul ini diperhitungkan untuk membangun string QUERY yang lengkap untuk hasil database. Ini dapat membatasi data, waktu dan nilai lainnya dengan membatasi jumlah hasil. Nama bidang tabel asli (bukan alias) harus digunakan di bidang ini. Misalnya.

  1. gps_speed_km> 10 // kecepatan lebih dari 10km / jam

  2. ain5> 3 // ain5 lebih besar dari 3 (menahan jumlah partikel 2.5um - tingkat kabut asap)

  3. gps_speed_km> 10 dan ain6> 5 // kecepatan lebih dari 10km / jam dan ain6 lebih besar dari 5 (menahan 10um jumlah partikel - tingkat kabut asap)


5.2.6. Menjalankan (Jalankan Tombol Kueri)

Menekan tombol ini diperlukan untuk mengubah pengaturan, parameter (kecuali menekan +/- tombol).

Peta dimuat dari awal dengan preset baru.

Peta tidak dimuat sama sekali, ketika tidak ada data yang tersedia untuk kueri saat ini.

5.2.7. Hapus Semua (Hapus semua bidang dari kueri)

Setelah menekan tombol ini setidaknya satu bidang harus dipilih secara manual untuk menampilkan hasil di peta.


5.2.8. "V" Kotak Centang (Formulir Buka / Tutup Bidang)

Kotak centang ini digunakan untuk menampilkan / menyembunyikan selektor bidang yang akan ditampilkan.


5.2.9. "X" Kotak Centang (Tampilkan / Sembunyikan Formulir Kueri)

Kotak centang ini memungkinkan sembunyikan seluruh Formulir kecuali ( +/- tombol)


Hasil di peta terus diperbarui dan diperbarui dengan nilai baru

5.3. Contoh

Misalnya hasil Asap (Sensor dipasang di mobil): Partikel kabut level 2.5um (Ain5), Kecepatan (gps_speed_km), Tanggal / Waktu (tm), peta (2 - topografi), tingkat zoom 16,

Dimana klausa:

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

// GPS = hasil 3D yang valid & tanggal = 2019-02-18 & kecepatan> 0 km / jam



6. Tunjukkan Hasil di Tabel

Tunjukkan hasil di tabel.

Di "Formulir Utama" tekan "meja" item, setelah memilih beberapa bidang untuk menampilkan tabel yang telah dikonfigurasi sebelumnya




6.1. Inisialisasi tabel

Saat tabel dibuka dari tautan http: //%IP%/IoT/que.php? func = tab itu membutuhkan inisialisasi pengaturan sebelumnya.

Anda dapat memilih bidang yang terlihat (dengan menekan "Bidang yang Terlihat" ) kotak centang.



  1. Tekan semua kotak centang yang diperlukan untuk bidang yang ditampilkan

  2. Tekan kotak centang "Bidang yang Terlihat" untuk menyembunyikan formulir bidang

  3. Tekan tombol Execute untuk menjalankan query DB dan menampilkan tabel


6.2. Pengaturan opsional untuk kueri

Pengaturan dijelaskan dari kiri ke kanan (pada tangkapan layar).

6.2.1. Sortir - urutkan bidang dan urutan naik / turun

Bidang sortir sama dengan menekan tajuk kolom.

6.2.2. DB / IMEI - Pilih alat

IMEIkolom berisi ID unik perangkat atau alias Unik untuk perangkat. Dengan nilai kosong itu menunjukkan tabel nilai terbaru.

Mengatur IMEI ke nilai lain, akan menampilkan data historis dari perangkat yang dipilih.


6.2.3. CSS - pilih gaya (Tema Visualisasi)

6.2.4. Bidang yang Terlihat - Tampilkan / Sembunyikan Formulir Bidang

6.2.5. Hapus Kosong - Jangan tampilkan kolom kosong

6.2.6. "X" Kotak Centang (Tampilkan / Sembunyikan Formulir Kueri)

6.2.7. Dimana Ayat (untuk batasan data)

Ini adalah sufix untuk string kueri tambahan MySQL / MariaDB {WHERE part}

Klausul ini diperhitungkan untuk membangun string QUERY yang lengkap untuk hasil database. Ini dapat membatasi data, waktu dan nilai lainnya dengan membatasi jumlah hasil. Nama bidang tabel asli (bukan alias) harus digunakan di bidang ini. Misalnya.

  1. gps_speed_km> 10 // kecepatan lebih dari 10km / jam

  2. ain5> 3 // ain5 lebih besar dari 3 (menahan jumlah partikel 2.5um - tingkat kabut asap)

  3. gps_speed_km> 10 dan ain6> 5 // kecepatan lebih dari 10km / jam dan ain6 lebih besar dari 5 (menahan 10um jumlah partikel - tingkat kabut asap)


6.2.8. Pilih Core Tombol (Aktifkan bidang paling umum)


6.2.9. Hapus Semua Tombol (Hapus semua bidang dari kueri)

Setelah menekan tombol ini setidaknya satu bidang harus dipilih secara manual untuk menampilkan hasil di peta.


6.2.10. Menjalankan (Jalankan Tombol Kueri)

Menekan tombol ini diperlukan untuk mengubah pengaturan, parameter (kecuali menekan +/- tombol).

Tabel dimuat ulang dari awal dengan preset baru.



6.2.11. "V" Kotak Centang (Formulir Buka / Tutup Bidang)

Kotak centang ini digunakan untuk menampilkan / menyembunyikan selektor bidang yang akan ditampilkan.



Hasil dalam tabel diurutkan menurut Menyortir pengaturan lapangan. Urutan pengurutan dapat diubah dengan menekan tajuk baris (sekali untuk satu arah dua kali untuk arah lain).

Beberapa hasil di kolom tertaut ke layar visualisasi lebih lanjut (hard-code).


Saat menampilkan data historis untuk perangkat, itu harus dibatasi agar tidak menampilkan seluruh informasi sejarah karena dapat menyebabkan masalah kinerja atau kehabisan memori.


7. Diagram batang.

Bagan batang harus dieksekusi dari Formulir Utama dengan menekan satu bidang di baris "Batang".

Ini menampilkan bilah yang diurutkan dinormalisasi ke nilai maksimal, menunjukkan dari urutan tertinggi ke terendah.

Berguna untuk memeriksa hasil ekstrem dengan cepat dan mengambil beberapa tindakan.





Peristiwa Mouse Over akan menampilkan informasi tambahan untuk perangkat.


8. Grafik Sejarah.

Grafik sejarah dapat dimulai dari MainForm saat menekan kolom yang dipilih di baris "Sejarah" (untuk bidang tunggal).

Untuk Beberapa bidang di baris "Riwayat", bidang yang diinginkan harus diperiksa dan tautan "Riwayat" harus ditekan di kolom "Jalankan".

Hasil riwayat dibatasi hingga 24 jam terakhir + 24 jam berikutnya (untuk grafik yang akhirnya diperbarui), ketika tidak ada batasan yang disiapkan.

8.1. Inisialisasi grafik sejarah


Grafik historis ketika dibuka dari tautan utama memerlukan inisialisasi sebagai hasil lain, ketika dibuka dari tautan tanpa parameter preferensi.

Beberapa bidang dapat dipilih untuk menampilkan berbagai item. Ini juga dapat diatur dalam Formulir Filter Bidang.




  1. Tekan semua kotak centang yang diperlukan untuk bidang yang ditampilkan

  2. Tekan kotak centang "Bidang yang Terlihat" untuk menyembunyikan formulir bidang

  3. Tekan tombol Execute untuk menjalankan query DB dan menampilkan tabel


8.2. Pengaturan Opsional Grafik Sejarah

Item yang dijelaskan dari atas dan dari kiri ke kanan (pada tangkapan layar).

8.2.1. IMEI - (Pilih Perangkat untuk menampilkan data historis)

IMEIkolom berisi ID unik perangkat atau alias Unik untuk perangkat. Dengan nilai * (asterix) ini menunjukkan tabel nilai terbaru yang tidak memiliki arti.

Mengatur IMEI ke nilai lain, akan menampilkan data historis dari perangkat yang dipilih.

8.2.2. Min - batasi nilai minimal bidang pertama

8.2.3. Max - batasi nilai maksimal bidang pertama

8.2.4. "V" - Tampilkan / Sembunyikan Formulir Bidang

8.2.5. Dari: tetapkan tanggal / waktu minimal (*)

8.2.6. Untuk: atur tanggal / waktu maksimal (*)

8.2.7. "X" Kotak Centang (Tampilkan / Sembunyikan Formulir Kueri)

8.2.8. "Dimana" Ayat

Klausul untuk membatasi hasil data string kueri tambahan MySQL / MariaDB {WHERE part}.

Klausul ini diperhitungkan untuk membangun string QUERY yang lengkap untuk hasil database. Ini dapat membatasi data, waktu dan nilai lainnya dengan membatasi jumlah hasil. Nama bidang tabel asli (bukan alias) harus digunakan di bidang ini dan sintaks SQL yang valid. Misalnya.

  1. gps_speed_km> 10 // kecepatan lebih dari 10km / jam

  2. ain5> 3 // ain5 lebih besar dari 3 (menahan jumlah partikel 2.5um - tingkat kabut asap)

  3. gps_speed_km> 10 dan ain6> 5 // kecepatan lebih dari 10km / jam dan ain6 lebih besar dari 5 (menahan 10um jumlah partikel - tingkat kabut asap)


8.2.9. Hapus Semua Tombol (Hapus semua bidang dari kueri)

Setelah menekan tombol ini setidaknya satu bidang harus dipilih secara manual untuk menampilkan hasil sejarah.


8.2.10. Menjalankan (Jalankan Tombol Kueri)

Menekan tombol ini diperlukan untuk mengubah pengaturan, parameter (kecuali menampilkan bidang atau panel kueri). Tabel dimuat ulang dari awal dengan preset baru.

8.2.11. "V" Kotak Centang (Formulir Buka / Tutup Bidang)

Kotak centang ini digunakan untuk menampilkan / menyembunyikan selektor bidang yang akan ditampilkan.


8.3. Bar Varian: (hanya menampilkan data yang tersedia)



8.4. Kontinu varian (dengan data yang sama):



Penunjuk mouse menampilkan nilai pengukuran dan tanggal / waktu.

9. Kompatibilitas browser web


Fungsi / WWW Browser

Chrome 72

FireFox 65

Tepi

Opera 58

Maps

+

+

+

+

Historis

+

+ (*)

+

+

Bar

+

+

+

+

Tab

+

+

+

+


* - Firefox tidak mendukung pemilih tanggal / waktu (bidang teks harus diedit secara manual menggunakan format waktu tanggal yang benar).

Internet Explorer tidak didukung (gunakan Tepi sebagai gantinya)

Browser web lain tidak diuji.



10. Kustomisasi Tema

Halaman web didasarkan pada file template umum yang terletak di "template" direktori "* .template".

Selain itu, setiap jenis halaman berisi:

  1. File "* .head" yang menyimpan header halaman (link, CSS yang diimpor, JavaScript File, dll. )

  2. File "* .foot" yang menyimpan footer halaman (link, dll. )


Tema Visualisasi dapat diubah sesuai dengan preferensi pengguna dengan mengatasi dan memodifikasi file CSS. File CSS berada di "template / css" direktori. Tema Halaman Web yang berbeda dapat digunakan untuk membuat dioptimalkan misalnya. pencetakan, SmartPhones, template PADs.


Table views - memiliki bidang yang dapat dipilih untuk memilih file CSS untuk modifikasi tema secara lengkap (disimpan dalam format "template / css / tab" direktori).




Map tampilan - tema umum dipilih oleh "peta" ketik kotak kombo. Selain itu ada file CSS default "templates / css / map.css" yang berisi beberapa fungsi tambahan seperti menyembunyikan / mewarnai hasil berdasarkan nilainya. Sisa dari file CSS ini secara praktis terbatas pada kueri dan formulir bidang.


Kebanyakan Platform @ity File PHP untuk visualisasi terima cssparameter dengan nilai nama file untuk Tema (tanpa ekstensi). File harus ditempatkan di direktori "templates / css" dan namanya peka huruf besar / kecil.


Beberapa elemen tampilan Tema terletak langsung di file JavaScript yang terletak di "template / js" direktori.

Utama @Kota naskah"@ City.js" terletak di direktori atas. Tidak ada kemungkinan modifikasi dalam hal ini lokasi, ke mana pun skrip dapat disalin "templates / js" direktori dan dimodifikasi di sana. Penggunaan skrip individu memerlukan pembaruan semua file header.

11. Pembaruan Algoritma


Beberapa sensor unik mungkin memerlukan fungsi kalkulasi khusus.

Tidak ada kemungkinan untuk memperbarui dan memelihara beberapa varian @City Server Software, Antarmuka PHP front-end, yang akan menyebabkan banyak masalah, versi, kesalahan.

Cara terbaik dan termudah untuk mencapainya, adalah mengupdate files file "overlay" untuk tampilan yang tepat dari nilai / deskripsi.

Skrip JS asli adalah file teks terbuka dan dapat diadopsi untuk kebutuhan pelanggan. Seperti yang dinyatakan dalam bab sebelumnya, mereka harus disalin "templates / js" direktori tempat pelanggan memiliki hak akses untuk modifikasi.


Aspek teknis pemrograman @Kota sistem bukan subjek dari dokumen ini, namun pengembang Web dengan pengetahuan dasar tentang HTML dan JS dapat menyesuaikan aplikasi Web Front-end dengan kebutuhan pelanggan individu.


12. Struktur Basis Data


@City Database dengan sebuah nama "IoT" atau "* IoT" dibagi dalam tabel (di mana asterix adalah awalan tergantung pada server hosting - jika diperlukan). DataBase dapat diamati di PHPAdmin (aplikasi web) di tautan http: //% IP% / phpmyadmin




Tabel Ditetapkan untuk setiap Perangkat (dimana * {asterix} adalah alamat IMEI - ID unik):

Tabel lainnya:



12.1. struktur tabel "ithings_" dan "*"

12.2. Tabel - struktur antrian perintah perangkat (Peristiwa) "* _c"


Tabel ini adalah antrian acara / perintah untuk setiap perangkat dan memiliki struktur sebagai berikut:



12.3. Mengakses hasil dari database - Tingkat Menengah (Membaca Data)


Data dapat diakses tanpa aplikasi Web Front-end. Sistem @City berisi skrip dengan fungsi tingkat menengah. Hasil dikembalikan dalam format JSON.


12.3.1. Dapatkan status terkini dari semua perangkat

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


Kueri kembali utuh "_ithings" tabel (status saat ini dari semua perangkat) dalam Format JSON:

[{ "negara":"", "kota":"", "benua":"", "negara":"", "wilayah":"", "subkawasan":"", "subsubregion":"", "kota":"", "distrik":"", "jalan":"", "street_nr":"", "item_nr":"", "gps_lat":"0000.0000N", "gps_long":"00000.0000E", "tm":"2019-02-10 12:56:23", "penciptaan":"2019-02-09 18:12:38", "terakhir":"0000-00-00 00:00:00", "acara":"", "pengguna":"", "lulus":"", "imei":"351580051067110", "sn":"", "status":"73000200000f360033026800240000002c002c002dffffffffffffffff5b63000001c1000001c2000000000000000009250a4f0a760a7a0a750a780a7e0000031d032205fc34029b025c025600460eb305320000", "Kode hash":"", "addr":"", "fwnr":"", "dengan disabilitas":"", "gsm_nr":"", "penjaja":"", "zona waktu":"", "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":"", "acara":"", "out1":"0", "out2":"0", "out3":"0", "out4":"0", "out5":"0", "out6":"0", "out7":"0", "out8":"0", "out9":"0", "out10":"1", "out11":"0", "out12":"0", "out13":"0", "out14":"0", "out15":"0", "out16":"0", "in1":"0", "in2":"0", "in3":"0", "in4":"0", "in5":"0", "in6":"0", "in7":"0", "in8":"0", "in9":"0", "in10":"0", "in11":"0", "in12":"0", "in13":"0", "in14":"0", "in15":"0", "in16":"0", "ain1":"3894", "ain2":"51", "ain3":"616", "ain4":"36", "ain5":"0", "ain6":"44", "ain7":"44", "ain8":"45", "sens1":"0", "sens2":"0", "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", "teks1":"", "teks2":"", "teks3":"", "teks4":"", "teks5":"", "teks6":"" }]

12.3.2. Dapatkan data Historis untuk Perangkat

Kueri data historis dari satu perangkat oleh IMEI nr:

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


Karena seluruh tabel mungkin berisi jutaan baris, itu harus dibatasi dengan klausa WHERE agar tidak menutup server.

Parameter tambahan parameter url:

func - imeijson

imei - IMEI perangkat

bidang - bidang yang akan ditampilkan dalam hasil (daftar yang dipisahkan koma)

min - nilai minimum untuk bidang pertama dari daftar

maks - nilai maksimum untuk bidang pertama dari daftar

sataut - bidang untuk menyortir

tm - bidang secara otomatis ditambahkan ke hasil.

where - dimana klausul untuk membatasi data


Contoh:

Kami ingin mendapatkan hasil sebagai berikut

untuk perangkat dengan imei=356345080018095

tunjukkan bidang: ain5, ain6, gps_lat, gps_long

dan membatasi ain5 dalam lingkup ( 1, 10.000 ) - harus menjadi kolom pertama dalam daftar

dan gps memiliki data yang valid (gps_fix = 3)

dan tanggal / waktu (tm) from2019-02-14 23:00:19 to 2019-02-15 00:00:00


String URL yang dibuat:

http: //%IP%/IoT/que.php? func =imeijson& imei =356345080018095& bidang =ain5, ain6, gps_lat, gps_long& min =1& maks =1000& dimana =gps_fix = 3 dan tm> "2019-02-14 23:00:19" dan tm <"2019-02-15 00:00:00"


Hasil Query:

[{ "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. Dapatkan daftar perangkat - bidang tunggal dari status saat ini dengan batasan

Fungsi ini mengembalikan data terbatas dari tabel "_ithings"


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



Parameter:

func - fieldjson

bidang - bidang yang akan ditampilkan di hasil - imei dan tm ditambahkan secara otomatis

min - nilai minimum untuk bidang tersebut

maks - nilai maksimum untuk bidang tersebut


Untuk string kueri di atas ia kembali hasil dari ain5, imei, tm bidang:

jika ain5 dalam jangkauan (13.5000)


Hasil Query:

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

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

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