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/1-predict-plant-growth/wio-terminal-temp-publish.md

4.8 KiB

温度を公開する - Wio Terminal

このレッスンのこの部分では、Wio Terminalで検出された温度値をMQTTを通じて公開し、後でGDDを計算するために使用できるようにします。

温度を公開する

温度が読み取られると、それをMQTTを通じて公開し、値を読み取り、GDD計算の準備として保存する「サーバー」コードに送ることができます。マイクロコントローラーはインターネットから時間を読み取ったり、リアルタイムクロックで時間を追跡したりする機能を標準で備えていません。そのため、必要なハードウェアがある場合はデバイスをプログラムする必要があります。

このレッスンを簡略化するために、センサーのデータと一緒に時間を送信することはせず、メッセージを受信した後にサーバーコード側で時間を追加することにします。

タスク

デバイスをプログラムして温度データを公開します。

  1. temperature-sensor Wio Terminalプロジェクトを開きます。

  2. レッスン4で行った手順を繰り返してMQTTに接続し、テレメトリを送信します。同じ公開Mosquittoブローカーを使用します。

    この手順は以下の通りです:

    • .iniファイルにSeeed WiFiとMQTTライブラリを追加する
    • WiFiに接続するための設定ファイルとコードを追加する
    • MQTTブローカーに接続するコードを追加する
    • テレメトリを公開するコードを追加する

    ⚠️ 必要に応じて、MQTTに接続する手順テレメトリを送信する手順を参照してください。

  3. config.hヘッダーファイル内のCLIENT_NAMEがこのプロジェクトを反映していることを確認してください:

    const string CLIENT_NAME = ID + "temperature_sensor_client";
    
  4. テレメトリについては、光の値を送信する代わりに、DHTセンサーから読み取った温度値をJSONドキュメントのtemperatureというプロパティとして送信するようにmain.cpploop関数を変更してください:

    float temp_hum_val[2] = {0};
    dht.readTempAndHumidity(temp_hum_val);
    
    DynamicJsonDocument doc(1024);
    doc["temperature"] = temp_hum_val[1];
    
  5. 温度値は頻繁に読み取る必要はありません。短時間で大きく変化することはないため、loop関数内のdelayを10分に設定してください

    delay(10 * 60 * 1000);
    

    💁 delay関数はミリ秒単位で時間を受け取るため、読みやすくするために計算結果として値を渡します。1秒は1,000ms、1分は60秒なので、10 x (1分の60秒) x (1秒の1000ms)で10分の遅延が得られます。

  6. これをWio Terminalにアップロードし、シリアルモニターを使用してMQTTブローカーに送信される温度を確認してください。

    --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
    --- More details at http://bit.ly/pio-monitor-filters
    --- Miniterm on /dev/cu.usbmodem1201  9600,8,N,1 ---
    --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
    Connecting to WiFi..
    Connected!
    Attempting MQTT connection...connected
    Sending telemetry {"temperature":25}
    Sending telemetry {"temperature":25}
    

💁 このコードはcode-publish-temperature/wio-terminalフォルダーにあります。

😀 デバイスからテレメトリとして温度を正常に公開しました。

免責事項:
この文書は、AI翻訳サービス Co-op Translator を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤った解釈について、当方は責任を負いません。