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

4.3 KiB

Publikasikan Suhu - Wio Terminal

Dalam bagian pelajaran ini, Anda akan mempublikasikan nilai suhu yang terdeteksi oleh Wio Terminal melalui MQTT sehingga dapat digunakan nanti untuk menghitung GDD.

Publikasikan Suhu

Setelah suhu dibaca, data tersebut dapat dipublikasikan melalui MQTT ke beberapa kode 'server' yang akan membaca nilai tersebut dan menyimpannya untuk digunakan dalam perhitungan GDD. Mikrokontroler tidak secara otomatis membaca waktu dari Internet atau melacak waktu dengan real-time clock, perangkat perlu diprogram untuk melakukannya, dengan asumsi perangkat memiliki perangkat keras yang diperlukan.

Untuk menyederhanakan pelajaran ini, waktu tidak akan dikirim bersama data sensor, melainkan dapat ditambahkan oleh kode server nanti saat menerima pesan.

Tugas

Program perangkat untuk mempublikasikan data suhu.

  1. Buka proyek temperature-sensor Wio Terminal

  2. Ulangi langkah-langkah yang Anda lakukan di pelajaran 4 untuk terhubung ke MQTT dan mengirim telemetri. Anda akan menggunakan broker Mosquitto publik yang sama.

    Langkah-langkahnya adalah:

    • Tambahkan pustaka Seeed WiFi dan MQTT ke file .ini
    • Tambahkan file konfigurasi dan kode untuk terhubung ke WiFi
    • Tambahkan kode untuk terhubung ke broker MQTT
    • Tambahkan kode untuk mempublikasikan telemetri

    ⚠️ Lihat instruksi untuk terhubung ke MQTT dan instruksi untuk mengirim telemetri dari pelajaran 4 jika diperlukan.

  3. Pastikan CLIENT_NAME di file header config.h mencerminkan proyek ini:

    const string CLIENT_NAME = ID + "temperature_sensor_client";
    
  4. Untuk telemetri, alih-alih mengirim nilai cahaya, kirim nilai suhu yang dibaca dari sensor DHT dalam properti pada dokumen JSON yang disebut temperature dengan mengubah fungsi loop di main.cpp:

    float temp_hum_val[2] = {0};
    dht.readTempAndHumidity(temp_hum_val);
    
    DynamicJsonDocument doc(1024);
    doc["temperature"] = temp_hum_val[1];
    
  5. Nilai suhu tidak perlu dibaca terlalu sering - suhu tidak akan banyak berubah dalam waktu singkat, jadi atur delay dalam fungsi loop menjadi 10 menit:

    delay(10 * 60 * 1000);
    

    💁 Fungsi delay menerima waktu dalam milidetik, sehingga untuk mempermudah pembacaan, nilai tersebut diberikan sebagai hasil dari perhitungan. 1.000ms dalam satu detik, 60 detik dalam satu menit, jadi 10 x (60 detik dalam satu menit) x (1.000ms dalam satu detik) menghasilkan penundaan 10 menit.

  6. Unggah ini ke Wio Terminal Anda, dan gunakan serial monitor untuk melihat suhu yang dikirim ke broker 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}
    

💁 Anda dapat menemukan kode ini di folder code-publish-temperature/wio-terminal.

😀 Anda telah berhasil mempublikasikan suhu sebagai telemetri dari perangkat Anda.


Penafian:
Dokumen ini telah diterjemahkan menggunakan layanan penerjemahan AI Co-op Translator. Meskipun kami berusaha untuk memberikan hasil yang akurat, harap diingat bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang otoritatif. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa penerjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini.