You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/ko/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md

7.8 KiB

온도 측정 - 가상 IoT 하드웨어

이 수업의 이번 부분에서는 가상 IoT 장치에 온도 센서를 추가합니다.

가상 하드웨어

가상 IoT 장치는 시뮬레이션된 Grove 디지털 습도 및 온도 센서를 사용합니다. 이는 실제 Grove DHT11 센서를 사용하는 Raspberry Pi와 동일한 방식으로 실습을 진행할 수 있도록 합니다.

이 센서는 온도 센서습도 센서를 결합한 형태이지만, 이번 실습에서는 온도 센서 구성 요소에만 집중합니다. 실제 IoT 장치에서 온도 센서는 서미스터를 사용하여 온도가 변할 때 저항의 변화를 감지하여 온도를 측정합니다. 온도 센서는 일반적으로 디지털 센서로, 내부적으로 측정된 저항을 섭씨(또는 켈빈, 화씨) 온도로 변환합니다.

CounterFit에 센서 추가하기

가상 습도 및 온도 센서를 사용하려면 CounterFit 앱에 두 개의 센서를 추가해야 합니다.

작업 - CounterFit에 센서 추가하기

CounterFit 앱에 습도 및 온도 센서를 추가합니다.

  1. temperature-sensor라는 폴더에 단일 파일 app.py와 Python 가상 환경을 포함한 새 Python 앱을 컴퓨터에 생성하고 CounterFit pip 패키지를 추가합니다.

    ⚠️ 필요하다면 수업 1에서 CounterFit Python 프로젝트를 생성하고 설정하는 방법에 대한 지침을 참조하세요.

  2. DHT11 센서를 위한 CounterFit shim을 설치하기 위해 추가 Pip 패키지를 설치합니다. 가상 환경이 활성화된 터미널에서 설치해야 합니다.

    pip install counterfit-shims-seeed-python-dht
    
  3. CounterFit 웹 앱이 실행 중인지 확인합니다.

  4. 습도 센서를 생성합니다:

    1. Sensors 창의 Create sensor 상자에서 Sensor type 드롭다운을 열고 Humidity를 선택합니다.

    2. UnitsPercentage로 설정합니다.

    3. Pin5로 설정합니다.

    4. Add 버튼을 선택하여 Pin 5에 습도 센서를 생성합니다.

    습도 센서 설정

    습도 센서가 생성되어 센서 목록에 나타납니다.

    생성된 습도 센서

  5. 온도 센서를 생성합니다:

    1. Sensors 창의 Create sensor 상자에서 Sensor type 드롭다운을 열고 Temperature를 선택합니다.

    2. UnitsCelsius로 설정합니다.

    3. Pin6으로 설정합니다.

    4. Add 버튼을 선택하여 Pin 6에 온도 센서를 생성합니다.

    온도 센서 설정

    온도 센서가 생성되어 센서 목록에 나타납니다.

    생성된 온도 센서

온도 센서 앱 프로그래밍

이제 CounterFit 센서를 사용하여 온도 센서 앱을 프로그래밍할 수 있습니다.

작업 - 온도 센서 앱 프로그래밍

온도 센서 앱을 프로그래밍합니다.

  1. VS Code에서 temperature-sensor 앱이 열려 있는지 확인합니다.

  2. app.py 파일을 엽니다.

  3. CounterFit에 앱을 연결하기 위해 app.py 상단에 다음 코드를 추가합니다:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  4. 필요한 라이브러리를 가져오기 위해 app.py 파일에 다음 코드를 추가합니다:

    import time
    from counterfit_shims_seeed_python_dht import DHT
    

    from seeed_dht import DHT 문은 counterfit_shims_seeed_python_dht 모듈에서 가상 Grove 온도 센서를 상호작용하기 위한 DHT 센서 클래스를 가져옵니다.

  5. 위 코드 아래에 가상 습도 및 온도 센서를 관리하는 클래스의 인스턴스를 생성하는 코드를 추가합니다:

    sensor = DHT("11", 5)
    

    이는 가상 Digital Humidity 및 Temperature 센서를 관리하는 DHT 클래스의 인스턴스를 선언합니다. 첫 번째 매개변수는 사용 중인 센서가 가상 DHT11 센서임을 코드에 알립니다. 두 번째 매개변수는 센서가 포트 5에 연결되어 있음을 코드에 알립니다.

    💁 CounterFit은 이 결합된 습도 및 온도 센서를 시뮬레이션하기 위해 두 개의 센서에 연결합니다. DHT 클래스가 생성될 때 지정된 핀에 습도 센서가 연결되고, 온도 센서는 다음 핀에서 실행됩니다. 습도 센서가 핀 5에 있다면, shim은 온도 센서가 핀 6에 있다고 가정합니다.

  6. 위 코드 아래에 무한 루프를 추가하여 온도 센서 값을 폴링하고 콘솔에 출력합니다:

    while True:
        _, temp = sensor.read()
        print(f'Temperature {temp}°C')
    

    sensor.read() 호출은 습도와 온도의 튜플을 반환합니다. 여기서는 온도 값만 필요하므로 습도는 무시됩니다. 그런 다음 온도 값이 콘솔에 출력됩니다.

  7. 루프 끝에 10초의 짧은 대기 시간을 추가하여 온도 수준을 지속적으로 확인할 필요가 없도록 합니다. 대기 시간은 장치의 전력 소비를 줄여줍니다.

    time.sleep(10)
    
  8. VS Code 터미널에서 가상 환경이 활성화된 상태로 다음 명령을 실행하여 Python 앱을 실행합니다:

    python app.py
    
  9. CounterFit 앱에서 앱이 읽을 온도 센서 값을 변경합니다. 이를 두 가지 방법으로 할 수 있습니다:

    • 온도 센서의 Value 상자에 숫자를 입력한 후 Set 버튼을 선택합니다. 입력한 숫자가 센서가 반환하는 값이 됩니다.

    • Random 체크박스를 선택하고 MinMax 값을 입력한 후 Set 버튼을 선택합니다. 센서가 값을 읽을 때마다 MinMax 사이의 임의의 숫자를 읽습니다.

    설정한 값이 콘솔에 나타나는 것을 볼 수 있습니다. Value 또는 Random 설정을 변경하여 값이 변경되는 것을 확인하세요.

    (.venv) ➜  temperature-sensor python app.py
    Temperature 28.25°C
    Temperature 30.71°C
    Temperature 25.17°C
    

💁 이 코드는 code-temperature/virtual-device 폴더에서 확인할 수 있습니다.

😀 온도 센서 프로그램이 성공적으로 작동했습니다!

면책 조항:
이 문서는 AI 번역 서비스 Co-op Translator를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서를 해당 언어로 작성된 상태에서 권위 있는 자료로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.