@City IoT Nền tảng đám mây




iSys - Hệ thống thông minh IoT Giải pháp









IoE.Systems

Mục lục

1. Giới thiệu. 5

1.1 Các loại thiết bị được hỗ trợ. 5

1.2. Các loại sản phẩm được hỗ trợ. 5

1.3. Các giao thức truyền thông được hỗ trợ 5

1.4. Công nghệ truyền thông được hỗ trợ của các thiết bị 6

1.5. @City Cloud Server 6

1.5.1. Các cổng giao tiếp và máy chủ 7

1.5.2 Tích hợp HTTP LoRaWAN 7

1.5.3. Giao diện front-end 8

1.5.3. Quyền truy cập máy chủ 8

1.6. Thiết bị thông minh 9

1.6.1. CIoT - Thiết bị GSM 9

1.6.3. BAS, BMS, IoT - Thiết bị Ethernet và WiFi 9

1.6.2. IoT Thiết bị -LoRaWAN 9

1.7. Các tùy chọn từ Doanh nghiệp đến Doanh nghiệp (B2B) 9

2. @City IoT Chức năng nền tảng 10

3. Trang chính 11

4. Mẫu chính 11

4.1. Tiêu đề 12

4.1.1. Liên kết Trang chủ - (mở bảng kết quả thực tế) 12

4.1.2. Hộp kiểm "X" - mở / đóng Biểu mẫu truy vấn 12

4.1.3. Hộp kiểm "V" - mở / đóng Mẫu trường 12

4.1.4. Biểu tượng đồ họa - liên kết đến kết quả trực quan hóa (có thể chỉnh sửa) 12

4.2. Hình thức: 12

4.2.1. Hộp kiểm "X" - mở / đóng toàn bộ Biểu mẫu truy vấn 12

4.2.2. CSS - Chọn Chủ đề Hình ảnh hóa 12

4.2.3 Hộp kiểm Các trường có thể chia sẻ - hiển thị / ẩn Danh sách Bộ lọc Trường 12

4.2.4. Tab: Tên Tab để thêm hoặc bớt 12

4.2.5. Thêm / Xóa các nút - Thêm hoặc xóa các tab có tên trong trường Tab 12

4.2.6. Chọn nút lõi 12

4.2.7. Bỏ chọn tất cả nút 12

4.2.7. Chọn tất cả nút 12

4.2.8. Ẩn bộ lọc - Ẩn toàn bộ Biểu mẫu 12

4.2.9. Nút Thực thi - Thay đổi cài đặt thông số 13

4,2.10. Hộp kiểm "V" - hiển thị / trường bộ lọc cao. 13

4.3. Tab 13

4.4. Mục lục 13

4.4.1. Run - xem kết quả loại 13

4.4.2. Sao chép (liên kết +/-) 13

4.4.3. Liên kết ô trong bảng 13

4.5. Thứ tự dữ liệu 13

4.6. Ví dụ 13

5. Bản đồ 15

5.1. Khởi tạo bản đồ 15

5.2. Cài đặt Tùy chọn cho truy vấn 15

5.2.1. Sửa đổi thang đo MAP (Mức thu phóng) 16

5.2.2. IMEI (Chọn trường thiết bị) 16

5.2.3. Lon, Lat (Trường tọa độ Kinh độ, Vĩ độ) 16

5.2.4. Sửa đổi kiểu MAP (Chủ đề) 16

5.2.5. Mệnh đề WHERE 16

5.2.6. Thực thi (Nút Chạy truy vấn) 16

5.2.7. Bỏ chọn Tất cả (Xóa tất cả các trường khỏi truy vấn) 17

5.2.8. Hộp kiểm "V" (Mở / Đóng Biểu mẫu Trường) 17

5.2.9. Hộp kiểm "X" (Hiển thị / Ẩn Biểu mẫu Truy vấn) 17

5.3. Ví dụ 17

6. Hiển thị kết quả trong bảng 18

6.1. Khởi tạo bảng 18

6.2. Cài đặt Tùy chọn cho truy vấn 19

6.2.1. Sắp xếp - trường sắp xếp và thứ tự tăng dần / giảm dần 19

6.2.2. DB / IMEI - Chọn thiết bị 19

6.2.3. CSS - chọn kiểu (Chủ đề trực quan hóa) 20

6.2.4. Các trường hiển thị - Hiển thị / Ẩn các trường Mẫu 20

6.2.5. Loại bỏ Trống - Không hiển thị các cột trống 20

6.2.6. Hộp kiểm "X" (Hiển thị / Ẩn Biểu mẫu Truy vấn) 20

6.2.7. Mệnh đề Where (đối với giới hạn dữ liệu) 20

6.2.8. Chọn nút cốt lõi (Bật các trường phổ biến nhất) 20

6.2.9. Nút Bỏ chọn Tất cả (Xóa tất cả các trường khỏi truy vấn) 20

6.2.10. Thực thi (Nút Chạy truy vấn) 20

6.2.11. Hộp kiểm "V" (Mở / Đóng Biểu mẫu Trường) 20

7. Biểu đồ thanh. 21

số 8. Biểu đồ lịch sử. 22

8.1. Khởi tạo biểu đồ Lịch sử 22

8.2. Cài đặt Tùy chọn của Biểu đồ Lịch sử 23

8.2.1. IMEI - (Chọn Thiết bị để hiển thị dữ liệu lịch sử) 23

8.2.2. Min - giới hạn giá trị nhỏ nhất của trường đầu tiên 23

8.2.3. Max - giới hạn giá trị lớn nhất của trường đầu tiên 23

8.2.4. "V" - Hiển thị / Ẩn Trường Mẫu 23

8.2.5. Từ: đặt ngày / giờ tối thiểu (*) 23

8.2.6. Tới: đặt ngày / giờ tối đa (*) 23

8.2.7. Hộp kiểm "X" (Hiển thị / Ẩn Biểu mẫu Truy vấn) 23

8.2.8. "Ở đâu" Khoản 23

8.2.9. Nút Bỏ chọn Tất cả (Xóa tất cả các trường khỏi truy vấn) 23

8.2.10. Thực thi (Nút Chạy truy vấn) 23

8.2.11. Hộp kiểm "V" (Mở / Đóng Biểu mẫu Trường) 24

8.3. Biến thể thanh: (chỉ hiển thị dữ liệu có sẵn) 24

8,4. Biến thể liên tục (với cùng một dữ liệu): 24

9. Khả năng tương thích của trình duyệt web 25

10. Tùy chỉnh chủ đề 26

11. Cập nhật thuật toán 27

12. Cấu trúc cơ sở dữ liệu 28

12.1. Cấu trúc bảng "ithings_" và "*" 29

12.2. Lệnh thiết bị (Sự kiện) bảng "* _c" hàng đợi - cấu trúc 30

12.3. Truy cập kết quả từ cơ sở dữ liệu - Mức trung bình (Đọc dữ liệu) 30

12.3.1. Nhận trạng thái hiện tại của tất cả các thiết bị 30

12.3.2. Nhận dữ liệu lịch sử cho Thiết bị 31

12.3.3. Nhận danh sách thiết bị - trường đơn từ các trạng thái hiện tại với giới hạn 32


1. Giới thiệu.

@City IoT Cloud Platform dành riêng cho "đám mây vi mô" hệ thống dành cho khách hàng cá nhân. Nền tảng không thể chia sẻ và chỉ một khách hàng có quyền truy cập vào máy chủ vật lý hoặc máy chủ ảo (VPS hoặc máy chủ chuyên dụng). Khách hàng có thể chọn một trong hàng chục trung tâm dữ liệu ở Châu Âu hoặc trên thế giới.

1.1 Các loại thiết bị được hỗ trợ.

Nền tảng @City IoT dành riêng cho việc theo dõi các sản phẩm iSys.PL



1.2. Các loại sản phẩm được hỗ trợ.

@City (eCity) Cloud IoT Platform là hệ thống kích thước khác nhau dành cho các sản phẩm IP IoT (được gọi chung là Phần cứng @City hoặc là Thiết bị CioT ):


1.3. Các giao thức truyền thông được hỗ trợ

Nền tảng @City IoT hỗ trợ các giao thức sau để giao tiếp:

Dữ liệu gửi từ bộ điều khiển đến máy chủ đám mây và ngược lại được mã hóa ở định dạng nhị phân duy nhất để có kích thước dữ liệu thấp nhất và tăng tính bảo mật. Mỗi đối tác nhận được khóa mã hóa duy nhất của riêng mình để ủy quyền thiết bị, kiểm tra tính hợp lệ của dữ liệu, v.v.


Đối với các thiết bị không phải eHouse / eCity, chúng tôi có thể cung cấp các thuật toán mã hóa riêng lẻ ( "C" mã nguồn) cho từng đối tác để bộ vi xử lý bảo vệ dữ liệu trước khi giao tiếp.

Trong trường hợp này, dữ liệu được bảo mật hoàn toàn trong quá trình giao tiếp hai chiều qua các phương tiện truyền thông công cộng (internet, Air, v.v. ).


1.4. Công nghệ truyền thông được hỗ trợ của các thiết bị

Nền tảng @City IoT hỗ trợ:


@City IoT Nền tảng dành riêng cho các thiết bị / nút:


1.5. Máy chủ đám mây @City

Phần mềm @City hoạt động trên VPS dựa trên Linux (Máy chủ riêng ảo) hoặc Máy chủ chuyên dụng trên mạng internet, tùy thuộc vào hiệu suất được yêu cầu của Máy chủ (sau này được gọi là Máy chủ):


Một số biến thể của VPS tồn tại tùy thuộc vào:


Hàng chục máy chủ chuyên dụng tồn tại tùy thuộc vào:


Nền tảng @City IoT dành riêng cho một khách hàng:


Bởi vì nó không phải là Máy chủ có thể chia sẻ giữa các khách hàng, nó đơn giản hóa các vấn đề về truy cập bảo mật và hiệu suất. Vì lý do này, chỉ khách hàng chịu trách nhiệm về bảo mật hiệu quả, tính ổn định, hiệu quả, thông lượng dữ liệu, v.v. Trong trường hợp không đủ hiệu suất, khách hàng có thể mua gói cao hơn (VPS hoặc Máy chủ chuyên dụng), tối ưu hơn về chức năng và hiệu suất mong đợi.

Trong những trường hợp đặc biệt "Cloud to cloud" giao tiếp có thể được thực hiện để toàn cầu hóa và tập trung dữ liệu cho các khu vực lớn hơn thay vì đám mây đa khách hàng.

1.5.1. Các cổng giao tiếp và máy chủ

Giao tiếp của Máy chủ @City được thực hiện dựa trên ứng dụng cấp thấp để tối đa hóa hiệu suất.

Các tính năng chính của ứng dụng @City Server là:

Phần mềm @City Server là giống nhau cho mỗi người dùng và không thể tùy chỉnh cho các khách hàng khác nhau.

1.5.2 Tích hợp HTTP LoRaWAN

Bộ điều khiển LoRaWAN được tích hợp với đám mây @City thông qua giao diện HTTP (webhooks) có sẵn trên máy chủ ứng dụng / mạng LoRaWAN.

Một số loại máy chủ mạng / ứng dụng được hỗ trợ:

TTN (thời gian có hạn "Giữa không trung" và số lượng lệnh tối đa được gửi đến trình điều khiển và không hỗ trợ nâng cấp chương trình cơ sở)

LoraWAN-Stack (Yêu cầu lưu trữ trên thiết bị vật lý có truy cập internet).

LoraServer.Io (Yêu cầu lưu trữ trên thiết bị vật lý có truy cập internet - chỉ gửi dữ liệu đến máy chủ và không hỗ trợ nâng cấp phần sụn)



@City Cloud dành cho bộ điều khiển LoRaWAN được phân chia theo cách tương tự như đối với các giao diện khác. Nó được thảo luận trong chương trước.

1.5.3. Giao diện front-end

Giao diện front-end được hiện thực hóa với các tập lệnh PHP để trích xuất dữ liệu tùy chỉnh từ Cơ sở dữ liệu đám mây @City. Nó sử dụng cơ chế tìm kiếm rất đàn hồi, dựa trên các truy vấn SQL gốc để giới hạn dữ liệu mong muốn. Giao diện cung cấp kết quả truy vấn ở định dạng JSON để giải mã và xử lý thêm bằng "ứng dụng" JavaScript Web Front-end.

Giao diện front-end gốc giống nhau đối với mỗi người dùng và không thể tùy chỉnh cho các khách hàng khác nhau.

Giao diện lớp phủ có thể được tạo bởi nhân viên của chúng tôi hoặc hợp tác để đảm bảo tùy chỉnh cho khách hàng.

1.5.3. Quyền truy cập máy chủ

Quyền truy cập của khách hàng (vào Máy chủ vật lý) bị hạn chế.

Chỉ truy cập tệp cho thư mục "mẫu" (tệp văn bản gốc - .txt, .js, .css, .html):

Các quyền truy cập khác:


iSys - nhân viên Hệ thống thông minh - có quyền truy cập không giới hạn vào toàn bộ máy chủ bao gồm tài khoản gốc và toàn quyền truy cập DB để bảo trì.

Trong một số trường hợp nhất định, iSys có thể cấp thêm các quyền hạn chế cho khách hàng (tập lệnh PHP, tệp) sau khi kiểm tra mã nguồn, chạy thử nghiệm, nếu điều đó không ảnh hưởng đến bảo mật, tính ổn định và hiệu suất tổng thể của hệ thống.


1.6. Thiết bị thông minh

1.6.1. CIoT - thiết bị GSM

Thiết bị của chúng tôi chứa bộ vi điều khiển và mô-đun GSM / GPS / GNSS (2G..4G, NBIoT, CATM1) để giao tiếp. Bộ vi điều khiển chứa bộ nạp khởi động được mã hóa để nâng cấp chương trình cơ sở OTA an toàn. Điều này cho phép tạo nhiều biến thể hệ thống dựa trên cùng một "CIoT thiết bị thông minh".


1.6.3. BAS, BMS, IoT - Thiết bị Ethernet và WiFi


Bộ điều khiển Ethernet và WiFi cho phép giao tiếp dựa trên IP với hệ thống (không tính phí truyền dữ liệu đến nhà khai thác GSM). Thiết bị này cũng có bộ nạp khởi động được mã hóa và các thiết bị có thể được cập nhật thông qua giao diện gốc của nó. Đối với WiFi, nó có nâng cấp firmware OTA từ máy chủ chính


1.6.2. IoT - Thiết bị LoRaWAN

LoRaWAN cho phép truyền dữ liệu trong khoảng cách rất xa (lên đến khoảng. 15 km). Phạm vi này phụ thuộc vào tốc độ truyền dữ liệu, lượng dữ liệu, đô thị hóa của khu vực và hiệu quả của các đường dẫn vô tuyến của các thiết bị.

Các thiết bị của chúng tôi bao gồm một bộ vi điều khiển và mô-đun LoRaWAN để giao tiếp. Bộ vi điều khiển chứa bộ nạp khởi động được mã hóa để cập nhật phần mềm OTA an toàn. Điều này cho phép bạn tạo nhiều biến thể hệ thống dựa trên cùng một "IoT smart device". Các thiết bị hoạt động trong băng tần mở ISM mà không phải trả thêm phí đăng ký. Cần phải sử dụng LoRaWAN Gateways để phủ sóng toàn bộ khu vực có thể truy cập Internet. Trong trường hợp các cổng LoRaWAN hiện có trong phạm vi thiết bị (được cấu hình cho máy chủ TTN), có thể gửi thông tin qua chúng. Nâng cấp chương trình cơ sở yêu cầu máy chủ LoRaWAN mạng / ứng dụng riêng và phạm vi giao tiếp tốt.

1.7. Các tùy chọn từ Doanh nghiệp đến Doanh nghiệp (B2B)


Có một số lựa chọn để kinh doanh và hợp tác:

2. @City IoT Chức năng nền tảng

Nền tảng @City hỗ trợ mẫu Front-End có thể tùy chỉnh để trực quan hóa dữ liệu, truy vấn, giới hạn và xử lý (Dữ liệu hiện tại / lịch sử):


Người dùng có thể truy cập Front-End thông qua IP tĩnh hoặc tên miền / tên miền phụ / tệp chuyển hướng DNS tĩnh nếu có.


Cài đặt mẫu & Demo (Nó chỉ được kích hoạt cho khách hàng tiềm năng).

Vui lòng thông báo cho chúng tôi khi bạn muốn kiểm tra nó - để cho phép truy cập công khai vào nền tảng.

Nó có thể yêu cầu IP tĩnh của máy tính từ xa để cho phép giao tiếp với nền tảng @City.


3. Trang chính

Trang chính bị bỏ trống có chủ ý vì lý do bảo mật: http: //% YourIP% / IoT /

Nó có thể được kích hoạt và chỉnh sửa riêng và chứa các liên kết đến tất cả các dịch vụ hiện có của @City IoT Platform nếu nó được yêu cầu


4. Hình thức chính

Main Form nhằm tạo các tab và cài đặt trước mới: http: //%IP%/IoT/que.php

Đây là biểu mẫu ban đầu để tạo kết quả, dạng xem và tab cho mỗi cấu hình




Mô tả (Từ trên xuống và từ trái sang phải theo hướng)

4.1. Tiêu đề

4.1.1. Liên kết Trang chủ - (mở bảng kết quả thực tế)

4.1.2. "X" hộp kiểm - mở / đóng Biểu mẫu truy vấn

4.1.3. "V" hộp kiểm - mở / đóng Biểu mẫu trường

4.1.4. Biểu tượng đồ họa - liên kết đến kết quả trực quan hóa (có thể chỉnh sửa)


4.2. Hình thức:

4.2.1. "X" hộp kiểm - mở / đóng toàn bộ Biểu mẫu truy vấn

4.2.2. CSS - Chọn chủ đề hình ảnh hóa

Sửa đổi chủ đề trực quan Tệp CSS phải tồn tại trong "mẫu / css /" thư mục - được liệt kê tự động.

4.2.3 Các trường có thể chia sẻ hộp kiểm - hiển thị / ẩn Danh sách Bộ lọc Trường

4.2.4. Chuyển hướng: Tên tab để thêm hoặc bớt

4.2.5. Thêm bớt Các nút - Thêm hoặc xóa các tab có tên trong Chuyển hướng cánh đồng

4.2.6. Chọn cốt lõi Cái nút

Chọn các trường chính hiển thị trên bảng. Nó đã cập nhật tự động.

4.2.7. Bỏ chọn tất cả Cái nút

Bỏ chọn tất cả các trường (phải theo sau bằng cách chọn một số trường theo cách thủ công)

4.2.7. Chọn tất cả Cái nút

Chọn tất cả các trường (phải theo sau bằng cách bỏ chọn một số trường theo cách thủ công)

4.2.8. Ẩn bộ lọc - Ẩn toàn bộ biểu mẫu

Hộp kiểm này tương đương với tất cả (X)

4.2.9. Hành hình Nút - Thay đổi cài đặt thông số

4,2.10. "V" hộp kiểm - hiển thị / trường bộ lọc cao.


4.3. Các tab

Các tab được tạo riêng với tên và giá trị đặt trước (được lưu trữ trong cfg / tabs.cfg tập tin).

Tệp thực sự chứa tên và URL (được phân tách bằng ký tự tab).


4.4. Mục lục

Hiển thị tất cả các trường bị giới hạn bởi Bộ lọc Trường.


Các trường trong bảng:

4.4.1. Chạy - xem loại kết quả

bản đồ- kết quả lập bản đồ trên bản đồ (có thể chọn một hoặc nhiều trường)

lịch sử - biểu đồ lịch sử (một hoặc nhiều trường có thể được chọn)

tab - hiển thị bảng (có thể chọn bất kỳ tổ hợp trường nào)

quán ba - chỉ một trường được hiển thị trên biểu đồ thanh

Khi nhấn một trong các giá trị của nó, nó sẽ mở ra kết quả mới với các trường đã chọn (cho hàng hiện tại).


4.4.2. Sao chép (+/- liên kết)

Thêm / xóa một Tab có tên được đặt trong Chuyển hướng cánh đồng. Nó chỉ sử dụng các trường được chọn trong cùng một hàng của bảng.


4.4.3. Liên kết ô bảng

Nhấn bất kỳ tên trường nào khác sẽ bắt đầu Trực quan hóa dữ liệu của trường đã chọn cho hàng đã chọn.


4.5. Thứ tự dữ liệu


Thứ tự của các trường được hiển thị giống như thứ tự của nó trong các trường (tuy nhiên tm trường luôn được gửi đến cuối văn bản). Thứ tự này chỉ có thể được thay đổi khi chỉnh sửa trực tiếp các tham số URL (phần thứ tự các trường).


4.6. Thí dụ

Ví dụ: Cài đặt Tab với Theo dõi tài sản đặt tên và chứa bản đồ với thời gian và tốc độ trên bản đồ

Tất cả mô tả đề cập đến hàng nơi "Map" văn bản ở "Chạy" cột.

  1. Nhập tên "Theo dõi tài sản" trong Chuyển hướng trường (không có dấu ngoặc kép)

  2. Đảm bảo tất cả các cột không được chọn trong hàng

  3. lựa chọn tm, gps_speed_km chỉ trong hàng

  4. nhấn + nút ở đâu trong hàng






5. Bản đồ

Bản đồ có thể được khởi chạy từ MainForm với cấu hình trước


5.1. Khởi tạo bản đồ

Khởi tạo bản đồ được thực hiện theo cách thủ công khi được thực thi trực tiếp với liên kết: > http: //%IP%/IoT/maps.php


  1. Người dùng nên Bỏ chọn tất cả các trường (Nhấn Bỏ chọn Cái nút)

  2. Nhấn một số hộp kiểm cho các trường được hiển thị (ví dụ: Ain5 (cho mức Smog) và tm (cho ngày / giờ đo)

  3. nhấn "V" hộp kiểm để ẩn biểu mẫu trường

  4. nhấn Hành hình nút để chạy truy vấn DB và hiển thị thông tin hiện tại từ tất cả các cảm biến / thiết bị

  5. Bản đồ với dữ liệu được cập nhật sau 30 giây hoặc hơn.


5.2. Cài đặt tùy chọn cho truy vấn

Cài đặt được mô tả từ trái sang phải (trên ảnh chụp màn hình ở trên).

5.2.1. Sửa đổi thang đo MAP (Mức thu phóng)

  1. Mức thu phóng có thể được sửa đổi bằng cách sử dụng các nút (+/-) cho tỷ lệ (current_scale * 2 hoặc current_scale / 2 tương ứng). Nhấn một trong các nút này sẽ tự động sửa đổi tỷ lệ.

  2. Một cách khác là chọn Mức thu phóng trong Thu phóng Trường Combo Box và nhấn Hành hình cái nút. Trong trường hợp này, toàn bộ Chế độ xem / Bản đồ được tải lại và làm mới (mất một lúc trong quá trình khởi tạo).

5.2.2. IMEI (Chọn trường thiết bị)

IMEItrường chứa ID duy nhất của thiết bị hoặc Bí danh duy nhất cho một thiết bị. Cài đặt mặc định là * (dấu hoa thị) hiển thị các giá trị gần đây nhất và vị trí địa lý cho từng thiết bị.

Đặt IMEI thành bất kỳ giá trị nào khác, sẽ hiển thị dữ liệu lịch sử của thiết bị đã chọn. Nó chỉ có ý nghĩa đối với cảm biến di động và chuyển động, nếu không kết quả sẽ trùng lặp trên bản đồ ở cùng một vị trí.


5.2.3. Lon, Lat (Trường tọa độ Kinh độ, Vĩ độ)

Đặt vị trí trung tâm của bản đồ. Trường này được đặt thành vị trí con trỏ khi nhấn nút chuột trên bản đồ.


5.2.4. Sửa đổi kiểu MAP (Chủ đề)

Phong cách bản đồ / chủ đề có thể được chọn từ Map Trường ComboBox (ví dụ: Tối, Xám, Địa hình).

Các chủ đề bản đồ khác nhau có thể có các mức thu phóng tối đa khác nhau để nó có thể thực thi Chủ đề phù hợp để tăng tỷ lệ bản đồ.


5.2.5. Mệnh đề WHERE

Mệnh đề Where được sử dụng cho chuỗi truy vấn bổ sung {WHERE part} cho MySQL / MariaDB.

Mệnh đề này được tính đến để tạo chuỗi QUERY hoàn chỉnh cho kết quả cơ sở dữ liệu. Nó có thể giới hạn dữ liệu, thời gian và bất kỳ giá trị nào khác bằng cách giới hạn số lượng kết quả. Tên trường bảng gốc (không phải bí danh) phải được sử dụng trong trường này. Ví dụ.

  1. gps_speed_km> 10 // tốc độ hơn 10km / h

  2. ain5> 3 // ain5 lớn hơn 3 (giữ số lượng hạt 2,5um - mức độ khói)

  3. gps_speed_km> 10 và ain6> 5 // tốc độ hơn 10km / h và ain6 lớn hơn 5 (giữ số lượng hạt 10um - mức khói)


5.2.6. Hành hình (Chạy nút truy vấn)

Nhấn nút này là bắt buộc để thay đổi bất kỳ cài đặt, thông số nào (ngoại trừ nhấn +/- nút).

Bản đồ được tải từ đầu với các cài đặt trước mới.

Bản đồ hoàn toàn không được tải, khi không có dữ liệu nào cho truy vấn hiện tại.

5.2.7. Bỏ chọn tất cả (Xóa tất cả các trường khỏi truy vấn)

Sau khi nhấn nút này, ít nhất một trường phải được chọn theo cách thủ công để hiển thị kết quả trên bản đồ.


5.2.8. "V" Hộp kiểm (Mở / Đóng Biểu mẫu Trường)

Hộp kiểm này được sử dụng để hiển thị / ẩn bộ chọn các trường để hiển thị.


5.2.9. "X" Hộp kiểm (Hiển thị / Ẩn Biểu mẫu Truy vấn)

Hộp kiểm này cho phép ẩn toàn bộ Biểu mẫu ngoại trừ ( +/- nút)


Kết quả trên bản đồ liên tục được làm mới và cập nhật các giá trị mới

5.3. Thí dụ

Ví dụ: Kết quả khói (Cảm biến được lắp trên xe): Mức khói 2,5um hạt (Ain5), Tốc độ (gps_speed_km), Ngày / Giờ (tm), bản đồ (2 - địa hình), mức thu phóng 16,

Mệnh đề Where:

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

// GPS = kết quả 3D hợp lệ & date = 2019-02-18 & tốc độ> 0 km / h



6. Hiển thị kết quả trong bảng

Hiển thị kết quả trong bảng.

Trên "Hình thức chính" nhấn "bàn" mục, sau khi chọn một số trường để hiển thị bảng được định cấu hình trước




6.1. Khởi tạo bảng

Khi bảng được mở từ liên kết http: //%IP%/IoT/que.php? func = tab nó yêu cầu khởi tạo cài đặt trước.

Bạn có thể chọn các trường hiển thị (bằng cách nhấn "Các trường hiển thị" ) hộp kiểm.



  1. Nhấn vào tất cả hộp kiểm bắt buộc cho các trường được hiển thị

  2. Nhấn vào hộp kiểm "Các trường hiển thị" để ẩn biểu mẫu trường

  3. Nhấn nút Execute để chạy truy vấn DB và hiển thị bảng


6.2. Cài đặt tùy chọn cho truy vấn

Cài đặt được mô tả từ trái sang phải (trên ảnh chụp màn hình).

6.2.1. Sắp xếp - trường sắp xếp và thứ tự tăng dần / giảm dần

Trường sắp xếp tương đương với việc nhấn tiêu đề cột.

6.2.2. DB / IMEI - Chọn thiết bị

IMEItrường chứa ID duy nhất của thiết bị hoặc Bí danh duy nhất cho một thiết bị. Với giá trị trống, nó sẽ hiển thị bảng các giá trị gần đây nhất.

Đặt IMEI thành bất kỳ giá trị nào khác, sẽ hiển thị dữ liệu lịch sử của thiết bị đã chọn.


6.2.3. CSS - chọn kiểu (Chủ đề trực quan hóa)

6.2.4. Các trường hiển thị - Hiển thị / Ẩn Biểu mẫu Trường

6.2.5. Xóa trống - Không hiển thị các cột trống

6.2.6. "X" Hộp kiểm (Hiển thị / Ẩn Biểu mẫu Truy vấn)

6.2.7. Ở đâu Mệnh đề (đối với giới hạn dữ liệu)

Đây là tiền tố cho chuỗi truy vấn bổ sung MySQL / MariaDB {WHERE part}

Mệnh đề này được tính đến để tạo chuỗi QUERY hoàn chỉnh cho kết quả cơ sở dữ liệu. Nó có thể giới hạn dữ liệu, thời gian và bất kỳ giá trị nào khác bằng cách giới hạn số lượng kết quả. Tên trường bảng gốc (không phải bí danh) phải được sử dụng trong trường này. Ví dụ.

  1. gps_speed_km> 10 // tốc độ hơn 10km / h

  2. ain5> 3 // ain5 lớn hơn 3 (giữ số lượng hạt 2,5um - mức độ khói)

  3. gps_speed_km> 10 và ain6> 5 // tốc độ hơn 10km / h và ain6 lớn hơn 5 (giữ số lượng hạt 10um - mức khói)


6.2.8. Chọn cốt lõi Nút (Bật các trường phổ biến nhất)


6.2.9. Bỏ chọn tất cả Nút (Xóa tất cả các trường khỏi truy vấn)

Sau khi nhấn nút này, ít nhất một trường phải được chọn theo cách thủ công để hiển thị kết quả trên bản đồ.


6.2.10. Hành hình (Chạy nút truy vấn)

Nhấn nút này là bắt buộc để thay đổi bất kỳ cài đặt, thông số nào (ngoại trừ nhấn +/- nút).

Bảng được tải lại từ đầu với các cài đặt trước mới.



6.2.11. "V" Hộp kiểm (Mở / Đóng Biểu mẫu Trường)

Hộp kiểm này được sử dụng để hiển thị / ẩn bộ chọn các trường để hiển thị.



Kết quả trong bảng được sắp xếp theo Sắp xếp thiết lập trường. Thứ tự sắp xếp có thể được thay đổi bằng cách nhấn tiêu đề hàng (một lần cho một hướng hai lần cho một hướng khác).

Một số kết quả trong các cột liên kết đến các màn hình trực quan khác (được mã hóa cứng).


Khi hiển thị dữ liệu lịch sử cho thiết bị, cần hạn chế để không hiển thị toàn bộ thông tin lịch sử vì nó có thể dẫn đến các vấn đề về hiệu suất hoặc hết bộ nhớ.


7. Biểu đồ thanh.

Biểu đồ thanh phải được thực thi từ Biểu mẫu chính bằng cách nhấn vào trường đơn trong hàng "Thanh".

Nó hiển thị các thanh được sắp xếp chuẩn hóa đến giá trị tối đa, hiển thị từ thứ tự cao nhất đến thấp nhất.

Nó rất hữu ích để kiểm tra nhanh các kết quả cực đoan và thực hiện một số hành động.





Sự kiện Di chuột qua sẽ hiển thị thông tin bổ sung cho thiết bị.


số 8. Biểu đồ lịch sử.

Biểu đồ lịch sử có thể được bắt đầu từ MainForm khi nhấn cột đã chọn trong hàng "Lịch sử" (đối với trường đơn lẻ).

Đối với Nhiều trường trong hàng "Lịch sử", các trường mong muốn phải được chọn và phải nhấn liên kết "Lịch sử" trong cột "Chạy".

Kết quả lịch sử được giới hạn trong 24 giờ qua + 24 giờ tiếp theo (đối với biểu đồ làm mới cuối cùng), khi không có giới hạn nào được thiết lập.

8.1. Khởi tạo biểu đồ Lịch sử


Biểu đồ lịch sử khi được mở từ liên kết chính yêu cầu khởi tạo như các kết quả khác, khi mở từ liên kết mà không có tham số tùy chọn.

Nhiều trường có thể được chọn để hiển thị các mục khác nhau. Nó cũng có thể được đặt trong Biểu mẫu Lọc Trường.




  1. Nhấn vào tất cả hộp kiểm bắt buộc cho các trường được hiển thị

  2. Nhấn vào hộp kiểm "Các trường hiển thị" để ẩn biểu mẫu trường

  3. Nhấn nút Execute để chạy truy vấn DB và hiển thị bảng


8.2. Cài đặt Tùy chọn của Biểu đồ Lịch sử

Các mục được mô tả từ trên xuống và từ trái sang phải (trên ảnh chụp màn hình).

8.2.1. IMEI - (Chọn Thiết bị để hiển thị dữ liệu lịch sử)

IMEItrường chứa ID duy nhất của thiết bị hoặc Bí danh duy nhất cho một thiết bị. Với giá trị * (asterix), nó hiển thị bảng các giá trị gần đây nhất mà không có ý nghĩa.

Đặt IMEI thành bất kỳ giá trị nào khác, sẽ hiển thị dữ liệu lịch sử của thiết bị đã chọn.

8.2.2. Min - giới hạn giá trị tối thiểu của trường đầu tiên

8.2.3. Tối đa - giới hạn giá trị tối đa của trường đầu tiên

8.2.4. "V" - Hiển thị / Ẩn Biểu mẫu Trường

8.2.5. Từ: đặt ngày / giờ tối thiểu (*)

8.2.6. Đến: đặt ngày / giờ tối đa (*)

8.2.7. "X" Hộp kiểm (Hiển thị / Ẩn Biểu mẫu Truy vấn)

8.2.8. "Ở đâu" Mệnh đề

Mệnh đề giới hạn kết quả dữ liệu Chuỗi truy vấn bổ sung MySQL / MariaDB {WHERE part}.

Mệnh đề này được tính đến để tạo chuỗi QUERY hoàn chỉnh cho kết quả cơ sở dữ liệu. Nó có thể giới hạn dữ liệu, thời gian và bất kỳ giá trị nào khác bằng cách giới hạn số lượng kết quả. Tên trường bảng gốc (không phải bí danh) phải được sử dụng trong trường này và cú pháp SQL hợp lệ. Ví dụ.

  1. gps_speed_km> 10 // tốc độ hơn 10km / h

  2. ain5> 3 // ain5 lớn hơn 3 (giữ số lượng hạt 2,5um - mức độ khói)

  3. gps_speed_km> 10 và ain6> 5 // tốc độ hơn 10km / h và ain6 lớn hơn 5 (giữ số lượng hạt 10um - mức khói)


8.2.9. Bỏ chọn tất cả Nút (Xóa tất cả các trường khỏi truy vấn)

Sau khi nhấn nút này, ít nhất một trường phải được chọn theo cách thủ công để hiển thị kết quả lịch sử.


8.2.10. Hành hình (Chạy nút truy vấn)

Nhấn nút này là bắt buộc để thay đổi bất kỳ cài đặt, thông số nào (ngoại trừ hiển thị các trường hoặc bảng truy vấn). Bảng được tải lại từ đầu với các cài đặt trước mới.

8.2.11. "V" Hộp kiểm (Mở / Đóng Biểu mẫu Trường)

Hộp kiểm này được sử dụng để hiển thị / ẩn bộ chọn các trường để hiển thị.


8.3. Thanh Biến thể: (chỉ hiển thị dữ liệu có sẵn)



8,4. Tiếp diễn biến thể (với cùng một dữ liệu):



Con trỏ chuột hiển thị các giá trị của phép đo và ngày / giờ.

9. Khả năng tương thích của trình duyệt web


Chức năng / Trình duyệt WWW

Chrome 72

FireFox 65

Cạnh

Opera 58

Bản đồ

+

+

+

+

Lịch sử

+

+ (*)

+

+

Thanh

+

+

+

+

Các tab

+

+

+

+


* - Firefox không hỗ trợ bộ chọn ngày / giờ (trường văn bản phải được chỉnh sửa thủ công bằng cách sử dụng định dạng ngày giờ thích hợp).

Internet Explorer không được hỗ trợ (sử dụng Cạnh thay thế)

Các trình duyệt web khác không được kiểm tra.



10. Tùy chỉnh chủ đề

Các trang web dựa trên tệp mẫu chung đặt tại "mẫu" thư mục "* .template".

Ngoài ra, mỗi loại trang chứa:

  1. Tệp "* .head" lưu trữ tiêu đề của trang (liên kết, CSS đã nhập, JavaScript Tệp, v.v. )

  2. Các tệp "* .foot" lưu trữ chân trang (liên kết, v.v. )


Visualization Theme có thể được thay đổi theo sở thích của người dùng bằng cách đối phó và sửa đổi các tệp CSS. Các tệp CSS được đặt ở "mẫu / css" danh mục. Các Chủ đề Trang Web khác nhau có thể được sử dụng để tạo ra được tối ưu hóa cho ví dụ. mẫu in, SmartPhones, PADs.


Chuyển hướngle chế độ xem - có trường có thể lựa chọn để chọn tệp CSS để sửa đổi hoàn toàn chủ đề (được lưu trữ trong "mẫu / css / tab" danh mục).




Map lượt xem - chủ đề chung được chọn bởi "bản đồ" loại hộp kết hợp. Ngoài ra, có tệp CSS mặc định "Template / css / map.css" trong đó có một số chức năng bổ sung như ẩn / tô màu kết quả dựa trên các giá trị của nó. Phần còn lại của tệp CSS này thực tế chỉ giới hạn ở các biểu mẫu trường và truy vấn.


Hầu hết Nền tảng @City Các tệp PHP để hiển thị chấp nhận csstham số với giá trị của tên tệp cho Chủ đề (không có phần mở rộng). Tệp phải được đặt trong thư mục "templates / css" và tên có phân biệt chữ hoa chữ thường.


Một số phần tử của hiển thị Chủ đề được đặt trực tiếp trong tệp JavaScript nằm trong "mẫu / js" danh mục.

Chủ yếu @City kịch bản"@ City.js" nằm trong thư mục trên. Không có khả năng sửa đổi trong điều này vị trí, tuy nhiên tập lệnh có thể được sao chép sang "mẫu / js" thư mục và sửa đổi ở đó. Việc sử dụng tập lệnh riêng lẻ yêu cầu cập nhật tất cả các tệp tiêu đề.

11. Cập nhật thuật toán


Một số cảm biến duy nhất có thể yêu cầu các chức năng tính toán chuyên dụng.

Không có khả năng cập nhật và duy trì nhiều biến thể của Phần mềm máy chủ @City, Giao diện PHP front-end, điều này sẽ gây ra rất nhiều vấn đề, phiên bản, lỗi.

Cách tốt nhất và dễ nhất để đạt được điều đó, là cập nhật các tệp JavaScript "lớp phủ" để hiển thị đúng giá trị / mô tả.

Các tập lệnh JS gốc là tệp văn bản mở và có thể được sử dụng theo nhu cầu của khách hàng. Như đã nêu trong chương trước, chúng phải được sao chép vào "mẫu / js" thư mục nơi khách hàng có quyền truy cập để sửa đổi.


Khía cạnh kỹ thuật về lập trình của @City hệ thống không phải là chủ đề của tài liệu này, tuy nhiên nhà phát triển Web có kiến ​​thức cơ bản về HTML và JS có thể tùy chỉnh ứng dụng Web Front-end theo nhu cầu của từng khách hàng.


12. Cấu trúc cơ sở dữ liệu


Cơ sở dữ liệu @City có tên "IOT" hoặc là "* IOT" được chia thành các bảng (trong đó asterix là tiền tố tùy thuộc vào máy chủ lưu trữ - nếu được yêu cầu). DataBase có thể được quan sát trong PHPAdmin (ứng dụng web) tại liên kết http: //% IP% / phpmyadmin




Bảng được đặt cho từng thiết bị (Ở đâu * {asterix} là địa chỉ IMEI - ID duy nhất):

Các bảng khác:



12.1. cấu trúc bảng "ithings_" và "*"

12.2. Lệnh thiết bị (Sự kiện) bảng "* _c" hàng đợi - cấu trúc


Bảng này là hàng đợi sự kiện / lệnh cho mỗi thiết bị và có cấu trúc sau:



12.3. Truy cập kết quả từ cơ sở dữ liệu - Cấp trung bình (Đọc dữ liệu)


Dữ liệu có thể được truy cập mà không cần ứng dụng Web Front-end. Hệ thống @City chứa tập lệnh với các chức năng cấp trung bình. Kết quả được trả về ở định dạng JSON.


12.3.1. Nhận trạng thái hiện tại của tất cả các thiết bị

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


Truy vấn trả về toàn bộ "_ithings" bảng (trạng thái hiện tại của tất cả các thiết bị) ở Định dạng JSON:

[{ "Quốc gia":"", "thành phố":"", "lục địa":"", "Quốc gia":"", "khu vực":"", "tiểu vùng":"", "tiểu vùng":"", "thành phố":"", "huyện":"", "đường phố":"", "street_nr":"", "item_nr":"", "gps_lat":"0000.0000N", "gps_long":"00000.0000E", "tm":"2019-02-10 12:56:23", "sự sáng tạo":"2019-02-09 18:12:38", "Cuối cùng":"0000-00-00 00:00:00", "sự kiện":"", "người dùng":"", "vượt qua":"", "imei":"351580051067110", "sn":"", "trạng thái":"73000200000f360033026800240000002c002c002dffffffffffffffffffffffff5b63000001c1000001c20000000000000009250a4f0a760a7a0a750a780a7e0000031d032205fc34029b025c025600460e", "Mã Băm":"", "addr":"", "fwnr":"", "tàn tật":"", "gsm_nr":"", "người bán hàng":"", "Múi giờ":"", "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":"", "sự kiện":"", "out1":"0", "out2":"0", "out3":"0", "out4":"0", "out5":"0", "out6":"0", "out7":"0", "out8":"0", "out9":"0", "out10":"1", "out11":"0", "ra ngoài12":"0", "out13":"0", "ra14":"0", "ra15":"0", "out16":"0", "trong 1":"0", "trong 2":"0", "trong 3":"0", "in4":"0", "in5":"0", "in6":"0", "in7":"0", "in8":"0", "in9":"0", "in10":"0", "in11":"0", "in12":"0", "in13":"0", "năm14":"0", "năm15":"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", "Văn bản 1":"", "text2":"", "text3":"", "text4":"", "text5":"", "text6":"" }]

12.3.2. Nhận dữ liệu lịch sử cho thiết bị

Truy vấn dữ liệu lịch sử của một thiết bị bằng IMEI nr:

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


Bởi vì toàn bộ bảng có thể chứa hàng triệu hàng, nó nên được giới hạn bằng mệnh đề WHERE để không làm treo máy chủ.

Tham số url tham số bổ sung:

func - imeijson

imei - IMEI của thiết bị

cánh đồng - các trường được hiển thị trong kết quả (danh sách được phân tách theo kiểu hôn mê)

min - giá trị tối thiểu cho trường đầu tiên từ danh sách

tối đa - giá trị lớn nhất cho trường đầu tiên từ danh sách

shoặc làt - lĩnh vực để sắp xếp

tm - trường được tự động thêm vào kết quả.

where - mệnh đề where để giới hạn dữ liệu


Thí dụ:

Chúng tôi muốn nhận được kết quả sau

cho thiết bị với imei=356345080018095

hiển thị các trường: ain5, ain6, gps_lat, gps_long

và giới hạn ain5 trong phạm vi ( 1, 10000 ) - phải là trường đầu tiên trong danh sách

gps có dữ liệu hợp lệ (gps_fix = 3)

và ngày / giờ (tm) from2019-02-14 23:00:19 to 2019-02-15 00:00:00


Chuỗi URL được tạo:

http: //%IP%/IoT/que.php? func =imeijson& imei =356345080018095& trường =ain5, ain6, gps_lat, gps_long& min =1& max =1000& ở đâu =gps_fix = 3 và tm> "2019-02-14 23:00:19" và tm <"2019-02-15 00:00:00"


Kết quả Truy vấn:

[{ "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. Nhận danh sách thiết bị - trường đơn từ các trạng thái hiện tại có giới hạn

Hàm này trả về dữ liệu giới hạn từ bảng "_ithings"


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



Thông số:

func - fieldjson

cánh đồng - trường được hiển thị trong kết quả - imei tm được tự động thêm vào

min - giá trị tối thiểu cho trường

tối đa - giá trị lớn nhất cho trường


Đối với chuỗi truy vấn trên, nó trả về kết quả của ain5, imei, tm lĩnh vực:

nếu ain5 nằm trong phạm vi (13,5000)


Kết quả Truy vấn:

[{"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" }]