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/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md

4.8 KiB

Deteksi Kedekatan - Perangkat IoT Virtual

Dalam bagian pelajaran ini, Anda akan menambahkan sensor kedekatan ke perangkat IoT virtual Anda, dan membaca jarak darinya.

Perangkat Keras

Perangkat IoT virtual akan menggunakan sensor jarak yang disimulasikan.

Pada perangkat IoT fisik, Anda akan menggunakan sensor dengan modul pengukuran laser untuk mendeteksi jarak.

Tambahkan sensor jarak ke CounterFit

Untuk menggunakan sensor jarak virtual, Anda perlu menambahkannya ke aplikasi CounterFit.

Tugas - tambahkan sensor jarak ke CounterFit

Tambahkan sensor jarak ke aplikasi CounterFit.

  1. Buka kode fruit-quality-detector di VS Code, dan pastikan lingkungan virtual telah diaktifkan.

  2. Instal paket Pip tambahan untuk menginstal CounterFit shim yang dapat berkomunikasi dengan sensor jarak dengan mensimulasikan paket Pip rpi-vl53l0x, sebuah paket Python yang berinteraksi dengan sensor jarak VL53L0X time-of-flight. Pastikan Anda menginstalnya dari terminal dengan lingkungan virtual yang diaktifkan.

    pip install counterfit-shims-rpi-vl53l0x
    
  3. Pastikan aplikasi web CounterFit sedang berjalan.

  4. Buat sensor jarak:

    1. Di kotak Create sensor pada panel Sensors, klik dropdown pada kotak Sensor type dan pilih Distance.

    2. Biarkan Units sebagai Millimeter.

    3. Sensor ini adalah sensor I²C, jadi atur alamatnya ke 0x29. Jika Anda menggunakan sensor VL53L0X fisik, alamat ini akan dikodekan secara tetap.

    4. Pilih tombol Add untuk membuat sensor jarak.

    Pengaturan sensor jarak

    Sensor jarak akan dibuat dan muncul dalam daftar sensor.

    Sensor jarak yang dibuat

Program sensor jarak

Perangkat IoT virtual sekarang dapat diprogram untuk menggunakan sensor jarak yang disimulasikan.

Tugas - program sensor time of flight

  1. Buat file baru di proyek fruit-quality-detector bernama distance-sensor.py.

    💁 Cara mudah untuk mensimulasikan beberapa perangkat IoT adalah dengan membuat masing-masing di file Python yang berbeda, lalu menjalankannya secara bersamaan.

  2. Mulai koneksi ke CounterFit dengan kode berikut:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  3. Tambahkan kode berikut di bawahnya:

    import time
    
    from counterfit_shims_rpi_vl53l0x.vl53l0x import VL53L0X
    

    Kode ini mengimpor pustaka sensor shim untuk sensor time of flight VL53L0X.

  4. Di bawah ini, tambahkan kode berikut untuk mengakses sensor:

    distance_sensor = VL53L0X()
    distance_sensor.begin()
    

    Kode ini mendeklarasikan sensor jarak, lalu memulai sensor.

  5. Terakhir, tambahkan loop tak terbatas untuk membaca jarak:

    while True:
        distance_sensor.wait_ready()
        print(f'Distance = {distance_sensor.get_distance()} mm')
        time.sleep(1)
    

    Kode ini menunggu nilai siap untuk dibaca dari sensor, lalu mencetaknya ke konsol.

  6. Jalankan kode ini.

    💁 Jangan lupa file ini bernama distance-sensor.py! Pastikan untuk menjalankannya melalui Python, bukan app.py.

  7. Anda akan melihat pengukuran jarak muncul di konsol. Ubah nilai di CounterFit untuk melihat nilai ini berubah, atau gunakan nilai acak.

    (.venv) ➜  fruit-quality-detector python distance-sensor.py 
    Distance = 37 mm
    Distance = 42 mm
    Distance = 29 mm
    

💁 Anda dapat menemukan kode ini di folder code-proximity/virtual-iot-device.

😀 Program sensor kedekatan Anda berhasil!


Penafian:
Dokumen ini telah diterjemahkan menggunakan layanan penerjemahan AI Co-op Translator. Meskipun kami berusaha untuk memberikan hasil yang akurat, harap diperhatikan 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 timbul dari penggunaan terjemahan ini.