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.
-
Buka projek
soil-moisture-sensor
dari pelajaran lepas dalam VS Code jika ia belum dibuka. Anda akan menambah kepada projek ini. -
Pastikan aplikasi web CounterFit sedang berjalan.
-
Cipta relay:
-
Dalam kotak Create actuator di panel Actuators, klik menu dropdown Actuator type dan pilih Relay.
-
Tetapkan Pin kepada 5.
-
Pilih butang Add untuk mencipta relay pada Pin 5.
Relay akan dicipta dan muncul dalam senarai actuator.
-
Programkan Relay
Aplikasi sensor kelembapan tanah kini boleh diprogramkan untuk menggunakan relay maya.
Tugas
Programkan peranti maya.
-
Buka projek
soil-moisture-sensor
dari pelajaran lepas dalam VS Code jika ia belum dibuka. Anda akan menambah kepada projek ini. -
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. -
Tambahkan kod berikut di bawah deklarasi kelas
ADC
untuk mencipta instanceGroveRelay
:relay = GroveRelay(5)
Ini mencipta relay menggunakan pin 5, pin yang anda sambungkan relay.
-
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.
-
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.
Kawal Relay Berdasarkan Kelembapan Tanah
Sekarang relay berfungsi, ia boleh dikawal berdasarkan bacaan kelembapan tanah.
Tugas
Kawal relay.
-
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.
-
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.