5.6 KiB
Mengukur Kelembapan Tanah - Perangkat Keras IoT Virtual
Dalam bagian pelajaran ini, Anda akan menambahkan sensor kelembapan tanah kapasitif ke perangkat IoT virtual Anda, dan membaca nilai dari sensor tersebut.
Perangkat Keras Virtual
Perangkat IoT virtual akan menggunakan simulasi sensor kelembapan tanah kapasitif Grove. Ini membuat lab ini tetap sama seperti menggunakan Raspberry Pi dengan sensor kelembapan tanah kapasitif Grove fisik.
Pada perangkat IoT fisik, sensor kelembapan tanah adalah sensor kapasitif yang mengukur kelembapan tanah dengan mendeteksi kapasitansi tanah, sebuah sifat yang berubah seiring dengan perubahan kelembapan tanah. Ketika kelembapan tanah meningkat, tegangan akan menurun.
Ini adalah sensor analog, sehingga menggunakan ADC 10-bit yang disimulasikan untuk melaporkan nilai dari 1-1.023.
Menambahkan Sensor Kelembapan Tanah ke CounterFit
Untuk menggunakan sensor kelembapan tanah virtual, Anda perlu menambahkannya ke aplikasi CounterFit.
Tugas - Menambahkan Sensor Kelembapan Tanah ke CounterFit
Tambahkan sensor kelembapan tanah ke aplikasi CounterFit.
-
Buat aplikasi Python baru di komputer Anda dalam folder bernama
soil-moisture-sensor
dengan satu file bernamaapp.py
dan lingkungan virtual Python, lalu tambahkan paket pip CounterFit.⚠️ Anda dapat merujuk ke instruksi untuk membuat dan mengatur proyek Python CounterFit di pelajaran 1 jika diperlukan.
-
Pastikan aplikasi web CounterFit sedang berjalan.
-
Buat sensor kelembapan tanah:
-
Di kotak Create sensor pada panel Sensors, buka menu dropdown Sensor type dan pilih Soil Moisture.
-
Biarkan Units tetap diatur ke NoUnits.
-
Pastikan Pin diatur ke 0.
-
Pilih tombol Add untuk membuat sensor Soil Moisture pada Pin 0.
Sensor kelembapan tanah akan dibuat dan muncul di daftar sensor.
-
Memprogram Aplikasi Sensor Kelembapan Tanah
Aplikasi sensor kelembapan tanah sekarang dapat diprogram menggunakan sensor CounterFit.
Tugas - Memprogram Aplikasi Sensor Kelembapan Tanah
Program aplikasi sensor kelembapan tanah.
-
Pastikan aplikasi
soil-moisture-sensor
terbuka di VS Code. -
Buka file
app.py
. -
Tambahkan kode berikut di bagian atas
app.py
untuk menghubungkan aplikasi ke CounterFit:from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
Tambahkan kode berikut ke file
app.py
untuk mengimpor beberapa pustaka yang diperlukan:import time from counterfit_shims_grove.adc import ADC
Pernyataan
import time
mengimpor modultime
yang akan digunakan nanti dalam tugas ini.Pernyataan
from counterfit_shims_grove.adc import ADC
mengimpor kelasADC
untuk berinteraksi dengan konverter analog ke digital virtual yang dapat terhubung ke sensor CounterFit. -
Tambahkan kode berikut di bawah ini untuk membuat instance dari kelas
ADC
:adc = ADC()
-
Tambahkan loop tak terbatas yang membaca dari ADC ini pada pin 0 dan menuliskan hasilnya ke konsol. Loop ini kemudian dapat berhenti selama 10 detik di antara pembacaan.
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 dapat melakukannya dengan dua cara:
-
Masukkan angka di kotak Value untuk sensor kelembapan tanah, lalu pilih tombol Set. Angka yang Anda masukkan akan menjadi nilai yang dikembalikan oleh sensor.
-
Centang kotak Random, dan masukkan nilai Min dan Max, lalu pilih tombol Set. Setiap kali sensor membaca nilai, sensor akan membaca angka acak antara Min dan Max.
-
-
Jalankan aplikasi Python. Anda akan melihat pengukuran kelembapan tanah ditulis ke konsol. Ubah pengaturan Value atau 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 dapat menemukan kode ini di folder code/virtual-device.
😀 Program sensor kelembapan tanah Anda berhasil!
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.