5.5 KiB
Ukur Kelembapan Tanah - Perkakasan IoT Maya
Dalam bahagian pelajaran ini, anda akan menambah sensor kelembapan tanah kapasitif ke peranti IoT maya anda, dan membaca nilai daripadanya.
Perkakasan Maya
Peranti IoT maya akan menggunakan sensor kelembapan tanah kapasitif Grove yang disimulasikan. Ini memastikan makmal ini sama seperti menggunakan Raspberry Pi dengan sensor kelembapan tanah kapasitif fizikal.
Dalam peranti IoT fizikal, sensor kelembapan tanah adalah sensor kapasitif yang mengukur kelembapan tanah dengan mengesan kapasitans tanah, iaitu sifat yang berubah apabila kelembapan tanah berubah. Apabila kelembapan tanah meningkat, voltan akan berkurang.
Ini adalah sensor analog, jadi ia menggunakan ADC 10-bit yang disimulasikan untuk melaporkan nilai dari 1-1,023.
Tambah sensor kelembapan tanah ke CounterFit
Untuk menggunakan sensor kelembapan tanah maya, anda perlu menambahkannya ke aplikasi CounterFit.
Tugas - Tambah sensor kelembapan tanah ke CounterFit
Tambah sensor kelembapan tanah ke aplikasi CounterFit.
-
Cipta aplikasi Python baru pada komputer anda dalam folder bernama
soil-moisture-sensor
dengan satu fail bernamaapp.py
dan persekitaran maya Python, serta tambahkan pakej pip CounterFit.⚠️ Anda boleh merujuk kepada arahan untuk mencipta dan menyediakan projek Python CounterFit dalam pelajaran 1 jika diperlukan.
-
Pastikan aplikasi web CounterFit sedang berjalan.
-
Cipta sensor kelembapan tanah:
-
Dalam kotak Create sensor di panel Sensors, klik menu dropdown Sensor type dan pilih Soil Moisture.
-
Biarkan Units ditetapkan kepada NoUnits.
-
Pastikan Pin ditetapkan kepada 0.
-
Pilih butang Add untuk mencipta sensor Soil Moisture pada Pin 0.
Sensor kelembapan tanah akan dicipta dan muncul dalam senarai sensor.
-
Program aplikasi sensor kelembapan tanah
Aplikasi sensor kelembapan tanah kini boleh diprogramkan menggunakan sensor CounterFit.
Tugas - program aplikasi sensor kelembapan tanah
Program aplikasi sensor kelembapan tanah.
-
Pastikan aplikasi
soil-moisture-sensor
dibuka dalam VS Code. -
Buka fail
app.py
. -
Tambahkan kod berikut di bahagian atas
app.py
untuk menyambungkan aplikasi ke CounterFit:from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
Tambahkan kod berikut ke fail
app.py
untuk mengimport beberapa pustaka yang diperlukan:import time from counterfit_shims_grove.adc import ADC
Pernyataan
import time
mengimport modultime
yang akan digunakan kemudian dalam tugasan ini.Pernyataan
from counterfit_shims_grove.adc import ADC
mengimport kelasADC
untuk berinteraksi dengan penukar analog ke digital maya yang boleh disambungkan ke sensor CounterFit. -
Tambahkan kod berikut di bawah ini untuk mencipta satu instance kelas
ADC
:adc = ADC()
-
Tambahkan gelung tak terhingga yang membaca dari ADC ini pada pin 0 dan menulis hasilnya ke konsol. Gelung ini kemudian boleh berhenti selama 10 saat antara bacaan.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10)
-
Dari aplikasi CounterFit, ubah nilai sensor kelembapan tanah yang akan dibaca oleh aplikasi. Anda boleh melakukannya dengan dua cara:
-
Masukkan nombor dalam kotak Value untuk sensor kelembapan tanah, kemudian pilih butang Set. Nombor yang anda masukkan akan menjadi nilai yang dikembalikan oleh sensor.
-
Tandakan kotak Random, dan masukkan nilai Min dan Max, kemudian pilih butang Set. Setiap kali sensor membaca nilai, ia akan membaca nombor rawak antara Min dan Max.
-
-
Jalankan aplikasi Python. Anda akan melihat bacaan kelembapan tanah ditulis ke konsol. Ubah Value atau tetapan Random untuk melihat perubahan nilai.
(.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
💁 Anda boleh menemui kod ini dalam folder code/virtual-device.
😀 Program sensor kelembapan tanah anda 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.