- Google gauge chart
- ESP8266/ESP32를 이용한 온습도(DHT11 센서 사용) 측정 Web server - Google gauge
- ESP8266/ESP32 Module - Google gauge chart - 관련 페이지 보기
- Google gauge chart basic
- Google 차트를 사용하는 가장 일반적인 방법
- 사용할 Google 차트 라이브러리를 로드하고,
- 차트에 표시할 데이터를 나열(List)하고,
- 차트의 사용자 정의 옵션을 설정하고,
- 선택한 ID로 차트 개체를 만든다.
- 그런 다음 웹 페이지에서 해당 ID로 <div>를 만들어 Google 차트를 표시한다.
- Googl의 Gauge chart 예
- Gauge chart(google-gauge-chart-basic.html)를 웹 브라우저에 브라우징 하기
- "google-gauge-chart-basic.html"를 Download 하여 PC에 저장 한다.
- "google-gauge-chart-basic.html"을 더블 클릭하면 Web browser에 위 "웹문서(Googl의 Gauge chart)를 웹 브라우저에 브라우징한 예"와 같이 웹 브라우저에 Googl gauge chart가 브라우징 된다.
- "google-gauge-chart-basic.html" 내의 data, option, setInterval 등을 변경하며 실험한다.
- Google gauge customization
- 옵션 설정으로 Gauge 모양 변경(Customize)하기
- Animation: animation.duration, animation.easing,
- Frame: forceIFrame
- Size: height, width
- Value range: min, max
- Green section: greenColor, greenFrom, greenTo
- Yellow section: yellowColor, yellowFrom, yellowTo
- Red section: redColor, redFrom, redTo
- Tick section: majorTicks, minorTicks
- Chart Style 속성 설정을 이용하여 Gauge 모양 변경(Customize)하기
- Gauge chart(google-gauge-style-customize.html)를 웹 브라우저에 브라우징 하기
- "google-gauge-style-customize.html"를 Download 하여 PC에 저장 한다.
- "google-gauge-style-customize.html"을 더블 클릭하면 Web browser에 Gauge chart가 브라우징 된다.
- "google-gauge-style-customize.html" 내의 style 속성을 변경하며 실험한다.
- 하나의 웹 페이지에 여러개의 차트를 그리기
- 각각의 차트에 별도의 콜백을 사용하여 여러개의 Gauge chart 그리기
- Gauge chart(google-gauge-2-chart-2-callback.html)를 웹 브라우저에 브라우징 하기
- "google-gauge-2-chart-2-callback.html"를 Download 하여 PC에 저장 한다.
- "google-gauge-2-chart-2-callback.html"을 더블 클릭하면 Web browser에 Gauge chart가 브라우징 된다.
- 하나의 콜백을 사용하여 여러개의 Gauge chart 그리기
- Gauge chart(google-gauge-2-chart-1-callback.html)를 웹 브라우저에 브라우징 하기
- "google-gauge-2-chart-1-callback.html"를 Download 하여 PC에 저장 한다.
- "google-gauge-2-chart-1-callback.html"을 더블 클릭하면 Web browser에 Gauge chart가 브라우징 된다.
Google Charts는 웹 사이트에서 데이터를 시각화하는 방법을 제공한다. 단순한 라인 차트에서 복잡한 계층 구조 트리 맵에 이르기까지 차트 갤러리는 즉시 사용할 수있는 다양한 차트(30여종의 차트중 여기서는 측정 결과를 표시할 수 있는 Gauge chart에 대하여 설명함) 유형을 제공한다.
참고자료: Google Charts Guides
Google 차트를 사용하는 가장 일반적인 방법은 차트를 웹 페이지에 삽입하는 자바 스크립트를 사용하는 것이다.
아래 HTML 문서는 Google에서 제공하는 Gauge chart 예이다.
위 웹문서(Googl의 Gauge chart)를 웹 브라우저에 브라우징한 예
이 예에서는 실험 시간을 줄이기 위하여 Web server를 사용하지 않고 PC에 저장된 HTML 문서를 직접 브라우저에 브라우징 한다. ESP Web server를 사용하는 예는 아래에서 설명함.
이 예에서는 Chart의 옵션 설정을 변경하여 Gauge의 모양을 변경(Customize)한다.
옵션 설정 예
Gauge chart에서 설정 가능한 옵션은 아래와 같다.
아래 참고자료를 참고하여 위에 나열한 옵션을 변경하며 실험하여 보기 바람.
참고자료: Visualization: Gauge
아래 HTML 문서는 Style 속성 설정을 이용하여 Gauge의 모양 변경(Customize)하는 예이다.
Style 속성을 이용하여 Gauge 모양을 변경(Customize)한 예
이 예에서는 실험 시간을 줄이기 위하여 Web server를 사용하지 않고 PC에 저장된 HTML 문서를 직접 브라우저에 브라우징 한다.
이 예는 별도의 콜백(2개)을 사용하여 2개의 Gauge chart를 그리는 예이다.
별도의 콜백(2개)을 사용하여 2개의 Gauge chart(온도, 습도)를 그리는 예
이 예에서는 실험 시간을 줄이기 위하여 Web server를 사용하지 않고 PC에 저장된 HTML 문서를 직접 브라우저에 브라우징 한다.
이 예는 하나의 콜백을 사용하여 2개의 Gauge chart를 그리는 예이다.
하나의 콜백을 사용하여 2개의 Gauge chart(온도, 습도)를 그리는 예
이 예에서는 실험 시간을 줄이기 위하여 Web server를 사용하지 않고 PC에 저장된 HTML 문서를 직접 브라우저에 브라우징 한다.
- ESP8266/ESP32과 DHT11 센서를 사용한 온습도 측정
- ESP8266/ESP32를 Web server와 온도/습도 센서(DHT11/DHT22) 제어에 사용한다.
- 온도/습도 센서(DHT11/DHT22) 모듈은 측정한 온도/습도 값을 Single-Wire 통신 프로토콜로 ESP8266/ESP32에 전송한다.
- AJAX를 이용하여 Web 페이지에서 필요한 측정 결과만 Update 한다.
- 측정 결과는 Web 페이지의 Google gauge에 출력(표시)된다.
- 온도/습도 센서(DHT11/DHT22) 측정 결과를 Web Page(Google gauge)에 출력하는 예
- 참고 자료
- "ESP8266/ESP32 Module(WiFi)을 이용한 원격 제어(Web server) - MicroPython"
- "Single-Wire 통신을 사용하는 센서"
- "Web(AJAX 이용) 환경에서 ESP 모듈을 이용한 온도 측정(DHT11) 예"
- 온도/습도 측정 결과를 Web Page(Google gauge)에 출력하는 프로그램 예:
- 실험을 위한 준비
- "python_web_AJAX_DHT11_google_gauge.py"를 Download 하여 PC에 저장 한다.
- ESP32 개발보드와 센서 모듈 연결
- ESP32 개발보드 Data input pin(GPIO14) <-> 센서의 data pin
- Data input line Pull up 저항(1K - 10K): DHT11/DHT22 모듈에 Pull up 저항이 내장된 경우 생략하여도됨.
- ESP32 개발보드 VDD(3.3V} <-> 센서 Vcc pin
- ESP32 개발보드 GND <-> 센서 GND
- 실험 방법
- Thonny IDE를 실행하고 Thonny IDE의 사용 환경(Thonny 실행에 사용할 장치와 COM Port 선택)이 바르게 되어 있는지 확인한다.
- Thonny IDE의 Python shell 창에 prompt( >>> )가 출력되었는 확인한다.
- Thonny IDE의 "파일 -> 열기"를 실행하여 프로그램 파일(python_web_AJAX_DHT11_google_gauge.py)을 Open 한다.
- Thonny IDE의 Scripts 편집 창 프로그램에서 본인의 무선 공유기 연결을 위한 네트워크 자격 증명(ssid와 password)를 설정하고 "이 컴퓨터"에 저장한다.
- 실험
- "실행 -> 현재 스크립트 실행"을 실행하거나 Toolbar의 "실행" Icon을 클릭하면 스크립트가 개발보드에 전송되고 프로그램이 실행된다.
- 프로그램이 실행되면 Thonny IDE의 Python shell 창에 아래 예와 같이 네트워크 연결에 성공하였음을 알리는 메세지와 Network interface parameters가 출력(약간의 시간 지연이 있음)된다.
- 웹 부라우저에서 ESP Web server에 연결(위 예에서 '192.168.0.30'이 ESP Web server의 IP Address 임)하면 윗 예와 같이 온도 측정 결과가 표시된다.
- 외부(WiFI Router 외부)에서 접속하고자 하는 경우에는 자신의 WiFI Router에서 포트포워드 설정(ip-TIME 과 같이 공유기를 제공하는 회사 자료에서 공유기 포트포워드 설정을 참고 바람)을 하여야 한다.
- 실험: 프로그램이 실행되면 2초 간격으로 측정된 온도와 습도 값이 출력된다. 센서에 손가락을 대고 있으면 습도가 변동한다. 유사한 방법으로 온도를 변동 시키며 측정 결과와 비교한다.
Web 환경에서 ESP 모듈을 이용한 온도 측정(DHT11/DHT22) 구성도
위 프로그램의 실행 결과 예
Connection successful
('192.168.0.30', '255.255.255.0', '192.168.0.1', '210.220.163.82')