[파이썬] 웹 서버를 활용한 IoT 데이터 모니터링

소개

인터넷으로 연결된 IoT 기기들은 실시간 데이터를 생성하고 전송합니다. 이러한 데이터를 효율적으로 모니터링하고 분석하기 위해서 웹 서버를 활용하는 것은 매우 유용합니다. 이 블로그 포스트에서는 Python을 사용하여 효과적으로 IoT 데이터를 모니터링하기 위한 간단한 웹 서버를 개발하는 방법에 대해 알아보겠습니다.

웹 서버 구성

  1. Flask를 이용하여 웹 서버를 구성합니다. Flask는 Python으로 개발된 간단하고 가벼운 웹 프레임워크입니다. 다음 명령을 사용하여 Flask를 설치하세요:
    pip install flask
    
  2. 필요한 라이브러리를 임포트합니다.
    from flask import Flask, render_template, request
    
  3. Flask 앱을 초기화합니다.
    app = Flask(__name__)
    
  4. 웹 서버 루트 경로에 대한 라우트를 정의합니다. 이 라우트는 클라이언트 요청을 처리하고 필요한 데이터를 반환합니다.
    @app.route('/')
    def index():
        # 데이터 처리 로직을 작성하세요
        return 'Hello World!'
    
  5. Flask 앱을 실행합니다.
    if __name__ == '__main__':
        app.run()
    

데이터 모니터링

  1. IoT 기기에서 데이터를 수집하는 로직을 작성합니다. 이 예제에서는 임의의 데이터를 생성하여 사용합니다.
    import random
       
    def get_iot_data():
        # IoT 데이터를 읽어오는 로직을 작성하세요
        temperature = random.randint(20, 30)
        humidity = random.randint(40, 60)
        return temperature, humidity
    
  2. 데이터를 Flask 웹 서버에 전달하는 로직을 작성합니다.
    @app.route('/')
    def index():
        temperature, humidity = get_iot_data()
        return render_template('index.html', temperature=temperature, humidity=humidity)
    
  3. 데이터를 웹 페이지에 표시하기 위해 HTML 템플릿 파일을 작성합니다. 예를 들어, index.html 파일에 다음과 같은 내용을 작성합니다.
       
    <html>
        <body>
            <h1>IoT 데이터 모니터링</h1>
            <p>온도: {{ temperature }}°C</p>
            <p>습도: {{ humidity }}%</p>
        </body>
    </html>
       
    
  4. Flask 앱을 실행하고 웹 브라우저에서 http://localhost:5000 에 접속하여 IoT 데이터가 표시되는지 확인합니다.

결론

이제 웹 서버를 활용하여 IoT 데이터를 모니터링하는 방법에 대해 알아보았습니다. 이 예제는 간단한 데이터를 사용하였지만, 실제로는 실시간 데이터를 받아서 모니터링하고 분석하는 과정이 추가되어야 합니다. 이를 위해서는 데이터베이스 연동이나 데이터 분석 라이브러리 등을 활용할 수 있습니다. Python의 다양한 라이브러리와 웹 프레임워크를 사용하여 웹 서버를 구성하기 위한 개발자들의 창의력에 기대합니다.