[파이썬] 웹 서버를 활용한 IoT 데이터 모니터링
소개
인터넷으로 연결된 IoT 기기들은 실시간 데이터를 생성하고 전송합니다. 이러한 데이터를 효율적으로 모니터링하고 분석하기 위해서 웹 서버를 활용하는 것은 매우 유용합니다. 이 블로그 포스트에서는 Python을 사용하여 효과적으로 IoT 데이터를 모니터링하기 위한 간단한 웹 서버를 개발하는 방법에 대해 알아보겠습니다.
웹 서버 구성
- Flask를 이용하여 웹 서버를 구성합니다. Flask는 Python으로 개발된 간단하고 가벼운 웹 프레임워크입니다. 다음 명령을 사용하여 Flask를 설치하세요:
pip install flask
- 필요한 라이브러리를 임포트합니다.
from flask import Flask, render_template, request
- Flask 앱을 초기화합니다.
app = Flask(__name__)
- 웹 서버 루트 경로에 대한 라우트를 정의합니다. 이 라우트는 클라이언트 요청을 처리하고 필요한 데이터를 반환합니다.
@app.route('/') def index(): # 데이터 처리 로직을 작성하세요 return 'Hello World!'
- Flask 앱을 실행합니다.
if __name__ == '__main__': app.run()
데이터 모니터링
- IoT 기기에서 데이터를 수집하는 로직을 작성합니다. 이 예제에서는 임의의 데이터를 생성하여 사용합니다.
import random def get_iot_data(): # IoT 데이터를 읽어오는 로직을 작성하세요 temperature = random.randint(20, 30) humidity = random.randint(40, 60) return temperature, humidity
- 데이터를 Flask 웹 서버에 전달하는 로직을 작성합니다.
@app.route('/') def index(): temperature, humidity = get_iot_data() return render_template('index.html', temperature=temperature, humidity=humidity)
- 데이터를 웹 페이지에 표시하기 위해 HTML 템플릿 파일을 작성합니다. 예를 들어, index.html 파일에 다음과 같은 내용을 작성합니다.
<html> <body> <h1>IoT 데이터 모니터링</h1> <p>온도: {{ temperature }}°C</p> <p>습도: {{ humidity }}%</p> </body> </html>
- Flask 앱을 실행하고 웹 브라우저에서 http://localhost:5000 에 접속하여 IoT 데이터가 표시되는지 확인합니다.
결론
이제 웹 서버를 활용하여 IoT 데이터를 모니터링하는 방법에 대해 알아보았습니다. 이 예제는 간단한 데이터를 사용하였지만, 실제로는 실시간 데이터를 받아서 모니터링하고 분석하는 과정이 추가되어야 합니다. 이를 위해서는 데이터베이스 연동이나 데이터 분석 라이브러리 등을 활용할 수 있습니다. Python의 다양한 라이브러리와 웹 프레임워크를 사용하여 웹 서버를 구성하기 위한 개발자들의 창의력에 기대합니다.