로드더스트랩데모 · 가상 설치 지점 6곳 · 합성 센서 값

비개발자가 읽는 구성 한 장

무엇이 어디서 도는가

공고에 “비개발자가 이해할 수 있는 수준으로” 적어 달라고 되어 있어, 상자마다 여기서 무슨 일이 나면 무엇이 멈추는가를 한 줄씩 붙였습니다. 푸른 테두리가 저희가 맡는 칸이고, 회색이 발주사가 준비하시는 칸입니다.

장치에서 화면까지

왼쪽에서 오른쪽으로 값이 흐릅니다. 화면 폭이 좁으면 위에서 아래로 읽으시면 됩니다.

  1. 1

    측정 장치

    라즈베리파이

    발주사 준비

    도로변에 붙어 10초마다 공기를 재고 숫자 다섯 개를 만듭니다 — PM1.0 · PM2.5 · PM10 · 온도 · 습도.

    여기가 멈추면 — 이 장치가 멈추면 그 지점의 값만 안 생깁니다. 나머지 다섯 대는 그대로 돕니다.

  2. 2

    수집 프로그램

    장치 안에서 도는 프로그램

    우리 범위

    잰 값을 서버로 올려 보냅니다. 못 보내면 버리지 않고 장치 안에 쌓아 둡니다.

    여기가 멈추면 — 여기가 멈추면 값이 안 올라갑니다. 보관 칸은 20,000건 — 2일 7시간 치이고, 넘기면 오래된 것부터 사라집니다.

  3. 3

    네트워크

    현장 회선

    현장 회선

    장치와 서버를 잇습니다. 도로변이라 끊기는 일이 사고가 아니라 상시 조건입니다.

    여기가 멈추면 — 끊기면 앞의 수집 프로그램이 받아 냅니다. 화면에는 「연결 끊김」과 비어 있는 구간으로 나타납니다.

  4. 4

    수신 API

    서버 한 대

    우리 범위

    장치가 보낸 값을 받아 장치 식별자와 도착 시각을 붙여 저장소에 넣습니다.

    여기가 멈추면 — 여기가 멈추면 장치가 다시 보관 칸을 쓰기 시작합니다. 살아나면 밀린 것부터 순서대로 들어옵니다.

  5. 5

    저장소

    데이터베이스

    우리 범위

    측정 이력을 장치별로 쌓아 둡니다. 지운 적이 없으면 계속 남습니다.

    여기가 멈추면 — 여기가 멈추면 새 값이 안 들어갑니다. 수신 API 가 실패를 돌려주므로 장치는 다시 보관에 들어갑니다.

  6. 6

    웹 화면

    웹 브라우저

    우리 범위

    쌓인 값을 그래프와 목록으로 보이고, 조건을 걸어 CSV 로 내려받게 합니다.

    여기가 멈추면 — 여기가 멈추면 보는 것만 못 합니다. 수집과 저장은 그대로 돕니다.

범위를 한 줄로 — 하드웨어 구매 · 조립 · 배선과 현장 회선은 발주사 몫이고, 저희 몫은 장치에서 도는 수집 프로그램부터 웹 화면까지입니다. 공고에도 그렇게 나뉘어 있습니다.

이 데모가 실제로 돌린 것 · 본 개발에서 바뀌는 것

지금 보고 계신 화면이 어디까지 진짜인지 먼저 적어 둡니다.

항목지금 이 데모본 개발
값을 만드는 쪽합성 생성기가 계산해 냅니다. 실제 센서가 아닙니다.발주사가 설치한 장치의 센서가 실제로 잰 값이 들어옵니다.
쌓아 두는 쪽서버가 요청을 받을 때마다 계산합니다. 데이터베이스가 없습니다.데이터베이스에 장치별로 실제로 적재합니다. 백업과 보관 기간을 정해야 합니다.
통신 단절정해 둔 여섯 개 시나리오입니다. 재생 구간도 그중 하나입니다.현장에서 실제로 끊깁니다. 보관 한도와 재전송 간격을 현장에 맞춰 잡습니다.

지금 데모가 쓰고 있는 규모

본 개발에서 장치가 늘어나면 이 숫자만 커집니다. 구조는 그대로입니다.

설치 지점
6곳
도로변 성격을 다르게 잡은 가상 지점
측정 항목
5종
PM1.0 · PM2.5 · PM10 · 온도 · 습도
기본 수집 주기
10초
1시간 집계로 접어 볼 수 있습니다
장치 보관 한도
20,000건
2일 7시간 치 — 정해야 할 값입니다