@City IoT 클라우드 플랫폼




iSys-지능형 시스템 IoT 솔루션









IoE. 시스템

목차

1. 소개. 5

1.1 지원되는 장치 유형. 5

1.2. 지원되는 제품 유형. 5

1.3. 지원되는 통신 프로토콜 5

1.4. 장치의 지원되는 통신 기술 6

1.5. @ 시티 클라우드 서버 6

1.5.1. 서버 및 통신 게이트웨이 7

1.5.2 HTTP LoRaWAN 통합 7

1.5.3. 프런트 엔드 인터페이스 8

1.5.3. 서버 액세스 권한 8

1.6. 스마트 기기 9

1.6.1. CIoT-GSM 장치 9

1.6.3. BAS, BMS, IoT-이더넷 및 WiFi 장치 9

1.6.2. IoT -LoRaWAN 장치 9

1.7. B2B (Business to Business) 옵션 9

2. @City IoT 플랫폼 기능 10

삼. 메인 페이지 11

4. 기본 양식 11

4.1. 헤더 12

4.1.1. 홈 링크-(실제 결과 테이블을 엽니 다) 12

4.1.2. "X"확인란-쿼리 양식 12 열기 / 닫기

4.1.3. "V"확인란-필드 양식 12 열기 / 닫기

4.1.4. 그래픽 아이콘-시각화 결과에 대한 링크 (편집 가능) 12

4.2. 형태 : 12

4.2.1. "X"확인란-전체 쿼리 양식 12 열기 / 닫기

4.2.2. CSS-시각화 테마 선택 12

4.2.3. 보이는 필드 확인란-필드 필터 목록 표시 / 숨기기 12

4.2.4. 탭 : 추가 또는 제거 할 탭 이름 12

4.2.5. 버튼 추가 / 제거-탭 필드 12에 이름이있는 탭을 추가하거나 제거합니다.

4.2.6. 코어 버튼 12 선택

4.2.7. 모두 선택 해제 버튼 12

4.2.7. 모두 선택 버튼 12

4.2.8. 필터 숨기기-전체 양식 숨기기 12

4.2.9. 실행 버튼-매개 변수 설정 변경 13

4.2.10. "V"확인란-필터 필드 표시 / 높음. 13

4.3. 탭 13

4.4. 테이블 내용 13

4.4.1. 실행-결과 유형 13보기

4.4.2. 복사 (+/- 링크) 13

4.4.3. 표 셀 링크 13

4.5. 데이터 주문 13

4.6. 예제 13

5. 지도 15

5.1. 지도 초기화 15

5.2. 쿼리 15에 대한 선택적 설정

5.2.1. MAP 축척 수정 (Zoom Level) 16

5.2.2. IMEI (장치 필드 선택) 16

5.2.3. Lon, Lat (경도, 위도 좌표 필드) 16

5.2.4. MAP 스타일 수정 (테마) 16

5.2.5. WHERE 항목 16

5.2.6. 실행 (쿼리 실행 버튼) 16

5.2.7. 모두 선택 취소 (쿼리에서 모든 필드 제거) 17

5.2.8. "V"확인란 (필드 열기 / 닫기 양식) 17

5.2.9. "X"확인란 (쿼리 양식 표시 / 숨기기) 17

5.3. 예 17

6. 표 18에 결과 표시

6.1. 표 18의 초기화

6.2. 쿼리 19에 대한 선택적 설정

6.2.1. 정렬-필드 정렬 및 오름차순 / 내림차순 19

6.2.2. DB / IMEI-장치 선택 19

6.2.3. CSS-스타일 선택 (시각화 테마) 20

6.2.4. 보이는 필드-필드 표시 / 숨기기 양식 20

6.2.5. 빈 항목 제거-빈 열을 표시하지 않음 20

6.2.6. "X"확인란 (쿼리 양식 표시 / 숨기기) 20

6.2.7. Where 절 (데이터 제한 용) 20

6.2.8. 코어 선택 버튼 (가장 일반적인 필드 사용) 20

6.2.9. 모두 선택 취소 버튼 (쿼리에서 모든 필드 제거) 20

6.2.10. 실행 (쿼리 실행 버튼) 20

6.2.11. "V"확인란 (필드 열기 / 닫기 양식) 20

7. 막대 차트. 21

8. 역사 차트. 22

8.1. 히스토리 컬 차트 초기화 22

8.2. 히스토리 차트의 선택적 설정 23

8.2.1. IMEI-(이력 데이터를 표시 할 장치 선택) 23

8.2.2. Min-첫 번째 필드의 최소값 제한 23

8.2.3. Max-첫 번째 필드의 최대 값 제한 23

8.2.4. "V"-필드 표시 / 숨기기 양식 23

8.2.5. 시작 : 최소 날짜 / 시간 설정 (*) 23

8.2.6. To : 최대 날짜 / 시간 설정 (*) 23

8.2.7. "X"확인란 (쿼리 양식 표시 / 숨기기) 23

8.2.8. "어디" 항목 23

8.2.9. 모두 선택 취소 버튼 (쿼리에서 모든 필드 제거) 23

8.2.10. 실행 (쿼리 실행 버튼) 23

8.2.11. "V"확인란 (필드 열기 / 닫기 양식) 24

8.3. 바 변형 : (사용 가능한 데이터 만 표시) 24

8.4. 연속 변형 (동일한 데이터 포함) : 24

9. 웹 브라우저 호환성 25

10. 테마 사용자 지정 26

11. 알고리즘 업데이트 27

12. 데이터베이스 구조 28

12.1. "ithings_"및 "*"테이블 구조 29

12.2. 장치 명령 (이벤트) 대기열 "* _c"테이블-구조 30

12.3. 데이터베이스에서 결과에 액세스-중간 수준 (데이터 읽기) 30

12.3.1. 모든 장치의 현재 상태 가져 오기 30

12.3.2. 장치에 대한 기록 데이터 가져 오기 31

12.3.3. 장치 목록 가져 오기-제한이 32 인 현재 상태에서 단일 필드


1. 소개.

@City IoT Cloud Platform 전용 "마이크로 클라우드" 개인 고객을위한 시스템. 플랫폼은 공유 할 수 없으며 한 명의 고객 만 물리적 또는 가상 서버 (VPS 또는 전용 서버)에 액세스 할 수 있습니다. 고객은 유럽 또는 전 세계에있는 수십 개의 데이터 센터 중 하나를 선택할 수 있습니다.

1.1 지원되는 장치 유형.

@City IoT 플랫폼은 다음 iSys.PL 제품에 전념합니다.



1.2. 지원되는 제품 유형.

@City (eCity) Cloud IoT Platform은 IP IoT 제품을위한 다양한 크기의 시스템입니다. @City 하드웨어 또는 CioT 장치 ) :


1.3. 지원되는 통신 프로토콜

@City IoT 플랫폼은 통신을 위해 다음 프로토콜을 지원합니다.

컨트롤러에서 클라우드 서버로 또는 그 반대로 전송되는 데이터는 데이터 크기를 최소화하고 보안을 강화하기 위해 고유 한 바이너리 형식으로 암호화됩니다. 각 파트너는 장치 인증, 데이터 유효성 검사 등을위한 고유 한 암호화 키를받습니다.


eHouse / eCity가 아닌 장치의 경우 개별 암호화 알고리즘 ( "C" 소스 코드) 통신 전에 데이터를 보호하기위한 마이크로 프로세서의 각 파트너에 대해.

이 경우 데이터는 공용 통신 매체 (인터넷, Air 등)를 통한 양방향 통신 중에 완전히 안전합니다. ).


1.4. 장치의 지원되는 통신 기술

@City IoT 플랫폼 지원 :


@City IoT 플랫폼은 장치 / 노드 전용입니다.


1.5. @City 클라우드 서버

@City 소프트웨어는 Linux 기반 VPS (가상 사설 서버) 또는 인터넷 측 전용 서버에서 작동합니다. 서버 (나중에 서버라고 함) :


VPS의 여러 변형은 다음에 따라 존재합니다.


다음에 따라 수십 개의 전용 서버가 존재합니다.


@City IoT 플랫폼은 단일 고객 전용입니다.


고객간에 서버를 공유 할 수 없기 때문에 보안 액세스 및 성능 문제를 단순화합니다. 이러한 이유로 고객 만이 효과적인 보안, 안정성, 효율성, 데이터 처리량 등에 대한 책임이 있습니다. 성능이 불충분 한 경우 고객은 예상되는 기능 및 성능에 더 최적화 된 더 높은 플랜 (VPS 또는 전용 서버)을 구매할 수 있습니다.

특별한 경우 "Cloud to cloud" 통신은 다중 고객 클라우드 대신 더 큰 영역으로 데이터의 세계화 및 중앙 집중화를 위해 구현 될 수 있습니다.

1.5.1. 서버 및 통신 게이트웨이

@City Server의 통신은 성능 극대화를 위해 저수준 애플리케이션을 기반으로 구현됩니다.

@City Server 애플리케이션의 주요 기능은 다음과 같습니다.

@City Server 소프트웨어는 각 사용자에 대해 동일하며 다른 고객에 대해 사용자 정의 할 수 없습니다.

1.5.2 HTTP LoRaWAN 통합

LoRaWAN 컨트롤러는 LoRaWAN 네트워크 / 애플리케이션 서버에서 사용할 수있는 HTTP 인터페이스 (webhooks)를 통해 @City 클라우드와 통합됩니다.

여러 유형의 네트워크 / 응용 프로그램 서버가 지원됩니다.

TTN (기간 한정 "방송중에" 드라이버에 전송되는 최대 명령 수는 펌웨어 업그레이드를 지원하지 않습니다.)

LoraWAN-Stack (인터넷 액세스가 가능한 물리적 장치에서 호스팅 필요).

LoraServer.Io (인터넷에 액세스 할 수있는 물리적 장치에서 호스팅해야 함-서버로 데이터 만 전송하고 펌웨어 업그레이드를 지원하지 않음)



LoRaWAN 컨트롤러 용 @City Cloud는 다른 인터페이스와 동일한 방식으로 나뉩니다. 이전 장에서 논의되었습니다.

1.5.3. 프런트 엔드 인터페이스

@City Cloud Database에서 맞춤형 데이터를 추출하기위한 PHP 스크립트로 프런트 엔드 인터페이스가 구현됩니다. 원하는 데이터를 제한하기 위해 원래 SQL 쿼리를 기반으로하는 매우 탄력적 인 검색 메커니즘을 사용합니다. 인터페이스는 JavaScript 프론트 엔드 웹 "애플리케이션"에 의한 추가 디코딩 및 처리를 위해 JSON 형식의 쿼리 결과를 제공합니다.

원래 프런트 엔드 인터페이스는 각 사용자에 대해 동일하며 다른 고객에 맞게 사용자 지정할 수 없습니다.

오버레이 인터페이스는 당사 직원이 만들거나 협력하여 고객을위한 맞춤화를 보장 할 수 있습니다.

1.5.3. 서버 액세스 권한

고객 액세스 권한 (물리적 서버에 대한)이 제한됩니다.

"템플릿"디렉토리에 대한 파일 액세스 만 가능 (기본 텍스트 파일-.txt, .js, .css, .html) :

기타 액세스 권한 :


iSys-Intelligent Systems 직원-유지 관리를 위해 루트 계정 및 전체 DB 액세스를 포함하여 전체 서버에 무제한 액세스 할 수 있습니다.

특정 상황에서 iSys는 전체 시스템 보안, 안정성 및 성능에 영향을주지 않는 경우 소스 코드를 확인하고 테스트를 실행 한 후 고객 (PHP 스크립트, 파일)에게 추가적인 제한된 권한을 부여 할 수 있습니다.


1.6. 스마트 기기

1.6.1. CIoT-GSM 기기

당사의 장치에는 통신용 마이크로 컨트롤러 및 GSM / GPS / GNSS 모듈 (2G..4G, NBIoT, CATM1)이 포함되어 있습니다. 마이크로 컨트롤러에는 안전한 OTA 펌웨어 업그레이드를위한 암호화 된 부트 로더가 포함되어 있습니다. 이를 통해 동일한 기반으로 많은 시스템 변형을 만들 수 있습니다. "CIoT 스마트 장치".


1.6.3. BAS, BMS, IoT-이더넷 및 WiFi 기기


이더넷 및 WiFi 컨트롤러를 사용하면 시스템에 대한 IP 기반 통신이 가능합니다 (GSM 운영자에게 데이터 전송 비용을 청구하지 않고). 이 장치에는 암호화 된 부트 로더도 있으며 장치는 기본 인터페이스를 통해 업데이트 될 수 있습니다. WiFi의 경우 메인 서버에서 OTA 펌웨어 업그레이드가 있습니다.


1.6.2. IoT-LoRaWAN 기기

LoRaWAN은 매우 먼 거리 (최대 약 15km). 이 범위는 데이터 전송 속도, 데이터 양, 지역의 도시화 및 장치의 무선 경로 효율성에 따라 다릅니다.

당사의 장치에는 통신을위한 마이크로 컨트롤러 및 LoRaWAN 모듈이 포함됩니다. 마이크로 컨트롤러에는 안전한 OTA 소프트웨어 업데이트를위한 암호화 된 부트 로더가 포함되어 있습니다. 이를 통해 동일한 항목을 기반으로 여러 시스템 변형을 만들 수 있습니다. "IoT smart device". 이 장치는 추가 구독료없이 ISM 개방 대역에서 작동합니다. LoRaWAN 게이트웨이를 사용하여 전체 영역을 인터넷에 액세스 할 수 있어야합니다. 장치 범위 (TTN 서버용으로 구성) 내에있는 기존 LoRaWAN 게이트의 경우이를 통해 정보를 전송할 수 있습니다. 펌웨어 업그레이드에는 자체 네트워크 / 애플리케이션 LoRaWAN 서버와 적절한 통신 범위가 필요합니다.

1.7. B2B (Business to Business) 옵션


비즈니스 및 협력을위한 몇 가지 옵션이 있습니다.

2. @City IoT 플랫폼 기능

@City 플랫폼은 데이터 시각화, 쿼리, 제한 및 처리를위한 사용자 지정 가능한 프런트 엔드 템플릿을 지원합니다 (현재 / 이력 데이터).:


사용자의 프런트 엔드는 사용 가능한 경우 고정 IP 또는 DNS 리디렉션 도메인 / 하위 도메인 / 파일을 통해 액세스 할 수 있습니다.


예시 및 데모 설치 (잠재 고객 만 사용할 수 있음).

플랫폼에 대한 공개 액세스를 활성화하려면 테스트를 원할 때 알려주십시오.

@City 플랫폼과 통신하려면 원격 컴퓨터의 고정 IP가 필요할 수 있습니다.


삼. 메인 페이지

기본 페이지는 보안상의 이유로 의도적으로 비어 있습니다. http : // % YourIP % / IoT /

개별적으로 활성화 및 편집 할 수 있으며 사용 가능한 모든 서비스에 대한 링크를 포함합니다. @City IoT 플랫폼 필요한 경우


4. 주요 양식

기본 양식은 새로운 사전 설정 및 탭을 만들기위한 것입니다.: http : //%IP%/IoT/que.php

각 구성에 대한 결과,보기 및 탭을 만들기위한 초기 양식입니다.




설명 (상단 및 왼쪽에서 오른쪽으로)

4.1. 머리글

4.1.1. 홈 링크- (실제 결과표를 엽니 다)

4.1.2. "엑스" 확인란-쿼리 양식 열기 / 닫기

4.1.3. "V" 확인란-필드 양식 열기 / 닫기

4.1.4. 그래픽 아이콘 -시각화 결과에 대한 링크 (편집 가능)


4.2. 형태:

4.2.1. "엑스" 확인란-전체 쿼리 양식 열기 / 닫기

4.2.2. CSS- 시각화 테마 선택

시각화 테마 수정 CSS 파일이 있어야합니다. "템플릿 / css /" 디렉토리-자동으로 나열됩니다.

4.2.3. 보이는 필드 확인란-필드 필터 목록 표시 / 숨기기

4.2.4. 탭: 추가 또는 제거 할 탭 이름

4.2.5. 추가 / 제거 버튼-이름이있는 탭을 추가하거나 제거합니다.

4.2.6. 코어 선택 단추

테이블에 표시되는 기본 필드를 선택하십시오. 그것 업데이트됩니다 자동으로.

4.2.7. 모두 선택 취소 단추

모든 필드를 선택 취소합니다 (이후 일부 필드를 수동으로 선택해야 함).

4.2.7. 모두 선택 단추

모든 필드를 선택합니다 (다음에 일부 필드를 수동으로 선택 취소해야 함).

4.2.8. 필터 숨기기 -전체 양식 숨기기

이것은 모두 (X) 확인란과 동일합니다.

4.2.9. 실행 버튼-매개 변수 설정 변경

4.2.10. "V" 확인란-표시 / 높은 필터 필드.


4.3. 탭

이름과 사전 설정이있는 개별적으로 생성 된 탭 ( cfg / tabs.cfg 파일).

파일에는 실제로 이름과 URL (tab char로 구분)이 포함되어 있습니다.


4.4. 테이블 내용

필드 필터로 제한된 모든 필드를 표시합니다.


테이블의 필드 :

4.4.1. 운영 - 결과 유형보기

지도-지도상의 매핑 결과 (하나 이상의 필드 선택 가능)

역사 -과거 차트 (하나 이상의 필드를 선택할 수 있음)

tab -테이블 표시 (필드 조합 선택 가능)

-막대 차트에 하나의 필드 만 표시됩니다.

값 중 하나를 누르면 선택한 필드 (현재 행의 경우)와 함께 새 결과가 열립니다.


4.4.2. 복사 (+/- 연결)

이름이 설정된 탭 추가 / 제거 들. 테이블의 동일한 행에서 선택된 필드 만 사용합니다.


4.4.3. 표 셀 링크

다른 필드 이름을 누르면 선택한 행에 대해 선택한 필드의 데이터 시각화가 시작됩니다.


4.5. 데이터 순서


표시되는 필드의 순서는 필드 형식의 순서입니다 (그러나 tm 필드는 항상 텍스트의 끝으로 전송됩니다). 이 순서는 URL 매개 변수를 직접 편집해야만 변경할 수 있습니다 (fields order part).


4.6. 예

예 : 설정 탭 자산 추적 이름을 지정하고지도에 시간과 속도가 표시된지도를 포함합니다.

행을 참조하는 모든 설명 "Map" 텍스트가 "운영" 기둥.

  1. 이름을 입력하시오 "자산 추적" 에 필드 (따옴표 제외)

  2. 행에서 모든 열이 선택 취소되었는지 확인

  3. 고르다 tm, gps_speed_km 행에서만

  4. 프레스 + 행에서 버튼






5. 지도

사전 구성을 통해 MainForm에서 맵을 시작할 수 있습니다.


5.1. 지도 초기화

링크를 사용하여 직접 실행하면 맵 초기화가 수동으로 수행됩니다. > http : //%IP%/IoT/maps.php


  1. 사용자는 모든 필드를 선택 해제해야합니다. 선택 취소 버튼)

  2. 표시된 필드 (예 : Ain5 (스모그 수준) 및 tm (측정 날짜 / 시간)

  3. 프레스 "V" 필드 양식을 숨기는 확인란

  4. 프레스 실행 버튼을 눌러 DB 쿼리를 실행하고 모든 센서 / 장치의 현재 정보를 표시합니다.

  5. 데이터가있는지도는 30 초 이상 후에 업데이트됩니다.


5.2. 쿼리에 대한 선택적 설정

왼쪽에서 오른쪽으로 설명 된 설정입니다 (위 스크린 샷 참조).

5.2.1. MAP 배율 수정 (확대 / 축소 수준)

  1. 배율 (각각 current_scale * 2 또는 current_scale / 2)에 대한 (+/-) 버튼을 사용하여 확대 / 축소 수준을 수정할 수 있습니다. 이 버튼 중 하나를 누르면 자동으로 스케일이 수정됩니다.

  2. 또 다른 방법은 확대 / 축소 수준을 선택하는 것입니다. 콤보 상자 필드를 누르고 실행 단추. 이 경우 전체보기 /지도가 다시로드되고 새로 고쳐집니다 (초기화하는 동안 시간이 걸립니다).

5.2.2. IMEI (장치 필드 선택)

IMEI필드에는 장치 고유 ID 또는 장치의 고유 별칭이 포함됩니다. 기본 설정은 * (별표)는 각 장치의 최신 값과 위치 정보를 보여줍니다.

IMEI를 다른 값으로 설정하면 선택한 장치의 기록 데이터가 표시됩니다. 모바일 및 움직이는 센서에 대해서만 의미가 있습니다. 그렇지 않으면 결과가 동일한 위치의지도에서 겹칩니다.


5.2.3. Lon, Lat (경도, 위도 좌표 필드)

지도의 중앙 위치를 설정합니다. 이 필드는지도에서 마우스 버튼을 눌렀을 때 커서 위치로 설정됩니다.


5.2.4. MAP 스타일 수정 (테마)

지도 스타일 / 테마 선택 가능 Map ComboBox 필드 (예 : 어둡고, 회색, 지형).

다양한지도 테마는 최대 확대 / 축소 수준이 다를 수 있으므로 적절한 테마를 적용하여지도 축척을 늘릴 수 있습니다.


5.2.5. WHERE 절

Where Clause는 MySQL / MariaDB 용 추가 쿼리 문자열 {WHERE part}에 사용됩니다.

이 절은 데이터베이스 결과에 대한 완전한 QUERY 문자열 구성에 고려됩니다. 결과 수를 제한하여 데이터, 시간 및 기타 값을 제한 할 수 있습니다. 이 필드에는 원래 테이블 필드 이름 (alias 아님)을 사용해야합니다. 예 :

  1. gps_speed_km> 10 // 속도가 10km / h 이상입니다.

  2. ain5> 3 // ain5는 3보다 큽니다 (2.5um 입자 수 유지-스모그 수준)

  3. gps_speed_km> 10 및 ain6> 5 // 속도는 10km / h 이상이고 ain6은 5보다 큽니다 (10um 입자 수 유지-스모그 수준).


5.2.6. 실행 (쿼리 실행 버튼)

이 버튼을 누르면 모든 설정, 매개 변수를 변경할 수 있습니다. +/- 버튼).

맵은 처음부터 새로운 사전 설정으로로드됩니다.

현재 쿼리에 사용할 수있는 데이터가 없으면지도가 전혀로드되지 않습니다.

5.2.7. 모두 선택 취소 (쿼리에서 모든 필드 제거)

이 버튼을 누른 후지도에 결과를 표시하려면 하나 이상의 필드를 수동으로 선택해야합니다.


5.2.8. "V" 체크 박스 (필드 열기 / 닫기 양식)

이 확인란은 표시 할 필드 선택기를 표시하거나 숨기는 데 사용됩니다.


5.2.9. "엑스" 확인란 (쿼리 양식 표시 / 숨기기)

이 확인란을 선택하면 ( +/- 버튼)


지도의 결과는 지속적으로 새로 고쳐지고 새로운 값으로 업데이트됩니다.

5.3. 예

예 : 스모그 결과 (차에 설치된 센서) : 스모그 수준 2.5um 입자 (Ain5), 속도 (gps_speed_km), 날짜 / 시간 (tm),지도 (2-지형), 확대 / 축소 수준 16,

Where 절 :

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

// GPS = 유효한 3D 결과 및 날짜 = 2019-02-18 및 속도> 0km / h



6. 테이블에 결과 표시

표에 결과를 표시합니다.

의 위에 "주요 양식" 프레스 "표" 항목, 미리 구성된 테이블을 표시 할 일부 필드를 선택한 후




6.1. 테이블 초기화

링크에서 테이블을 열 때 http : //%IP%/IoT/que.php? func = tabs 사전 설정 초기화가 필요합니다.

보이는 필드를 선택할 수 있습니다 ( "보이는 필드" ) 확인란.



  1. 표시된 필드에 필요한 모든 확인란을 누릅니다.

  2. 확인란을 누릅니다. "보이는 필드" 필드 양식을 숨기려면

  3. Execute 버튼을 눌러 DB 쿼리를 실행하고 테이블을 표시합니다.


6.2. 쿼리에 대한 선택적 설정

설정은 왼쪽에서 오른쪽으로 설명됩니다 (스크린 샷 참조).

6.2.1. 정렬- 정렬 필드 및 오름차순 / 내림차순

정렬 필드는 열 머리글을 누르는 것과 같습니다.

6.2.2. DB / IMEI - 장치 선택

IMEI필드에는 장치 고유 ID 또는 장치의 고유 별칭이 포함됩니다. 값이 비어 있으면 가장 최근 값의 테이블이 표시됩니다.

IMEI를 다른 값으로 설정하면 선택한 장치의 기록 데이터가 표시됩니다.


6.2.3. CSS- 스타일 선택 (시각화 테마)

6.2.4. 보이는 필드 -필드 표시 / 숨기기 양식

6.2.5. 빈 제거- 빈 열 표시 안 함

6.2.6. "엑스" 확인란 (쿼리 양식 표시 / 숨기기)

6.2.7. 어디 절 (데이터 제한 용)

MySQL / MariaDB 추가 쿼리 문자열 {WHERE part}의 접미사입니다.

이 절은 데이터베이스 결과에 대한 완전한 QUERY 문자열을 구성하는 데 고려됩니다. 결과 수를 제한하여 데이터, 시간 및 기타 값을 제한 할 수 있습니다. 이 필드에는 원래 테이블 필드 이름 (alias 아님)을 사용해야합니다. 예 :

  1. gps_speed_km> 10 // 속도가 10km / h 이상입니다.

  2. ain5> 3 // ain5는 3보다 큽니다 (2.5um 입자 수 유지-스모그 수준)

  3. gps_speed_km> 10 및 ain6> 5 // 속도는 10km / h 이상이고 ain6은 5보다 큽니다 (10um 입자 수 유지-스모그 수준).


6.2.8. 코어 선택 버튼 (가장 일반적인 필드 활성화)


6.2.9. 모두 선택 취소 버튼 (쿼리에서 모든 필드 제거)

이 버튼을 누른 후지도에 결과를 표시하려면 하나 이상의 필드를 수동으로 선택해야합니다.


6.2.10. 실행 (쿼리 실행 버튼)

이 버튼을 누르면 모든 설정, 매개 변수를 변경할 수 있습니다. +/- 버튼).

테이블은 새 사전 설정으로 처음부터 다시로드됩니다.



6.2.11. "V" 체크 박스 (필드 열기 / 닫기 양식)

이 확인란은 표시 할 필드 선택기를 표시하거나 숨기는 데 사용됩니다.



테이블의 결과는 다음에 따라 정렬됩니다. 종류 필드 설정. 행 머리글을 눌러 정렬 순서를 변경할 수 있습니다 (한 방향에 대해 한 번, 다른 방향에 대해 두 번).

일부 결과는 열이 추가 시각화 화면에 연결됩니다 (하드 코딩 됨).


장치에 대한 기록 데이터를 표시 할 때 전체 기록 정보를 표시하지 않도록 제한해야합니다. 성능이나 메모리 부족 문제로 이어질 수 있기 때문입니다.


7. 막대 차트.

막대 차트는 "Bar"행의 단일 필드를 눌러 Main Form에서 실행해야합니다.

최대 값으로 정규화 된 정렬 된 막대를 표시하여 가장 높은 순서에서 가장 낮은 순서로 표시합니다.

극단적 인 결과를 빠르게 확인하고 몇 가지 조치를 취하는 데 유용합니다.





마우스 오버 이벤트는 장치에 대한 추가 정보를 표시합니다.


8. 역사 차트.

"History"행 (단일 필드의 경우)에서 선택한 열을 누르면 MainForm에서 히스토리 차트를 시작할 수 있습니다.

"History"행의 여러 필드의 경우 원하는 필드를 선택하고 "실행"열에서 "History"링크를 눌러야합니다.

기록 결과는 제한이 설정되지 않은 지난 24 시간 + 다음 24 시간 (최종 새로 고침 차트의 경우)으로 제한됩니다.

8.1. 역사 차트 초기화


기본 링크에서 열 때 히스토리 차트는 기본 설정 매개 변수없이 링크에서 열 때 다른 결과로 초기화해야합니다.

다양한 항목을 표시하기 위해 여러 필드를 선택할 수 있습니다. 필드 필터 양식에서도 설정할 수 있습니다.




  1. 표시된 필드에 필요한 모든 확인란을 누릅니다.

  2. 확인란을 누릅니다. "보이는 필드" 필드 양식을 숨기려면

  3. Execute 버튼을 눌러 DB 쿼리를 실행하고 테이블을 표시합니다.


8.2. 히스토리 차트의 선택적 설정

위에서부터 왼쪽에서 오른쪽으로 설명 된 항목 (스크린 샷).

8.2.1. IMEI -(이력 데이터를 표시 할 장치 선택)

IMEI필드에는 장치 고유 ID 또는 장치의 고유 별칭이 포함됩니다. * (별표) 값은 의미가없는 가장 최근 값의 표를 보여줍니다.

IMEI를 다른 값으로 설정하면 선택한 장치의 기록 데이터가 표시됩니다.

8.2.2. 최소- 첫 번째 필드의 최소값 제한

8.2.3. 최대- 첫 번째 필드의 최대 값 제한

8.2.4. "V" -필드 표시 / 숨기기 양식

8.2.5. 에서: 최소 날짜 / 시간 설정 (*)

8.2.6. 에: 최대 날짜 / 시간 설정 (*)

8.2.7. "엑스" 확인란 (쿼리 양식 표시 / 숨기기)

8.2.8. "어디"

데이터 결과 제한 조항 MySQL / MariaDB 추가 쿼리 문자열 {WHERE part}.

이 절은 데이터베이스 결과에 대한 완전한 QUERY 문자열 구성에 고려됩니다. 결과 수를 제한하여 데이터, 시간 및 기타 값을 제한 할 수 있습니다. 이 필드와 유효한 SQL 구문에 원래 테이블 필드 이름 (alias 아님)을 사용해야합니다. 예 :

  1. gps_speed_km> 10 // 속도가 10km / h 이상입니다.

  2. ain5> 3 // ain5는 3보다 큽니다 (2.5um 입자 수 유지-스모그 수준)

  3. gps_speed_km> 10 및 ain6> 5 // 속도는 10km / h 이상이고 ain6은 5보다 큽니다 (10um 입자 수 유지-스모그 수준).


8.2.9. 모두 선택 취소 버튼 (쿼리에서 모든 필드 제거)

이 버튼을 누른 후 기록 결과를 표시하려면 하나 이상의 필드를 수동으로 선택해야합니다.


8.2.10. 실행 (쿼리 실행 버튼)

이 버튼을 눌러 설정, 매개 변수를 변경해야합니다 (필드 또는 쿼리 패널 표시 제외). 테이블은 새 사전 설정으로 처음부터 다시로드됩니다.

8.2.11. "V" 체크 박스 (필드 열기 / 닫기 양식)

이 확인란은 표시 할 필드 선택기를 표시하거나 숨기는 데 사용됩니다.


8.3. 바 변형 : (사용 가능한 데이터 만 표시)



8.4. 마디 없는 변형 (동일한 데이터 포함) :



마우스 포인터는 측정 값과 날짜 / 시간을 표시합니다.

9. 웹 브라우저 호환성


기능 / WWW 브라우저

크롬 72

FireFox 65

가장자리

오페라 58

지도

+

+

+

+

역사적인

+

+ (*)

+

+

+

+

+

+

+

+

+

+


*-Firefox는 날짜 / 시간 선택기를 지원하지 않습니다 (텍스트 필드는 적절한 날짜 시간 형식을 사용하여 수동으로 편집해야합니다).

Internet Explorer는 지원되지 않습니다 (사용 가장자리 대신)

다른 웹 브라우저는 테스트되지 않았습니다.



10. 테마 사용자 지정

웹 페이지는 다음 위치에있는 일반 템플릿 파일을 기반으로합니다. "템플릿" "* .template"디렉토리.

또한 각 페이지 유형에는 다음이 포함됩니다.

  1. 페이지의 헤더를 저장하는 "* .head"파일 (링크, 가져온 CSS, JavaScript 파일 등) )

  2. 페이지 바닥 글 (링크 등)을 저장하는 "* .foot"파일 )


시각화 테마는 CSS 파일을 복사하고 수정하여 사용자 선호도에 따라 변경할 수 있습니다. CSS 파일은 다음 위치에 있습니다. "템플릿 / css" 예배 규칙서. 다른 웹 페이지 테마는 예를 들어 최적화를 만드는 데 사용될 수 있습니다. 인쇄, 스마트 폰, PAD 템플릿.


탭le 보기-테마를 완전히 수정하기 위해 CSS 파일을 선택할 수있는 선택 가능한 필드가 있습니다. "템플릿 / css / 탭" 디렉토리).




Map 견해 - 일반 테마는 "지도" 콤보 상자를 입력합니다. 또한 기본 CSS 파일이 있습니다. "templates / css / map.css" 값에 따라 결과 숨기기 / 색상과 같은 몇 가지 추가 기능이 포함되어 있습니다. 이 CSS 파일의 나머지 부분은 실제로 쿼리 및 필드 형식으로 제한됩니다.


대부분의 @City 플랫폼 시각화를위한 PHP 파일 허용 CSS테마의 파일 이름 값이있는 매개 변수 (확장자 없음). 파일은 "templates / css"디렉토리에 있어야하며 이름은 대소 문자를 구분합니다.


테마 표시의 일부 요소는 다음 위치에있는 JavaScript 파일에 직접 있습니다. "템플릿 / js" 예배 규칙서.

본관 @시티 스크립트"@ City.js" 상위 디렉토리에 있습니다. 이것은 수정 가능성이 없습니다 위치, 그러나 스크립트는 "템플릿 / js" 디렉토리가 수정되었습니다. 개별 스크립트를 사용하려면 모든 헤더 파일을 업데이트해야합니다.

11. 알고리즘 업데이트


일부 고유 센서에는 전용 계산 기능이 필요할 수 있습니다.

여러 변형을 업데이트하고 유지할 가능성은 없습니다. @City 서버 소프트웨어, 프런트 엔드 PHP 인터페이스, 많은 문제, 버전, 오류가 발생합니다.

이를 달성하는 가장 쉽고 쉬운 방법은 값 / 설명을 적절하게 표시하기 위해 JavaScript "오버레이"파일을 업데이트하는 것입니다.

원본 JS 스크립트는 열린 텍스트 파일이며 고객의 요구에 따라 채택 될 수 있습니다. 이전 장에서 언급했듯이 복사해야합니다. "템플릿 / js" 고객이 수정할 수있는 액세스 권한이있는 디렉토리.


프로그래밍에 대한 기술적 측면 @시티 system은이 문서의 주제가 아니지만 HTML 및 JS에 대한 기본 지식이있는 웹 개발자는 개별 고객 요구에 맞게 프런트 엔드 웹 응용 프로그램을 사용자 지정할 수 있습니다.


12. 데이터베이스 구조


이름이있는 @City 데이터베이스 "IoT" 또는 "* IoT" 테이블로 나뉩니다 (여기서 별표는 호스팅 서버에 따라 접두사입니다-필요한 경우). 데이터베이스는 링크의 PHPAdmin (웹 애플리케이션)에서 관찰 될 수 있습니다. http : // % IP % / phpmyadmin




장치 별 테이블 설정 (어디 * {asterix}는 IMEI 주소-고유 ID) :

기타 테이블 :



12.1. "ithings_"및 "*"테이블 구조

12.2. 장치 명령 (이벤트) 대기열 "* _c"테이블-구조


이 테이블은 각 장치에 대한 이벤트 / 명령 대기열이며 다음과 같은 구조를 갖습니다.



12.3. 데이터베이스에서 결과 액세스-중간 수준 (데이터 읽기)


프런트 엔드 웹 응용 프로그램없이 데이터에 액세스 할 수 있습니다. @City 시스템에는 중간 수준의 기능이있는 스크립트가 포함되어 있습니다. 결과는 JSON 형식으로 반환됩니다.


12.3.1. 모든 장치의 현재 상태 가져 오기

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


쿼리는 전체를 반환합니다. "_ithings" JSON 형식의 테이블 (모든 장치의 현재 상태) :

[{ "국가":"", "시티":"", "대륙":"", "국가":"", "부위":"", "소구역":"", "소구역":"", "시티":"", "지구":"", "거리":"", "street_nr":"", "item_nr":"", "gps_lat":"0000.0000N", "gps_long":"00000.0000E", "tm":"2019-02-10 12:56:23", "창조":"2019-02-09 18:12:38", "마지막":"0000-00-00 00:00:00", "이벤트":"", "사용자":"", "통과하다":"", "imei":"351580051067110", "sn":"", "상태":"73000200000f360033026800240000002c002c002dffffffffffffffff5b63000001c1000001c2000000000000000009250a4f0a760a7a0a750a780a7e0000031d032205fc34029b025c025600460eb305320000", "해시 코드":"", "addr":"", "fwnr":"", "장애인":"", "gsm_nr":"", "공급 업체":"", "시간대":"", "dst":"", "rssi":"91", "rsrp":"99", "gps_lat":"0000.0000N", "gps_long":"00000.0000E", "gps_hdop":"", "gps_alt":"", "gps_fix":"4", "gps_cog":"", "gps_speed_km":"", "gps_sat":"", "이벤트":"", "out1":"0", "out2":"0", "out3":"0", "out4":"0", "out5":"0", "out6":"0", "out7":"0", "out8":"0", "out9":"0", "out10":"1", "out11":"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", "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", "센스 7":"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", "text1":"", "text2":"", "text3":"", "text4":"", "text5":"", "text6":"" }]

12.3.2. 장치에 대한 기록 데이터 가져 오기

IMEI 번호로 단일 장치의 기록 데이터 쿼리 :

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


전체 테이블에는 수백만 개의 행이 포함될 수 있으므로 서버를 중단하지 않도록 WHERE 절로 제한해야합니다.

추가 매개 변수 URL 매개 변수 :

func -imeijson

imei -기기의 IMEI

-결과에 표시 할 필드 (쉼표로 구분 된 목록)

-목록의 첫 번째 필드에 대한 최소값

최대 -목록의 첫 번째 필드에 대한 최대 값

s또는t - 정렬 필드

tm -필드가 결과에 자동으로 추가됩니다.

where -데이터를 제한하는 where 절


예:

다음 결과를 얻고 싶다

장치 용 imei=356345080018095

필드 표시 : ain5, ain6, gps_lat, gps_long

및 제한 ain5 범위 ( 1, 10000 )-목록의 첫 번째 필드 여야합니다.

gps 유효한 데이터가있다 (gps_fix = 3)

및 날짜 / 시간 (tm) from2019-02-14 23:00:19 to 2019-02-15 00:00:00


구성된 URL 문자열 :

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


쿼리 결과 :

[{ "ain5":"66","ain6":"68","gps_lat":"5202.7326N","gps_long":"02115.8073K","tm":"2019-02-14 23:04:31" }, { "ain5":"67","ain6":"76","gps_lat":"5202.7328N","gps_long":"02115.8075K","tm":"2019-02-14 23:05:42" }, { "ain5":"63","ain6":"77","gps_lat":"5202.7328N","gps_long":"02115.8074K","tm":"2019-02-14 23:06:05" }, { "ain5":"58","ain6":"77","gps_lat":"5202.7328N","gps_long":"02115.8075K","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. 장치 목록 가져 오기-제한이있는 현재 상태에서 단일 필드

이 함수는 "_ithings"테이블에서 제한된 데이터를 반환합니다.


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



매개 변수 :

func -fieldjson

-결과에 표시 할 필드- imei tm 자동으로 추가됩니다

-필드의 최소값

최대 -필드의 최대 값


위의 쿼리 문자열에 대해 다음을 반환합니다. 결과 ain5, imei, tm 필드:

만약 ain5 범위 내에 있음 (13,5000)


쿼리 결과 :

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