@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 인 현재 상태에서 단일 필드
@City IoT Cloud Platform 전용 "마이크로 클라우드" 개인 고객을위한 시스템. 플랫폼은 공유 할 수 없으며 한 명의 고객 만 물리적 또는 가상 서버 (VPS 또는 전용 서버)에 액세스 할 수 있습니다. 고객은 유럽 또는 전 세계에있는 수십 개의 데이터 센터 중 하나를 선택할 수 있습니다.
@City IoT 플랫폼은 다음 iSys.PL 제품에 전념합니다.
IoT-RF / LoRaWAN (사물 인터넷)
CIoT-GSM / 2G / 3G / 4G / CATM1 / NBIoT (Cell Internet of Things)
와이파이
이더넷
@City (eCity) Cloud IoT Platform은 IP IoT 제품을위한 다양한 크기의 시스템입니다. @City 하드웨어 또는 CioT 장치 ) :
@시티
@빛
@Metering
@자취
@AirQ
@큰 상자
@City IoT 플랫폼은 통신을 위해 다음 프로토콜을 지원합니다.
UDP-CIoT 센서 / 장치 (특히 NBIoT)에 권장-최저 데이터 사용률
TCPIP-양방향 통신이있는 장치에 권장 됨-핸드 쉐이킹 / 확인
HTTP-데이터 액세스 / 시각화 / 내보내기 /에만 권장 "클라우드 투 클라우드"
HTTP 웹훅-LoRaWAN 네트워크 / 애플리케이션 서버와 @City Cloud 간의 LoRaWAN 통신용.
컨트롤러에서 클라우드 서버로 또는 그 반대로 전송되는 데이터는 데이터 크기를 최소화하고 보안을 강화하기 위해 고유 한 바이너리 형식으로 암호화됩니다. 각 파트너는 장치 인증, 데이터 유효성 검사 등을위한 고유 한 암호화 키를받습니다.
eHouse / eCity가 아닌 장치의 경우 개별 암호화 알고리즘 ( "C" 소스 코드) 통신 전에 데이터를 보호하기위한 마이크로 프로세서의 각 파트너에 대해.
이 경우 데이터는 공용 통신 매체 (인터넷, Air 등)를 통한 양방향 통신 중에 완전히 안전합니다. ).
@City IoT 플랫폼 지원 :
GSM : 2G, 3G, 4G (LTE), CATM1 (LTEM1), NBIoT-장치 (UDP / TCPIP 통신)
LoRaWAN 장치 (HTTP 웹훅)-LoRaWAN 게이트웨이 및 LoRaWAN 네트워크 / 애플리케이션 서버를 통해
이더넷 컨트롤러 (UDP / TCP 통신)
WiFi 컨트롤러 (UDP / TCP 통신)
미래 IP 제품
추가 로컬 @ City / eHouse를 통한 비 IP 제품 .PRO 하드웨어 게이트웨이
@City IoT 플랫폼은 장치 / 노드 전용입니다.
기본 iSys 제품 :
CIoT (GSM / 2G / 3G / 4G / CATM1 / NBIoT)
IoT (LoRaWAN)
WiFi-@City 플랫폼 전용 제품
이더넷-@City 플랫폼 전용 제품
공동 제작 제품 (iSys 라이선스 및 외부 브랜드에 따라 타사에서 제조)
프랜차이즈 제품 (iSys 로고가있는 iSys 라이센스에 따라 타사에서 제조)
@City 소프트웨어는 Linux 기반 VPS (가상 사설 서버) 또는 인터넷 측 전용 서버에서 작동합니다. 서버 (나중에 서버라고 함) :
개인 / 공개 액세스
전체 장치 수
장치 상태 빈도 업데이트
데이터 재생률
VPS의 여러 변형은 다음에 따라 존재합니다.
가격
데이터 센터 지역화
가상 프로세서 코어 (1-8)
가상 RAM (1-32GB)
SSD 디스크 (20GB-1TB)
다음에 따라 수십 개의 전용 서버가 존재합니다.
가격
데이터 센터 지역화
프로세서 코어 (4 .. 32)
RAM (16 .. 512GB)
SSD / HDD (256GB .. 8TB)
@City IoT 플랫폼은 단일 고객 전용입니다.
지방 정부 및 당국 (시, 커뮤니티, 국가)
B2B (타사 소유자 용)
고객간에 서버를 공유 할 수 없기 때문에 보안 액세스 및 성능 문제를 단순화합니다. 이러한 이유로 고객 만이 효과적인 보안, 안정성, 효율성, 데이터 처리량 등에 대한 책임이 있습니다. 성능이 불충분 한 경우 고객은 예상되는 기능 및 성능에 더 최적화 된 더 높은 플랜 (VPS 또는 전용 서버)을 구매할 수 있습니다.
특별한 경우 "Cloud to cloud" 통신은 다중 고객 클라우드 대신 더 큰 영역으로 데이터의 세계화 및 중앙 집중화를 위해 구현 될 수 있습니다.
@City Server의 통신은 성능 극대화를 위해 저수준 애플리케이션을 기반으로 구현됩니다.
@City Server 애플리케이션의 주요 기능은 다음과 같습니다.
장치에서 비동기식으로 데이터 수신 (프로토콜 사용 : UDP, TCP IP, HTTP)
장치와 클라우드 간의 데이터 사용 및 비용 최소화 (저수준 통신 프로토콜 UDP, TCP IP 사용)
모든 통신 매체를 통해 장치의 암호화 된 상태 수신
상태를 해독하여 장치의 데이터 인증 및 유효성 검사
장치 상태를 디코딩하고 MariaDB / MySQL 테이블로 직접 업데이트 (원시 데이터 형식)
현재 데이터 테이블 (각 장치의 최신 상태 만 포함)
기록 데이터 테이블 (단일 장치에 대한 모든 상태 포함)
보류중인 명령 (이벤트)을 장치로 전송
핸드 셰이 킹, 확인 및 확인 보장
@City Server 소프트웨어는 각 사용자에 대해 동일하며 다른 고객에 대해 사용자 정의 할 수 없습니다.
LoRaWAN 컨트롤러는 LoRaWAN 네트워크 / 애플리케이션 서버에서 사용할 수있는 HTTP 인터페이스 (webhooks)를 통해 @City 클라우드와 통합됩니다.
여러 유형의 네트워크 / 응용 프로그램 서버가 지원됩니다.
TTN (기간 한정 "방송중에" 드라이버에 전송되는 최대 명령 수는 펌웨어 업그레이드를 지원하지 않습니다.)
LoraWAN-Stack (인터넷 액세스가 가능한 물리적 장치에서 호스팅 필요).
LoraServer.Io (인터넷에 액세스 할 수있는 물리적 장치에서 호스팅해야 함-서버로 데이터 만 전송하고 펌웨어 업그레이드를 지원하지 않음)
LoRaWAN 컨트롤러 용 @City Cloud는 다른 인터페이스와 동일한 방식으로 나뉩니다. 이전 장에서 논의되었습니다.
@City Cloud Database에서 맞춤형 데이터를 추출하기위한 PHP 스크립트로 프런트 엔드 인터페이스가 구현됩니다. 원하는 데이터를 제한하기 위해 원래 SQL 쿼리를 기반으로하는 매우 탄력적 인 검색 메커니즘을 사용합니다. 인터페이스는 JavaScript 프론트 엔드 웹 "애플리케이션"에 의한 추가 디코딩 및 처리를 위해 JSON 형식의 쿼리 결과를 제공합니다.
원래 프런트 엔드 인터페이스는 각 사용자에 대해 동일하며 다른 고객에 맞게 사용자 지정할 수 없습니다.
오버레이 인터페이스는 당사 직원이 만들거나 협력하여 고객을위한 맞춤화를 보장 할 수 있습니다.
고객 액세스 권한 (물리적 서버에 대한)이 제한됩니다.
"템플릿"디렉토리에 대한 파일 액세스 만 가능 (기본 텍스트 파일-.txt, .js, .css, .html) :
순수 HTML 파일 추가, 제거, 수정 (프런트 엔드 GUI / 인터페이스 개발)
순수 JavaScript 파일 추가, 제거, 수정 (프런트 엔드 GUI / 인터페이스 개발 및 알고리즘)
순수 CSS 파일 추가, 제거, 수정 (프런트 엔드-사용자 정의보기 / 테마)
템플릿의 텍스트 파일 추가, 제거, 수정 (프런트 엔드 GUI)
탭, 바로 가기, 데이터 결과 링크 추가, 제거, 수정
기타 액세스 권한 :
모든 장치 데이터가 저장되는 @City Cloud Database MySQL / MariaDB에 대한 전체 액세스
웹 서비스에 대한 액세스는 고객에 대해 정의됩니다 (자격 증명).
고객은 제 3 자에게 자격 증명을 전달할 수 없습니다 (결과에 대한 다중 액세스는 전체 시스템의 성능, 안정성 및 보안에 영향을 미칠 수 있음).
특별한 상황과 고성능 전용 서버를 사용하는 경우 가장 최근 데이터를 관찰하도록 공개 계정을 설정할 수 있습니다 (기록 아님).
사용자는 @City 서버의 성능에 영향을 미치지 않도록 자신의 MySQL 서버에 데이터를 복제하고 자체 데이터 분석 및 처리를 수행 할 수 있습니다.
iSys-Intelligent Systems 직원-유지 관리를 위해 루트 계정 및 전체 DB 액세스를 포함하여 전체 서버에 무제한 액세스 할 수 있습니다.
특정 상황에서 iSys는 전체 시스템 보안, 안정성 및 성능에 영향을주지 않는 경우 소스 코드를 확인하고 테스트를 실행 한 후 고객 (PHP 스크립트, 파일)에게 추가적인 제한된 권한을 부여 할 수 있습니다.
당사의 장치에는 통신용 마이크로 컨트롤러 및 GSM / GPS / GNSS 모듈 (2G..4G, NBIoT, CATM1)이 포함되어 있습니다. 마이크로 컨트롤러에는 안전한 OTA 펌웨어 업그레이드를위한 암호화 된 부트 로더가 포함되어 있습니다. 이를 통해 동일한 기반으로 많은 시스템 변형을 만들 수 있습니다. "CIoT 스마트 장치".
이더넷 및 WiFi 컨트롤러를 사용하면 시스템에 대한 IP 기반 통신이 가능합니다 (GSM 운영자에게 데이터 전송 비용을 청구하지 않고). 이 장치에는 암호화 된 부트 로더도 있으며 장치는 기본 인터페이스를 통해 업데이트 될 수 있습니다. WiFi의 경우 메인 서버에서 OTA 펌웨어 업그레이드가 있습니다.
LoRaWAN은 매우 먼 거리 (최대 약 15km). 이 범위는 데이터 전송 속도, 데이터 양, 지역의 도시화 및 장치의 무선 경로 효율성에 따라 다릅니다.
당사의 장치에는 통신을위한 마이크로 컨트롤러 및 LoRaWAN 모듈이 포함됩니다. 마이크로 컨트롤러에는 안전한 OTA 소프트웨어 업데이트를위한 암호화 된 부트 로더가 포함되어 있습니다. 이를 통해 동일한 항목을 기반으로 여러 시스템 변형을 만들 수 있습니다. "IoT smart device". 이 장치는 추가 구독료없이 ISM 개방 대역에서 작동합니다. LoRaWAN 게이트웨이를 사용하여 전체 영역을 인터넷에 액세스 할 수 있어야합니다. 장치 범위 (TTN 서버용으로 구성) 내에있는 기존 LoRaWAN 게이트의 경우이를 통해 정보를 전송할 수 있습니다. 펌웨어 업그레이드에는 자체 네트워크 / 애플리케이션 LoRaWAN 서버와 적절한 통신 범위가 필요합니다.
비즈니스 및 협력을위한 몇 가지 옵션이 있습니다.
수입 / 수출 준비된 제품 (배전반, 장치)-최종 제품
OEM 제품 (PCB, 컨트롤러 등) 수입 / 수출-중간 제품, 예비 부품
프랜차이즈-iSys-Intelligent Systems Brands에 따라 현지 시장 (프로그래밍 된 마이크로 컨트롤러 만 제공)에 대한 라이센스를 기반으로 한 생산
공동 제작-(위와 같음) 외부 브랜드에 속함
@City 플랫폼은 데이터 시각화, 쿼리, 제한 및 처리를위한 사용자 지정 가능한 프런트 엔드 템플릿을 지원합니다 (현재 / 이력 데이터).:
지도에서 선택한 데이터 시각화 (지리적 위치 파악)
선택한 데이터와 결과를 테이블에 표시합니다.
선택한 데이터를 막대 차트로 표시
선택한 데이터를 기록 차트에 표시합니다.
타사 응용 프로그램으로 데이터 내보내기 및 추가 처리
다른 기능은 개별 요청에 따라 업데이트됩니다.
사용자의 프런트 엔드는 사용 가능한 경우 고정 IP 또는 DNS 리디렉션 도메인 / 하위 도메인 / 파일을 통해 액세스 할 수 있습니다.
예시 및 데모 설치 (잠재 고객 만 사용할 수 있음).
플랫폼에 대한 공개 액세스를 활성화하려면 테스트를 원할 때 알려주십시오.
@City 플랫폼과 통신하려면 원격 컴퓨터의 고정 IP가 필요할 수 있습니다.
기본 페이지는 보안상의 이유로 의도적으로 비어 있습니다. http : // % YourIP % / IoT /
개별적으로 활성화 및 편집 할 수 있으며 사용 가능한 모든 서비스에 대한 링크를 포함합니다. @City IoT 플랫폼 필요한 경우
기본 양식은 새로운 사전 설정 및 탭을 만들기위한 것입니다.: http : //%IP%/IoT/que.php
각 구성에 대한 결과,보기 및 탭을 만들기위한 초기 양식입니다.
설명 (상단 및 왼쪽에서 오른쪽으로)
시각화 테마 수정 CSS 파일이 있어야합니다. "템플릿 / css /" 디렉토리-자동으로 나열됩니다.
테이블에 표시되는 기본 필드를 선택하십시오. 그것 업데이트됩니다 자동으로.
모든 필드를 선택 취소합니다 (이후 일부 필드를 수동으로 선택해야 함).
모든 필드를 선택합니다 (다음에 일부 필드를 수동으로 선택 취소해야 함).
이것은 모두 (X) 확인란과 동일합니다.
이름과 사전 설정이있는 개별적으로 생성 된 탭 ( cfg / tabs.cfg 파일).
파일에는 실제로 이름과 URL (tab char로 구분)이 포함되어 있습니다.
필드 필터로 제한된 모든 필드를 표시합니다.
테이블의 필드 :
지도-지도상의 매핑 결과 (하나 이상의 필드 선택 가능)
역사 -과거 차트 (하나 이상의 필드를 선택할 수 있음)
tab -테이블 표시 (필드 조합 선택 가능)
바 -막대 차트에 하나의 필드 만 표시됩니다.
값 중 하나를 누르면 선택한 필드 (현재 행의 경우)와 함께 새 결과가 열립니다.
이름이 설정된 탭 추가 / 제거 탭 들. 테이블의 동일한 행에서 선택된 필드 만 사용합니다.
다른 필드 이름을 누르면 선택한 행에 대해 선택한 필드의 데이터 시각화가 시작됩니다.
표시되는 필드의 순서는 필드 형식의 순서입니다 (그러나 tm 필드는 항상 텍스트의 끝으로 전송됩니다). 이 순서는 URL 매개 변수를 직접 편집해야만 변경할 수 있습니다 (fields order part).
예 : 설정 탭 자산 추적 이름을 지정하고지도에 시간과 속도가 표시된지도를 포함합니다.
행을 참조하는 모든 설명 "Map" 텍스트가 "운영" 기둥.
이름을 입력하시오 "자산 추적" 에 탭 필드 (따옴표 제외)
행에서 모든 열이 선택 취소되었는지 확인
고르다 tm, gps_speed_km 행에서만
프레스 + 행에서 버튼
사전 구성을 통해 MainForm에서 맵을 시작할 수 있습니다.
링크를 사용하여 직접 실행하면 맵 초기화가 수동으로 수행됩니다. > http : //%IP%/IoT/maps.php
사용자는 모든 필드를 선택 해제해야합니다. 선택 취소 버튼)
표시된 필드 (예 : Ain5 (스모그 수준) 및 tm (측정 날짜 / 시간)
프레스 "V" 필드 양식을 숨기는 확인란
프레스 실행 버튼을 눌러 DB 쿼리를 실행하고 모든 센서 / 장치의 현재 정보를 표시합니다.
데이터가있는지도는 30 초 이상 후에 업데이트됩니다.
왼쪽에서 오른쪽으로 설명 된 설정입니다 (위 스크린 샷 참조).
배율 (각각 current_scale * 2 또는 current_scale / 2)에 대한 (+/-) 버튼을 사용하여 확대 / 축소 수준을 수정할 수 있습니다. 이 버튼 중 하나를 누르면 자동으로 스케일이 수정됩니다.
또 다른 방법은 확대 / 축소 수준을 선택하는 것입니다. 줌 콤보 상자 필드를 누르고 실행 단추. 이 경우 전체보기 /지도가 다시로드되고 새로 고쳐집니다 (초기화하는 동안 시간이 걸립니다).
IMEI필드에는 장치 고유 ID 또는 장치의 고유 별칭이 포함됩니다. 기본 설정은 * (별표)는 각 장치의 최신 값과 위치 정보를 보여줍니다.
IMEI를 다른 값으로 설정하면 선택한 장치의 기록 데이터가 표시됩니다. 모바일 및 움직이는 센서에 대해서만 의미가 있습니다. 그렇지 않으면 결과가 동일한 위치의지도에서 겹칩니다.
지도의 중앙 위치를 설정합니다. 이 필드는지도에서 마우스 버튼을 눌렀을 때 커서 위치로 설정됩니다.
지도 스타일 / 테마 선택 가능 Map ComboBox 필드 (예 : 어둡고, 회색, 지형).
다양한지도 테마는 최대 확대 / 축소 수준이 다를 수 있으므로 적절한 테마를 적용하여지도 축척을 늘릴 수 있습니다.
Where Clause는 MySQL / MariaDB 용 추가 쿼리 문자열 {WHERE part}에 사용됩니다.
이 절은 데이터베이스 결과에 대한 완전한 QUERY 문자열 구성에 고려됩니다. 결과 수를 제한하여 데이터, 시간 및 기타 값을 제한 할 수 있습니다. 이 필드에는 원래 테이블 필드 이름 (alias 아님)을 사용해야합니다. 예 :
gps_speed_km> 10 // 속도가 10km / h 이상입니다.
ain5> 3 // ain5는 3보다 큽니다 (2.5um 입자 수 유지-스모그 수준)
gps_speed_km> 10 및 ain6> 5 // 속도는 10km / h 이상이고 ain6은 5보다 큽니다 (10um 입자 수 유지-스모그 수준).
이 버튼을 누르면 모든 설정, 매개 변수를 변경할 수 있습니다. +/- 버튼).
맵은 처음부터 새로운 사전 설정으로로드됩니다.
현재 쿼리에 사용할 수있는 데이터가 없으면지도가 전혀로드되지 않습니다.
이 버튼을 누른 후지도에 결과를 표시하려면 하나 이상의 필드를 수동으로 선택해야합니다.
이 확인란은 표시 할 필드 선택기를 표시하거나 숨기는 데 사용됩니다.
이 확인란을 선택하면 ( +/- 버튼)
지도의 결과는 지속적으로 새로 고쳐지고 새로운 값으로 업데이트됩니다.
예 : 스모그 결과 (차에 설치된 센서) : 스모그 수준 2.5um 입자 (Ain5), 속도 (gps_speed_km), 날짜 / 시간 (tm),지도 (2-지형), 확대 / 축소 수준 16,
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
표에 결과를 표시합니다.
의 위에 "주요 양식" 프레스 "표" 항목, 미리 구성된 테이블을 표시 할 일부 필드를 선택한 후
링크에서 테이블을 열 때 http : //%IP%/IoT/que.php? func = tabs 사전 설정 초기화가 필요합니다.
보이는 필드를 선택할 수 있습니다 ( "보이는 필드" ) 확인란.
표시된 필드에 필요한 모든 확인란을 누릅니다.
확인란을 누릅니다. "보이는 필드" 필드 양식을 숨기려면
Execute 버튼을 눌러 DB 쿼리를 실행하고 테이블을 표시합니다.
설정은 왼쪽에서 오른쪽으로 설명됩니다 (스크린 샷 참조).
정렬 필드는 열 머리글을 누르는 것과 같습니다.
IMEI필드에는 장치 고유 ID 또는 장치의 고유 별칭이 포함됩니다. 값이 비어 있으면 가장 최근 값의 테이블이 표시됩니다.
IMEI를 다른 값으로 설정하면 선택한 장치의 기록 데이터가 표시됩니다.
MySQL / MariaDB 추가 쿼리 문자열 {WHERE part}의 접미사입니다.
이 절은 데이터베이스 결과에 대한 완전한 QUERY 문자열을 구성하는 데 고려됩니다. 결과 수를 제한하여 데이터, 시간 및 기타 값을 제한 할 수 있습니다. 이 필드에는 원래 테이블 필드 이름 (alias 아님)을 사용해야합니다. 예 :
gps_speed_km> 10 // 속도가 10km / h 이상입니다.
ain5> 3 // ain5는 3보다 큽니다 (2.5um 입자 수 유지-스모그 수준)
gps_speed_km> 10 및 ain6> 5 // 속도는 10km / h 이상이고 ain6은 5보다 큽니다 (10um 입자 수 유지-스모그 수준).
이 버튼을 누른 후지도에 결과를 표시하려면 하나 이상의 필드를 수동으로 선택해야합니다.
이 버튼을 누르면 모든 설정, 매개 변수를 변경할 수 있습니다. +/- 버튼).
테이블은 새 사전 설정으로 처음부터 다시로드됩니다.
이 확인란은 표시 할 필드 선택기를 표시하거나 숨기는 데 사용됩니다.
테이블의 결과는 다음에 따라 정렬됩니다. 종류 필드 설정. 행 머리글을 눌러 정렬 순서를 변경할 수 있습니다 (한 방향에 대해 한 번, 다른 방향에 대해 두 번).
일부 결과는 열이 추가 시각화 화면에 연결됩니다 (하드 코딩 됨).
장치에 대한 기록 데이터를 표시 할 때 전체 기록 정보를 표시하지 않도록 제한해야합니다. 성능이나 메모리 부족 문제로 이어질 수 있기 때문입니다.
막대 차트는 "Bar"행의 단일 필드를 눌러 Main Form에서 실행해야합니다.
최대 값으로 정규화 된 정렬 된 막대를 표시하여 가장 높은 순서에서 가장 낮은 순서로 표시합니다.
극단적 인 결과를 빠르게 확인하고 몇 가지 조치를 취하는 데 유용합니다.
마우스 오버 이벤트는 장치에 대한 추가 정보를 표시합니다.
"History"행 (단일 필드의 경우)에서 선택한 열을 누르면 MainForm에서 히스토리 차트를 시작할 수 있습니다.
"History"행의 여러 필드의 경우 원하는 필드를 선택하고 "실행"열에서 "History"링크를 눌러야합니다.
기록 결과는 제한이 설정되지 않은 지난 24 시간 + 다음 24 시간 (최종 새로 고침 차트의 경우)으로 제한됩니다.
기본 링크에서 열 때 히스토리 차트는 기본 설정 매개 변수없이 링크에서 열 때 다른 결과로 초기화해야합니다.
다양한 항목을 표시하기 위해 여러 필드를 선택할 수 있습니다. 필드 필터 양식에서도 설정할 수 있습니다.
표시된 필드에 필요한 모든 확인란을 누릅니다.
확인란을 누릅니다. "보이는 필드" 필드 양식을 숨기려면
Execute 버튼을 눌러 DB 쿼리를 실행하고 테이블을 표시합니다.
위에서부터 왼쪽에서 오른쪽으로 설명 된 항목 (스크린 샷).
IMEI필드에는 장치 고유 ID 또는 장치의 고유 별칭이 포함됩니다. * (별표) 값은 의미가없는 가장 최근 값의 표를 보여줍니다.
IMEI를 다른 값으로 설정하면 선택한 장치의 기록 데이터가 표시됩니다.
데이터 결과 제한 조항 MySQL / MariaDB 추가 쿼리 문자열 {WHERE part}.
이 절은 데이터베이스 결과에 대한 완전한 QUERY 문자열 구성에 고려됩니다. 결과 수를 제한하여 데이터, 시간 및 기타 값을 제한 할 수 있습니다. 이 필드와 유효한 SQL 구문에 원래 테이블 필드 이름 (alias 아님)을 사용해야합니다. 예 :
gps_speed_km> 10 // 속도가 10km / h 이상입니다.
ain5> 3 // ain5는 3보다 큽니다 (2.5um 입자 수 유지-스모그 수준)
gps_speed_km> 10 및 ain6> 5 // 속도는 10km / h 이상이고 ain6은 5보다 큽니다 (10um 입자 수 유지-스모그 수준).
이 버튼을 누른 후 기록 결과를 표시하려면 하나 이상의 필드를 수동으로 선택해야합니다.
이 버튼을 눌러 설정, 매개 변수를 변경해야합니다 (필드 또는 쿼리 패널 표시 제외). 테이블은 새 사전 설정으로 처음부터 다시로드됩니다.
이 확인란은 표시 할 필드 선택기를 표시하거나 숨기는 데 사용됩니다.
마우스 포인터는 측정 값과 날짜 / 시간을 표시합니다.
기능 / WWW 브라우저 | 크롬 72 | FireFox 65 | 가장자리 | 오페라 58 |
지도 | + | + | + | + |
역사적인 | + | + (*) | + | + |
바 | + | + | + | + |
탭 | + | + | + | + |
*-Firefox는 날짜 / 시간 선택기를 지원하지 않습니다 (텍스트 필드는 적절한 날짜 시간 형식을 사용하여 수동으로 편집해야합니다).
Internet Explorer는 지원되지 않습니다 (사용 가장자리 대신)
다른 웹 브라우저는 테스트되지 않았습니다.
웹 페이지는 다음 위치에있는 일반 템플릿 파일을 기반으로합니다. "템플릿" "* .template"디렉토리.
또한 각 페이지 유형에는 다음이 포함됩니다.
페이지의 헤더를 저장하는 "* .head"파일 (링크, 가져온 CSS, JavaScript 파일 등) )
페이지 바닥 글 (링크 등)을 저장하는 "* .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" 디렉토리가 수정되었습니다. 개별 스크립트를 사용하려면 모든 헤더 파일을 업데이트해야합니다.
일부 고유 센서에는 전용 계산 기능이 필요할 수 있습니다.
여러 변형을 업데이트하고 유지할 가능성은 없습니다. @City 서버 소프트웨어, 프런트 엔드 PHP 인터페이스, 많은 문제, 버전, 오류가 발생합니다.
이를 달성하는 가장 쉽고 쉬운 방법은 값 / 설명을 적절하게 표시하기 위해 JavaScript "오버레이"파일을 업데이트하는 것입니다.
원본 JS 스크립트는 열린 텍스트 파일이며 고객의 요구에 따라 채택 될 수 있습니다. 이전 장에서 언급했듯이 복사해야합니다. "템플릿 / js" 고객이 수정할 수있는 액세스 권한이있는 디렉토리.
프로그래밍에 대한 기술적 측면 @시티 system은이 문서의 주제가 아니지만 HTML 및 JS에 대한 기본 지식이있는 웹 개발자는 개별 고객 요구에 맞게 프런트 엔드 웹 응용 프로그램을 사용자 지정할 수 있습니다.
이름이있는 @City 데이터베이스 "IoT" 또는 "* IoT" 테이블로 나뉩니다 (여기서 별표는 호스팅 서버에 따라 접두사입니다-필요한 경우). 데이터베이스는 링크의 PHPAdmin (웹 애플리케이션)에서 관찰 될 수 있습니다. http : // % IP % / phpmyadmin
장치 별 테이블 설정 (어디 * {asterix}는 IMEI 주소-고유 ID) :
"*_티" -현재 사용자 인증을위한 토큰 (단일 고객 클라우드에는 사용되지 않음)
"*_씨" -명령 (이벤트) 대기열-장치로 전송
"*" -모든 디코딩 된 상태 결과.
기타 테이블 :
"ithings_" 테이블-모든 장치의 디코딩 된 현재 상태를 포함합니다. "*" 테이블). 구조 ithings_ 테이블은 거의 동일합니다 "*" 테이블. "ithings_" 우편 주소 및 설명에 대한 추가 필드가 있습니다.
"users"테이블은 제한되며 수정해야합니다.
"idx" - 인덱스
"tm" -자동 타임 스탬프
"dt" -유닉스 타임 스탬프
"imei" -고유 한 장치 주소
"rssi" -RSSI 신호 레벨
"rsrp" -RSRP 신호
"이벤트" -컨트롤러로 전송되는 대기 이벤트
"out1" .. "out16" -디코딩 된 출력 상태
"in1" .. "in16" -디코딩 된 입력 상태
"ain1" .. "ain8" -디코딩 된 ADC 값 (RAW)
"sens1" .. "sens8" -변환 된 센서 값 (장치 유형에 따라 다름)
"dimm1" .. "dimm8" -디코딩 된 디머 값 (장치 유형에 따라 다름)
"int1" .. "int6" -디코딩 된 카운터 값 (장치 유형에 따라 다름)
"text1" .. "text6" -디코딩 된 텍스트 값 (장치 유형에 따라 다름)
"창조" -장치 생성 날짜 / 시간
"마지막" -마지막 날짜 / 시간
"사용자"-향후 사용
"pass"-향후 사용
"sn"-gsm 일련 번호
"상태" -현재 컨트롤러 상태가 16 진수 형식으로 디코딩되지 않음
"hash_code"-향후 사용
"addr"-짧은 장치 주소
"fwnr"-펌웨어 nr
"disabled"-비활성화 된 장치 (수행되지 않음)
"gsm_nr"-CIoT gsm 번호
"vendor"-공급 업체 코드 (프랜차이즈 / 공동 제작 용)
"timezone"-시간대 오프셋
"dst"-일일 절약 설정 사용
"gps_lat" -GPS 위도
"gps_long" -GPS 경도
"gps_hdop" -GPS HDOP
"gps_alt" -GPS 고도
"gps_fix" -GPS 고정 (유효한 결과를 얻으려면 3이어야 함)
"gps_cog" -GPS 코그
"gps_speed_km" -GPS 속도 ([km / h])
"gps_sat" -GPS 위성 발견
"continent", "country", "region", "subregion", "subsubregion", "city", "district", "street", "street_nr", "item_nr"- 고객 주소 및 설명 필드 (!!!! "*"에는 사용할 수 없음 역사적 테이블)
"log"-로그 데이터
필드 이름은 SQL 문에서 원래 이름을 사용해야하므로 검색 기능을 높이기 위해 SQL 쿼리를 만드는 데 중요합니다.
이 테이블은 각 장치에 대한 이벤트 / 명령 대기열이며 다음과 같은 구조를 갖습니다.
"command"-컨트롤러로 보내거나 이미 보낼 명령
"confirmed"-이미 전송 및 확인 된 경우 확인 플래그
"날짜"-이벤트의 유닉스 타임 스탬프
"updated"-자동 업데이트 플래그 (타임 스탬프 날짜 / 시간)
프런트 엔드 웹 응용 프로그램없이 데이터에 액세스 할 수 있습니다. @City 시스템에는 중간 수준의 기능이있는 스크립트가 포함되어 있습니다. 결과는 JSON 형식으로 반환됩니다.
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":"" }]
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" }]
이 함수는 "_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" }]