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/ms/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md

5.1 KiB

Kawal Relay - Perkakasan IoT Maya

Dalam bahagian pelajaran ini, anda akan menambah relay kepada peranti IoT maya anda selain sensor kelembapan tanah, dan mengawalnya berdasarkan tahap kelembapan tanah.

Perkakasan Maya

Peranti IoT maya akan menggunakan relay Grove yang disimulasikan. Ini menjadikan makmal ini sama seperti menggunakan Raspberry Pi dengan relay Grove fizikal.

Dalam peranti IoT fizikal, relay akan menjadi relay jenis terbuka secara normal (bermaksud litar output terbuka, atau terputus apabila tiada isyarat dihantar ke relay). Relay seperti ini boleh mengendalikan litar output sehingga 250V dan 10A.

Tambah Relay ke CounterFit

Untuk menggunakan relay maya, anda perlu menambahkannya ke aplikasi CounterFit.

Tugas

Tambah relay ke aplikasi CounterFit.

  1. Buka projek soil-moisture-sensor dari pelajaran lepas dalam VS Code jika ia belum dibuka. Anda akan menambah kepada projek ini.

  2. Pastikan aplikasi web CounterFit sedang berjalan.

  3. Cipta relay:

    1. Dalam kotak Create actuator di panel Actuators, klik menu dropdown Actuator type dan pilih Relay.

    2. Tetapkan Pin kepada 5.

    3. Pilih butang Add untuk mencipta relay pada Pin 5.

    Tetapan relay

    Relay akan dicipta dan muncul dalam senarai actuator.

    Relay yang telah dicipta

Programkan Relay

Aplikasi sensor kelembapan tanah kini boleh diprogramkan untuk menggunakan relay maya.

Tugas

Programkan peranti maya.

  1. Buka projek soil-moisture-sensor dari pelajaran lepas dalam VS Code jika ia belum dibuka. Anda akan menambah kepada projek ini.

  2. Tambahkan kod berikut ke fail app.py di bawah import sedia ada:

    from counterfit_shims_grove.grove_relay import GroveRelay
    

    Pernyataan ini mengimport GroveRelay dari perpustakaan Grove Python shim untuk berinteraksi dengan relay Grove maya.

  3. Tambahkan kod berikut di bawah deklarasi kelas ADC untuk mencipta instance GroveRelay:

    relay = GroveRelay(5)
    

    Ini mencipta relay menggunakan pin 5, pin yang anda sambungkan relay.

  4. Untuk menguji sama ada relay berfungsi, tambahkan kod berikut ke dalam gelung while True::

    relay.on()
    time.sleep(.5)
    relay.off()
    

    Kod ini menghidupkan relay, menunggu 0.5 saat, kemudian mematikan relay.

  5. Jalankan aplikasi Python. Relay akan hidup dan mati setiap 10 saat, dengan kelewatan setengah saat antara hidup dan mati. Anda akan melihat relay maya dalam aplikasi CounterFit tutup dan buka apabila relay dihidupkan dan dimatikan.

    Relay maya hidup dan mati

Kawal Relay Berdasarkan Kelembapan Tanah

Sekarang relay berfungsi, ia boleh dikawal berdasarkan bacaan kelembapan tanah.

Tugas

Kawal relay.

  1. Padamkan 3 baris kod yang anda tambahkan untuk menguji relay. Gantikan dengan kod berikut di tempatnya:

    if soil_moisture > 450:
        print("Soil Moisture is too low, turning relay on.")
        relay.on()
    else:
        print("Soil Moisture is ok, turning relay off.")
        relay.off()
    

    Kod ini memeriksa tahap kelembapan tanah dari sensor kelembapan tanah. Jika ia melebihi 450, ia menghidupkan relay, dan mematikannya jika ia turun di bawah 450.

    💁 Ingat bahawa sensor kelembapan tanah kapasitif membaca nilai yang lebih rendah apabila tahap kelembapan tanah lebih tinggi, dan sebaliknya.

  2. Jalankan aplikasi Python. Anda akan melihat relay hidup atau mati bergantung pada tahap kelembapan tanah. Ubah Value atau tetapan Random untuk sensor kelembapan tanah untuk melihat perubahan nilai.

    Soil Moisture: 638
    Soil Moisture is too low, turning relay on.
    Soil Moisture: 452
    Soil Moisture is too low, turning relay on.
    Soil Moisture: 347
    Soil Moisture is ok, turning relay off.
    

💁 Anda boleh menemui kod ini dalam folder code-relay/virtual-device.

😀 Program sensor kelembapan tanah maya anda yang mengawal relay telah berjaya!


Penafian:
Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI Co-op Translator. Walaupun kami berusaha untuk memastikan ketepatan, sila ambil perhatian bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang berwibawa. Untuk maklumat yang kritikal, terjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.