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/README.md

19 KiB

Memicu Deteksi Kualitas Buah dari Sensor

Gambaran sketchnote dari pelajaran ini

Sketchnote oleh Nitya Narasimhan. Klik gambar untuk versi yang lebih besar.

Kuis Pra-Pelajaran

Kuis Pra-Pelajaran

Pendahuluan

Aplikasi IoT bukan hanya satu perangkat yang menangkap data dan mengirimkannya ke cloud, tetapi sering kali melibatkan banyak perangkat yang bekerja bersama untuk menangkap data dari dunia fisik menggunakan sensor, membuat keputusan berdasarkan data tersebut, dan berinteraksi kembali dengan dunia fisik melalui aktuator atau visualisasi.

Dalam pelajaran ini, Anda akan mempelajari lebih lanjut tentang merancang aplikasi IoT yang kompleks, mengintegrasikan beberapa sensor, beberapa layanan cloud untuk menganalisis dan menyimpan data, serta menunjukkan respons melalui aktuator. Anda akan belajar bagaimana merancang prototipe sistem kontrol kualitas buah, termasuk penggunaan sensor jarak untuk memicu aplikasi IoT, dan seperti apa arsitektur prototipe ini.

Dalam pelajaran ini, kita akan membahas:

🗑 Ini adalah pelajaran terakhir dalam proyek ini, jadi setelah menyelesaikan pelajaran dan tugas ini, jangan lupa untuk membersihkan layanan cloud Anda. Anda akan membutuhkan layanan tersebut untuk menyelesaikan tugas, jadi pastikan untuk menyelesaikannya terlebih dahulu.

Lihat panduan membersihkan proyek Anda jika diperlukan untuk instruksi tentang cara melakukannya.

Merancang Aplikasi IoT yang Kompleks

Aplikasi IoT terdiri dari banyak komponen. Ini mencakup berbagai hal dan berbagai layanan internet.

Aplikasi IoT dapat digambarkan sebagai things (perangkat) yang mengirimkan data yang menghasilkan insights. Insights ini menghasilkan actions untuk meningkatkan bisnis atau proses. Contohnya adalah mesin (thing) yang mengirimkan data suhu. Data ini digunakan untuk mengevaluasi apakah mesin bekerja sesuai harapan (insight). Insight ini digunakan untuk memprioritaskan jadwal perawatan mesin secara proaktif (action).

  • Perangkat yang berbeda mengumpulkan potongan data yang berbeda.
  • Layanan IoT memberikan wawasan atas data tersebut, terkadang melengkapinya dengan data dari sumber tambahan.
  • Wawasan ini mendorong tindakan, termasuk mengontrol aktuator di perangkat, atau memvisualisasikan data.

Arsitektur Referensi IoT

Arsitektur referensi IoT

Diagram di atas menunjukkan arsitektur referensi IoT.

🎓 Arsitektur referensi adalah contoh arsitektur yang dapat Anda gunakan sebagai acuan saat merancang sistem baru. Dalam hal ini, jika Anda membangun sistem IoT baru, Anda dapat mengikuti arsitektur referensi, mengganti perangkat dan layanan Anda sendiri sesuai kebutuhan.

  • Things adalah perangkat yang mengumpulkan data dari sensor, mungkin berinteraksi dengan layanan edge untuk menafsirkan data tersebut, seperti pengklasifikasi gambar untuk menafsirkan data gambar. Data dari perangkat dikirim ke layanan IoT.
  • Insights berasal dari aplikasi tanpa server, atau dari analisis yang dijalankan pada data yang disimpan.
  • Actions dapat berupa perintah yang dikirim ke perangkat, atau visualisasi data yang memungkinkan manusia membuat keputusan.

Arsitektur referensi IoT di Azure

Diagram di atas menunjukkan beberapa komponen dan layanan yang telah dibahas sejauh ini dalam pelajaran ini dan bagaimana mereka terhubung dalam arsitektur referensi IoT.

  • Things - Anda telah menulis kode perangkat untuk menangkap data dari sensor, dan menganalisis gambar menggunakan Custom Vision yang berjalan baik di cloud maupun di perangkat edge. Data ini dikirim ke IoT Hub.
  • Insights - Anda telah menggunakan Azure Functions untuk merespons pesan yang dikirim ke IoT Hub, dan menyimpan data untuk analisis lebih lanjut di Azure Storage.
  • Actions - Anda telah mengontrol aktuator berdasarkan keputusan yang dibuat di cloud dan perintah yang dikirim ke perangkat, serta memvisualisasikan data menggunakan Azure Maps.

Pikirkan tentang perangkat IoT lain yang pernah Anda gunakan, seperti peralatan rumah pintar. Apa saja things, insights, dan actions yang terlibat dalam perangkat dan perangkat lunaknya?

Pola ini dapat diskalakan sebesar atau sekecil yang Anda butuhkan, dengan menambahkan lebih banyak perangkat dan layanan.

Data dan Keamanan

Saat Anda mendefinisikan arsitektur sistem Anda, Anda perlu terus mempertimbangkan data dan keamanan.

  • Data apa yang dikirim dan diterima perangkat Anda?
  • Bagaimana data tersebut harus diamankan dan dilindungi?
  • Bagaimana akses ke perangkat dan layanan cloud harus dikontrol?

Pikirkan tentang keamanan data dari perangkat IoT yang Anda miliki. Seberapa banyak data tersebut bersifat pribadi dan harus dijaga kerahasiaannya, baik saat dikirim maupun saat disimpan? Data apa yang tidak boleh disimpan?

Merancang Sistem Kontrol Kualitas Buah

Sekarang mari kita terapkan konsep things, insights, dan actions ini pada detektor kualitas buah untuk merancang aplikasi ujung-ke-ujung yang lebih besar.

Bayangkan Anda diberi tugas untuk membangun detektor kualitas buah yang akan digunakan di pabrik pengolahan. Buah bergerak di atas sistem ban berjalan di mana saat ini karyawan memeriksa buah secara manual dan mengeluarkan buah yang belum matang saat tiba. Untuk mengurangi biaya, pemilik pabrik menginginkan sistem otomatis.

Salah satu tren dengan meningkatnya IoT (dan teknologi secara umum) adalah pekerjaan manual digantikan oleh mesin. Lakukan penelitian: Berapa banyak pekerjaan yang diperkirakan akan hilang karena IoT? Berapa banyak pekerjaan baru yang akan tercipta untuk membangun perangkat IoT?

Anda perlu membangun sistem di mana buah terdeteksi saat tiba di ban berjalan, kemudian difoto dan diperiksa menggunakan model AI yang berjalan di perangkat edge. Hasilnya kemudian dikirim ke cloud untuk disimpan, dan jika buah belum matang, notifikasi diberikan agar buah yang belum matang dapat dikeluarkan.

Things Detektor untuk mendeteksi buah yang tiba di ban berjalan
Kamera untuk memotret dan mengklasifikasikan buah
Perangkat edge yang menjalankan pengklasifikasi
Perangkat untuk memberi notifikasi tentang buah yang belum matang
Insights Memutuskan untuk memeriksa kematangan buah
Menyimpan hasil klasifikasi kematangan
Menentukan apakah perlu memberi peringatan tentang buah yang belum matang
Actions Mengirim perintah ke perangkat untuk memotret buah dan memeriksanya dengan pengklasifikasi gambar
Mengirim perintah ke perangkat untuk memberi peringatan bahwa buah belum matang

Membuat Prototipe Aplikasi Anda

Arsitektur referensi IoT untuk pemeriksaan kualitas buah

Diagram di atas menunjukkan arsitektur referensi untuk aplikasi prototipe ini.

  • Perangkat IoT dengan sensor jarak mendeteksi kedatangan buah. Ini mengirim pesan ke cloud untuk memberi tahu bahwa buah telah terdeteksi.
  • Aplikasi tanpa server di cloud mengirim perintah ke perangkat lain untuk mengambil foto dan mengklasifikasikan gambar.
  • Perangkat IoT dengan kamera mengambil gambar dan mengirimkannya ke pengklasifikasi gambar yang berjalan di perangkat edge. Hasilnya kemudian dikirim ke cloud.
  • Aplikasi tanpa server di cloud menyimpan informasi ini untuk dianalisis nanti untuk melihat persentase buah yang belum matang. Jika buah belum matang, aplikasi mengirim perintah ke perangkat IoT lain untuk memberi tahu pekerja pabrik melalui LED bahwa ada buah yang belum matang.

💁 Seluruh aplikasi IoT ini dapat diimplementasikan sebagai satu perangkat, dengan semua logika untuk memulai klasifikasi gambar dan mengontrol LED yang terintegrasi. Perangkat ini dapat menggunakan IoT Hub hanya untuk melacak jumlah buah yang belum matang yang terdeteksi dan mengonfigurasi perangkat. Dalam pelajaran ini, aplikasi diperluas untuk mendemonstrasikan konsep untuk aplikasi IoT skala besar.

Untuk prototipe, Anda akan mengimplementasikan semua ini pada satu perangkat. Jika Anda menggunakan mikrokontroler, maka Anda akan menggunakan perangkat edge terpisah untuk menjalankan pengklasifikasi gambar. Anda telah mempelajari sebagian besar hal yang Anda perlukan untuk membangun ini.

Memicu Pemeriksaan Kualitas Buah dari Sensor

Perangkat IoT memerlukan semacam pemicu untuk menunjukkan kapan buah siap diklasifikasikan. Salah satu pemicu untuk ini adalah mengukur kapan buah berada di lokasi yang tepat di ban berjalan dengan mengukur jarak ke sensor.

Sensor jarak mengirimkan sinar laser ke objek seperti pisang dan mengukur waktu hingga sinar dipantulkan kembali

Sensor jarak dapat digunakan untuk mengukur jarak dari sensor ke suatu objek. Biasanya, sensor ini memancarkan sinar radiasi elektromagnetik seperti sinar laser atau cahaya infra-merah, lalu mendeteksi radiasi yang dipantulkan dari objek. Waktu antara sinar laser yang dikirim dan sinyal yang dipantulkan kembali dapat digunakan untuk menghitung jarak ke sensor.

💁 Anda mungkin pernah menggunakan sensor jarak tanpa menyadarinya. Sebagian besar ponsel pintar akan mematikan layar saat Anda mendekatkannya ke telinga untuk mencegah Anda secara tidak sengaja mengakhiri panggilan dengan daun telinga Anda. Ini bekerja menggunakan sensor jarak, yang mendeteksi objek dekat layar selama panggilan dan menonaktifkan kemampuan sentuh hingga ponsel berada pada jarak tertentu.

Tugas - Memicu Deteksi Kualitas Buah dari Sensor Jarak

Ikuti panduan yang relevan untuk menggunakan sensor jarak untuk mendeteksi objek menggunakan perangkat IoT Anda:

Data yang Digunakan untuk Detektor Kualitas Buah

Prototipe detektor buah memiliki beberapa komponen yang saling berkomunikasi.

Komponen yang saling berkomunikasi

  • Sensor jarak mengukur jarak ke buah dan mengirimkannya ke IoT Hub
  • Perintah untuk mengontrol kamera berasal dari IoT Hub ke perangkat kamera
  • Hasil klasifikasi gambar dikirim ke IoT Hub
  • Perintah untuk mengontrol LED untuk memberi tahu saat buah belum matang dikirim dari IoT Hub ke perangkat dengan LED

Sebaiknya definisikan struktur pesan ini terlebih dahulu, sebelum Anda membangun aplikasi.

💁 Hampir setiap pengembang berpengalaman pernah menghabiskan waktu berjam-jam, berhari-hari, atau bahkan berminggu-minggu mengejar bug yang disebabkan oleh perbedaan antara data yang dikirim dan yang diharapkan.

Sebagai contoh - jika Anda mengirim informasi suhu, bagaimana Anda akan mendefinisikan JSON-nya? Anda bisa memiliki field bernama temperature, atau menggunakan singkatan umum temp.

{
    "temperature": 20.7
}

dibandingkan dengan:

{
    "temp": 20.7
}

Anda juga harus mempertimbangkan satuan - apakah suhu dalam °C atau °F? Jika Anda mengukur suhu menggunakan perangkat konsumen dan mereka mengubah satuan tampilan, Anda perlu memastikan satuan yang dikirim ke cloud tetap konsisten.

Lakukan penelitian: Bagaimana masalah satuan menyebabkan Mars Climate Orbiter senilai $125 juta mengalami kegagalan?

Pikirkan tentang data yang dikirim untuk detektor kualitas buah. Bagaimana Anda akan mendefinisikan setiap pesan? Di mana Anda akan menganalisis data dan membuat keputusan tentang data apa yang akan dikirim?

Sebagai contoh - memicu klasifikasi gambar menggunakan sensor jarak. Perangkat IoT mengukur jarak, tetapi di mana keputusan dibuat? Apakah perangkat memutuskan bahwa buah sudah cukup dekat dan mengirim pesan untuk memberi tahu IoT Hub untuk memicu klasifikasi? Atau apakah perangkat mengirimkan pengukuran jarak dan membiarkan IoT Hub yang memutuskan?

Jawaban untuk pertanyaan seperti ini adalah - tergantung. Setiap kasus penggunaan berbeda, itulah sebabnya sebagai pengembang IoT Anda perlu memahami sistem yang Anda bangun, bagaimana sistem tersebut digunakan, dan data yang terdeteksi.

  • Jika keputusan dibuat oleh IoT Hub, Anda perlu mengirim beberapa pengukuran jarak.
  • Jika Anda mengirim terlalu banyak pesan, ini akan meningkatkan biaya IoT Hub, dan jumlah bandwidth yang dibutuhkan oleh perangkat IoT Anda (terutama di pabrik dengan jutaan perangkat). Ini juga dapat memperlambat perangkat Anda.
  • Jika Anda membuat keputusan di perangkat, Anda perlu menyediakan cara untuk mengonfigurasi perangkat agar dapat menyetel mesin dengan lebih baik.

Menggunakan Perangkat Pengembang untuk Mensimulasikan Beberapa Perangkat IoT

Untuk membangun prototipe Anda, Anda perlu perangkat pengembang IoT Anda untuk bertindak seperti beberapa perangkat, mengirim telemetri dan merespons perintah.

Mensimulasikan Beberapa Perangkat IoT pada Raspberry Pi atau Perangkat IoT Virtual

Saat menggunakan komputer papan tunggal seperti Raspberry Pi, Anda dapat menjalankan beberapa aplikasi sekaligus. Ini berarti Anda dapat mensimulasikan beberapa perangkat IoT dengan membuat beberapa aplikasi, satu untuk setiap 'perangkat IoT'. Sebagai contoh, Anda dapat mengimplementasikan setiap perangkat sebagai file Python terpisah dan menjalankannya di sesi terminal yang berbeda.

💁 Perlu diketahui bahwa beberapa perangkat keras tidak akan berfungsi jika diakses oleh beberapa aplikasi yang berjalan secara bersamaan.

Mensimulasikan beberapa perangkat pada mikrokontroler

Mikrokontroler lebih rumit untuk mensimulasikan beberapa perangkat. Tidak seperti komputer papan tunggal, Anda tidak dapat menjalankan beberapa aplikasi sekaligus; Anda harus memasukkan semua logika untuk setiap perangkat IoT dalam satu aplikasi.

Beberapa saran untuk mempermudah proses ini adalah:

  • Buat satu atau lebih kelas untuk setiap perangkat IoT - misalnya kelas bernama DistanceSensor, ClassifierCamera, LEDController. Masing-masing dapat memiliki metode setup dan loop sendiri yang dipanggil oleh fungsi setup dan loop utama.
  • Tangani perintah di satu tempat, dan arahkan ke kelas perangkat yang relevan sesuai kebutuhan.
  • Dalam fungsi loop utama, Anda perlu mempertimbangkan waktu untuk setiap perangkat yang berbeda. Misalnya, jika Anda memiliki satu kelas perangkat yang perlu diproses setiap 10 detik, dan yang lain setiap 1 detik, maka dalam fungsi loop utama gunakan penundaan 1 detik. Setiap panggilan loop memicu kode yang relevan untuk perangkat yang perlu diproses setiap detik, dan gunakan penghitung untuk menghitung setiap loop, memproses perangkat lain saat penghitung mencapai 10 (mengatur ulang penghitung setelahnya).

Beralih ke produksi

Prototipe akan menjadi dasar sistem produksi akhir. Beberapa perbedaan saat Anda beralih ke produksi adalah:

  • Komponen yang diperkuat - menggunakan perangkat keras yang dirancang untuk tahan terhadap kebisingan, panas, getaran, dan tekanan di pabrik.
  • Menggunakan komunikasi internal - beberapa komponen akan berkomunikasi langsung tanpa perlu mengirim data ke cloud, hanya mengirim data ke cloud untuk disimpan. Bagaimana ini dilakukan tergantung pada pengaturan pabrik, baik melalui komunikasi langsung, atau dengan menjalankan sebagian layanan IoT di edge menggunakan perangkat gateway.
  • Opsi konfigurasi - setiap pabrik dan kasus penggunaan berbeda, sehingga perangkat keras perlu dapat dikonfigurasi. Misalnya, sensor jarak mungkin perlu mendeteksi buah yang berbeda pada jarak yang berbeda. Daripada mengkodekan jarak untuk memicu klasifikasi, Anda ingin ini dapat dikonfigurasi melalui cloud, misalnya menggunakan device twin.
  • Penghapusan buah otomatis - alih-alih LED untuk memberi tahu bahwa buah belum matang, perangkat otomatis akan menghapusnya.

Lakukan penelitian: Dalam cara apa lagi perangkat produksi berbeda dari kit pengembang?


🚀 Tantangan

Dalam pelajaran ini, Anda telah mempelajari beberapa konsep yang perlu Anda ketahui tentang cara merancang sistem IoT. Ingat kembali proyek sebelumnya. Bagaimana mereka cocok dengan arsitektur referensi yang ditunjukkan di atas?

Pilih salah satu proyek sejauh ini dan pikirkan desain solusi yang lebih rumit dengan menggabungkan beberapa kemampuan di luar yang telah dibahas dalam proyek. Gambarlah arsitekturnya dan pikirkan semua perangkat dan layanan yang Anda perlukan.

Sebagai contoh - perangkat pelacak kendaraan yang menggabungkan GPS dengan sensor untuk memantau hal-hal seperti suhu di truk berpendingin, waktu mesin menyala dan mati, serta identitas pengemudi. Apa saja perangkat yang terlibat, layanan yang terlibat, data yang dikirimkan, dan pertimbangan keamanan serta privasi?

Kuis setelah kuliah

Kuis setelah kuliah

Tinjauan & Studi Mandiri

Tugas

Bangun detektor kualitas buah


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