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

6.4 KiB

土壌水分を測定する - 仮想IoTハードウェア

このレッスンでは、仮想IoTデバイスに静電容量式土壌水分センサーを追加し、その値を読み取ります。

仮想ハードウェア

仮想IoTデバイスでは、シミュレートされたGrove静電容量式土壌水分センサーを使用します。これにより、Raspberry Piと物理的なGrove静電容量式土壌水分センサーを使用する場合と同じ手順で進めることができます。

物理的なIoTデバイスでは、土壌水分センサーは静電容量式センサーで、土壌の静電容量を検出することで土壌水分を測定します。この静電容量は土壌水分の変化に応じて変化します。土壌水分が増加すると、電圧は低下します。

このセンサーはアナログセンサーであり、11,023の値を報告するシミュレートされた10ビットADCを使用します。

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アプリから、アプリが読み取る土壌水分センサーの値を変更します。以下の2つの方法のいずれかで変更できます

    • 土壌水分センサーのValueボックスに数値を入力し、Setボタンを選択します。入力した数値がセンサーから返される値になります。

    • Randomチェックボックスをオンにし、MinMaxの値を入力してからSetボタンを選択します。センサーが値を読み取るたびに、MinMaxの間のランダムな数値が返されます。

  8. Pythonアプリを実行します。コンソールに土壌水分の測定値が表示されます。ValueRandomの設定を変更して、値が変化する様子を確認してください。

    (.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 を使用して翻訳されています。正確性を期すよう努めておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があります。元の言語で記載された原文が公式な情報源と見なされるべきです。重要な情報については、専門の人間による翻訳を推奨します。本翻訳の使用に起因する誤解や誤認について、当方は一切の責任を負いません。