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/2-detect-soil-moisture/virtual-device-soil-moistur...

5.8 KiB

토양 수분 측정 - 가상 IoT 하드웨어

이 수업의 이 부분에서는 가상 IoT 장치에 정전식 토양 수분 센서를 추가하고 값을 읽는 방법을 배웁니다.

가상 하드웨어

가상 IoT 장치는 시뮬레이션된 Grove 정전식 토양 수분 센서를 사용합니다. 이는 실제 Grove 정전식 토양 수분 센서를 사용하는 Raspberry Pi와 동일한 방식으로 실습을 진행할 수 있게 합니다.

실제 IoT 장치에서 토양 수분 센서는 정전식 센서로, 토양의 정전 용량을 감지하여 토양 수분을 측정합니다. 토양의 수분이 증가하면 전압이 감소합니다.

이 센서는 아날로그 센서로, 10비트 ADC를 시뮬레이션하여 1에서 1,023 사이의 값을 보고합니다.

CounterFit에 토양 수분 센서 추가하기

가상 토양 수분 센서를 사용하려면 CounterFit 앱에 센서를 추가해야 합니다.

작업 - CounterFit에 토양 수분 센서 추가하기

CounterFit 앱에 토양 수분 센서를 추가하세요.

  1. soil-moisture-sensor라는 폴더에 app.py라는 단일 파일과 Python 가상 환경을 포함한 새 Python 앱을 컴퓨터에 만드세요. 그리고 CounterFit pip 패키지를 추가하세요.

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

  2. CounterFit 웹 앱이 실행 중인지 확인하세요.

  3. 토양 수분 센서를 생성하세요:

    1. Sensors 패널의 Create sensor 상자에서 Sensor type 드롭다운을 열고 Soil Moisture를 선택하세요.

    2. UnitsNoUnits로 그대로 두세요.

    3. Pin0으로 설정되어 있는지 확인하세요.

    4. Add 버튼을 선택하여 Pin 0에 Soil Moisture 센서를 생성하세요.

    토양 수분 센서 설정

    토양 수분 센서가 생성되어 센서 목록에 나타납니다.

    생성된 토양 수분 센서

토양 수분 센서 앱 프로그래밍

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

작업 - 토양 수분 센서 앱 프로그래밍

토양 수분 센서 앱을 프로그래밍하세요.

  1. VS Code에서 soil-moisture-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_grove.adc import ADC
    

    import time 문은 이후에 사용할 time 모듈을 가져옵니다.

    from counterfit_shims_grove.adc import ADC 문은 CounterFit 센서에 연결할 수 있는 가상 아날로그-디지털 변환기와 상호작용하기 위해 ADC 클래스를 가져옵니다.

  5. 아래에 ADC 클래스의 인스턴스를 생성하는 코드를 추가하세요:

    adc = ADC()
    
  6. Pin 0에서 이 ADC를 읽고 결과를 콘솔에 출력하는 무한 루프를 추가하세요. 이 루프는 읽기 사이에 10초 동안 대기할 수 있습니다.

    while True:
        soil_moisture = adc.read(0)
        print("Soil moisture:", soil_moisture)
    
        time.sleep(10)
    
  7. CounterFit 앱에서 앱이 읽을 토양 수분 센서 값을 변경하세요. 다음 두 가지 방법 중 하나를 사용할 수 있습니다:

    • 토양 수분 센서의 Value 상자에 숫자를 입력한 다음 Set 버튼을 선택하세요. 입력한 숫자가 센서가 반환하는 값이 됩니다.

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

  8. Python 앱을 실행하세요. 콘솔에 토양 수분 측정값이 표시됩니다. Value 또는 Random 설정을 변경하여 값이 변하는 것을 확인하세요.

    (.venv) ➜ soil-moisture-sensor $ python app.py 
    Soil moisture: 615
    Soil moisture: 612
    Soil moisture: 498
    Soil moisture: 493
    Soil moisture: 490
    Soil Moisture: 388
    

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

😀 토양 수분 센서 프로그램이 성공적으로 작동했습니다!

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