chore(i18n): sync translations with latest source changes (chunk 1/1, 187 changes)

update-translations
localizeflow[bot] 3 weeks ago
parent ecd6e0f3cc
commit 6ce7bc8f5b

@ -738,8 +738,8 @@
"language_code": "id"
},
"README.md": {
"original_hash": "3fcc056cd3837e33d2bdf79f9c359fcf",
"translation_date": "2026-01-30T02:16:50+00:00",
"original_hash": "accf69391fa4450eadbf492ca024cccf",
"translation_date": "2026-04-06T16:15:24+00:00",
"source_file": "README.md",
"language_code": "id"
},

@ -1,6 +1,6 @@
# Pengantar IoT
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.jpg)
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-1.2606670fa61ee904.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.

@ -203,7 +203,7 @@ Sebagai langkah kedua 'Hello World', Anda akan menjalankan aplikasi CounterFit d
Aplikasi akan mulai berjalan dan terbuka di browser web Anda:
![Aplikasi Counter Fit berjalan di browser](../../../../../translated_images/id/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.png)
![Aplikasi Counter Fit berjalan di browser](../../../../../translated_images/id/counterfit-first-run.433326358b669b31.webp)
Aplikasi akan ditandai sebagai *Disconnected*, dengan LED di sudut kanan atas mati.
@ -224,7 +224,7 @@ Sebagai langkah kedua 'Hello World', Anda akan menjalankan aplikasi CounterFit d
1. Di terminal baru ini, jalankan file `app.py` seperti sebelumnya. Status CounterFit akan berubah menjadi **Connected** dan LED akan menyala.
![Counter Fit menunjukkan status terhubung](../../../../../translated_images/id/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.png)
![Counter Fit menunjukkan status terhubung](../../../../../translated_images/id/counterfit-connected.ed30b46d8f79b092.webp)
> 💁 Anda dapat menemukan kode ini di folder [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device).

@ -1,6 +1,6 @@
# Penjelajahan Lebih Dalam ke IoT
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.jpg)
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-2.324b0580d620c25e.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -38,7 +38,7 @@ Bagian **Perangkat** dari IoT mengacu pada perangkat yang dapat berinteraksi den
Perangkat ini berinteraksi dengan dunia fisik, baik dengan menggunakan sensor untuk mengumpulkan data dari lingkungan sekitar atau dengan mengontrol keluaran atau aktuator untuk membuat perubahan fisik. Contoh khasnya adalah termostat pintar - perangkat yang memiliki sensor suhu, alat untuk mengatur suhu yang diinginkan seperti dial atau layar sentuh, dan koneksi ke sistem pemanas atau pendingin yang dapat dihidupkan ketika suhu yang terdeteksi berada di luar rentang yang diinginkan. Sensor suhu mendeteksi bahwa ruangan terlalu dingin, dan aktuator menghidupkan pemanas.
![Diagram yang menunjukkan suhu dan dial sebagai input ke perangkat IoT, dan kontrol pemanas sebagai output](../../../../../translated_images/id/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.png)
![Diagram yang menunjukkan suhu dan dial sebagai input ke perangkat IoT, dan kontrol pemanas sebagai output](../../../../../translated_images/id/basic-thermostat.a923217fd1f37e5a.webp)
Ada berbagai macam perangkat yang dapat bertindak sebagai perangkat IoT, mulai dari perangkat keras khusus yang mendeteksi satu hal, hingga perangkat serbaguna, bahkan ponsel pintar Anda! Ponsel pintar dapat menggunakan sensor untuk mendeteksi dunia di sekitarnya, dan aktuator untuk berinteraksi dengan dunia - misalnya menggunakan sensor GPS untuk mendeteksi lokasi Anda dan speaker untuk memberikan instruksi navigasi ke tujuan.
@ -54,7 +54,7 @@ Perangkat juga tidak selalu terhubung langsung ke Internet melalui WiFi atau kon
Dalam contoh termostat pintar, termostat akan terhubung menggunakan WiFi rumah ke layanan cloud yang berjalan di cloud. Termostat akan mengirim data suhu ke layanan cloud ini, dan dari sana data akan ditulis ke semacam basis data yang memungkinkan pemilik rumah untuk memeriksa suhu saat ini dan suhu sebelumnya menggunakan aplikasi ponsel. Layanan lain di cloud akan mengetahui suhu yang diinginkan oleh pemilik rumah, dan mengirim pesan kembali ke perangkat IoT melalui layanan cloud untuk memberi tahu sistem pemanas untuk menyala atau mati.
![Diagram yang menunjukkan suhu dan dial sebagai input ke perangkat IoT, perangkat IoT dengan komunikasi dua arah ke cloud, yang pada gilirannya memiliki komunikasi dua arah ke ponsel, dan kontrol pemanas sebagai output dari perangkat IoT](../../../../../translated_images/id/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.png)
![Diagram yang menunjukkan suhu dan dial sebagai input ke perangkat IoT, perangkat IoT dengan komunikasi dua arah ke cloud, yang pada gilirannya memiliki komunikasi dua arah ke ponsel, dan kontrol pemanas sebagai output dari perangkat IoT](../../../../../translated_images/id/mobile-controlled-thermostat.4a994010473d8d6a.webp)
Versi yang lebih pintar bahkan dapat menggunakan AI di cloud dengan data dari sensor lain yang terhubung ke perangkat IoT lain seperti sensor keberadaan yang mendeteksi ruangan mana yang digunakan, serta data seperti cuaca dan bahkan kalender Anda, untuk membuat keputusan tentang bagaimana mengatur suhu secara cerdas. Misalnya, AI dapat mematikan pemanas jika membaca dari kalender Anda bahwa Anda sedang berlibur, atau mematikan pemanas berdasarkan ruangan demi ruangan tergantung pada ruangan mana yang Anda gunakan, belajar dari data untuk menjadi semakin akurat seiring waktu.
@ -94,7 +94,7 @@ Semakin cepat siklus clock, semakin banyak instruksi yang dapat diproses setiap
> 💁 CPU menjalankan program menggunakan [siklus fetch-decode-execute](https://wikipedia.org/wiki/Instruction_cycle). Untuk setiap detak clock, CPU akan mengambil instruksi berikutnya dari memori, mendekodenya, lalu menjalankannya seperti menggunakan unit logika aritmatika (ALU) untuk menambahkan 2 angka. Beberapa eksekusi akan memakan waktu beberapa detak untuk dijalankan, sehingga siklus berikutnya akan berjalan pada detak berikutnya setelah instruksi selesai.
![Siklus fetch-decode-execute yang menunjukkan fetch mengambil instruksi dari program yang disimpan di RAM, lalu mendekode dan mengeksekusinya di CPU](../../../../../translated_images/id/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.png)
![Siklus fetch-decode-execute yang menunjukkan fetch mengambil instruksi dari program yang disimpan di RAM, lalu mendekode dan mengeksekusinya di CPU](../../../../../translated_images/id/fetch-decode-execute.2fd6f150f6280392.webp)
Mikrokontroler memiliki kecepatan clock yang jauh lebih rendah dibandingkan komputer desktop atau laptop, atau bahkan sebagian besar ponsel pintar. Misalnya, Wio Terminal memiliki CPU yang berjalan pada 120MHz atau 120.000.000 siklus per detik.
@ -182,7 +182,7 @@ Papan Arduino diprogram dalam C atau C++. Menggunakan C/C++ memungkinkan kode An
Anda akan menulis kode setup Anda di fungsi `setup`, seperti menghubungkan ke WiFi dan layanan cloud atau menginisialisasi pin untuk input dan output. Kode loop Anda kemudian akan berisi kode pemrosesan, seperti membaca dari sensor dan mengirimkan nilainya ke cloud. Biasanya Anda akan menyertakan penundaan di setiap loop, misalnya, jika Anda hanya ingin data sensor dikirim setiap 10 detik, Anda akan menambahkan penundaan 10 detik di akhir loop sehingga mikrokontroler dapat tidur, menghemat daya, lalu menjalankan loop lagi saat diperlukan 10 detik kemudian.
![Sebuah sketch Arduino menjalankan setup terlebih dahulu, lalu menjalankan loop berulang kali](../../../../../translated_images/id/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.png)
![Sebuah sketch Arduino menjalankan setup terlebih dahulu, lalu menjalankan loop berulang kali](../../../../../translated_images/id/arduino-sketch.79590cb837ff7a7c.webp)
✅ Arsitektur program ini dikenal sebagai *event loop* atau *message loop*. Banyak aplikasi menggunakan ini di balik layar dan ini adalah standar untuk sebagian besar aplikasi desktop yang berjalan di OS seperti Windows, macOS, atau Linux. Fungsi `loop` mendengarkan pesan dari komponen antarmuka pengguna seperti tombol, atau perangkat seperti keyboard, dan meresponsnya. Anda dapat membaca lebih lanjut di [artikel tentang event loop](https://wikipedia.org/wiki/Event_loop).

@ -1,6 +1,6 @@
# Berinteraksi dengan Dunia Fisik Menggunakan Sensor dan Aktuator
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.jpg)
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-3.cc3b7b4cd646de59.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -92,7 +92,7 @@ Sensor digital, seperti sensor analog, mendeteksi dunia di sekitar mereka menggu
Sensor digital paling sederhana adalah tombol atau saklar. Ini adalah sensor dengan dua keadaan, hidup atau mati.
![Tombol menerima 5 volt. Saat tidak ditekan, mengembalikan 0 volt; saat ditekan, mengembalikan 5 volt](../../../../../translated_images/id/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.png)
![Tombol menerima 5 volt. Saat tidak ditekan, mengembalikan 0 volt; saat ditekan, mengembalikan 5 volt](../../../../../translated_images/id/button.eadb560b77ac45e5.webp)
Pin pada perangkat IoT seperti pin GPIO dapat mengukur sinyal ini secara langsung sebagai 0 atau 1. Jika tegangan yang dikirim sama dengan tegangan yang dikembalikan, nilai yang dibaca adalah 1, jika tidak nilai yang dibaca adalah 0. Tidak perlu mengonversi sinyal, sinyal hanya bisa berupa 1 atau 0.
@ -125,7 +125,7 @@ Beberapa aktuator umum meliputi:
Ikuti panduan yang relevan di bawah ini untuk menambahkan aktuator ke perangkat IoT Anda, yang dikendalikan oleh sensor, untuk membangun lampu malam IoT. Lampu ini akan mengumpulkan tingkat cahaya dari sensor cahaya, dan menggunakan aktuator berupa LED untuk memancarkan cahaya saat tingkat cahaya yang terdeteksi terlalu rendah.
![Diagram alur tugas menunjukkan tingkat cahaya yang dibaca dan diperiksa, serta LED yang dikendalikan](../../../../../translated_images/id/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.png)
![Diagram alur tugas menunjukkan tingkat cahaya yang dibaca dan diperiksa, serta LED yang dikendalikan](../../../../../translated_images/id/assignment-1-flow.7552a51acb1a5ec8.webp)
* [Arduino - Wio Terminal](wio-terminal-actuator.md)
* [Komputer papan tunggal - Raspberry Pi](pi-actuator.md)
@ -140,7 +140,7 @@ Seperti sensor, aktuator dapat berupa analog atau digital.
Aktuator analog menerima sinyal analog dan mengubahnya menjadi semacam interaksi, di mana interaksi tersebut berubah berdasarkan tegangan yang diberikan.
Salah satu contohnya adalah lampu yang dapat diredupkan, seperti yang mungkin Anda miliki di rumah Anda. Jumlah tegangan yang diberikan ke lampu menentukan seberapa terang lampu tersebut.
![Cahaya redup pada tegangan rendah dan lebih terang pada tegangan tinggi](../../../../../translated_images/id/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.png)
![Cahaya redup pada tegangan rendah dan lebih terang pada tegangan tinggi](../../../../../translated_images/id/dimmable-light.9ceffeb195dec1a8.webp)
Seperti halnya sensor, perangkat IoT sebenarnya bekerja dengan sinyal digital, bukan analog. Ini berarti untuk mengirimkan sinyal analog, perangkat IoT memerlukan konverter digital ke analog (DAC), baik langsung pada perangkat IoT atau pada papan konektor. Konverter ini akan mengubah 0 dan 1 dari perangkat IoT menjadi tegangan analog yang dapat digunakan oleh aktuator.
@ -187,7 +187,7 @@ Aktuator digital, seperti sensor digital, memiliki dua keadaan yang dikontrol ol
Salah satu aktuator digital sederhana adalah LED. Ketika perangkat mengirimkan sinyal digital 1, tegangan tinggi dikirimkan yang menyalakan LED. Ketika sinyal digital 0 dikirimkan, tegangan turun menjadi 0V dan LED mati.
![LED mati pada 0 volt dan menyala pada 5V](../../../../../translated_images/id/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.png)
![LED mati pada 0 volt dan menyala pada 5V](../../../../../translated_images/id/led.ec6d94f66676a174.webp)
✅ Aktuator 2-keadaan sederhana apa lagi yang bisa kamu pikirkan? Salah satu contohnya adalah solenoid, yang merupakan elektromagnet yang dapat diaktifkan untuk melakukan hal-hal seperti menggerakkan baut pintu untuk mengunci/membuka kunci pintu.

@ -26,7 +26,7 @@ Grove LED hadir sebagai modul dengan beberapa pilihan LED, memungkinkan Anda mem
Hubungkan LED.
![Sebuah Grove LED](../../../../../translated_images/id/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png)
![Sebuah Grove LED](../../../../../translated_images/id/grove-led.6c853be93f473cf2.webp)
1. Pilih LED favorit Anda dan masukkan kaki-kakinya ke dalam dua lubang pada modul LED.
@ -40,7 +40,7 @@ Hubungkan LED.
1. Dengan Raspberry Pi dalam keadaan mati, hubungkan ujung lain kabel Grove ke soket digital yang ditandai **D5** pada Grove Base hat yang terpasang pada Pi. Soket ini adalah soket kedua dari kiri, pada baris soket di sebelah pin GPIO.
![Grove LED terhubung ke soket D5](../../../../../translated_images/id/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.png)
![Grove LED terhubung ke soket D5](../../../../../translated_images/id/pi-led.97f1d474981dc35d.webp)
## Program Lampu Malam

@ -16,13 +16,13 @@ Sensor cahaya Grove yang digunakan untuk mendeteksi tingkat cahaya perlu dihubun
Hubungkan sensor cahaya.
![Sensor cahaya Grove](../../../../../translated_images/id/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.png)
![Sensor cahaya Grove](../../../../../translated_images/id/grove-light-sensor.b8127b7c434e632d.webp)
1. Masukkan salah satu ujung kabel Grove ke soket pada modul sensor cahaya. Kabel hanya dapat masuk dengan satu arah.
1. Dengan Raspberry Pi dalam keadaan mati, hubungkan ujung lain kabel Grove ke soket analog yang diberi tanda **A0** pada Grove Base hat yang terpasang pada Pi. Soket ini adalah soket kedua dari kanan, pada baris soket di sebelah pin GPIO.
![Sensor cahaya Grove terhubung ke soket A0](../../../../../translated_images/id/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.png)
![Sensor cahaya Grove terhubung ke soket A0](../../../../../translated_images/id/pi-light-sensor.66cc1e31fa48cd7d.webp)
## Program Sensor Cahaya

@ -36,11 +36,11 @@ Tambahkan LED ke aplikasi CounterFit.
1. Pilih tombol **Add** untuk membuat LED pada Pin 5.
![Pengaturan LED](../../../../../translated_images/id/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.png)
![Pengaturan LED](../../../../../translated_images/id/counterfit-create-led.ba9db1c9b8c622a6.webp)
LED akan dibuat dan muncul di daftar aktuator.
![LED yang telah dibuat](../../../../../translated_images/id/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.png)
![LED yang telah dibuat](../../../../../translated_images/id/counterfit-led.c0ab02de6d256ad8.webp)
Setelah LED dibuat, Anda dapat mengubah warnanya menggunakan pemilih *Color*. Pilih tombol **Set** untuk mengubah warna setelah Anda memilihnya.

@ -28,11 +28,11 @@ Tambahkan sensor cahaya ke aplikasi CounterFit.
1. Pilih tombol **Add** untuk membuat sensor cahaya pada Pin 0.
![Pengaturan sensor cahaya](../../../../../translated_images/id/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.png)
![Pengaturan sensor cahaya](../../../../../translated_images/id/counterfit-create-light-sensor.9f36a5e0d4458d8d.webp)
Sensor cahaya akan dibuat dan muncul di daftar sensor.
![Sensor cahaya dibuat](../../../../../translated_images/id/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.png)
![Sensor cahaya dibuat](../../../../../translated_images/id/counterfit-light-sensor.5d0f5584df56b90f.webp)
## Memprogram Sensor Cahaya

@ -26,7 +26,7 @@ Grove LED hadir sebagai modul dengan beberapa pilihan LED, memungkinkan Anda mem
Hubungkan LED.
![Sebuah Grove LED](../../../../../translated_images/id/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png)
![Sebuah Grove LED](../../../../../translated_images/id/grove-led.6c853be93f473cf2.webp)
1. Pilih LED favorit Anda dan masukkan kaki-kakinya ke dalam dua lubang pada modul LED.

@ -1,6 +1,6 @@
# Hubungkan perangkat Anda ke Internet
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.jpg)
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-4.7344e074ea68fa54.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -47,7 +47,7 @@ MQTT adalah protokol komunikasi paling populer untuk perangkat IoT dan akan diba
MQTT memiliki satu broker dan beberapa klien. Semua klien terhubung ke broker, dan broker merutekan pesan ke klien yang relevan. Pesan dirutekan menggunakan topik bernama, bukan dikirim langsung ke klien individu. Klien dapat mempublikasikan ke topik, dan klien mana pun yang berlangganan topik tersebut akan menerima pesan.
![Perangkat IoT mempublikasikan telemetri pada topik /telemetry, dan layanan cloud berlangganan topik tersebut](../../../../../translated_images/id/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.png)
![Perangkat IoT mempublikasikan telemetri pada topik /telemetry, dan layanan cloud berlangganan topik tersebut](../../../../../translated_images/id/mqtt.cbf7f21d9adc3e17.webp)
✅ Lakukan riset. Jika Anda memiliki banyak perangkat IoT, bagaimana Anda dapat memastikan broker MQTT Anda dapat menangani semua pesan?
@ -69,7 +69,7 @@ Daripada menangani kompleksitas pengaturan broker MQTT sebagai bagian dari tugas
> 💁 Broker uji ini bersifat publik dan tidak aman. Siapa pun dapat mendengarkan apa yang Anda publikasikan, jadi tidak boleh digunakan dengan data apa pun yang perlu dirahasiakan.
![Diagram alur tugas menunjukkan tingkat cahaya yang dibaca dan diperiksa, serta LED yang dikontrol](../../../../../translated_images/id/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.png)
![Diagram alur tugas menunjukkan tingkat cahaya yang dibaca dan diperiksa, serta LED yang dikontrol](../../../../../translated_images/id/assignment-1-internet-flow.3256feab5f052fd2.webp)
Ikuti langkah yang relevan di bawah ini untuk menghubungkan perangkat Anda ke broker MQTT:
@ -350,7 +350,7 @@ Untuk mesin, Anda mungkin ingin menyimpan data, terutama jika data tersebut digu
Desainer perangkat IoT juga harus mempertimbangkan apakah perangkat IoT dapat digunakan selama gangguan Internet atau kehilangan sinyal yang disebabkan oleh lokasi. Sebuah termostat pintar harus dapat membuat beberapa keputusan terbatas untuk mengontrol pemanasan jika tidak dapat mengirim telemetri ke cloud karena gangguan.
[![Ferrari ini rusak karena seseorang mencoba memperbaruinya di bawah tanah di mana tidak ada sinyal seluler](../../../../../translated_images/id/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.png)](https://twitter.com/internetofshit/status/1315736960082808832)
[![Ferrari ini rusak karena seseorang mencoba memperbaruinya di bawah tanah di mana tidak ada sinyal seluler](../../../../../translated_images/id/bricked-car.dc38f8efadc6c59d.webp)](https://twitter.com/internetofshit/status/1315736960082808832)
Untuk MQTT menangani kehilangan konektivitas, kode perangkat dan server harus bertanggung jawab untuk memastikan pengiriman pesan jika diperlukan, misalnya dengan mewajibkan semua pesan yang dikirim dijawab oleh pesan tambahan pada topik balasan, dan jika tidak, pesan tersebut diantrekan secara manual untuk diputar ulang nanti.
@ -358,7 +358,7 @@ Untuk MQTT menangani kehilangan konektivitas, kode perangkat dan server harus be
Perintah adalah pesan yang dikirim oleh cloud ke perangkat, menginstruksikannya untuk melakukan sesuatu. Sebagian besar waktu ini melibatkan memberikan beberapa jenis output melalui aktuator, tetapi bisa juga berupa instruksi untuk perangkat itu sendiri, seperti untuk reboot, atau mengumpulkan telemetri tambahan dan mengembalikannya sebagai respons terhadap perintah.
![Termostat yang terhubung ke Internet menerima perintah untuk menyalakan pemanas](../../../../../translated_images/id/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.png)
![Termostat yang terhubung ke Internet menerima perintah untuk menyalakan pemanas](../../../../../translated_images/id/commands.d6c06bbbb3a02cce.webp)
Sebuah termostat dapat menerima perintah dari cloud untuk menyalakan pemanas. Berdasarkan data telemetri dari semua sensor, jika layanan cloud memutuskan bahwa pemanas harus menyala, maka ia mengirimkan perintah yang relevan.

@ -1,6 +1,6 @@
# Prediksi Pertumbuhan Tanaman dengan IoT
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.jpg)
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-5.42b234299279d263.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -90,7 +90,7 @@ Hari derajat pertumbuhan, atau GDD dihitung per hari sebagai suhu rata-rata dala
Rumus lengkap untuk GDD sedikit rumit, tetapi ada persamaan yang disederhanakan yang sering digunakan sebagai pendekatan yang baik:
![GDD = T max + T min dibagi 2, semua dikurangi T base](../../../../../translated_images/id/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.png)
![GDD = T max + T min dibagi 2, semua dikurangi T base](../../../../../translated_images/id/gdd-calculation.79b3660f9c5757aa.webp)
* **GDD** - ini adalah jumlah hari derajat pertumbuhan
* **T max** - ini adalah suhu maksimum harian dalam derajat Celsius
@ -118,7 +118,7 @@ Memasukkan angka-angka ini ke dalam perhitungan kita:
Ini memberikan perhitungan:
![GDD = 16 + 12 dibagi 2, semua dikurangi 10, memberikan jawaban 4](../../../../../translated_images/id/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.png)
![GDD = 16 + 12 dibagi 2, semua dikurangi 10, memberikan jawaban 4](../../../../../translated_images/id/gdd-calculation-corn.64a58b7a7afcd0df.webp)
Jagung menerima 4 GDD pada hari itu. Dengan asumsi varietas jagung yang membutuhkan 800 GDD untuk matang, ia akan membutuhkan 796 GDD lagi untuk mencapai kematangan.
@ -239,7 +239,7 @@ Langkah-langkah untuk melakukannya secara manual adalah:
Sebagai contoh, jika suhu tertinggi untuk hari itu adalah 25°C, dan terendah adalah 12°C:
![GDD = 25 + 12 dibagi 2, lalu kurangi 10 dari hasilnya sehingga menghasilkan 8.5](../../../../../translated_images/id/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.png)
![GDD = 25 + 12 dibagi 2, lalu kurangi 10 dari hasilnya sehingga menghasilkan 8.5](../../../../../translated_images/id/gdd-calculation-strawberries.59f57db94b22adb8.webp)
* 25 + 12 = 37
* 37 / 2 = 18.5

@ -33,7 +33,7 @@ Setelah Anda memiliki data suhu, Anda dapat menggunakan Jupyter Notebook dalam r
Jupyter akan mulai dan membuka notebook di browser Anda. Ikuti instruksi dalam notebook untuk memvisualisasikan suhu yang diukur, dan menghitung growing degree days.
![The jupyter notebook](../../../../../translated_images/id/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.png)
![The jupyter notebook](../../../../../translated_images/id/gdd-jupyter-notebook.c5b52cf21094f158.webp)
## Rubrik

@ -16,13 +16,13 @@ Sensor suhu Grove dapat dihubungkan ke Raspberry Pi.
Hubungkan sensor suhu
![Sensor suhu Grove](../../../../../translated_images/id/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png)
![Sensor suhu Grove](../../../../../translated_images/id/grove-dht11.07f8eafceee17004.webp)
1. Masukkan salah satu ujung kabel Grove ke soket pada sensor kelembapan dan suhu. Kabel hanya dapat masuk dengan satu arah.
1. Dengan Raspberry Pi dalam keadaan mati, hubungkan ujung lain kabel Grove ke soket digital yang diberi tanda **D5** pada Grove Base hat yang terpasang pada Pi. Soket ini adalah soket kedua dari kiri, pada baris soket di sebelah pin GPIO.
![Sensor suhu Grove terhubung ke soket A0](../../../../../translated_images/id/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.png)
![Sensor suhu Grove terhubung ke soket A0](../../../../../translated_images/id/pi-temperature-sensor.3ff82fff672c8e56.webp)
## Memprogram Sensor Suhu

@ -38,11 +38,11 @@ Tambahkan sensor kelembapan dan suhu ke aplikasi CounterFit.
1. Pilih tombol **Add** untuk membuat sensor kelembapan pada Pin 5.
![Pengaturan sensor kelembapan](../../../../../translated_images/id/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.png)
![Pengaturan sensor kelembapan](../../../../../translated_images/id/counterfit-create-humidity-sensor.2750e27b6f30e09c.webp)
Sensor kelembapan akan dibuat dan muncul di daftar sensor.
![Sensor kelembapan dibuat](../../../../../translated_images/id/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.png)
![Sensor kelembapan dibuat](../../../../../translated_images/id/counterfit-humidity-sensor.7b12f7f339e430cb.webp)
1. Buat sensor suhu:
@ -54,11 +54,11 @@ Tambahkan sensor kelembapan dan suhu ke aplikasi CounterFit.
1. Pilih tombol **Add** untuk membuat sensor suhu pada Pin 6.
![Pengaturan sensor suhu](../../../../../translated_images/id/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.png)
![Pengaturan sensor suhu](../../../../../translated_images/id/counterfit-create-temperature-sensor.199350ed34f7343d.webp)
Sensor suhu akan dibuat dan muncul di daftar sensor.
![Sensor suhu dibuat](../../../../../translated_images/id/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.png)
![Sensor suhu dibuat](../../../../../translated_images/id/counterfit-temperature-sensor.f0560236c96a9016.webp)
## Memprogram Aplikasi Sensor Suhu

@ -18,7 +18,7 @@ Sensor suhu Grove dapat dihubungkan ke port digital Wio Terminal.
Hubungkan sensor suhu.
![Sensor suhu Grove](../../../../../translated_images/id/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png)
![Sensor suhu Grove](../../../../../translated_images/id/grove-dht11.07f8eafceee17004.webp)
1. Masukkan salah satu ujung kabel Grove ke soket pada sensor kelembapan dan suhu. Kabel hanya dapat masuk dengan satu arah.

@ -13,7 +13,7 @@ I²C memiliki bus yang terdiri dari 2 kabel utama, bersama dengan 2 kabel daya:
| VCC | Voltage common collector | Sumber daya untuk perangkat. Kabel ini terhubung ke kabel SDA dan SCL untuk menyediakan daya mereka melalui resistor pull-up yang mematikan sinyal saat tidak ada perangkat yang menjadi kontroler. |
| GND | Ground | Memberikan ground umum untuk rangkaian listrik. |
![Bus I2C dengan 3 perangkat yang terhubung ke kabel SDA dan SCL, berbagi kabel ground yang sama](../../../../../translated_images/id/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.png)
![Bus I2C dengan 3 perangkat yang terhubung ke kabel SDA dan SCL, berbagi kabel ground yang sama](../../../../../translated_images/id/i2c.83da845dde02256b.webp)
Untuk mengirim data, satu perangkat akan mengeluarkan kondisi mulai (start condition) untuk menunjukkan bahwa ia siap mengirim data. Perangkat tersebut kemudian menjadi kontroler. Kontroler kemudian mengirimkan alamat perangkat yang ingin dikomunikasikan, bersama dengan informasi apakah ia ingin membaca atau menulis data. Setelah data ditransmisikan, kontroler mengirimkan kondisi berhenti (stop condition) untuk menunjukkan bahwa ia telah selesai. Setelah itu, perangkat lain dapat menjadi kontroler dan mengirim atau menerima data.

@ -20,7 +20,7 @@ Anda perlu mengulangi langkah-langkah ini beberapa kali untuk mendapatkan pembac
Kelembapan tanah gravimetrik dihitung sebagai:
![kelembapan tanah % adalah berat basah dikurangi berat kering, dibagi berat kering, dikalikan 100](../../../../../translated_images/id/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.png)
![kelembapan tanah % adalah berat basah dikurangi berat kering, dibagi berat kering, dikalikan 100](../../../../../translated_images/id/gsm-calculation.6da38c6201eec14e.webp)
* W
- berat tanah basah
@ -29,7 +29,7 @@ Kelembapan tanah gravimetrik dihitung sebagai:
Sebagai contoh, katakanlah Anda memiliki sampel tanah yang beratnya 212g basah, dan 197g kering.
![Perhitungan yang sudah diisi](../../../../../translated_images/id/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.png)
![Perhitungan yang sudah diisi](../../../../../translated_images/id/gsm-calculation-example.99f9803b4f29e976.webp)
* W = 212g
* W = 197g

@ -18,13 +18,13 @@ Sensor kelembapan tanah Grove dapat dihubungkan ke Raspberry Pi.
Hubungkan sensor kelembapan tanah.
![Sensor kelembapan tanah Grove](../../../../../translated_images/id/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png)
![Sensor kelembapan tanah Grove](../../../../../translated_images/id/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78b.webp)
1. Masukkan salah satu ujung kabel Grove ke soket pada sensor kelembapan tanah. Kabel hanya dapat masuk dengan satu arah.
1. Dengan Raspberry Pi dalam keadaan mati, hubungkan ujung kabel Grove lainnya ke soket analog yang ditandai **A0** pada Grove Base Hat yang terpasang di Pi. Soket ini adalah soket kedua dari kanan, pada baris soket di sebelah pin GPIO.
![Sensor kelembapan tanah Grove terhubung ke soket A0](../../../../../translated_images/id/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.png)
![Sensor kelembapan tanah Grove terhubung ke soket A0](../../../../../translated_images/id/pi-soil-moisture-sensor.fdd7eb2393792cf6.webp)
1. Masukkan sensor kelembapan tanah ke dalam tanah. Sensor memiliki 'garis posisi tertinggi' - garis putih melintang pada sensor. Masukkan sensor hingga garis ini, tetapi jangan melebihi garis tersebut.

@ -34,11 +34,11 @@ Tambahkan sensor kelembapan tanah ke aplikasi CounterFit.
1. Pilih tombol **Add** untuk membuat sensor *Soil Moisture* pada Pin 0.
![Pengaturan sensor kelembapan tanah](../../../../../translated_images/id/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.png)
![Pengaturan sensor kelembapan tanah](../../../../../translated_images/id/counterfit-create-soil-moisture-sensor.35266135a5e0ae68.webp)
Sensor kelembapan tanah akan dibuat dan muncul di daftar sensor.
![Sensor kelembapan tanah telah dibuat](../../../../../translated_images/id/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.png)
![Sensor kelembapan tanah telah dibuat](../../../../../translated_images/id/counterfit-soil-moisture-sensor.81742b2de0e9de60.webp)
## Memprogram Aplikasi Sensor Kelembapan Tanah

@ -18,7 +18,7 @@ Sensor kelembapan tanah Grove dapat dihubungkan ke port analog/digital yang dapa
Hubungkan sensor kelembapan tanah.
![Sensor kelembapan tanah Grove](../../../../../translated_images/id/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png)
![Sensor kelembapan tanah Grove](../../../../../translated_images/id/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78b.webp)
1. Masukkan salah satu ujung kabel Grove ke soket pada sensor kelembapan tanah. Kabel hanya dapat masuk dengan satu arah.

@ -1,6 +1,6 @@
# Penyiraman tanaman otomatis
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.jpg)
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-7.30b5f577d3cb8e03.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -32,7 +32,7 @@ Perangkat IoT menggunakan tegangan rendah. Meskipun ini cukup untuk sensor dan a
Solusinya adalah menghubungkan pompa ke sumber daya eksternal, dan menggunakan aktuator untuk menyalakan pompa, mirip dengan cara Anda menyalakan lampu. Dibutuhkan sedikit daya (dalam bentuk energi dari tubuh Anda) untuk jari Anda membalikkan saklar, dan ini menghubungkan lampu ke listrik utama yang berjalan pada 110v/240v.
![Saklar lampu menyalakan daya ke lampu](../../../../../translated_images/id/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.png)
![Saklar lampu menyalakan daya ke lampu](../../../../../translated_images/id/light-switch.760317ad6ab8bd6d.webp)
> 🎓 [Listrik utama](https://wikipedia.org/wiki/Mains_electricity) mengacu pada listrik yang disalurkan ke rumah dan bisnis melalui infrastruktur nasional di banyak bagian dunia.
@ -72,7 +72,7 @@ Saat tuas bergerak, Anda biasanya dapat mendengar suara klik yang jelas saat tua
Elektromagnet tidak membutuhkan banyak daya untuk mengaktifkan dan menarik tuas, ia dapat dikontrol menggunakan keluaran 3.3V atau 5V dari kit pengembangan IoT. Sirkuit keluaran dapat membawa daya yang jauh lebih besar, tergantung pada relay, termasuk tegangan utama atau bahkan tingkat daya yang lebih tinggi untuk penggunaan industri. Dengan cara ini, kit pengembangan IoT dapat mengontrol sistem irigasi, dari pompa kecil untuk satu tanaman, hingga sistem industri besar untuk seluruh pertanian komersial.
![Relay Grove dengan sirkuit kontrol, sirkuit keluaran, dan relay diberi label](../../../../../translated_images/id/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.png)
![Relay Grove dengan sirkuit kontrol, sirkuit keluaran, dan relay diberi label](../../../../../translated_images/id/grove-relay-labelled.293e068f5c3c2a19.webp)
Gambar di atas menunjukkan relay Grove. Sirkuit kontrol terhubung ke perangkat IoT dan menyalakan atau mematikan relay menggunakan 3.3V atau 5V. Sirkuit keluaran memiliki dua terminal, salah satunya dapat menjadi daya atau ground. Sirkuit keluaran dapat menangani hingga 250V pada 10A, cukup untuk berbagai perangkat yang menggunakan daya utama. Anda dapat menemukan relay yang dapat menangani tingkat daya yang lebih tinggi.

@ -18,13 +18,13 @@ Relay Grove dapat dihubungkan ke Raspberry Pi.
Hubungkan relay.
![Sebuah Grove relay](../../../../../translated_images/id/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png)
![Sebuah Grove relay](../../../../../translated_images/id/grove-relay.d426958ca210fbd0.webp)
1. Masukkan salah satu ujung kabel Grove ke soket pada relay. Kabel ini hanya dapat masuk dengan satu arah.
1. Dengan Raspberry Pi dalam keadaan mati, hubungkan ujung lain kabel Grove ke soket digital yang ditandai **D5** pada Grove Base Hat yang terpasang pada Pi. Soket ini adalah soket kedua dari kiri, pada baris soket di sebelah pin GPIO. Biarkan sensor kelembapan tanah tetap terhubung ke soket **A0**.
![Relay Grove terhubung ke soket D5, dan sensor kelembapan tanah terhubung ke soket A0](../../../../../translated_images/id/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.png)
![Relay Grove terhubung ke soket D5, dan sensor kelembapan tanah terhubung ke soket A0](../../../../../translated_images/id/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e.webp)
1. Masukkan sensor kelembapan tanah ke dalam tanah, jika belum dilakukan dari pelajaran sebelumnya.

@ -28,11 +28,11 @@ Tambahkan relay ke aplikasi CounterFit.
1. Pilih tombol **Add** untuk membuat relay pada Pin 5.
![Pengaturan relay](../../../../../translated_images/id/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.png)
![Pengaturan relay](../../../../../translated_images/id/counterfit-create-relay.fa7c40fd0f2f6afc.webp)
Relay akan dibuat dan muncul di daftar aktuator.
![Relay yang dibuat](../../../../../translated_images/id/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.png)
![Relay yang dibuat](../../../../../translated_images/id/counterfit-relay.bbf74c1dbdc8b9ac.webp)
## Memprogram Relay

@ -1,6 +1,6 @@
# Migrasikan tanaman Anda ke cloud
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.jpg)
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-8.3f21f3c11159e6a0.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -46,8 +46,8 @@ Hal ini bisa sangat mahal, membutuhkan berbagai macam karyawan yang terampil, da
Cloud sering kali disebut secara bercanda sebagai 'komputer milik orang lain'. Ide awalnya sederhana - alih-alih membeli komputer, Anda menyewa komputer milik orang lain. Orang lain, penyedia komputasi cloud, akan mengelola pusat data besar. Mereka akan bertanggung jawab untuk membeli dan menginstal perangkat keras, mengelola daya dan pendinginan, jaringan, keamanan gedung, pembaruan perangkat keras dan perangkat lunak, semuanya. Sebagai pelanggan, Anda akan menyewa komputer yang Anda butuhkan, menyewa lebih banyak saat permintaan meningkat, lalu mengurangi jumlah yang Anda sewa jika permintaan menurun. Pusat data cloud ini ada di seluruh dunia.
![Pusat data cloud Microsoft](../../../../../translated_images/id/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.png)
![Ekspansi yang direncanakan untuk pusat data cloud Microsoft](../../../../../translated_images/id/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.png)
![Pusat data cloud Microsoft](../../../../../translated_images/id/azure-region-existing.73f704604f2aa6cb.webp)
![Ekspansi yang direncanakan untuk pusat data cloud Microsoft](../../../../../translated_images/id/azure-region-planned-expansion.a5074a1e8af74f15.webp)
Pusat data ini bisa memiliki ukuran beberapa kilometer persegi. Gambar di atas diambil beberapa tahun yang lalu di pusat data cloud Microsoft, dan menunjukkan ukuran awal, bersama dengan ekspansi yang direncanakan. Area yang dibersihkan untuk ekspansi lebih dari 5 kilometer persegi.
@ -108,11 +108,11 @@ Layanan IoT di cloud menyelesaikan masalah ini. Mereka dikelola oleh penyedia cl
Perangkat IoT terhubung ke layanan cloud baik menggunakan SDK perangkat (perpustakaan yang menyediakan kode untuk bekerja dengan fitur layanan), atau langsung melalui protokol komunikasi seperti MQTT atau HTTP. SDK perangkat biasanya merupakan rute termudah karena menangani semuanya untuk Anda, seperti mengetahui topik apa yang harus dipublikasikan atau berlangganan, dan cara menangani keamanan.
![Perangkat terhubung ke layanan menggunakan SDK perangkat. Kode server juga terhubung ke layanan melalui SDK](../../../../../translated_images/id/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.png)
![Perangkat terhubung ke layanan menggunakan SDK perangkat. Kode server juga terhubung ke layanan melalui SDK](../../../../../translated_images/id/iot-service-connectivity.7e873847921a5d6f.webp)
Perangkat Anda kemudian berkomunikasi dengan bagian lain dari aplikasi Anda melalui layanan ini - mirip dengan cara Anda mengirim telemetri dan menerima perintah melalui MQTT. Ini biasanya menggunakan SDK layanan atau perpustakaan serupa. Pesan datang dari perangkat Anda ke layanan di mana komponen lain dari aplikasi Anda kemudian dapat membacanya, dan pesan kemudian dapat dikirim kembali ke perangkat Anda.
![Perangkat tanpa kunci rahasia yang valid tidak dapat terhubung ke layanan IoT](../../../../../translated_images/id/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.png)
![Perangkat tanpa kunci rahasia yang valid tidak dapat terhubung ke layanan IoT](../../../../../translated_images/id/iot-service-allowed-denied-connection.818b0063ac213fb8.webp)
Layanan ini menerapkan keamanan dengan mengetahui semua perangkat yang dapat terhubung dan mengirim data, baik dengan memiliki perangkat yang telah terdaftar sebelumnya dengan layanan, atau dengan memberikan perangkat kunci rahasia atau sertifikat yang dapat mereka gunakan untuk mendaftarkan diri mereka dengan layanan saat pertama kali terhubung. Perangkat yang tidak dikenal tidak dapat terhubung, jika mereka mencoba layanan akan menolak koneksi dan mengabaikan pesan yang dikirim oleh mereka.
@ -124,7 +124,7 @@ Komponen lain dari aplikasi Anda dapat terhubung ke layanan IoT dan mempelajari
Sekarang Anda memiliki langganan Azure, Anda dapat mendaftar untuk layanan IoT. Layanan IoT dari Microsoft disebut Azure IoT Hub.
![Logo Azure IoT Hub](../../../../../translated_images/id/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.png)
![Logo Azure IoT Hub](../../../../../translated_images/id/azure-iot-hub-logo.28a19de76d0a1932.webp)
Video di bawah ini memberikan gambaran singkat tentang Azure IoT Hub:

@ -1,6 +1,6 @@
# Migrasikan Logika Aplikasi Anda ke Cloud
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.jpg)
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-9.dfe99c8e891f48e1.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -28,7 +28,7 @@ Dalam pelajaran ini kita akan membahas:
Tanpa server, atau komputasi tanpa server, melibatkan pembuatan blok kode kecil yang dijalankan di cloud sebagai respons terhadap berbagai jenis acara. Ketika acara terjadi, kode Anda dijalankan dan diberikan data tentang acara tersebut. Acara ini dapat berasal dari berbagai hal, termasuk permintaan web, pesan yang dimasukkan ke dalam antrean, perubahan data dalam database, atau pesan yang dikirim ke layanan IoT oleh perangkat IoT.
![Acara yang dikirim dari layanan IoT ke layanan tanpa server, semuanya diproses secara bersamaan oleh beberapa fungsi yang dijalankan](../../../../../translated_images/id/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.png)
![Acara yang dikirim dari layanan IoT ke layanan tanpa server, semuanya diproses secara bersamaan oleh beberapa fungsi yang dijalankan](../../../../../translated_images/id/iot-messages-to-serverless.0194da1cc0732bb7.webp)
> 💁 Jika Anda pernah menggunakan pemicu database sebelumnya, Anda dapat menganggap ini sebagai hal yang sama, yaitu kode yang dipicu oleh acara seperti memasukkan baris.
@ -54,7 +54,7 @@ Sebagai pengembang IoT, model tanpa server sangat ideal. Anda dapat menulis fung
Layanan komputasi tanpa server dari Microsoft disebut Azure Functions.
![Logo Azure Functions](../../../../../translated_images/id/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.png)
![Logo Azure Functions](../../../../../translated_images/id/azure-functions-logo.1cfc8e3204c9c44a.webp)
Video pendek di bawah ini memberikan gambaran tentang Azure Functions.

@ -1,6 +1,6 @@
# Jaga Keamanan Tanaman Anda
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.jpg)
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-10.829c86b80b9403bb.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -52,11 +52,11 @@ Ini adalah skenario dunia nyata yang sering terjadi. Beberapa contoh telah diber
Ketika sebuah perangkat terhubung ke layanan IoT, ia menggunakan ID untuk mengidentifikasi dirinya. Masalahnya adalah ID ini dapat disalin - seorang peretas dapat mengatur perangkat jahat yang menggunakan ID yang sama dengan perangkat asli tetapi mengirimkan data palsu.
![Baik perangkat valid maupun perangkat jahat dapat menggunakan ID yang sama untuk mengirim telemetri](../../../../../translated_images/id/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.png)
![Baik perangkat valid maupun perangkat jahat dapat menggunakan ID yang sama untuk mengirim telemetri](../../../../../translated_images/id/iot-device-and-hacked-device-connecting.e0671675df74d6d9.webp)
Cara untuk mengatasi ini adalah dengan mengubah data yang dikirim menjadi format yang diacak, menggunakan nilai tertentu yang hanya diketahui oleh perangkat dan cloud. Proses ini disebut *enkripsi*, dan nilai yang digunakan untuk mengenkripsi data disebut *kunci enkripsi*.
![Jika enkripsi digunakan, maka hanya pesan terenkripsi yang akan diterima, lainnya akan ditolak](../../../../../translated_images/id/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.png)
![Jika enkripsi digunakan, maka hanya pesan terenkripsi yang akan diterima, lainnya akan ditolak](../../../../../translated_images/id/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f.webp)
Layanan cloud kemudian dapat mengubah data kembali ke format yang dapat dibaca, menggunakan proses yang disebut *dekripsi*, dengan menggunakan kunci enkripsi yang sama, atau *kunci dekripsi*. Jika pesan terenkripsi tidak dapat didekripsi oleh kunci tersebut, perangkat telah diretas dan pesan ditolak.

@ -1,6 +1,6 @@
# Pelacakan Lokasi
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.jpg)
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-11.9fddbac4b664c6d5.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -63,13 +63,13 @@ Bumi adalah sebuah bola - lingkaran tiga dimensi. Karena itu, titik-titik didefi
> 💁 Tidak ada yang benar-benar tahu alasan asli mengapa lingkaran dibagi menjadi 360 derajat. Halaman [derajat (sudut) di Wikipedia](https://wikipedia.org/wiki/Degree_(angle)) mencakup beberapa kemungkinan alasannya.
![Garis lintang dari 90° di Kutub Utara, 45° di tengah antara Kutub Utara dan ekuator, 0° di ekuator, -45° di tengah antara ekuator dan Kutub Selatan, dan -90° di Kutub Selatan](../../../../../translated_images/id/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.png)
![Garis lintang dari 90° di Kutub Utara, 45° di tengah antara Kutub Utara dan ekuator, 0° di ekuator, -45° di tengah antara ekuator dan Kutub Selatan, dan -90° di Kutub Selatan](../../../../../translated_images/id/latitude-lines.11d8d91dfb2014a5.webp)
Lintang diukur menggunakan garis-garis yang melingkari Bumi dan sejajar dengan ekuator, membagi Belahan Bumi Utara dan Selatan menjadi masing-masing 90°. Ekuator berada di 0°, Kutub Utara di 90°, juga dikenal sebagai 90° Utara, dan Kutub Selatan di -90°, atau 90° Selatan.
Bujur diukur sebagai jumlah derajat yang diukur ke timur dan barat. Titik asal 0° bujur disebut *Meridian Utama*, dan didefinisikan pada tahun 1884 sebagai garis dari Kutub Utara ke Kutub Selatan yang melewati [Observatorium Kerajaan Inggris di Greenwich, Inggris](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich).
![Garis bujur yang membentang dari -180° di barat Meridian Utama, ke 0° di Meridian Utama, hingga 180° di timur Meridian Utama](../../../../../translated_images/id/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.png)
![Garis bujur yang membentang dari -180° di barat Meridian Utama, ke 0° di Meridian Utama, hingga 180° di timur Meridian Utama](../../../../../translated_images/id/longitude-meridians.ab4ef1c91c064586.webp)
> 🎓 Sebuah meridian adalah garis lurus imajiner yang membentang dari Kutub Utara ke Kutub Selatan, membentuk setengah lingkaran.
@ -100,7 +100,7 @@ Koordinat untuk suatu titik selalu diberikan sebagai `lintang, bujur`, sehingga
* Lintang 47.6423109 (47.6423109 derajat di utara ekuator)
* Bujur -122.1390293 (122.1390293 derajat di barat Meridian Utama).
![Kampus Microsoft di 47.6423109,-122.117198](../../../../../translated_images/id/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.png)
![Kampus Microsoft di 47.6423109,-122.117198](../../../../../translated_images/id/microsoft-gps-location-world.a321d481b010f6ad.webp)
## Sistem Pemosisian Global (GPS)
@ -112,7 +112,7 @@ Sistem GPS bekerja dengan memiliki sejumlah satelit yang mengirimkan sinyal deng
> 💁 Sensor GPS memerlukan antena untuk mendeteksi gelombang radio. Antena yang terpasang di truk dan mobil dengan GPS bawaan diposisikan untuk mendapatkan sinyal yang baik, biasanya di kaca depan atau atap. Jika Anda menggunakan sistem GPS terpisah, seperti ponsel pintar atau perangkat IoT, maka Anda perlu memastikan bahwa antena yang terpasang di sistem GPS atau ponsel memiliki pandangan yang jelas ke langit, seperti dipasang di kaca depan.
![Dengan mengetahui jarak dari sensor ke beberapa satelit, lokasi dapat dihitung](../../../../../translated_images/id/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.png)
![Dengan mengetahui jarak dari sensor ke beberapa satelit, lokasi dapat dihitung](../../../../../translated_images/id/gps-satellites.04acf1148fe25fbf.webp)
Satelit GPS mengelilingi Bumi, tidak berada di titik tetap di atas sensor, sehingga data lokasi mencakup ketinggian di atas permukaan laut serta lintang dan bujur.

@ -18,13 +18,13 @@ Sensor GPS Grove dapat dihubungkan ke Raspberry Pi.
Hubungkan sensor GPS.
![Sensor GPS Grove](../../../../../translated_images/id/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png)
![Sensor GPS Grove](../../../../../translated_images/id/grove-gps-sensor.247943bf69b03f0d.webp)
1. Masukkan salah satu ujung kabel Grove ke soket pada sensor GPS. Kabel ini hanya dapat masuk dengan satu arah.
1. Dengan Raspberry Pi dalam keadaan mati, hubungkan ujung lain kabel Grove ke soket UART yang ditandai **UART** pada Grove Base hat yang terpasang di Pi. Soket ini berada di baris tengah, di sisi yang paling dekat dengan slot kartu SD, ujung yang berlawanan dari port USB dan soket ethernet.
![Sensor GPS Grove terhubung ke soket UART](../../../../../translated_images/id/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.png)
![Sensor GPS Grove terhubung ke soket UART](../../../../../translated_images/id/pi-gps-sensor.1f99ee2b2f652891.webp)
1. Posisikan sensor GPS sehingga antena yang terpasang memiliki visibilitas ke langit - idealnya di dekat jendela yang terbuka atau di luar ruangan. Sinyal akan lebih jelas jika tidak ada penghalang di sekitar antena.

@ -38,11 +38,11 @@ Tambahkan sensor GPS ke aplikasi CounterFit.
1. Pilih tombol **Add** untuk membuat sensor GPS pada port `/dev/ttyAMA0`.
![Pengaturan sensor GPS](../../../../../translated_images/id/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.png)
![Pengaturan sensor GPS](../../../../../translated_images/id/counterfit-create-gps-sensor.6385dc9357d85ad1.webp)
Sensor GPS akan dibuat dan muncul dalam daftar sensor.
![Sensor GPS telah dibuat](../../../../../translated_images/id/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.png)
![Sensor GPS telah dibuat](../../../../../translated_images/id/counterfit-gps-sensor.3fbb15af0a536756.webp)
## Memprogram Sensor GPS
@ -102,17 +102,17 @@ Program aplikasi sensor GPS.
* Atur **Source** ke `Lat/Lon`, dan tetapkan lintang, bujur, dan jumlah satelit yang digunakan untuk mendapatkan posisi GPS. Nilai ini hanya akan dikirim sekali, jadi centang kotak **Repeat** agar data dikirim ulang setiap detik.
![Sensor GPS dengan lat lon dipilih](../../../../../translated_images/id/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.png)
![Sensor GPS dengan lat lon dipilih](../../../../../translated_images/id/counterfit-gps-sensor-latlon.008c867d75464fbe.webp)
* Atur **Source** ke `NMEA` dan tambahkan beberapa kalimat NMEA ke kotak teks. Semua nilai ini akan dikirim, dengan jeda 1 detik sebelum setiap kalimat GGA (posisi) baru dapat dibaca.
![Sensor GPS dengan kalimat NMEA diatur](../../../../../translated_images/id/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.png)
![Sensor GPS dengan kalimat NMEA diatur](../../../../../translated_images/id/counterfit-gps-sensor-nmea.c62eea442171e17e.webp)
Anda dapat menggunakan alat seperti [nmeagen.org](https://www.nmeagen.org) untuk menghasilkan kalimat ini dengan menggambar di peta. Nilai-nilai ini hanya akan dikirim sekali, jadi centang kotak **Repeat** agar data dikirim ulang satu detik setelah semuanya dikirim.
* Atur **Source** ke file GPX, dan unggah file GPX dengan lokasi lintasan. Anda dapat mengunduh file GPX dari sejumlah situs pemetaan dan hiking populer, seperti [AllTrails](https://www.alltrails.com/). File ini berisi beberapa lokasi GPS sebagai jalur, dan sensor GPS akan mengembalikan setiap lokasi baru dalam interval 1 detik.
![Sensor GPS dengan file GPX diatur](../../../../../translated_images/id/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.png)
![Sensor GPS dengan file GPX diatur](../../../../../translated_images/id/counterfit-gps-sensor-gpxfile.8310b063ce8a425c.webp)
Nilai-nilai ini hanya akan dikirim sekali, jadi centang kotak **Repeat** agar data dikirim ulang satu detik setelah semuanya dikirim.

@ -18,7 +18,7 @@ Sensor GPS Grove dapat dihubungkan ke Wio Terminal.
Hubungkan sensor GPS.
![Sensor GPS Grove](../../../../../translated_images/id/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png)
![Sensor GPS Grove](../../../../../translated_images/id/grove-gps-sensor.247943bf69b03f0d.webp)
1. Masukkan salah satu ujung kabel Grove ke soket pada sensor GPS. Kabel ini hanya dapat dimasukkan dengan satu arah.

@ -1,6 +1,6 @@
# Data Lokasi Toko
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.jpg)
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-12.ca7f53039712a3ec.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -75,7 +75,7 @@ Database NoSQL disebut NoSQL karena tidak memiliki struktur kaku seperti databas
> 💁 Meskipun namanya NoSQL, beberapa database NoSQL memungkinkan Anda menggunakan SQL untuk melakukan kueri data.
![Dokumen dalam folder di database NoSQL](../../../../../translated_images/id/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.png)
![Dokumen dalam folder di database NoSQL](../../../../../translated_images/id/noqsl-database.62d24ccf5b73f60d.webp)
Database NoSQL tidak memiliki skema yang telah ditentukan sebelumnya yang membatasi cara data disimpan, melainkan Anda dapat memasukkan data tidak terstruktur apa pun, biasanya menggunakan dokumen JSON. Dokumen-dokumen ini dapat diatur ke dalam folder, mirip dengan file di komputer Anda. Setiap dokumen dapat memiliki bidang yang berbeda dari dokumen lainnya - misalnya jika Anda menyimpan data IoT dari kendaraan pertanian Anda, beberapa mungkin memiliki bidang untuk data akselerometer dan kecepatan, sementara yang lain mungkin memiliki bidang untuk suhu di trailer. Jika Anda menambahkan jenis truk baru, seperti yang memiliki timbangan bawaan untuk melacak berat hasil panen yang dibawa, maka perangkat IoT Anda dapat menambahkan bidang baru ini dan dapat disimpan tanpa perubahan pada database.
@ -89,7 +89,7 @@ Dalam pelajaran ini, Anda akan menggunakan penyimpanan NoSQL untuk menyimpan dat
Pada pelajaran sebelumnya, Anda telah menangkap data GPS dari sensor GPS yang terhubung ke perangkat IoT Anda. Untuk menyimpan data IoT ini di cloud, Anda perlu mengirimkannya ke layanan IoT. Sekali lagi, Anda akan menggunakan Azure IoT Hub, layanan IoT cloud yang sama yang Anda gunakan dalam proyek sebelumnya.
![Mengirim telemetri GPS dari perangkat IoT ke IoT Hub](../../../../../translated_images/id/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.png)
![Mengirim telemetri GPS dari perangkat IoT ke IoT Hub](../../../../../translated_images/id/gps-telemetry-iot-hub.8115335d51cd2c12.webp)
### Tugas - Mengirim Data GPS ke IoT Hub
@ -171,7 +171,7 @@ Data jalur dingin disimpan di gudang data - database yang dirancang untuk menyim
Setelah data mengalir ke IoT Hub Anda, Anda dapat menulis beberapa kode tanpa server untuk mendengarkan peristiwa yang diterbitkan ke endpoint yang kompatibel dengan Event Hub. Ini adalah jalur hangat - data ini akan disimpan dan digunakan dalam pelajaran berikutnya untuk pelaporan perjalanan.
![Mengirim telemetri GPS dari perangkat IoT ke IoT Hub, lalu ke Azure Functions melalui pemicu event hub](../../../../../translated_images/id/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.png)
![Mengirim telemetri GPS dari perangkat IoT ke IoT Hub, lalu ke Azure Functions melalui pemicu event hub](../../../../../translated_images/id/gps-telemetry-iot-hub-functions.24d3fa5592455e9f.webp)
### Tugas - Menangani Peristiwa GPS Menggunakan Kode Tanpa Server
@ -193,7 +193,7 @@ Setelah data mengalir ke IoT Hub Anda, Anda dapat menulis beberapa kode tanpa se
## Akun Penyimpanan Azure
![Logo Azure Storage](../../../../../translated_images/id/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.png)
![Logo Azure Storage](../../../../../translated_images/id/azure-storage-logo.605c0f602c640d48.webp)
Akun Penyimpanan Azure adalah layanan penyimpanan serbaguna yang dapat menyimpan data dalam berbagai cara. Anda dapat menyimpan data sebagai blob, dalam antrean, dalam tabel, atau sebagai file, dan semuanya dapat dilakukan secara bersamaan.

@ -1,6 +1,6 @@
# Visualisasi Data Lokasi
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.jpg)
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-13.a259db1485021be7.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -64,11 +64,11 @@ Sebagai contoh sederhana - dalam proyek pertanian sebelumnya, Anda menangkap pen
Sebagai manusia, memahami data tersebut bisa sulit. Ini hanyalah deretan angka tanpa makna. Sebagai langkah pertama untuk memvisualisasikan data ini, data tersebut dapat dipetakan pada grafik garis:
![Grafik garis dari data di atas](../../../../../translated_images/id/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.png)
![Grafik garis dari data di atas](../../../../../translated_images/id/chart-soil-moisture.fd6d9d0cdc0b5f75.webp)
Ini dapat ditingkatkan lebih lanjut dengan menambahkan garis untuk menunjukkan kapan sistem penyiraman otomatis diaktifkan pada pembacaan kelembapan tanah sebesar 450:
![Grafik garis kelembapan tanah dengan garis pada 450](../../../../../translated_images/id/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.png)
![Grafik garis kelembapan tanah dengan garis pada 450](../../../../../translated_images/id/chart-soil-moisture-relay.fbb391236d34a64d.webp)
Grafik ini dengan cepat menunjukkan tidak hanya tingkat kelembapan tanah, tetapi juga titik-titik di mana sistem penyiraman diaktifkan.
@ -84,7 +84,7 @@ Saat bekerja dengan data GPS, visualisasi yang paling jelas adalah memplot data
Bekerja dengan peta adalah latihan yang menarik, dan ada banyak pilihan seperti Bing Maps, Leaflet, Open Street Maps, dan Google Maps. Dalam pelajaran ini, Anda akan mempelajari tentang [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) dan bagaimana mereka dapat menampilkan data GPS Anda.
![Logo Azure Maps](../../../../../translated_images/id/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.png)
![Logo Azure Maps](../../../../../translated_images/id/azure-maps-logo.35d01dcfbd81fe61.webp)
Azure Maps adalah "koleksi layanan geospasial dan SDK yang menggunakan data peta terbaru untuk memberikan konteks geografis pada aplikasi web dan seluler." Pengembang diberikan alat untuk membuat peta interaktif yang indah yang dapat melakukan hal-hal seperti memberikan rute lalu lintas yang direkomendasikan, memberikan informasi tentang insiden lalu lintas, navigasi dalam ruangan, kemampuan pencarian, informasi elevasi, layanan cuaca, dan banyak lagi.
@ -185,7 +185,7 @@ Sekarang Anda dapat melanjutkan ke langkah berikutnya, yaitu menampilkan peta An
Jika Anda membuka halaman `index.html` Anda di browser web, Anda akan melihat peta dimuat, dan berfokus pada area Seattle.
![Peta yang menunjukkan Seattle, sebuah kota di Negara Bagian Washington, AS](../../../../../translated_images/id/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.png)
![Peta yang menunjukkan Seattle, sebuah kota di Negara Bagian Washington, AS](../../../../../translated_images/id/map-image.8fb2c53eb23ef39c.webp)
✅ Bereksperimenlah dengan parameter zoom dan center untuk mengubah tampilan peta Anda. Anda dapat menambahkan koordinat berbeda yang sesuai dengan data latitude dan longitude Anda untuk memusatkan ulang peta.
@ -318,7 +318,7 @@ Jika Anda mencoba mengambil data dari penyimpanan Anda, mungkin Anda akan terkej
1. Muat halaman HTML di browser Anda. Halaman tersebut akan memuat peta, kemudian memuat semua data GPS dari penyimpanan dan memplotnya di peta.
![Peta Saint Edward State Park dekat Seattle, dengan lingkaran yang menunjukkan jalur di sekitar tepi taman](../../../../../translated_images/id/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.png)
![Peta Saint Edward State Park dekat Seattle, dengan lingkaran yang menunjukkan jalur di sekitar tepi taman](../../../../../translated_images/id/map-path.896832e72dc696ff.webp)
> 💁 Anda dapat menemukan kode ini di [folder kode](../../../../../3-transport/lessons/3-visualize-location-data/code).

@ -1,6 +1,6 @@
# Geofences
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.jpg)
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-14.63980c5150ae3c15.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -35,7 +35,7 @@ Dalam pelajaran ini kita akan membahas:
Geofence adalah perimeter virtual untuk wilayah geografis dunia nyata. Geofences dapat berupa lingkaran yang didefinisikan sebagai titik dan radius (misalnya lingkaran dengan lebar 100m di sekitar sebuah bangunan), atau poligon yang mencakup area seperti zona sekolah, batas kota, atau kampus universitas atau kantor.
![Beberapa contoh geofence yang menunjukkan geofence melingkar di sekitar toko perusahaan Microsoft, dan geofence poligon di sekitar kampus barat Microsoft](../../../../../translated_images/id/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.png)
![Beberapa contoh geofence yang menunjukkan geofence melingkar di sekitar toko perusahaan Microsoft, dan geofence poligon di sekitar kampus barat Microsoft](../../../../../translated_images/id/geofence-examples.172fbc534665769f.webp)
> 💁 Anda mungkin sudah menggunakan geofences tanpa menyadarinya. Jika Anda pernah mengatur pengingat menggunakan aplikasi pengingat iOS atau Google Keep berdasarkan lokasi, Anda telah menggunakan geofence. Aplikasi ini akan mengatur geofence berdasarkan lokasi yang diberikan dan memberi tahu Anda saat ponsel Anda memasuki geofence.
@ -212,7 +212,7 @@ Penting untuk mengetahui jarak ke tepi geofence, dan menggabungkannya dengan inf
Misalnya, bayangkan pembacaan GPS menunjukkan kendaraan sedang berkendara di sepanjang jalan yang akhirnya berada di sebelah geofence. Jika satu nilai GPS tidak akurat dan menempatkan kendaraan di dalam geofence, meskipun tidak ada akses kendaraan, maka nilai tersebut dapat diabaikan.
![Jejak GPS menunjukkan kendaraan melewati kampus Microsoft di 520, dengan pembacaan GPS di sepanjang jalan kecuali satu di kampus, di dalam geofence](../../../../../translated_images/id/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.png)
![Jejak GPS menunjukkan kendaraan melewati kampus Microsoft di 520, dengan pembacaan GPS di sepanjang jalan kecuali satu di kampus, di dalam geofence](../../../../../translated_images/id/geofence-crossing-inaccurate-gps.6a3ed911202ad9ca.webp)
Dalam gambar di atas, terdapat geofence yang mencakup sebagian dari kampus Microsoft. Garis merah menunjukkan sebuah truk yang melaju di sepanjang jalan 520, dengan lingkaran-lingkaran yang menunjukkan pembacaan GPS. Sebagian besar pembacaan ini akurat dan berada di sepanjang jalan 520, tetapi ada satu pembacaan yang tidak akurat di dalam geofence. Tidak mungkin pembacaan tersebut benar - tidak ada jalan yang memungkinkan truk tiba-tiba berbelok dari jalan 520 ke dalam kampus, lalu kembali ke jalan 520. Kode yang memeriksa geofence ini perlu mempertimbangkan pembacaan sebelumnya sebelum mengambil tindakan berdasarkan hasil pengujian geofence.
✅ Data tambahan apa yang Anda perlukan untuk memeriksa apakah pembacaan GPS dapat dianggap benar?
@ -284,7 +284,7 @@ Seperti yang Anda ingat dari pelajaran sebelumnya, IoT Hub memungkinkan Anda mem
Jawabannya adalah tidak bisa! Sebagai gantinya, Anda dapat mendefinisikan beberapa koneksi terpisah untuk membaca peristiwa, dan masing-masing dapat mengelola pemutaran ulang pesan yang belum dibaca. Ini disebut *grup konsumen*. Saat Anda terhubung ke endpoint, Anda dapat menentukan grup konsumen mana yang ingin Anda hubungkan. Setiap komponen aplikasi Anda akan terhubung ke grup konsumen yang berbeda.
![Satu IoT Hub dengan 3 grup konsumen yang mendistribusikan pesan yang sama ke 3 aplikasi fungsi yang berbeda](../../../../../translated_images/id/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.png)
![Satu IoT Hub dengan 3 grup konsumen yang mendistribusikan pesan yang sama ke 3 aplikasi fungsi yang berbeda](../../../../../translated_images/id/consumer-groups.a3262e26fc27ba20.webp)
Secara teori, hingga 5 aplikasi dapat terhubung ke setiap grup konsumen, dan semuanya akan menerima pesan saat pesan tiba. Praktik terbaiknya adalah hanya satu aplikasi yang mengakses setiap grup konsumen untuk menghindari pemrosesan pesan duplikat, dan memastikan saat memulai ulang semua pesan yang tertunda diproses dengan benar. Sebagai contoh, jika Anda menjalankan aplikasi Functions Anda secara lokal serta menjalankannya di cloud, keduanya akan memproses pesan, yang mengakibatkan blob duplikat disimpan di akun penyimpanan.

@ -1,6 +1,6 @@
# Melatih Detektor Kualitas Buah
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.jpg)
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-15.843d21afdc6fb2bb.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -38,7 +38,7 @@ Tidak semua tanaman matang secara merata. Tomat, misalnya, masih bisa memiliki b
Kenaikan penggunaan mesin panen otomatis memindahkan proses penyortiran hasil panen dari ladang ke pabrik. Makanan akan bergerak di atas sabuk konveyor panjang dengan tim orang yang memeriksa hasil panen dan menghapus apa pun yang tidak memenuhi standar kualitas yang diperlukan. Memanen menjadi lebih murah berkat mesin, tetapi masih ada biaya untuk menyortir makanan secara manual.
![Jika tomat merah terdeteksi, ia melanjutkan perjalanannya tanpa gangguan. Jika tomat hijau terdeteksi, ia dilempar ke tempat sampah oleh tuas](../../../../../translated_images/id/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.png)
![Jika tomat merah terdeteksi, ia melanjutkan perjalanannya tanpa gangguan. Jika tomat hijau terdeteksi, ia dilempar ke tempat sampah oleh tuas](../../../../../translated_images/id/optical-tomato-sorting.61aa134bdda4e5b1.webp)
Evolusi berikutnya adalah menggunakan mesin untuk menyortir, baik yang terintegrasi dalam mesin panen, atau di pabrik pengolahan. Generasi pertama dari mesin ini menggunakan sensor optik untuk mendeteksi warna, mengontrol aktuator untuk mendorong tomat hijau ke tempat sampah menggunakan tuas atau semburan udara, meninggalkan tomat merah untuk melanjutkan perjalanan di jaringan sabuk konveyor.
@ -62,7 +62,7 @@ Misalnya, Anda dapat memberikan model jutaan gambar pisang yang belum matang seb
> 🎓 Hasil dari model ML disebut *prediksi*
![2 pisang, satu matang dengan prediksi 99.7% matang, 0.3% belum matang, dan satu belum matang dengan prediksi 1.4% matang, 98.6% belum matang](../../../../../translated_images/id/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.png)
![2 pisang, satu matang dengan prediksi 99.7% matang, 0.3% belum matang, dan satu belum matang dengan prediksi 1.4% matang, 98.6% belum matang](../../../../../translated_images/id/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50e.webp)
Model ML tidak memberikan jawaban biner, melainkan memberikan probabilitas. Misalnya, sebuah model dapat diberikan gambar pisang dan memprediksi `matang` dengan probabilitas 99.7% dan `belum matang` dengan probabilitas 0.3%. Kode Anda kemudian akan memilih prediksi terbaik dan memutuskan bahwa pisang tersebut matang.
@ -90,7 +90,7 @@ Ada berbagai alat yang dapat membantu Anda melakukan ini, termasuk layanan berba
Custom Vision adalah alat berbasis cloud untuk melatih pengklasifikasi gambar. Alat ini memungkinkan Anda melatih pengklasifikasi hanya dengan sejumlah kecil gambar. Anda dapat mengunggah gambar melalui portal web, API web, atau SDK, memberikan setiap gambar *tag* yang merupakan klasifikasi dari gambar tersebut. Anda kemudian melatih model, dan mengujinya untuk melihat seberapa baik kinerjanya. Setelah Anda puas dengan model tersebut, Anda dapat mempublikasikan versi yang dapat diakses melalui API web atau SDK.
![Logo Azure Custom Vision](../../../../../translated_images/id/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.png)
![Logo Azure Custom Vision](../../../../../translated_images/id/custom-vision-logo.d3d4e7c8a87ec9da.webp)
> 💁 Anda dapat melatih model Custom Vision dengan hanya 5 gambar per klasifikasi, tetapi lebih banyak lebih baik. Anda dapat mendapatkan hasil yang lebih baik dengan setidaknya 30 gambar.
@ -146,7 +146,7 @@ Untuk menggunakan Custom Vision, Anda pertama-tama perlu membuat dua sumber daya
Saat Anda membuat proyek Anda, pastikan untuk menggunakan sumber daya `fruit-quality-detector-training` yang Anda buat sebelumnya. Gunakan tipe proyek *Classification*, tipe klasifikasi *Multiclass*, dan domain *Food*.
![Pengaturan untuk proyek Custom Vision dengan nama diatur ke fruit-quality-detector, tanpa deskripsi, sumber daya diatur ke fruit-quality-detector-training, tipe proyek diatur ke classification, tipe klasifikasi diatur ke multi class dan domain diatur ke food](../../../../../translated_images/id/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.png)
![Pengaturan untuk proyek Custom Vision dengan nama diatur ke fruit-quality-detector, tanpa deskripsi, sumber daya diatur ke fruit-quality-detector-training, tipe proyek diatur ke classification, tipe klasifikasi diatur ke multi class dan domain diatur ke food](../../../../../translated_images/id/custom-vision-create-project.cf46325b92d8b131.webp)
✅ Luangkan waktu untuk menjelajahi UI Custom Vision untuk pengklasifikasi gambar Anda.
@ -164,7 +164,7 @@ Pengklasifikasi gambar bekerja pada resolusi yang sangat rendah. Misalnya, Custo
* Gunakan 2 pisang matang, ambil beberapa gambar dari masing-masing pisang dari berbagai sudut, setidaknya 7 gambar (5 untuk pelatihan, 2 untuk pengujian), tetapi idealnya lebih banyak.
![Foto 2 pisang yang berbeda](../../../../../translated_images/id/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.png)
![Foto 2 pisang yang berbeda](../../../../../translated_images/id/banana-training-images.530eb203346d73bc.webp)
* Ulangi proses yang sama menggunakan 2 pisang yang belum matang.
@ -174,7 +174,7 @@ Pengklasifikasi gambar bekerja pada resolusi yang sangat rendah. Misalnya, Custo
1. Ikuti [bagian unggah dan beri label gambar dari panduan cepat membangun pengklasifikasi di Microsoft docs](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#upload-and-tag-images) untuk mengunggah gambar pelatihan Anda. Beri label buah matang sebagai `ripe`, dan buah belum matang sebagai `unripe`.
![Dialog unggah yang menunjukkan pengunggahan gambar pisang matang dan belum matang](../../../../../translated_images/id/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.png)
![Dialog unggah yang menunjukkan pengunggahan gambar pisang matang dan belum matang](../../../../../translated_images/id/image-upload-bananas.0751639f3815e0ec.webp)
1. Ikuti [bagian latih pengklasifikasi dari panduan cepat membangun pengklasifikasi di Microsoft docs](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#train-the-classifier) untuk melatih pengklasifikasi gambar menggunakan gambar yang telah Anda unggah.
@ -192,7 +192,7 @@ Setelah pengklasifikasi Anda dilatih, Anda dapat mengujinya dengan memberikan ga
1. Ikuti [dokumentasi uji model Anda di Microsoft docs](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/test-your-model?WT.mc_id=academic-17441-jabenn#test-your-model) untuk menguji pengklasifikasi gambar Anda. Gunakan gambar pengujian yang telah Anda buat sebelumnya, bukan gambar yang digunakan untuk pelatihan.
![Pisang belum matang diprediksi sebagai belum matang dengan probabilitas 98.9%, matang dengan probabilitas 1.1%](../../../../../translated_images/id/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.png)
![Pisang belum matang diprediksi sebagai belum matang dengan probabilitas 98.9%, matang dengan probabilitas 1.1%](../../../../../translated_images/id/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64.webp)
1. Coba semua gambar pengujian yang Anda miliki dan amati probabilitasnya.

@ -1,6 +1,6 @@
# Periksa Kualitas Buah dari Perangkat IoT
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.jpg)
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-16.215daf18b00631fb.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -26,7 +26,7 @@ Dalam pelajaran ini, kita akan membahas:
Sensor kamera, seperti namanya, adalah kamera yang dapat Anda hubungkan ke perangkat IoT Anda. Kamera ini dapat mengambil gambar diam atau merekam video streaming. Beberapa kamera akan mengembalikan data gambar mentah, sementara yang lain akan mengompresi data gambar menjadi file gambar seperti JPEG atau PNG. Biasanya, kamera yang digunakan dengan perangkat IoT jauh lebih kecil dan memiliki resolusi lebih rendah dibandingkan yang biasa Anda gunakan, tetapi Anda juga dapat menemukan kamera beresolusi tinggi yang sebanding dengan ponsel kelas atas. Anda juga dapat menemukan berbagai lensa yang dapat diganti, pengaturan kamera ganda, kamera termal infra-merah, atau kamera UV.
![Cahaya dari sebuah adegan melewati lensa dan difokuskan pada sensor CMOS](../../../../../translated_images/id/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.png)
![Cahaya dari sebuah adegan melewati lensa dan difokuskan pada sensor CMOS](../../../../../translated_images/id/cmos-sensor.75f9cd74decb1371.webp)
Sebagian besar sensor kamera menggunakan sensor gambar di mana setiap piksel adalah fotodioda. Sebuah lensa memfokuskan gambar ke sensor gambar, dan ribuan atau jutaan fotodioda mendeteksi cahaya yang jatuh pada masing-masing, lalu merekamnya sebagai data piksel.
@ -74,7 +74,7 @@ Iterasi diterbitkan dari portal Custom Vision.
1. Pilih tombol **Publish** untuk iterasi tersebut.
![Tombol publish](../../../../../translated_images/id/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.png)
![Tombol publish](../../../../../translated_images/id/custom-vision-publish-button.b7174e1977b0c33b.webp)
1. Dalam dialog *Publish Model*, atur *Prediction resource* ke sumber daya `fruit-quality-detector-prediction` yang Anda buat pada pelajaran sebelumnya. Biarkan nama sebagai `Iteration2`, lalu pilih tombol **Publish**.
@ -88,7 +88,7 @@ Iterasi diterbitkan dari portal Custom Vision.
Juga salin nilai *Prediction-Key*. Ini adalah kunci aman yang harus Anda sertakan saat memanggil model. Hanya aplikasi yang menyertakan kunci ini yang diizinkan menggunakan model, aplikasi lain akan ditolak.
![Dialog API prediksi yang menunjukkan URL dan kunci](../../../../../translated_images/id/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png)
![Dialog API prediksi yang menunjukkan URL dan kunci](../../../../../translated_images/id/custom-vision-prediction-key-endpoint.30c569ffd0338864.webp)
✅ Ketika iterasi baru diterbitkan, iterasi tersebut akan memiliki nama yang berbeda. Bagaimana menurut Anda cara mengubah iterasi yang digunakan oleh perangkat IoT?
@ -109,7 +109,7 @@ Anda mungkin menemukan bahwa hasil yang Anda dapatkan saat menggunakan kamera ya
Untuk mendapatkan hasil terbaik dari pengklasifikasi gambar, Anda ingin melatih model dengan gambar yang semirip mungkin dengan gambar yang digunakan untuk prediksi. Jika Anda menggunakan kamera ponsel untuk menangkap gambar untuk pelatihan, misalnya, kualitas gambar, ketajaman, dan warnanya akan berbeda dengan kamera yang terhubung ke perangkat IoT.
![2 gambar pisang, satu dengan resolusi rendah dan pencahayaan buruk dari perangkat IoT, dan satu dengan resolusi tinggi dan pencahayaan baik dari ponsel](../../../../../translated_images/id/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.png)
![2 gambar pisang, satu dengan resolusi rendah dan pencahayaan buruk dari perangkat IoT, dan satu dengan resolusi tinggi dan pencahayaan baik dari ponsel](../../../../../translated_images/id/banana-picture-compare.174df164dc326a42.webp)
Pada gambar di atas, gambar pisang di sebelah kiri diambil menggunakan Kamera Raspberry Pi, sedangkan gambar di sebelah kanan diambil dari pisang yang sama di lokasi yang sama menggunakan iPhone. Ada perbedaan kualitas yang mencolok - gambar iPhone lebih tajam, dengan warna yang lebih cerah dan kontras yang lebih baik.

@ -16,7 +16,7 @@ Kamera dapat dihubungkan ke Raspberry Pi menggunakan kabel pita.
### Tugas - Menghubungkan Kamera
![Kamera Raspberry Pi](../../../../../translated_images/id/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.png)
![Kamera Raspberry Pi](../../../../../translated_images/id/pi-camera-module.4278753c31bd6e75.webp)
1. Matikan daya Pi.
@ -24,17 +24,17 @@ Kamera dapat dihubungkan ke Raspberry Pi menggunakan kabel pita.
Anda dapat menemukan animasi yang menunjukkan cara membuka klip dan memasukkan kabel di [dokumentasi Memulai dengan Modul Kamera Raspberry Pi](https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2).
![Kabel pita dimasukkan ke modul kamera](../../../../../translated_images/id/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.png)
![Kabel pita dimasukkan ke modul kamera](../../../../../translated_images/id/pi-camera-ribbon-cable.0bf82acd251611c2.webp)
1. Lepaskan Grove Base Hat dari Pi.
1. Lewatkan kabel pita melalui slot kamera di Grove Base Hat. Pastikan sisi biru kabel menghadap ke port analog yang diberi label **A0**, **A1**, dll.
![Kabel pita melewati Grove Base Hat](../../../../../translated_images/id/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.png)
![Kabel pita melewati Grove Base Hat](../../../../../translated_images/id/grove-base-hat-ribbon-cable.501fed202fcf73b1.webp)
1. Masukkan kabel pita ke port kamera di Pi. Sekali lagi, tarik klip plastik hitam ke atas, masukkan kabel, lalu dorong klip kembali ke tempatnya. Sisi biru kabel harus menghadap ke port USB dan ethernet.
![Kabel pita terhubung ke soket kamera di Pi](../../../../../translated_images/id/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.png)
![Kabel pita terhubung ke soket kamera di Pi](../../../../../translated_images/id/pi-camera-socket-ribbon-cable.a18309920b118009.webp)
1. Pasang kembali Grove Base Hat.
@ -101,7 +101,7 @@ Program perangkat.
Baris `camera.rotation = 0` mengatur rotasi gambar. Kabel pita masuk ke bagian bawah kamera, tetapi jika kamera Anda diputar agar lebih mudah mengarah ke objek yang ingin Anda klasifikasikan, maka Anda dapat mengubah baris ini ke jumlah derajat rotasi.
![Kamera menggantung di atas kaleng minuman](../../../../../translated_images/id/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.png)
![Kamera menggantung di atas kaleng minuman](../../../../../translated_images/id/pi-camera-upside-down.5376961ba3145988.webp)
Misalnya, jika Anda menggantung kabel pita di atas sesuatu sehingga berada di bagian atas kamera, maka atur rotasi menjadi 180:

@ -84,7 +84,7 @@ Layanan Custom Vision memiliki SDK Python yang dapat Anda gunakan untuk mengklas
Anda akan dapat melihat gambar yang diambil, dan nilai-nilai ini di tab **Predictions** di Custom Vision.
![Sebuah pisang di Custom Vision diprediksi matang dengan probabilitas 56.8% dan belum matang dengan probabilitas 43.1%](../../../../../translated_images/id/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png)
![Sebuah pisang di Custom Vision diprediksi matang dengan probabilitas 56.8% dan belum matang dengan probabilitas 43.1%](../../../../../translated_images/id/custom-vision-banana-prediction.30cdff4e1d72db5d.webp)
> 💁 Anda dapat menemukan kode ini di folder [code-classify/pi](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/pi) atau [code-classify/virtual-iot-device](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/virtual-iot-device).

@ -34,11 +34,11 @@ Tambahkan kamera ke aplikasi CounterFit.
1. Pilih tombol **Add** untuk membuat kamera.
![Pengaturan kamera](../../../../../translated_images/id/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.png)
![Pengaturan kamera](../../../../../translated_images/id/counterfit-create-camera.a5de97f59c0bd3cb.webp)
Kamera akan dibuat dan muncul di daftar sensor.
![Kamera yang telah dibuat](../../../../../translated_images/id/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.png)
![Kamera yang telah dibuat](../../../../../translated_images/id/counterfit-camera.001ec52194c8ee5d.webp)
## Program Kamera
@ -103,7 +103,7 @@ Program perangkat.
1. Konfigurasikan gambar yang akan ditangkap oleh kamera di CounterFit. Anda dapat mengatur *Source* ke *File*, lalu mengunggah file gambar, atau mengatur *Source* ke *WebCam*, dan gambar akan ditangkap dari webcam Anda. Pastikan Anda memilih tombol **Set** setelah memilih gambar atau memilih webcam Anda.
![CounterFit dengan file yang diatur sebagai sumber gambar, dan webcam yang menunjukkan seseorang memegang pisang dalam pratinjau webcam](../../../../../translated_images/id/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.png)
![CounterFit dengan file yang diatur sebagai sumber gambar, dan webcam yang menunjukkan seseorang memegang pisang dalam pratinjau webcam](../../../../../translated_images/id/counterfit-camera-options.eb3bd5150a8e7dff.webp)
1. Gambar akan ditangkap dan disimpan sebagai `image.jpg` di folder saat ini. Anda akan melihat file ini di penjelajah VS Code. Pilih file untuk melihat gambar. Jika perlu rotasi, perbarui baris `camera.rotation = 0` sesuai kebutuhan dan ambil gambar lagi.

@ -16,7 +16,7 @@ ArduCam tidak memiliki soket Grove, melainkan terhubung ke bus SPI dan I2C melal
Sambungkan kamera.
![Sensor ArduCam](../../../../../translated_images/id/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.png)
![Sensor ArduCam](../../../../../translated_images/id/arducam.20e4e4cbb2682965.webp)
1. Pin di bagian bawah ArduCam perlu dihubungkan ke pin GPIO pada Wio Terminal. Untuk mempermudah menemukan pin yang tepat, pasang stiker pin GPIO yang disertakan dengan Wio Terminal di sekitar pin:
@ -35,7 +35,7 @@ Sambungkan kamera.
| SDA | 3 (I2C1_SDA) | I2C Serial Data |
| SCL | 5 (I2C1_SCL) | I2C Serial Clock |
![Wio Terminal terhubung ke ArduCam dengan kabel jumper](../../../../../translated_images/id/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.png)
![Wio Terminal terhubung ke ArduCam dengan kabel jumper](../../../../../translated_images/id/arducam-wio-terminal-connections.a4d5a4049bdb5ab8.webp)
Koneksi GND dan VCC menyediakan catu daya 5V ke ArduCam. Kamera ini berjalan pada 5V, berbeda dengan sensor Grove yang berjalan pada 3V. Daya ini berasal langsung dari koneksi USB-C yang memberi daya pada perangkat.
@ -456,7 +456,7 @@ Wio Terminal hanya mendukung kartu microSD hingga ukuran 16GB. Jika Anda memilik
1. Matikan daya pada kartu microSD dan keluarkan dengan mendorongnya sedikit dan melepaskannya, dan kartu akan keluar. Anda mungkin perlu menggunakan alat tipis untuk melakukannya. Sambungkan kartu microSD ke komputer Anda untuk melihat gambar.
![Gambar pisang yang ditangkap menggunakan ArduCam](../../../../../translated_images/id/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.jpg)
![Gambar pisang yang ditangkap menggunakan ArduCam](../../../../../translated_images/id/banana-arducam.be1b32d4267a8194.webp)
💁 Mungkin diperlukan beberapa gambar agar keseimbangan putih kamera dapat menyesuaikan dirinya. Anda akan melihat ini berdasarkan warna gambar yang diambil, beberapa gambar pertama mungkin terlihat tidak sesuai warna. Anda selalu dapat mengatasi hal ini dengan mengubah kode untuk mengambil beberapa gambar yang diabaikan dalam fungsi `setup`.

@ -208,7 +208,7 @@ Sertifikat ini berisi kunci publik dan tidak perlu disimpan dengan aman. Anda da
Anda akan dapat melihat gambar yang diambil, dan nilai-nilai ini di tab **Predictions** di Custom Vision.
![Sebuah pisang di Custom Vision diprediksi matang dengan probabilitas 56.8% dan belum matang dengan probabilitas 43.1%](../../../../../translated_images/id/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png)
![Sebuah pisang di Custom Vision diprediksi matang dengan probabilitas 56.8% dan belum matang dengan probabilitas 43.1%](../../../../../translated_images/id/custom-vision-banana-prediction.30cdff4e1d72db5d.webp)
> 💁 Anda dapat menemukan kode ini di folder [code-classify/wio-terminal](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/wio-terminal).

@ -1,6 +1,6 @@
# Jalankan Detektor Buah Anda di Perangkat Edge
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.jpg)
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-17.bc333c3c35ba8e42.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -33,11 +33,11 @@ Dalam pelajaran ini, kita akan membahas:
Komputasi edge melibatkan penggunaan komputer yang memproses data IoT sedekat mungkin dengan tempat data tersebut dihasilkan. Alih-alih memproses data di cloud, proses ini dipindahkan ke tepi cloud - jaringan internal Anda.
![Diagram arsitektur yang menunjukkan layanan internet di cloud dan perangkat IoT di jaringan lokal](../../../../../translated_images/id/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.png)
![Diagram arsitektur yang menunjukkan layanan internet di cloud dan perangkat IoT di jaringan lokal](../../../../../translated_images/id/cloud-without-edge.b4da641f6022c95e.webp)
Dalam pelajaran sejauh ini, Anda telah memiliki perangkat yang mengumpulkan data dan mengirimkannya ke cloud untuk dianalisis, menjalankan fungsi serverless atau model AI di cloud.
![Diagram arsitektur yang menunjukkan perangkat IoT di jaringan lokal yang terhubung ke perangkat edge, dan perangkat edge tersebut terhubung ke cloud](../../../../../translated_images/id/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.png)
![Diagram arsitektur yang menunjukkan perangkat IoT di jaringan lokal yang terhubung ke perangkat edge, dan perangkat edge tersebut terhubung ke cloud](../../../../../translated_images/id/cloud-with-edge.1e26462c62c126fe.webp)
Komputasi edge melibatkan pemindahan beberapa layanan cloud dari cloud ke komputer yang berjalan di jaringan yang sama dengan perangkat IoT, hanya berkomunikasi dengan cloud jika diperlukan. Sebagai contoh, Anda dapat menjalankan model AI pada perangkat edge untuk menganalisis kematangan buah, dan hanya mengirimkan analitik kembali ke cloud, seperti jumlah buah matang dibandingkan buah yang belum matang.
@ -85,7 +85,7 @@ Untuk sistem IoT, Anda sering kali menginginkan kombinasi komputasi cloud dan ed
## Azure IoT Edge
![Logo Azure IoT Edge](../../../../../translated_images/id/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.png)
![Logo Azure IoT Edge](../../../../../translated_images/id/azure-iot-edge-logo.c1c076749b5cba2e.webp)
Azure IoT Edge adalah layanan yang dapat membantu Anda memindahkan beban kerja dari cloud ke edge. Anda mengatur perangkat sebagai perangkat edge, dan dari cloud Anda dapat menerapkan kode ke perangkat edge tersebut. Ini memungkinkan Anda menggabungkan kemampuan cloud dan edge.
@ -99,7 +99,7 @@ IoT Edge terintegrasi dengan IoT Hub, sehingga Anda dapat mengelola perangkat ed
IoT Edge menjalankan kode dari *kontainer* - aplikasi mandiri yang dijalankan secara terisolasi dari aplikasi lain di komputer Anda. Ketika Anda menjalankan kontainer, itu bertindak seperti komputer terpisah yang berjalan di dalam komputer Anda, dengan perangkat lunak, layanan, dan aplikasi sendiri yang berjalan. Sebagian besar waktu, kontainer tidak dapat mengakses apa pun di komputer Anda kecuali Anda memilih untuk berbagi hal-hal seperti folder dengan kontainer. Kontainer kemudian mengekspos layanan melalui port terbuka yang dapat Anda hubungkan atau ekspos ke jaringan Anda.
![Permintaan web dialihkan ke kontainer](../../../../../translated_images/id/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.png)
![Permintaan web dialihkan ke kontainer](../../../../../translated_images/id/container-web-browser.4ee81dd4f0d8838c.webp)
Sebagai contoh, Anda dapat memiliki kontainer dengan situs web yang berjalan di port 80, port HTTP default, dan Anda kemudian dapat mengeksposnya dari komputer Anda juga di port 80.
@ -196,11 +196,11 @@ Setelah model dilatih, model tersebut perlu diekspor sebagai container.
## Persiapkan container Anda untuk deployment
![Container dibuat lalu didorong ke container registry, kemudian diterapkan dari container registry ke perangkat edge menggunakan IoT Edge](../../../../../translated_images/id/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.png)
![Container dibuat lalu didorong ke container registry, kemudian diterapkan dari container registry ke perangkat edge menggunakan IoT Edge](../../../../../translated_images/id/container-edge-flow.c246050dd60ceefd.webp)
Setelah Anda mengunduh model Anda, model tersebut perlu dibangun ke dalam container, lalu didorong ke container registry - lokasi online tempat Anda dapat menyimpan container. IoT Edge kemudian dapat mengunduh container dari registry dan mendorongnya ke perangkat Anda.
![Logo Azure Container Registry](../../../../../translated_images/id/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.png)
![Logo Azure Container Registry](../../../../../translated_images/id/azure-container-registry-logo.09494206991d4b29.webp)
Container registry yang akan Anda gunakan untuk pelajaran ini adalah Azure Container Registry. Ini bukan layanan gratis, jadi untuk menghemat uang pastikan Anda [membersihkan proyek Anda](../../../clean-up.md) setelah selesai.

@ -1,6 +1,6 @@
# Memicu Deteksi Kualitas Buah dari Sensor
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.jpg)
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-18.92c32ed1d354caa5.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -39,7 +39,7 @@ Aplikasi IoT dapat digambarkan sebagai *things* (perangkat) yang mengirimkan dat
### Arsitektur Referensi IoT
![Arsitektur referensi IoT](../../../../../translated_images/id/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.png)
![Arsitektur referensi IoT](../../../../../translated_images/id/iot-reference-architecture.2278b98b55c6d4e8.webp)
Diagram di atas menunjukkan arsitektur referensi IoT.
@ -49,7 +49,7 @@ Diagram di atas menunjukkan arsitektur referensi 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](../../../../../translated_images/id/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.png)
![Arsitektur referensi IoT di Azure](../../../../../translated_images/id/iot-reference-architecture-azure.0b8d2161af924cb1.webp)
Diagram di atas menunjukkan beberapa komponen dan layanan yang telah dibahas sejauh ini dalam pelajaran ini dan bagaimana mereka terhubung dalam arsitektur referensi IoT.
@ -89,7 +89,7 @@ Anda perlu membangun sistem di mana buah terdeteksi saat tiba di ban berjalan, k
### Membuat Prototipe Aplikasi Anda
![Arsitektur referensi IoT untuk pemeriksaan kualitas buah](../../../../../translated_images/id/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.png)
![Arsitektur referensi IoT untuk pemeriksaan kualitas buah](../../../../../translated_images/id/iot-reference-architecture-fruit-quality.cc705f121c3b6fa7.webp)
Diagram di atas menunjukkan arsitektur referensi untuk aplikasi prototipe ini.
@ -124,7 +124,7 @@ Ikuti panduan yang relevan untuk menggunakan sensor jarak untuk mendeteksi objek
Prototipe detektor buah memiliki beberapa komponen yang saling berkomunikasi.
![Komponen yang saling berkomunikasi](../../../../../translated_images/id/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.png)
![Komponen yang saling berkomunikasi](../../../../../translated_images/id/fruit-quality-detector-message-flow.adf2a65da8fd8741.webp)
* Sensor jarak mengukur jarak ke buah dan mengirimkannya ke IoT Hub
* Perintah untuk mengontrol kamera berasal dari IoT Hub ke perangkat kamera

@ -20,7 +20,7 @@ Sensor Grove time of flight dapat dihubungkan ke Raspberry Pi.
Hubungkan sensor time of flight.
![Sensor time of flight Grove](../../../../../translated_images/id/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png)
![Sensor time of flight Grove](../../../../../translated_images/id/grove-time-of-flight-sensor.d82ff2165bfded9f.webp)
1. Masukkan salah satu ujung kabel Grove ke soket pada sensor time of flight. Kabel hanya dapat masuk dengan satu arah.

@ -36,11 +36,11 @@ Tambahkan sensor jarak ke aplikasi CounterFit.
1. Pilih tombol **Add** untuk membuat sensor jarak.
![Pengaturan sensor jarak](../../../../../translated_images/id/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.png)
![Pengaturan sensor jarak](../../../../../translated_images/id/counterfit-create-distance-sensor.967c9fb98f27888d.webp)
Sensor jarak akan dibuat dan muncul dalam daftar sensor.
![Sensor jarak yang dibuat](../../../../../translated_images/id/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.png)
![Sensor jarak yang dibuat](../../../../../translated_images/id/counterfit-distance-sensor.079eefeeea0b68af.webp)
## Program sensor jarak

@ -20,7 +20,7 @@ Sensor Grove time of flight dapat dihubungkan ke Wio Terminal.
Hubungkan sensor time of flight.
![Sensor Grove time of flight](../../../../../translated_images/id/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png)
![Sensor Grove time of flight](../../../../../translated_images/id/grove-time-of-flight-sensor.d82ff2165bfded9f.webp)
1. Masukkan salah satu ujung kabel Grove ke soket pada sensor time of flight. Kabel hanya dapat masuk dengan satu arah.

@ -1,6 +1,6 @@
# Melatih Detektor Stok
![Ikhtisar sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.jpg)
![Ikhtisar sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-19.cf6973cecadf080c.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -36,7 +36,7 @@ Deteksi objek melibatkan pendeteksian objek dalam gambar menggunakan AI. Berbeda
Klasifikasi gambar adalah tentang mengklasifikasikan keseluruhan gambar - apa probabilitas bahwa keseluruhan gambar cocok dengan setiap tag. Anda akan mendapatkan kembali probabilitas untuk setiap tag yang digunakan untuk melatih model.
![Klasifikasi gambar kacang mete dan pasta tomat](../../../../../translated_images/id/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.png)
![Klasifikasi gambar kacang mete dan pasta tomat](../../../../../translated_images/id/image-classifier-cashews-tomato.bc2e16ab8f05cf9a.webp)
Dalam contoh di atas, dua gambar diklasifikasikan menggunakan model yang dilatih untuk mengklasifikasikan wadah kacang mete atau kaleng pasta tomat. Gambar pertama adalah wadah kacang mete, dan memiliki dua hasil dari pengklasifikasi gambar:
@ -60,7 +60,7 @@ Ketika Anda kemudian menggunakannya untuk memprediksi gambar, alih-alih mendapat
> 🎓 *Kotak pembatas* adalah kotak di sekitar objek.
![Deteksi objek kacang mete dan pasta tomat](../../../../../translated_images/id/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.png)
![Deteksi objek kacang mete dan pasta tomat](../../../../../translated_images/id/object-detector-cashews-tomato.1af7c26686b4db0e.webp)
Gambar di atas berisi wadah kacang mete dan tiga kaleng pasta tomat. Detektor objek mendeteksi kacang mete, mengembalikan kotak pembatas yang berisi kacang mete dengan persentase kemungkinan bahwa kotak pembatas berisi objek, dalam hal ini 97.6%. Detektor objek juga mendeteksi tiga kaleng pasta tomat, dan memberikan tiga kotak pembatas terpisah, satu untuk setiap kaleng yang terdeteksi, dan masing-masing memiliki probabilitas persentase bahwa kotak pembatas berisi kaleng pasta tomat.
@ -111,7 +111,7 @@ Anda dapat melatih detektor objek menggunakan Custom Vision, dengan cara yang mi
Saat Anda membuat proyek Anda, pastikan untuk menggunakan sumber daya `stock-detector-training` yang Anda buat sebelumnya. Gunakan tipe proyek *Object Detection*, dan domain *Products on Shelves*.
![Pengaturan untuk proyek Custom Vision dengan nama diatur ke fruit-quality-detector, tanpa deskripsi, sumber daya diatur ke fruit-quality-detector-training, tipe proyek diatur ke classification, tipe klasifikasi diatur ke multi class dan domain diatur ke food](../../../../../translated_images/id/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.png)
![Pengaturan untuk proyek Custom Vision dengan nama diatur ke fruit-quality-detector, tanpa deskripsi, sumber daya diatur ke fruit-quality-detector-training, tipe proyek diatur ke classification, tipe klasifikasi diatur ke multi class dan domain diatur ke food](../../../../../translated_images/id/custom-vision-create-object-detector-project.32d4fb9aa8e7e737.webp)
✅ Domain produk di rak secara khusus ditargetkan untuk mendeteksi stok di rak toko. Baca lebih lanjut tentang berbagai domain di [Dokumentasi Pilih Domain di Microsoft Docs](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/select-domain?WT.mc_id=academic-17441-jabenn#object-detection)
@ -133,11 +133,11 @@ Untuk melatih model Anda, Anda akan membutuhkan serangkaian gambar yang berisi o
1. Ikuti [Bagian Unggah dan beri tag gambar dari panduan cepat Membangun detektor objek di dokumen Microsoft](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/get-started-build-detector?WT.mc_id=academic-17441-jabenn#upload-and-tag-images) untuk mengunggah gambar pelatihan Anda. Buat tag yang relevan tergantung pada jenis objek yang ingin Anda deteksi.
![Dialog unggahan menunjukkan unggahan gambar pisang matang dan belum matang](../../../../../translated_images/id/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.png)
![Dialog unggahan menunjukkan unggahan gambar pisang matang dan belum matang](../../../../../translated_images/id/image-upload-object-detector.77c7892c3093cb59.webp)
Saat Anda menggambar kotak pembatas untuk objek, buatlah kotak tersebut pas di sekitar objek. Mungkin membutuhkan waktu untuk menggambar semua gambar, tetapi alat ini akan mendeteksi apa yang dianggap sebagai kotak pembatas, membuatnya lebih cepat.
![Memberi tag pada beberapa pasta tomat](../../../../../translated_images/id/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.png)
![Memberi tag pada beberapa pasta tomat](../../../../../translated_images/id/object-detector-tag-tomato-paste.f47c362fb0f0eb58.webp)
> 💁 Jika Anda memiliki lebih dari 15 gambar untuk setiap objek, Anda dapat melatih setelah 15 gambar lalu menggunakan fitur **Suggested tags**. Fitur ini akan menggunakan model yang dilatih untuk mendeteksi objek dalam gambar yang belum diberi tag. Anda kemudian dapat mengonfirmasi objek yang terdeteksi, atau menolak dan menggambar ulang kotak pembatas. Ini dapat menghemat *banyak* waktu.
@ -155,7 +155,7 @@ Setelah detektor objek Anda dilatih, Anda dapat mengujinya dengan memberikan gam
1. Gunakan tombol **Quick Test** untuk mengunggah gambar pengujian dan memverifikasi objek yang terdeteksi. Gunakan gambar pengujian yang Anda buat sebelumnya, bukan gambar yang Anda gunakan untuk pelatihan.
![3 kaleng pasta tomat terdeteksi dengan probabilitas 38%, 35.5%, dan 34.6%](../../../../../translated_images/id/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.png)
![3 kaleng pasta tomat terdeteksi dengan probabilitas 38%, 35.5%, dan 34.6%](../../../../../translated_images/id/object-detector-detected-tomato-paste.52656fe87af4c37b.webp)
1. Cobalah semua gambar pengujian yang Anda miliki dan amati probabilitasnya.

@ -1,6 +1,6 @@
# Periksa Stok dari Perangkat IoT
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.jpg)
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-20.0211df9551a8abb3.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -62,7 +62,7 @@ Iterasi diterbitkan dari portal Custom Vision.
1. Pilih tombol **Publish** untuk iterasi tersebut.
![Tombol publish](../../../../../translated_images/id/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.png)
![Tombol publish](../../../../../translated_images/id/custom-vision-object-detector-publish-button.34ee379fc650ccb9.webp)
1. Dalam dialog *Publish Model*, atur *Prediction resource* ke sumber daya `stock-detector-prediction` yang Anda buat pada pelajaran sebelumnya. Biarkan nama sebagai `Iteration2`, dan pilih tombol **Publish**.
@ -76,7 +76,7 @@ Iterasi diterbitkan dari portal Custom Vision.
Juga salin nilai *Prediction-Key*. Ini adalah kunci aman yang harus Anda sertakan saat memanggil model. Hanya aplikasi yang menyertakan kunci ini yang diizinkan menggunakan model, aplikasi lain akan ditolak.
![Dialog API prediksi yang menunjukkan URL dan kunci](../../../../../translated_images/id/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png)
![Dialog API prediksi yang menunjukkan URL dan kunci](../../../../../translated_images/id/custom-vision-prediction-key-endpoint.30c569ffd0338864.webp)
✅ Ketika iterasi baru diterbitkan, iterasi tersebut akan memiliki nama yang berbeda. Bagaimana menurut Anda cara mengubah iterasi yang digunakan perangkat IoT?
@ -95,7 +95,7 @@ Saat Anda menggunakan detektor objek, Anda tidak hanya mendapatkan kembali objek
Hasil prediksi di tab **Predictions** di Custom Vision memiliki kotak pembatas yang digambar pada gambar yang dikirim untuk prediksi.
![4 kaleng pasta tomat di rak dengan prediksi untuk 4 deteksi masing-masing 35.8%, 33.5%, 25.7%, dan 16.6%](../../../../../translated_images/id/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png)
![4 kaleng pasta tomat di rak dengan prediksi untuk 4 deteksi masing-masing 35.8%, 33.5%, 25.7%, dan 16.6%](../../../../../translated_images/id/custom-vision-stock-prediction.942266ab1bcca341.webp)
Pada gambar di atas, 4 kaleng pasta tomat terdeteksi. Dalam hasilnya, kotak merah ditampilkan untuk setiap objek yang terdeteksi dalam gambar, menunjukkan kotak pembatas untuk gambar tersebut.
@ -103,7 +103,7 @@ Pada gambar di atas, 4 kaleng pasta tomat terdeteksi. Dalam hasilnya, kotak mera
Kotak pembatas didefinisikan dengan 4 nilai - atas, kiri, tinggi, dan lebar. Nilai-nilai ini berada dalam skala 0-1, mewakili posisi sebagai persentase dari ukuran gambar. Titik asal (posisi 0,0) adalah sudut kiri atas gambar, sehingga nilai atas adalah jarak dari atas, dan bagian bawah kotak pembatas adalah nilai atas ditambah tinggi.
![Kotak pembatas di sekitar kaleng pasta tomat](../../../../../translated_images/id/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.png)
![Kotak pembatas di sekitar kaleng pasta tomat](../../../../../translated_images/id/bounding-box.1420a7ea0d3d15f7.webp)
Gambar di atas memiliki lebar 600 piksel dan tinggi 800 piksel. Kotak pembatas dimulai pada 320 piksel ke bawah, memberikan koordinat atas 0.4 (800 x 0.4 = 320). Dari kiri, kotak pembatas dimulai pada 240 piksel ke samping, memberikan koordinat kiri 0.4 (600 x 0.4 = 240). Tinggi kotak pembatas adalah 240 piksel, memberikan nilai tinggi 0.3 (800 x 0.3 = 240). Lebar kotak pembatas adalah 120 piksel, memberikan nilai lebar 0.2 (600 x 0.2 = 120).
@ -118,7 +118,7 @@ Menggunakan nilai persentase dari 0-1 berarti tidak peduli seberapa besar gambar
Anda dapat menggunakan kotak pembatas yang dikombinasikan dengan probabilitas untuk mengevaluasi seberapa akurat suatu deteksi. Sebagai contoh, detektor objek dapat mendeteksi beberapa objek yang saling tumpang tindih, misalnya mendeteksi satu kaleng di dalam kaleng lainnya. Kode Anda dapat memeriksa kotak pembatas, memahami bahwa ini tidak mungkin, dan mengabaikan objek apa pun yang memiliki tumpang tindih signifikan dengan objek lain.
![Dua kotak pembatas tumpang tindih pada kaleng pasta tomat](../../../../../translated_images/id/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.png)
![Dua kotak pembatas tumpang tindih pada kaleng pasta tomat](../../../../../translated_images/id/overlap-object-detection.d431e03cae75072a.webp)
Dalam contoh di atas, satu kotak pembatas menunjukkan prediksi kaleng pasta tomat dengan probabilitas 78.3%. Kotak pembatas kedua sedikit lebih kecil, dan berada di dalam kotak pembatas pertama dengan probabilitas 64.3%. Kode Anda dapat memeriksa kotak pembatas, melihat bahwa mereka sepenuhnya tumpang tindih, dan mengabaikan probabilitas yang lebih rendah karena tidak mungkin satu kaleng berada di dalam kaleng lainnya.

@ -67,7 +67,7 @@ Kode yang Anda gunakan untuk mengklasifikasi gambar sangat mirip dengan kode unt
Anda akan dapat melihat gambar yang diambil, dan nilai-nilai ini di tab **Predictions** di Custom Vision.
![4 kaleng pasta tomat di rak dengan prediksi untuk 4 deteksi masing-masing 35.8%, 33.5%, 25.7%, dan 16.6%](../../../../../translated_images/id/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png)
![4 kaleng pasta tomat di rak dengan prediksi untuk 4 deteksi masing-masing 35.8%, 33.5%, 25.7%, dan 16.6%](../../../../../translated_images/id/custom-vision-stock-prediction.942266ab1bcca341.webp)
> 💁 Anda dapat menemukan kode ini di folder [code-detect/pi](../../../../../5-retail/lessons/2-check-stock-device/code-detect/pi) atau [code-detect/virtual-iot-device](../../../../../5-retail/lessons/2-check-stock-device/code-detect/virtual-iot-device).

@ -95,7 +95,7 @@ Kode yang Anda gunakan untuk mengklasifikasi gambar sangat mirip dengan kode unt
Anda akan dapat melihat gambar yang diambil, dan nilai-nilai ini di tab **Predictions** di Custom Vision.
![4 kaleng pasta tomat di rak dengan prediksi untuk 4 deteksi sebesar 35.8%, 33.5%, 25.7%, dan 16.6%](../../../../../translated_images/id/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png)
![4 kaleng pasta tomat di rak dengan prediksi untuk 4 deteksi sebesar 35.8%, 33.5%, 25.7%, dan 16.6%](../../../../../translated_images/id/custom-vision-stock-prediction.942266ab1bcca341.webp)
> 💁 Anda dapat menemukan kode ini di folder [code-detect/wio-terminal](../../../../../5-retail/lessons/2-check-stock-device/code-detect/wio-terminal).

@ -1,6 +1,6 @@
# Mengenali Ucapan dengan Perangkat IoT
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.jpg)
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-21.e34de51354d6606f.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -51,7 +51,7 @@ Mikrofon tersedia dalam berbagai jenis:
Mikrofon dinamis tidak memerlukan daya untuk bekerja, sinyal listrik sepenuhnya dihasilkan dari mikrofon.
![Patti Smith bernyanyi ke mikrofon Shure SM58 (jenis cardioid dinamis)](../../../../../translated_images/id/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.jpg)
![Patti Smith bernyanyi ke mikrofon Shure SM58 (jenis cardioid dinamis)](../../../../../translated_images/id/dynamic-mic.8babac890a2d80df.webp)
* Pita - Mikrofon pita mirip dengan mikrofon dinamis, kecuali mereka memiliki pita logam alih-alih diafragma. Pita ini bergerak dalam medan magnet, menghasilkan arus listrik. Seperti mikrofon dinamis, mikrofon pita tidak memerlukan daya untuk bekerja.
@ -59,11 +59,11 @@ Mikrofon tersedia dalam berbagai jenis:
* Kondensor - Mikrofon kondensor memiliki diafragma logam tipis dan pelat belakang logam tetap. Listrik diterapkan pada keduanya, dan saat diafragma bergetar, muatan statis antara pelat berubah, menghasilkan sinyal. Mikrofon kondensor memerlukan daya untuk bekerja - disebut *Phantom power*.
![Mikrofon kondensor diafragma kecil C451B oleh AKG Acoustics](../../../../../translated_images/id/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.jpg)
![Mikrofon kondensor diafragma kecil C451B oleh AKG Acoustics](../../../../../translated_images/id/condenser-mic.6f6ed5b76ca19e0e.webp)
* MEMS - Mikrofon sistem mikroelektromekanis, atau MEMS, adalah mikrofon pada chip. Mereka memiliki diafragma sensitif tekanan yang diukir pada chip silikon, dan bekerja mirip dengan mikrofon kondensor. Mikrofon ini bisa sangat kecil dan terintegrasi ke dalam sirkuit.
![Mikrofon MEMS pada papan sirkuit](../../../../../translated_images/id/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.png)
![Mikrofon MEMS pada papan sirkuit](../../../../../translated_images/id/mems-microphone.80574019e1f5e4d9.webp)
Pada gambar di atas, chip berlabel **LEFT** adalah mikrofon MEMS, dengan diafragma kecil kurang dari satu milimeter lebar.
@ -159,7 +159,7 @@ Untuk menghindari kompleksitas pelatihan dan penggunaan model wake word, timer p
## Mengubah suara menjadi teks
![Logo layanan suara](../../../../../translated_images/id/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png)
![Logo layanan suara](../../../../../translated_images/id/azure-speech-logo.a1f08c4befb0159f.webp)
Sama seperti klasifikasi gambar dalam proyek sebelumnya, ada layanan AI yang sudah dibuat yang dapat mengambil suara sebagai file audio dan mengubahnya menjadi teks. Salah satu layanan tersebut adalah Speech Service, bagian dari Cognitive Services, layanan AI yang sudah dibuat yang dapat Anda gunakan dalam aplikasi Anda.

@ -16,13 +16,13 @@ Tombol dapat dihubungkan ke Grove base hat.
#### Tugas - Menghubungkan Tombol
![Tombol Grove](../../../../../translated_images/id/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.png)
![Tombol Grove](../../../../../translated_images/id/grove-button.a70cfbb809a85636.webp)
1. Masukkan salah satu ujung kabel Grove ke soket pada modul tombol. Kabel hanya dapat masuk dengan satu arah.
1. Dengan Raspberry Pi dalam keadaan mati, hubungkan ujung lain kabel Grove ke soket digital yang diberi tanda **D5** pada Grove Base hat yang terpasang di Pi. Soket ini adalah soket kedua dari kiri, pada baris soket di sebelah pin GPIO.
![Tombol Grove terhubung ke soket D5](../../../../../translated_images/id/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.png)
![Tombol Grove terhubung ke soket D5](../../../../../translated_images/id/pi-button.c7a1a4f55943341c.webp)
## Menangkap Audio

@ -34,7 +34,7 @@ Mikrofon dan speaker perlu dihubungkan dan dikonfigurasi.
1. Jika Anda menggunakan ReSpeaker 2-Mics Pi HAT, Anda dapat melepas Grove base hat, lalu pasang ReSpeaker hat di tempatnya.
![Raspberry Pi dengan ReSpeaker hat](../../../../../translated_images/id/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.png)
![Raspberry Pi dengan ReSpeaker hat](../../../../../translated_images/id/pi-respeaker-hat.f00fabe7dd039a93.webp)
Anda akan memerlukan tombol Grove nanti dalam pelajaran ini, tetapi tombol Grove sudah terpasang di hat ini, sehingga Grove base hat tidak diperlukan.

@ -10,7 +10,7 @@ Mikrofon bawaan menangkap sinyal analog, yang kemudian dikonversi menjadi sinyal
✅ Baca lebih lanjut tentang DMA di [halaman akses memori langsung di Wikipedia](https://wikipedia.org/wiki/Direct_memory_access).
![Audio dari mikrofon masuk ke ADC lalu ke DMAC. DMAC menulis ke satu buffer. Ketika buffer ini penuh, data diproses dan DMAC menulis ke buffer kedua](../../../../../translated_images/id/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.png)
![Audio dari mikrofon masuk ke ADC lalu ke DMAC. DMAC menulis ke satu buffer. Ketika buffer ini penuh, data diproses dan DMAC menulis ke buffer kedua](../../../../../translated_images/id/dmac-adc-buffers.4509aee49145c90b.webp)
DMAC dapat menangkap audio dari ADC pada interval tetap, seperti 16.000 kali per detik untuk audio 16KHz. DMAC dapat menulis data yang ditangkap ini ke buffer memori yang telah dialokasikan sebelumnya, dan ketika buffer ini penuh, data tersedia untuk diproses oleh kode Anda. Penggunaan memori ini dapat menunda penangkapan audio, tetapi Anda dapat mengatur beberapa buffer. DMAC menulis ke buffer 1, lalu ketika buffer ini penuh, DMAC memberi tahu kode Anda untuk memproses buffer 1, sementara DMAC menulis ke buffer 2. Ketika buffer 2 penuh, DMAC memberi tahu kode Anda, dan kembali menulis ke buffer 1. Dengan cara ini, selama Anda memproses setiap buffer dalam waktu yang lebih singkat daripada waktu yang diperlukan untuk mengisi satu buffer, Anda tidak akan kehilangan data.

@ -1,6 +1,6 @@
# Memahami Bahasa
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.jpg)
![Gambaran sketchnote dari pelajaran ini](../../../../../translated_images/id/lesson-22.6148ea28500d9e00.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -46,7 +46,7 @@ Model pemahaman bahasa adalah model AI yang dilatih untuk mengekstrak detail ter
## Membuat Model Pemahaman Bahasa
![Logo LUIS](../../../../../translated_images/id/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.png)
![Logo LUIS](../../../../../translated_images/id/luis-logo.5cb4f3e88c020ee6.webp)
Anda dapat membuat model pemahaman bahasa menggunakan LUIS, layanan pemahaman bahasa dari Microsoft yang merupakan bagian dari Cognitive Services.
@ -169,7 +169,7 @@ Anda dapat menemukan instruksi untuk menggunakan portal LUIS di [Panduan Cepat:
1. Saat Anda memasukkan setiap contoh, LUIS akan mulai mendeteksi entitas, dan akan menggarisbawahi serta memberi label pada entitas yang ditemukan.
![Contoh dengan angka dan satuan waktu yang digarisbawahi oleh LUIS](../../../../../translated_images/id/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.png)
![Contoh dengan angka dan satuan waktu yang digarisbawahi oleh LUIS](../../../../../translated_images/id/luis-intent-examples.25716580b2d2723c.webp)
### Tugas - melatih dan menguji model

@ -1,6 +1,6 @@
# Atur Timer dan Berikan Umpan Balik Lisan
![Sketchnote ringkasan pelajaran ini](../../../../../translated_images/id/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.jpg)
![Sketchnote ringkasan pelajaran ini](../../../../../translated_images/id/lesson-23.f38483e1d4df4828.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.

@ -1,6 +1,6 @@
# Mendukung Banyak Bahasa
![Sketchnote ringkasan pelajaran ini](../../../../../translated_images/id/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.jpg)
![Sketchnote ringkasan pelajaran ini](../../../../../translated_images/id/lesson-24.4246968ed058510a.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -74,7 +74,7 @@ Ada sejumlah layanan AI yang dapat digunakan dari aplikasi Anda untuk menerjemah
### Layanan Suara Cognitive Services
![Logo layanan suara](../../../../../translated_images/id/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png)
![Logo layanan suara](../../../../../translated_images/id/azure-speech-logo.a1f08c4befb0159f.webp)
Layanan suara yang telah Anda gunakan selama beberapa pelajaran terakhir memiliki kemampuan penerjemahan untuk pengenalan suara. Ketika Anda mengenali suara, Anda dapat meminta tidak hanya teks dari suara dalam bahasa yang sama, tetapi juga dalam bahasa lain.
@ -82,7 +82,7 @@ Layanan suara yang telah Anda gunakan selama beberapa pelajaran terakhir memilik
### Layanan Penerjemah Cognitive Services
![Logo layanan penerjemah](../../../../../translated_images/id/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.png)
![Logo layanan penerjemah](../../../../../translated_images/id/azure-translator-logo.c6ed3a4a433edfd2.webp)
Layanan Penerjemah adalah layanan penerjemahan khusus yang dapat menerjemahkan teks dari satu bahasa, ke satu atau lebih bahasa target. Selain menerjemahkan, layanan ini mendukung berbagai fitur tambahan termasuk menyembunyikan kata-kata kasar. Layanan ini juga memungkinkan Anda memberikan terjemahan khusus untuk kata atau kalimat tertentu, untuk bekerja dengan istilah yang tidak ingin Anda terjemahkan, atau memiliki terjemahan yang terkenal.

@ -25,7 +25,7 @@ REST API layanan ucapan tidak mendukung terjemahan langsung, tetapi Anda dapat m
>
> Sebagai contoh, jika Anda melatih LUIS dalam bahasa Inggris, tetapi ingin menggunakan bahasa Prancis sebagai bahasa pengguna, Anda dapat menerjemahkan kalimat seperti "set a 2 minute and 27 second timer" dari bahasa Inggris ke bahasa Prancis menggunakan Bing Translate, lalu gunakan tombol **Dengarkan terjemahan** untuk mengucapkan terjemahan ke mikrofon Anda.
>
> ![Tombol dengarkan terjemahan di Bing Translate](../../../../../translated_images/id/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png)
> ![Tombol dengarkan terjemahan di Bing Translate](../../../../../translated_images/id/bing-translate.348aa796d6efe2a9.webp)
1. Tambahkan kunci API penerjemah di bawah `speech_api_key`:

@ -37,7 +37,7 @@ Layanan ucapan dapat mengambil ucapan dan tidak hanya mengonversinya menjadi tek
>
> Sebagai contoh, jika Anda melatih LUIS dalam bahasa Inggris, tetapi ingin menggunakan bahasa Prancis sebagai bahasa pengguna, Anda dapat menerjemahkan kalimat seperti "set a 2 minute and 27 second timer" dari bahasa Inggris ke bahasa Prancis menggunakan Bing Translate, lalu gunakan tombol **Listen translation** untuk mengucapkan terjemahan ke mikrofon Anda.
>
> ![Tombol listen translation di Bing translate](../../../../../translated_images/id/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png)
> ![Tombol listen translation di Bing translate](../../../../../translated_images/id/bing-translate.348aa796d6efe2a9.webp)
1. Ganti deklarasi `recognizer_config` dan `recognizer` dengan yang berikut:

@ -105,7 +105,7 @@ REST API layanan ucapan tidak mendukung terjemahan langsung, tetapi Anda dapat m
>
> Misalnya, jika Anda melatih LUIS dalam bahasa Inggris, tetapi ingin menggunakan bahasa Prancis sebagai bahasa pengguna, Anda dapat menerjemahkan kalimat seperti "set a 2 minute and 27 second timer" dari bahasa Inggris ke bahasa Prancis menggunakan Bing Translate, lalu gunakan tombol **Listen translation** untuk mengucapkan terjemahan ke mikrofon Anda.
>
> ![Tombol listen translation di Bing translate](../../../../../translated_images/id/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png)
> ![Tombol listen translation di Bing translate](../../../../../translated_images/id/bing-translate.348aa796d6efe2a9.webp)
1. Tambahkan kunci API penerjemah dan lokasi di bawah `SPEECH_LOCATION`:

@ -10,18 +10,18 @@
### Bergabung dengan Komunitas Azure AI Foundry
Jika Anda mengalami kesulitan atau memiliki pertanyaan tentang membangun aplikasi AI. Bergabunglah dengan sesama pembelajar dan pengembang yang berpengalaman dalam diskusi tentang MCP. Ini adalah komunitas yang mendukung di mana pertanyaan diterima dengan baik dan pengetahuan dibagikan secara bebas.
Jika Anda mengalami kesulitan atau memiliki pertanyaan tentang membangun aplikasi AI. Bergabunglah dengan sesama pelajar dan pengembang berpengalaman dalam diskusi tentang MCP. Ini adalah komunitas yang mendukung di mana pertanyaan disambut dan pengetahuan dibagikan secara bebas.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Jika Anda memiliki umpan balik produk atau kesalahan saat membangun kunjungi:
Jika Anda memiliki umpan balik produk atau kesalahan saat membangun, kunjungi:
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
Ikuti langkah-langkah ini untuk memulai menggunakan sumber daya ini:
1. **Fork Repository**: Klik [![GitHub forks](https://img.shields.io/github/forks/microsoft/IoT-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/IoT-For-Beginners/fork)
2. **Clone Repository**: `git clone https://github.com/microsoft/IoT-For-Beginners.git`
3. [**Bergabung Dengan Microsot Foundry Discord dan temui para ahli serta sesama pengembang**](https://discord.com/invite/ByRwuEEgH4)
3. [**Bergabung dengan Microsoft Foundry Discord dan temui para ahli serta pengembang lain**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Dukungan Multi-Bahasa
@ -29,123 +29,133 @@ Ikuti langkah-langkah ini untuk memulai menggunakan sumber daya ini:
#### Didukung melalui GitHub Action (Otomatis & Selalu Terbaru)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](./README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
[Arab](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgaria](../bg/README.md) | [Burma (Myanmar)](../my/README.md) | [Tionghoa (Sederhana)](../zh-CN/README.md) | [Tionghoa (Tradisional, Hong Kong)](../zh-HK/README.md) | [Tionghoa (Tradisional, Macau)](../zh-MO/README.md) | [Tionghoa (Tradisional, Taiwan)](../zh-TW/README.md) | [Kroasia](../hr/README.md) | [Ceko](../cs/README.md) | [Denmark](../da/README.md) | [Belanda](../nl/README.md) | [Estonia](../et/README.md) | [Finlandia](../fi/README.md) | [Perancis](../fr/README.md) | [Jerman](../de/README.md) | [Yunani](../el/README.md) | [Ibrani](../he/README.md) | [Hindi](../hi/README.md) | [Hungaria](../hu/README.md) | [Indonesia](./README.md) | [Italia](../it/README.md) | [Jepang](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korea](../ko/README.md) | [Lithuania](../lt/README.md) | [Melayu](../ms/README.md) | [Maladalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Pidgin Nigeria](../pcm/README.md) | [Norwegia](../no/README.md) | [Persia (Farsi)](../fa/README.md) | [Polandia](../pl/README.md) | [Portugis (Brasil)](../pt-BR/README.md) | [Portugis (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Rumania](../ro/README.md) | [Rusia](../ru/README.md) | [Serbia (Sirilik)](../sr/README.md) | [Slovakia](../sk/README.md) | [Slovenia](../sl/README.md) | [Spanyol](../es/README.md) | [Swahili](../sw/README.md) | [Swedia](../sv/README.md) | [Tagalog (Filipina)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turki](../tr/README.md) | [Ukraina](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnam](../vi/README.md)
> **Lebih Suka Clone Secara Lokal?**
> Repository ini mencakup lebih dari 50 terjemahan bahasa yang secara signifikan meningkatkan ukuran unduhan. Untuk mengkloning tanpa terjemahan, gunakan sparse checkout:
> **Lebih suka Clone secara Lokal?**
>
> Repository ini mencakup lebih dari 50 terjemahan bahasa yang secara signifikan meningkatkan ukuran unduhan. Untuk meng-clone tanpa terjemahan, gunakan sparse checkout:
>
> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/IoT-For-Beginners.git
> cd IoT-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
> Ini memberikan Anda semua yang Anda butuhkan untuk menyelesaikan kursus dengan unduhan yang jauh lebih cepat.
>
> **CMD (Windows):**
> ```cmd
> git clone --filter=blob:none --sparse https://github.com/microsoft/IoT-For-Beginners.git
> cd IoT-For-Beginners
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> Ini memberikan semua yang Anda butuhkan untuk menyelesaikan kursus dengan unduhan yang jauh lebih cepat.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
# IoT untuk Pemula - Kurikulum
# IoT untuk Pemula - Sebuah Kurikulum
Advokat Azure Cloud di Microsoft dengan senang hati menawarkan kurikulum 12 minggu, 24 pelajaran yang membahas dasar-dasar IoT. Setiap pelajaran mencakup kuis pra dan pasca pelajaran, instruksi tertulis untuk menyelesaikan pelajaran, solusi, tugas, dan lainnya. Pendekatan pembelajaran berbasis proyek kami memungkinkan Anda belajar sambil membangun, sebuah cara yang terbukti efektif agar keterampilan baru 'menempel'.
Azure Cloud Advocates di Microsoft dengan senang hati menawarkan kurikulum 12 minggu, 24 pelajaran tentang dasar-dasar IoT. Setiap pelajaran mencakup kuis sebelum dan setelah pelajaran, instruksi tertulis untuk menyelesaikan pelajaran, solusi, tugas, dan lainnya. Pedagogi berbasis proyek kami memungkinkan Anda belajar sambil membangun, sebuah cara yang terbukti agar keterampilan baru dapat 'melekat'.
Proyek-proyek ini mencakup perjalanan makanan dari ladang ke meja makan. Ini mencakup pertanian, logistik, manufaktur, perdagangan ritel, dan konsumen - semua area industri populer untuk perangkat IoT.
Proyek-proyek mencakup perjalanan makanan dari pertanian ke meja makan. Ini termasuk pertanian, logistik, manufaktur, ritel, dan konsumen - semua area industri populer untuk perangkat IoT.
![Peta jalan untuk kursus yang menunjukkan 24 pelajaran yang mencakup pengantar, pertanian, transportasi, pengolahan, ritel, dan memasak](../../translated_images/id/Roadmap.bb1dec285dda0eda.webp)
![Peta jalan untuk kursus yang menunjukkan 24 pelajaran mencakup intro, pertanian, transportasi, pemrosesan, ritel, dan memasak](../../translated_images/id/Roadmap.bb1dec285dda0eda.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
**Terima kasih sebesar-besarnya kepada para penulis kami [Jen Fox](https://github.com/jenfoxbot), [Jen Looper](https://github.com/jlooper), [Jim Bennett](https://github.com/jimbobbennett), dan seniman sketchnote kami [Nitya Narasimhan](https://github.com/nitya).**
**Terima kasih hangat untuk para penulis kami [Jen Fox](https://github.com/jenfoxbot), [Jen Looper](https://github.com/jlooper), [Jim Bennett](https://github.com/jimbobbennett), dan seniman sketchnote kami [Nitya Narasimhan](https://github.com/nitya).**
**Terima kasih juga kepada tim kami dari [Microsoft Learn Student Ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-17441-jabenn) yang telah meninjau dan menerjemahkan kurikulum ini - [Aditya Garg](https://github.com/AdityaGarg00), [Anurag Sharma](https://github.com/Anurag-0-1-A), [Arpita Das](https://github.com/Arpiiitaaa), [Aryan Jain](https://www.linkedin.com/in/aryan-jain-47a4a1145/), [Bhavesh Suneja](https://github.com/EliteWarrior315), [Faith Hunja](https://faithhunja.github.io/), [Lateefah Bello](https://www.linkedin.com/in/lateefah-bello/), [Manvi Jha](https://github.com/Severus-Matthew), [Mireille Tan](https://www.linkedin.com/in/mireille-tan-a4834819a/), [Mohammad Iftekher (Iftu) Ebne Jalal](https://github.com/Iftu119), [Mohammad Zulfikar](https://github.com/mohzulfikar), [Priyanshu Srivastav](https://www.linkedin.com/in/priyanshu-srivastav-b067241ba), [Thanmai Gowducheruvu](https://github.com/innovation-platform), dan [Zina Kamel](https://www.linkedin.com/in/zina-kamel/).**
Temui timnya!
Kenali timnya!
[![Promo video](../../images/IOT.gif)](https://youtu.be/-wippUJRi5k)
**Gif oleh** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
> 🎥 Klik gambar di atas untuk video tentang proyek ini!
> 🎥 Klik gambar di atas untuk video tentang proyek!
> **Guru**, kami telah [menyertakan beberapa saran](for-teachers.md) tentang cara menggunakan kurikulum ini. Jika Anda ingin membuat pelajaran sendiri, kami juga telah menyertakan [template pelajaran](lesson-template/README.md).
> **[Siswa](https://aka.ms/student-page)**, untuk menggunakan kurikulum ini secara mandiri, fork seluruh repo dan selesaikan latihan secara mandiri, mulai dengan kuis pra-ceramah, kemudian membaca ceramah dan menyelesaikan aktivitas lainnya. Cobalah membuat proyek dengan memahami pelajaran daripada menyalin kode solusi; meskipun kode tersebut tersedia di folder /solutions di setiap pelajaran yang berorientasi proyek. Ide lainnya adalah membentuk kelompok belajar bersama teman dan mempelajari konten bersama-sama. Untuk studi lebih lanjut, kami merekomendasikan [Microsoft Learn](https://docs.microsoft.com/users/jimbobbennett/collections/ke2ehd351jopwr?WT.mc_id=academic-17441-jabenn).
> **[Siswa](https://aka.ms/student-page)**, untuk menggunakan kurikulum ini sendiri, fork seluruh repo dan selesaikan latihan sendiri, mulai dari kuis pra-ceramah, kemudian membaca ceramah dan menyelesaikan aktivitas lainnya. Cobalah membuat proyek dengan memahami pelajaran daripada menyalin kode solusi; meskipun kode tersebut tersedia di folder /solutions di setiap pelajaran berorientasi proyek. Ide lain adalah membentuk kelompok belajar dengan teman dan mempelajari konten bersama. Untuk studi lebih lanjut, kami merekomendasikan [Microsoft Learn](https://docs.microsoft.com/users/jimbobbennett/collections/ke2ehd351jopwr?WT.mc_id=academic-17441-jabenn).
Untuk gambaran video tentang kursus ini, lihat video ini:
Untuk gambaran video tentang kursus ini, tonton video ini:
[![Promo video](https://img.youtube.com/vi/bccEMm8gRuc/0.jpg)](https://youtube.com/watch?v=bccEMm8gRuc "Promo video")
> 🎥 Klik gambar di atas untuk video tentang proyek ini!
> 🎥 Klik gambar di atas untuk video tentang proyek!
## Pedagogi
Kami telah memilih dua prinsip pedagogis saat membangun kurikulum ini: memastikan bahwa kurikulum berbasis proyek dan menyertakan kuis yang sering. Pada akhir seri ini, siswa akan membangun sistem pemantauan dan penyiraman tanaman, pelacak kendaraan, pengaturan pabrik cerdas untuk melacak dan memeriksa makanan, serta timer memasak yang dikendalikan dengan suara, dan akan mempelajari dasar-dasar Internet of Things, termasuk cara menulis kode perangkat, menghubungkan ke cloud, menganalisis telemetri, dan menjalankan AI di edge.
Kami telah memilih dua prinsip pedagogis saat membangun kurikulum ini: memastikan bahwa kurikulum ini berbasis proyek dan mencakup kuis yang sering. Pada akhir seri ini, siswa akan membangun sistem pemantauan dan penyiraman tanaman, pelacak kendaraan, pengaturan pabrik pintar untuk melacak dan memeriksa makanan, dan timer memasak yang dikendalikan suara, serta mempelajari dasar-dasar Internet of Things termasuk cara menulis kode perangkat, menghubungkan ke cloud, menganalisis telemetri dan menjalankan AI di edge.
Dengan memastikan konten selaras dengan proyek, proses menjadi lebih menarik bagi siswa dan retensi konsep akan meningkat.
Dengan memastikan bahwa konten selaras dengan proyek, proses menjadi lebih menarik bagi siswa dan retensi konsep akan meningkat.
Selain itu, kuis dengan tekanan rendah sebelum kelas menetapkan niat siswa untuk belajar topik tersebut, sementara kuis kedua setelah kelas memastikan retensi lebih lanjut. Kurikulum ini dirancang fleksibel dan menyenangkan dan dapat diikuti secara keseluruhan atau sebagian. Proyek-proyek dimulai kecil dan menjadi semakin kompleks pada akhir siklus 12 minggu.
Selain itu, kuis dengan taruh rendah sebelum kelas menetapkan niat siswa untuk mempelajari topik, sementara kuis kedua setelah kelas memastikan retensi lebih lanjut. Kurikulum ini dirancang agar fleksibel dan menyenangkan dan dapat diambil secara keseluruhan atau sebagian. Proyek dimulai kecil dan menjadi semakin kompleks pada akhir siklus 12 minggu.
Setiap proyek berbasis perangkat keras dunia nyata yang tersedia bagi siswa dan penghobi. Setiap proyek melihat domain proyek tertentu, memberikan pengetahuan latar belakang yang relevan. Untuk menjadi pengembang yang sukses, membantu memahami domain dimana Anda memecahkan masalah, memberikan pengetahuan latar belakang ini memungkinkan siswa berpikir tentang solusi IoT mereka dan pembelajaran dalam konteks jenis masalah dunia nyata yang mungkin diminta untuk diselesaikan sebagai pengembang IoT. Siswa belajar 'mengapa' dari solusi yang mereka bangun, dan mendapatkan apresiasi terhadap pengguna akhir.
Setiap proyek didasarkan pada perangkat keras dunia nyata yang tersedia bagi siswa dan hobiis. Setiap proyek melihat domain proyek tertentu, menyediakan pengetahuan latar belakang yang relevan. Untuk menjadi pengembang yang sukses, membantu untuk memahami domain tempat Anda memecahkan masalah, menyediakan pengetahuan latar belakang ini memungkinkan siswa memikirkan solusi IoT dan pembelajaran mereka dalam konteks jenis masalah dunia nyata yang mungkin diminta untuk mereka pecahkan sebagai pengembang IoT. Siswa belajar 'mengapa' solusi yang mereka bangun, dan mendapatkan apresiasi terhadap pengguna akhir.
## Perangkat Keras
Kita memiliki dua pilihan perangkat keras IoT untuk digunakan dalam proyek tergantung pada preferensi pribadi, pengetahuan atau preferensi bahasa pemrograman, tujuan pembelajaran, dan ketersediaan. Kami juga menyediakan versi 'perangkat keras virtual' bagi mereka yang tidak memiliki akses ke perangkat keras, atau ingin belajar lebih banyak sebelum memutuskan untuk membeli. Anda dapat membaca lebih lanjut dan menemukan 'daftar belanja' di [halaman perangkat keras](./hardware.md), termasuk tautan untuk membeli kit lengkap dari teman-teman kami di Seeed Studio.
Kami memiliki dua pilihan perangkat keras IoT untuk digunakan dalam proyek tergantung pada preferensi pribadi, pengetahuan atau preferensi bahasa pemrograman, tujuan pembelajaran dan ketersediaan. Kami juga menyediakan versi 'perangkat keras virtual' bagi mereka yang tidak memiliki akses ke perangkat keras, atau ingin belajar lebih banyak sebelum membeli. Anda bisa membaca lebih lanjut dan menemukan 'daftar belanja' di [halaman perangkat keras](./hardware.md), termasuk tautan untuk membeli paket lengkap dari teman-teman kami di Seeed Studio.
> 💁 Temukan [Kode Etik](CODE_OF_CONDUCT.md), [Panduan Kontribusi](CONTRIBUTING.md), dan [Panduan Terjemahan](TRANSLATIONS.md) kami. Kami menyambut umpan balik membangun Anda!
> 💁 Temukan [Kode Etik](CODE_OF_CONDUCT.md), [Kontribusi](CONTRIBUTING.md), dan panduan [Terjemahan](TRANSLATIONS.md) kami. Kami menyambut umpan balik konstruktif Anda!
>
> 🔧 Mengalami masalah? Lihat [Panduan Pemecahan Masalah](TROUBLESHOOTING.md) kami untuk solusi masalah umum.
> 🔧 Mengalami masalah? Periksa [Panduan Pemecahan Masalah](TROUBLESHOOTING.md) kami untuk solusi masalah umum.
## Setiap pelajaran mencakup:
## Setiap pelajaran meliputi:
- sketchnote
- video tambahan opsional
- kuis pemanasan sebelum pelajaran
- pelajaran tertulis
- untuk pelajaran berbasis proyek, panduan langkah demi langkah cara membangun proyek
- untuk pelajaran berbasis proyek, panduan langkah demi langkah tentang cara membangun proyeknya
- pemeriksaan pengetahuan
- tantangan
- bacaan tambahan
- tugas
- [kuis pasca pelajaran](https://ff-quizzes.netlify.app/en/)
- [kuis pasca-pelajaran](https://ff-quizzes.netlify.app/en/)
> **Catatan tentang kuis**: Semua kuis terdapat dalam folder quiz-app, dengan total 48 kuis masing-masing berisi tiga pertanyaan. Mereka terhubung dari dalam pelajaran namun aplikasi kuis dapat dijalankan secara lokal atau dideploy ke Azure; ikuti instruksi di folder `quiz-app`. Mereka sedang secara bertahap dilokalkan.
> **Catatan tentang kuis**: Semua kuis terdapat dalam folder quiz-app, dengan total 48 kuis yang masing-masing berisi tiga pertanyaan. Kuis tersebut ditautkan dari dalam pelajaran, tetapi aplikasi kuis dapat dijalankan secara lokal atau dideploy ke Azure; ikuti instruksi dalam folder `quiz-app`. Kuis secara bertahap sedang dilokalisasi.
## Pelajaran
| | Nama Proyek | Konsep yang Diajarkan | Tujuan Pembelajaran | Pelajaran Terkait |
| :---: | :------------------------------------: | :------------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :-----------------------------------------------------------------------------------------------------------------------------: |
| 01 | [Memulai](./1-getting-started/README.md) | Pengenalan IoT | Pelajari prinsip dasar IoT dan blok bangunan dasar solusi IoT seperti sensor dan layanan cloud sambil mengatur perangkat IoT pertama Anda | [Pengenalan IoT](./1-getting-started/lessons/1-introduction-to-iot/README.md) |
| 02 | [Memulai](./1-getting-started/README.md) | Pendalaman IoT | Pelajari lebih lanjut tentang komponen sistem IoT, serta mikrokontroler dan komputer papan tunggal | [Pendalaman IoT](./1-getting-started/lessons/2-deeper-dive/README.md) |
| 03 | [Memulai](./1-getting-started/README.md) | Berinteraksi dengan dunia fisik melalui sensor dan aktuator | Pelajari tentang sensor untuk mengumpulkan data dari dunia fisik, dan aktuator untuk mengirimkan umpan balik, sambil membangun lampu tidur | [Berinteraksi dengan dunia fisik melalui sensor dan aktuator](./1-getting-started/lessons/3-sensors-and-actuators/README.md) |
| 04 | [Memulai](./1-getting-started/README.md) | Menghubungkan perangkat ke Internet | Pelajari cara menghubungkan perangkat IoT ke Internet untuk mengirim dan menerima pesan dengan menghubungkan lampu tidur ke broker MQTT | [Menghubungkan perangkat ke Internet](./1-getting-started/lessons/4-connect-internet/README.md) |
| 05 | [Pertanian](./2-farm/README.md) | Memprediksi pertumbuhan tanaman | Pelajari cara memprediksi pertumbuhan tanaman menggunakan data suhu yang ditangkap oleh perangkat IoT | [Memprediksi pertumbuhan tanaman](./2-farm/lessons/1-predict-plant-growth/README.md) |
| 06 | [Pertanian](./2-farm/README.md) | Mendeteksi kelembapan tanah | Pelajari cara mendeteksi kelembapan tanah dan mengkalibrasi sensor kelembapan tanah | [Mendeteksi kelembapan tanah](./2-farm/lessons/2-detect-soil-moisture/README.md) |
| 07 | [Pertanian](./2-farm/README.md) | Penyiraman tanaman otomatis | Pelajari cara mengotomatiskan dan menjadwalkan penyiraman menggunakan relay dan MQTT | [Penyiraman tanaman otomatis](./2-farm/lessons/3-automated-plant-watering/README.md) |
| 08 | [Pertanian](./2-farm/README.md) | Migrasikan tanaman Anda ke cloud | Pelajari tentang cloud dan layanan IoT yang dihosting cloud serta bagaimana menghubungkan tanaman Anda ke salah satunya menggantikan broker MQTT publik | [Migrasikan tanaman Anda ke cloud](./2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md) |
| 09 | [Pertanian](./2-farm/README.md) | Migrasikan logika aplikasi Anda ke cloud | Pelajari cara menulis logika aplikasi di cloud yang merespons pesan IoT | [Migrasikan logika aplikasi Anda ke cloud](./2-farm/lessons/5-migrate-application-to-the-cloud/README.md) |
| 10 | [Pertanian](./2-farm/README.md) | Amankan tanaman Anda | Pelajari tentang keamanan dengan IoT dan cara menjaga keamanan tanaman Anda dengan kunci dan sertifikat | [Amankan tanaman Anda](./2-farm/lessons/6-keep-your-plant-secure/README.md) |
| 11 | [Transportasi](./3-transport/README.md) | Pelacakan lokasi | Pelajari tentang pelacakan lokasi GPS untuk perangkat IoT | [Pelacakan lokasi](./3-transport/lessons/1-location-tracking/README.md) |
| 12 | [Transportasi](./3-transport/README.md) | Menyimpan data lokasi | Pelajari cara menyimpan data IoT untuk divisualisasikan atau dianalisis kemudian | [Menyimpan data lokasi](./3-transport/lessons/2-store-location-data/README.md) |
| 13 | [Transportasi](./3-transport/README.md) | Visualisasikan data lokasi | Pelajari tentang visualisasi data lokasi pada peta, serta cara peta merepresentasikan dunia nyata 3D dalam 2 dimensi | [Visualisasikan data lokasi](./3-transport/lessons/3-visualize-location-data/README.md) |
| 14 | [Transportasi](./3-transport/README.md) | Geofence | Pelajari tentang geofence, dan bagaimana mereka dapat digunakan untuk memberi peringatan saat kendaraan dalam rantai pasokan mendekati tujuan | [Geofence](./3-transport/lessons/4-geofences/README.md) |
| 15 | [Manufaktur](./4-manufacturing/README.md) | Melatih detektor kualitas buah | Pelajari tentang melatih pengklasifikasi gambar di cloud untuk mendeteksi kualitas buah | [Melatih detektor kualitas buah](./4-manufacturing/lessons/1-train-fruit-detector/README.md) |
| 16 | [Manufaktur](./4-manufacturing/README.md) | Memeriksa kualitas buah dari perangkat IoT | Pelajari menggunakan detektor kualitas buah Anda dari perangkat IoT | [Memeriksa kualitas buah dari perangkat IoT](./4-manufacturing/lessons/2-check-fruit-from-device/README.md) |
| 17 | [Manufaktur](./4-manufacturing/README.md) | Menjalankan detektor buah Anda di edge | Pelajari menjalankan detektor buah Anda pada perangkat IoT di edge | [Menjalankan detektor buah Anda di edge](./4-manufacturing/lessons/3-run-fruit-detector-edge/README.md) |
| 18 | [Manufaktur](./4-manufacturing/README.md) | Memicu deteksi kualitas buah dari sensor | Pelajari memicu deteksi kualitas buah dari sensor | [Memicu deteksi kualitas buah dari sensor](./4-manufacturing/lessons/4-trigger-fruit-detector/README.md) |
| 19 | [Ritel](./5-retail/README.md) | Melatih detektor stok | Pelajari cara menggunakan deteksi objek untuk melatih detektor stok menghitung stok di toko | [Melatih detektor stok](./5-retail/lessons/1-train-stock-detector/README.md) |
| 20 | [Ritel](./5-retail/README.md) | Memeriksa stok dari perangkat IoT | Pelajari cara memeriksa stok dari perangkat IoT menggunakan model deteksi objek | [Memeriksa stok dari perangkat IoT](./5-retail/lessons/2-check-stock-device/README.md) |
| 21 | [Konsumen](./6-consumer/README.md) | Mengenali ucapan dengan perangkat IoT | Pelajari cara mengenali ucapan dari perangkat IoT untuk membangun timer pintar | [Mengenali ucapan dengan perangkat IoT](./6-consumer/lessons/1-speech-recognition/README.md) |
| 22 | [Konsumen](./6-consumer/README.md) | Memahami bahasa | Pelajari cara memahami kalimat yang diucapkan ke perangkat IoT | [Memahami bahasa](./6-consumer/lessons/2-language-understanding/README.md) |
| 23 | [Konsumen](./6-consumer/README.md) | Mengatur timer dan memberikan umpan balik lisan | Pelajari cara mengatur timer pada perangkat IoT dan memberikan umpan balik lisan saat timer diatur dan selesai | [Mengatur timer dan memberikan umpan balik lisan](./6-consumer/lessons/3-spoken-feedback/README.md) |
| 24 | [Konsumen](./6-consumer/README.md) | Mendukung banyak bahasa | Pelajari cara mendukung banyak bahasa, baik yang diucapkan maupun respons dari timer pintar Anda | [Mendukung banyak bahasa](./6-consumer/lessons/4-multiple-language-support/README.md) |
| | Nama Proyek | Konsep yang Diajarkan | Tujuan Pembelajaran | Pelajaran yang Ditautkan |
| :---: | :------------------------------------: | :---------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------: |
| 01 | [Memulai](./1-getting-started/README.md) | Pengenalan ke IoT | Pelajari prinsip dasar IoT dan blok bangunan dasar solusi IoT seperti sensor dan layanan cloud saat Anda mengatur perangkat IoT pertama Anda | [Pengenalan ke IoT](./1-getting-started/lessons/1-introduction-to-iot/README.md) |
| 02 | [Memulai](./1-getting-started/README.md) | Pendalaman tentang IoT | Pelajari lebih lanjut tentang komponen sistem IoT, serta mikrokontroler dan komputer papan tunggal | [Pendalaman tentang IoT](./1-getting-started/lessons/2-deeper-dive/README.md) |
| 03 | [Memulai](./1-getting-started/README.md) | Berinteraksi dengan dunia fisik menggunakan sensor dan aktuator | Pelajari tentang sensor untuk mengumpulkan data dari dunia fisik, dan aktuator untuk mengirim umpan balik, sambil Anda membangun lampu malam | [Berinteraksi dengan dunia fisik menggunakan sensor dan aktuator](./1-getting-started/lessons/3-sensors-and-actuators/README.md) |
| 04 | [Memulai](./1-getting-started/README.md) | Menghubungkan perangkat Anda ke Internet | Pelajari cara menghubungkan perangkat IoT ke Internet untuk mengirim dan menerima pesan dengan menghubungkan lampu malam Anda ke broker MQTT | [Menghubungkan perangkat ke Internet](./1-getting-started/lessons/4-connect-internet/README.md) |
| 05 | [Pertanian](./2-farm/README.md) | Memprediksi pertumbuhan tanaman | Pelajari cara memprediksi pertumbuhan tanaman menggunakan data suhu yang diambil oleh perangkat IoT | [Memprediksi pertumbuhan tanaman](./2-farm/lessons/1-predict-plant-growth/README.md) |
| 06 | [Pertanian](./2-farm/README.md) | Mendeteksi kelembaban tanah | Pelajari cara mendeteksi kelembaban tanah dan mengkalibrasi sensor kelembaban tanah | [Mendeteksi kelembaban tanah](./2-farm/lessons/2-detect-soil-moisture/README.md) |
| 07 | [Pertanian](./2-farm/README.md) | Penyiraman tanaman otomatis | Pelajari cara mengotomatisasi dan menjadwalkan penyiraman menggunakan relay dan MQTT | [Penyiraman tanaman otomatis](./2-farm/lessons/3-automated-plant-watering/README.md) |
| 08 | [Pertanian](./2-farm/README.md) | Migrasikan tanaman Anda ke cloud | Pelajari tentang cloud dan layanan IoT yang di-host di cloud serta cara menghubungkan tanaman Anda ke salah satu layanan ini menggantikan broker MQTT publik | [Migrasikan tanaman Anda ke cloud](./2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md) |
| 09 | [Pertanian](./2-farm/README.md) | Migrasikan logika aplikasi Anda ke cloud | Pelajari cara menulis logika aplikasi di cloud yang merespon pesan IoT | [Migrasikan logika aplikasi Anda ke cloud](./2-farm/lessons/5-migrate-application-to-the-cloud/README.md) |
| 10 | [Pertanian](./2-farm/README.md) | Jaga tanaman Anda tetap aman | Pelajari tentang keamanan di IoT dan cara menjaga tanaman Anda aman dengan kunci dan sertifikat | [Jaga tanaman Anda tetap aman](./2-farm/lessons/6-keep-your-plant-secure/README.md) |
| 11 | [Transportasi](./3-transport/README.md) | Pelacakan lokasi | Pelajari tentang pelacakan lokasi GPS untuk perangkat IoT | [Pelacakan lokasi](./3-transport/lessons/1-location-tracking/README.md) |
| 12 | [Transportasi](./3-transport/README.md) | Menyimpan data lokasi | Pelajari cara menyimpan data IoT untuk divisualisasikan atau dianalisis kemudian | [Menyimpan data lokasi](./3-transport/lessons/2-store-location-data/README.md) |
| 13 | [Transportasi](./3-transport/README.md) | Memvisualisasikan data lokasi | Pelajari tentang memvisualisasikan data lokasi di peta dan bagaimana peta merepresentasikan dunia 3D nyata dalam 2 dimensi | [Memvisualisasikan data lokasi](./3-transport/lessons/3-visualize-location-data/README.md) |
| 14 | [Transportasi](./3-transport/README.md) | Geofence | Pelajari tentang geofence dan cara penggunaannya untuk memberi peringatan saat kendaraan dalam rantai pasokan dekat dengan tujuan | [Geofence](./3-transport/lessons/4-geofences/README.md) |
| 15 | [Manufaktur](./4-manufacturing/README.md) | Melatih detektor kualitas buah | Pelajari tentang melatih pengklasifikasi gambar di cloud untuk mendeteksi kualitas buah | [Melatih detektor kualitas buah](./4-manufacturing/lessons/1-train-fruit-detector/README.md) |
| 16 | [Manufaktur](./4-manufacturing/README.md) | Memeriksa kualitas buah dari perangkat IoT | Pelajari tentang menggunakan detektor kualitas buah dari perangkat IoT | [Memeriksa kualitas buah dari perangkat IoT](./4-manufacturing/lessons/2-check-fruit-from-device/README.md) |
| 17 | [Manufaktur](./4-manufacturing/README.md) | Menjalankan detektor buah di edge | Pelajari tentang menjalankan detektor buah Anda pada perangkat IoT di edge | [Menjalankan detektor buah di edge](./4-manufacturing/lessons/3-run-fruit-detector-edge/README.md) |
| 18 | [Manufaktur](./4-manufacturing/README.md) | Memicu deteksi kualitas buah dari sensor | Pelajari tentang memicu deteksi kualitas buah dari sensor | [Memicu deteksi kualitas buah dari sensor](./4-manufacturing/lessons/4-trigger-fruit-detector/README.md) |
| 19 | [Ritel](./5-retail/README.md) | Melatih detektor stok | Pelajari cara menggunakan deteksi objek untuk melatih detektor stok menghitung stok di toko | [Melatih detektor stok](./5-retail/lessons/1-train-stock-detector/README.md) |
| 20 | [Ritel](./5-retail/README.md) | Memeriksa stok dari perangkat IoT | Pelajari cara memeriksa stok dari perangkat IoT menggunakan model deteksi objek | [Memeriksa stok dari perangkat IoT](./5-retail/lessons/2-check-stock-device/README.md) |
| 21 | [Konsumen](./6-consumer/README.md) | Mengenali ucapan dengan perangkat IoT | Pelajari cara mengenali ucapan dari perangkat IoT untuk membangun timer pintar | [Mengenali ucapan dengan perangkat IoT](./6-consumer/lessons/1-speech-recognition/README.md) |
| 22 | [Konsumen](./6-consumer/README.md) | Memahami bahasa | Pelajari cara memahami kalimat yang diucapkan ke perangkat IoT | [Memahami bahasa](./6-consumer/lessons/2-language-understanding/README.md) |
| 23 | [Konsumen](./6-consumer/README.md) | Mengatur timer dan memberikan umpan balik suara | Pelajari cara mengatur timer di perangkat IoT dan memberikan umpan balik suara kapan timer diatur dan selesai | [Mengatur timer dan memberikan umpan balik suara](./6-consumer/lessons/3-spoken-feedback/README.md) |
| 24 | [Konsumen](./6-consumer/README.md) | Mendukung banyak bahasa | Pelajari cara mendukung berbagai bahasa, baik saat diajak bicara maupun dalam respons dari timer pintar Anda | [Mendukung banyak bahasa](./6-consumer/lessons/4-multiple-language-support/README.md) |
## Akses offline
Anda dapat menjalankan dokumentasi ini secara offline menggunakan [Docsify](https://docsify.js.org/#/). Fork repo ini, [instal Docsify](https://docsify.js.org/#/quickstart) di mesin lokal Anda, lalu di folder root repo ini, ketik `docsify serve`. Situs web akan dilayani pada port 3000 di localhost Anda: `localhost:3000`.
Anda dapat menjalankan dokumentasi ini secara offline dengan menggunakan [Docsify](https://docsify.js.org/#/). Fork repo ini, [pasang Docsify](https://docsify.js.org/#/quickstart) di mesin lokal Anda, lalu di folder root repo ini, ketik `docsify serve`. Situs akan disajikan pada port 3000 di localhost Anda: `localhost:3000`.
## Kuis
Terima kasih kepada komunitas yang menyelenggarakan kuis interaktif yang menguji pengetahuan Anda di setiap bab. Anda dapat menguji pengetahuan Anda [di sini](https://ff-quizzes.netlify.app/en/)
Terima kasih kepada komunitas yang menyelenggarakan kuis interaktif yang menguji pengetahuan Anda pada setiap bab. Anda bisa menguji pengetahuan Anda [di sini](https://ff-quizzes.netlify.app/en/)
### PDF
Anda dapat menghasilkan PDF dari konten ini untuk akses offline jika diperlukan. Untuk melakukan ini, pastikan Anda memiliki [npm terpasang](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) dan jalankan perintah berikut di folder root repo ini:
Anda dapat membuat PDF dari konten ini untuk akses offline jika diperlukan. Untuk melakukannya, pastikan Anda telah [memasang npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) dan jalankan perintah berikut di folder root repo ini:
```sh
npm i
@ -154,30 +164,29 @@ npm run convert
### Slide
Ada beberapa dek slide untuk sebagian pelajaran di folder [slides](../../slides).
Terdapat slide untuk beberapa pelajaran di folder [slides](../../slides).
## Kurikulum Lain
Tim kami juga menghasilkan kurikulum lain! Lihat:
Tim kami juga menghasilkan kurikulum lainnya! Cek:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
[![LangChain4j untuk Pemula](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js untuk Pemula](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agen
[![AZD untuk Pemula](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI untuk Pemula](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP untuk Pemula](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AI Agents untuk Pemula](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Seri AI Generatif
[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
### Seri Generative AI
[![Generative AI untuk Pemula](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[![Generative AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
@ -185,29 +194,29 @@ Tim kami juga menghasilkan kurikulum lain! Lihat:
---
### Pembelajaran Inti
[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![Cybersecurity for Beginners](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![Web Dev for Beginners](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT for Beginners](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![XR Development for Beginners](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
[![ML untuk Pemula](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Data Science untuk Pemula](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI untuk Pemula](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![Keamanan Siber untuk Pemula](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![Pengembangan Web untuk Pemula](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT untuk Pemula](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![Pengembangan XR untuk Pemula](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Seri Copilot
[![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
[![Copilot untuk Pemrograman Berpasangan AI](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot untuk C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Petualangan Copilot](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
## Atribusi gambar
Anda dapat menemukan semua atribusi untuk gambar yang digunakan dalam kurikulum ini sesuai kebutuhan di [Atribusi](./attributions.md).
Anda dapat menemukan semua atribusi untuk gambar yang digunakan dalam kurikulum ini di mana diperlukan dalam [Atribusi](./attributions.md).
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Penafian**:
Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI [Co-op Translator](https://github.com/Azure/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 sangat penting, disarankan menggunakan terjemahan manusia profesional. Kami tidak bertanggung jawab atas kesalahpahaman atau salah tafsir yang timbul dari penggunaan terjemahan ini.
Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berupaya mencapai akurasi, mohon diperhatikan bahwa terjemahan otomatis dapat mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang sahih. Untuk informasi penting, disarankan menggunakan jasa penerjemah manusia profesional. Kami tidak bertanggung jawab atas kesalahpahaman atau salah tafsir yang timbul dari penggunaan terjemahan ini.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -26,7 +26,7 @@ Seeed Studios dengan sangat baik telah menyediakan semua perangkat keras dalam b
**[IoT untuk pemula dengan Seeed dan Microsoft - Raspberry Pi 4 Starter Kit](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)**
[![Kit perangkat keras Raspberry Pi Terminal](../../translated_images/id/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.png)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)
[![Kit perangkat keras Raspberry Pi Terminal](../../translated_images/id/pi-hardware-kit.26dbadaedb7dd44c.webp)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)
## Arduino

@ -738,8 +738,8 @@
"language_code": "ms"
},
"README.md": {
"original_hash": "3fcc056cd3837e33d2bdf79f9c359fcf",
"translation_date": "2026-01-30T02:18:18+00:00",
"original_hash": "accf69391fa4450eadbf492ca024cccf",
"translation_date": "2026-04-06T16:17:35+00:00",
"source_file": "README.md",
"language_code": "ms"
},

@ -1,6 +1,6 @@
# Pengenalan kepada IoT
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.jpg)
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-1.2606670fa61ee904.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik imej untuk versi yang lebih besar.

@ -203,7 +203,7 @@ Sebagai langkah kedua 'Hello World', anda akan menjalankan aplikasi CounterFit d
Aplikasi akan mula berjalan dan dibuka dalam pelayar web anda:
![Aplikasi Counter Fit berjalan dalam pelayar](../../../../../translated_images/ms/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.png)
![Aplikasi Counter Fit berjalan dalam pelayar](../../../../../translated_images/ms/counterfit-first-run.433326358b669b31.webp)
Ia akan ditandakan sebagai *Disconnected*, dengan LED di sudut kanan atas dimatikan.
@ -224,7 +224,7 @@ Sebagai langkah kedua 'Hello World', anda akan menjalankan aplikasi CounterFit d
1. Dalam terminal baru ini, jalankan fail `app.py` seperti sebelumnya. Status CounterFit akan berubah kepada **Connected** dan LED akan menyala.
![Counter Fit menunjukkan sebagai connected](../../../../../translated_images/ms/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.png)
![Counter Fit menunjukkan sebagai connected](../../../../../translated_images/ms/counterfit-connected.ed30b46d8f79b092.webp)
> 💁 Anda boleh menemui kod ini dalam folder [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device).

@ -1,6 +1,6 @@
# Penyelaman Mendalam ke dalam IoT
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.jpg)
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-2.324b0580d620c25e.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik imej untuk versi yang lebih besar.
@ -38,7 +38,7 @@ Bahagian **Peranti** dalam IoT merujuk kepada peranti yang boleh berinteraksi de
Peranti ini berinteraksi dengan dunia fizikal, sama ada dengan menggunakan sensor untuk mengumpul data dari persekitaran mereka atau dengan mengawal output atau aktuator untuk membuat perubahan fizikal. Contoh biasa adalah termostat pintar - peranti yang mempunyai sensor suhu, cara untuk menetapkan suhu yang diingini seperti dail atau skrin sentuh, dan sambungan kepada sistem pemanasan atau penyejukan yang boleh dihidupkan apabila suhu yang dikesan berada di luar julat yang diingini. Sensor suhu mengesan bahawa bilik terlalu sejuk dan aktuator menghidupkan pemanasan.
![Rajah menunjukkan suhu dan dail sebagai input kepada peranti IoT, dan kawalan pemanas sebagai output](../../../../../translated_images/ms/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.png)
![Rajah menunjukkan suhu dan dail sebagai input kepada peranti IoT, dan kawalan pemanas sebagai output](../../../../../translated_images/ms/basic-thermostat.a923217fd1f37e5a.webp)
Terdapat pelbagai jenis peranti yang boleh bertindak sebagai peranti IoT, daripada perkakasan khusus yang mengesan satu perkara, kepada peranti tujuan umum, malah telefon pintar anda! Telefon pintar boleh menggunakan sensor untuk mengesan dunia di sekelilingnya, dan aktuator untuk berinteraksi dengan dunia - contohnya menggunakan sensor GPS untuk mengesan lokasi anda dan pembesar suara untuk memberikan arahan navigasi ke destinasi.
@ -54,7 +54,7 @@ Peranti juga tidak selalu bersambung terus ke Internet melalui WiFi atau sambung
Sebagai contoh termostat pintar, termostat akan bersambung menggunakan WiFi rumah kepada perkhidmatan awan yang berjalan di awan. Ia akan menghantar data suhu kepada perkhidmatan awan ini, dan dari situ ia akan ditulis ke pangkalan data yang membolehkan pemilik rumah memeriksa suhu semasa dan suhu lalu menggunakan aplikasi telefon. Perkhidmatan lain di awan akan mengetahui suhu yang diingini oleh pemilik rumah, dan menghantar mesej kembali kepada peranti IoT melalui perkhidmatan awan untuk memberitahu sistem pemanasan untuk dihidupkan atau dimatikan.
![Rajah menunjukkan suhu dan dail sebagai input kepada peranti IoT, peranti IoT dengan komunikasi dua hala ke awan, yang seterusnya mempunyai komunikasi dua hala ke telefon, dan kawalan pemanas sebagai output daripada peranti IoT](../../../../../translated_images/ms/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.png)
![Rajah menunjukkan suhu dan dail sebagai input kepada peranti IoT, peranti IoT dengan komunikasi dua hala ke awan, yang seterusnya mempunyai komunikasi dua hala ke telefon, dan kawalan pemanas sebagai output daripada peranti IoT](../../../../../translated_images/ms/mobile-controlled-thermostat.4a994010473d8d6a.webp)
Versi yang lebih pintar boleh menggunakan AI di awan dengan data daripada sensor lain yang bersambung kepada peranti IoT lain seperti sensor kehadiran yang mengesan bilik mana yang digunakan, serta data seperti cuaca dan juga kalendar anda, untuk membuat keputusan tentang cara menetapkan suhu dengan cara yang pintar. Contohnya, ia boleh mematikan pemanasan jika ia membaca daripada kalendar anda bahawa anda sedang bercuti, atau mematikan pemanasan berdasarkan bilik demi bilik bergantung pada bilik mana yang anda gunakan, belajar daripada data untuk menjadi lebih tepat dari semasa ke semasa.
@ -94,7 +94,7 @@ Semakin pantas kitaran jam, semakin banyak arahan yang boleh diproses setiap saa
> 💁 CPU melaksanakan program menggunakan [kitaran fetch-decode-execute](https://wikipedia.org/wiki/Instruction_cycle). Untuk setiap detik jam, CPU akan mengambil arahan seterusnya daripada memori, menyahkodnya, kemudian melaksanakannya seperti menggunakan unit logik aritmetik (ALU) untuk menambah 2 nombor. Sesetengah pelaksanaan akan mengambil masa beberapa detik untuk dijalankan, jadi kitaran seterusnya akan berjalan pada detik seterusnya selepas arahan selesai.
![Kitaran fetch decode execute menunjukkan fetch mengambil arahan daripada program yang disimpan dalam RAM, kemudian menyahkod dan melaksanakannya pada CPU](../../../../../translated_images/ms/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.png)
![Kitaran fetch decode execute menunjukkan fetch mengambil arahan daripada program yang disimpan dalam RAM, kemudian menyahkod dan melaksanakannya pada CPU](../../../../../translated_images/ms/fetch-decode-execute.2fd6f150f6280392.webp)
Mikropengawal mempunyai kelajuan jam yang jauh lebih rendah daripada komputer meja atau komputer riba, atau bahkan kebanyakan telefon pintar. Contohnya, Wio Terminal mempunyai CPU yang berjalan pada 120MHz atau 120,000,000 kitaran sesaat.
@ -182,7 +182,7 @@ Papan Arduino dikodkan dalam C atau C++. Menggunakan C/C++ membolehkan kod anda
Anda akan menulis kod persediaan anda dalam fungsi `setup`, seperti menyambung ke WiFi dan perkhidmatan awan atau memulakan pin untuk input dan output. Kod gelung anda kemudian akan mengandungi kod pemprosesan, seperti membaca dari sensor dan menghantar nilai ke awan. Anda biasanya akan memasukkan kelewatan dalam setiap gelung, contohnya, jika anda hanya mahu data sensor dihantar setiap 10 saat, anda akan menambah kelewatan 10 saat pada akhir gelung supaya mikrokontroler dapat tidur, menjimatkan kuasa, kemudian menjalankan gelung semula apabila diperlukan 10 saat kemudian.
![Sketch Arduino menjalankan setup terlebih dahulu, kemudian menjalankan loop berulang kali](../../../../../translated_images/ms/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.png)
![Sketch Arduino menjalankan setup terlebih dahulu, kemudian menjalankan loop berulang kali](../../../../../translated_images/ms/arduino-sketch.79590cb837ff7a7c.webp)
✅ Seni bina program ini dikenali sebagai *event loop* atau *message loop*. Banyak aplikasi menggunakan ini di belakang tabir dan ia adalah standard untuk kebanyakan aplikasi desktop yang berjalan pada OS seperti Windows, macOS atau Linux. `loop` mendengar mesej daripada komponen antara muka pengguna seperti butang, atau peranti seperti papan kekunci, dan bertindak balas terhadapnya. Anda boleh membaca lebih lanjut dalam [artikel tentang event loop](https://wikipedia.org/wiki/Event_loop).

@ -1,6 +1,6 @@
# Berinteraksi dengan Dunia Fizikal Menggunakan Sensor dan Aktuator
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.jpg)
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-3.cc3b7b4cd646de59.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -92,7 +92,7 @@ Sensor digital, seperti sensor analog, mengesan dunia di sekeliling mereka mengg
Sensor digital yang paling mudah ialah butang atau suis. Ini adalah sensor dengan dua keadaan, hidup atau mati.
![Butang dihantar 5 volt. Apabila tidak ditekan ia mengembalikan 0 volt, apabila ditekan ia mengembalikan 5 volt](../../../../../translated_images/ms/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.png)
![Butang dihantar 5 volt. Apabila tidak ditekan ia mengembalikan 0 volt, apabila ditekan ia mengembalikan 5 volt](../../../../../translated_images/ms/button.eadb560b77ac45e5.webp)
Pin pada peranti IoT seperti pin GPIO boleh mengukur isyarat ini secara langsung sebagai 0 atau 1. Jika voltan yang dihantar sama dengan voltan yang dikembalikan, nilai yang dibaca ialah 1, jika tidak nilai yang dibaca ialah 0. Tidak perlu menukar isyarat, ia hanya boleh menjadi 1 atau 0.
@ -125,7 +125,7 @@ Beberapa aktuator biasa termasuk:
Ikuti panduan yang berkaitan di bawah untuk menambah aktuator pada peranti IoT anda, yang dikawal oleh sensor, untuk membina lampu malam IoT. Ia akan mengumpul tahap cahaya daripada sensor cahaya, dan menggunakan aktuator dalam bentuk LED untuk memancarkan cahaya apabila tahap cahaya yang dikesan terlalu rendah.
![Carta alir tugasan menunjukkan tahap cahaya dibaca dan diperiksa, dan LED dikawal](../../../../../translated_images/ms/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.png)
![Carta alir tugasan menunjukkan tahap cahaya dibaca dan diperiksa, dan LED dikawal](../../../../../translated_images/ms/assignment-1-flow.7552a51acb1a5ec8.webp)
* [Arduino - Wio Terminal](wio-terminal-actuator.md)
* [Komputer papan tunggal - Raspberry Pi](pi-actuator.md)
@ -140,7 +140,7 @@ Seperti sensor, aktuator boleh menjadi analog atau digital.
Aktuator analog mengambil isyarat analog dan menukarnya kepada beberapa jenis interaksi, di mana interaksi berubah berdasarkan voltan yang dibekalkan.
Satu contoh ialah lampu boleh dimalapkan, seperti yang mungkin anda ada di rumah anda. Jumlah voltan yang dibekalkan kepada lampu menentukan kecerahannya.
![Cahaya malap pada voltan rendah dan lebih terang pada voltan tinggi](../../../../../translated_images/ms/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.png)
![Cahaya malap pada voltan rendah dan lebih terang pada voltan tinggi](../../../../../translated_images/ms/dimmable-light.9ceffeb195dec1a8.webp)
Seperti sensor, peranti IoT sebenar berfungsi dengan isyarat digital, bukan analog. Ini bermakna untuk menghantar isyarat analog, peranti IoT memerlukan penukar digital ke analog (DAC), sama ada secara langsung pada peranti IoT atau pada papan penyambung. Penukar ini akan menukar 0 dan 1 daripada peranti IoT kepada voltan analog yang boleh digunakan oleh penggerak.
@ -187,7 +187,7 @@ Penggerak digital, seperti sensor digital, sama ada mempunyai dua keadaan yang d
Satu penggerak digital yang mudah ialah LED. Apabila peranti menghantar isyarat digital 1, voltan tinggi dihantar yang menyalakan LED. Apabila isyarat digital 0 dihantar, voltan turun kepada 0V dan LED padam.
![LED padam pada 0 volt dan menyala pada 5V](../../../../../translated_images/ms/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.png)
![LED padam pada 0 volt dan menyala pada 5V](../../../../../translated_images/ms/led.ec6d94f66676a174.webp)
✅ Apakah penggerak 2-keadaan mudah lain yang boleh anda fikirkan? Satu contoh ialah solenoid, iaitu elektromagnet yang boleh diaktifkan untuk melakukan perkara seperti menggerakkan bolt pintu untuk mengunci/membuka kunci pintu.

@ -26,7 +26,7 @@ Grove LED datang sebagai modul dengan pilihan LED, membolehkan anda memilih warn
Sambungkan LED.
![A grove LED](../../../../../translated_images/ms/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png)
![A grove LED](../../../../../translated_images/ms/grove-led.6c853be93f473cf2.webp)
1. Pilih LED kegemaran anda dan masukkan kaki-kaki LED ke dalam dua lubang pada modul LED.
@ -40,7 +40,7 @@ Sambungkan LED.
1. Dengan Raspberry Pi dimatikan, sambungkan hujung kabel Grove yang lain ke soket digital yang ditandakan **D5** pada Grove Base hat yang disambungkan ke Pi. Soket ini adalah yang kedua dari kiri, pada barisan soket bersebelahan dengan pin GPIO.
![The grove LED connected to socket D5](../../../../../translated_images/ms/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.png)
![The grove LED connected to socket D5](../../../../../translated_images/ms/pi-led.97f1d474981dc35d.webp)
## Program lampu malam

@ -16,13 +16,13 @@ Sensor cahaya Grove yang digunakan untuk mengesan tahap cahaya perlu disambungka
Sambungkan sensor cahaya
![Sensor cahaya Grove](../../../../../translated_images/ms/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.png)
![Sensor cahaya Grove](../../../../../translated_images/ms/grove-light-sensor.b8127b7c434e632d.webp)
1. Masukkan satu hujung kabel Grove ke soket pada modul sensor cahaya. Ia hanya boleh dimasukkan dalam satu arah sahaja.
1. Dengan Raspberry Pi dimatikan, sambungkan hujung lain kabel Grove ke soket analog yang ditandakan **A0** pada Grove Base hat yang disambungkan ke Pi. Soket ini adalah yang kedua dari kanan, pada barisan soket bersebelahan pin GPIO.
![Sensor cahaya Grove disambungkan ke soket A0](../../../../../translated_images/ms/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.png)
![Sensor cahaya Grove disambungkan ke soket A0](../../../../../translated_images/ms/pi-light-sensor.66cc1e31fa48cd7d.webp)
## Programkan sensor cahaya

@ -36,11 +36,11 @@ Tambah LED ke aplikasi CounterFit.
1. Pilih butang **Add** untuk mencipta LED pada Pin 5
![Tetapan LED](../../../../../translated_images/ms/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.png)
![Tetapan LED](../../../../../translated_images/ms/counterfit-create-led.ba9db1c9b8c622a6.webp)
LED akan dicipta dan muncul dalam senarai penggerak.
![LED yang telah dicipta](../../../../../translated_images/ms/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.png)
![LED yang telah dicipta](../../../../../translated_images/ms/counterfit-led.c0ab02de6d256ad8.webp)
Setelah LED dicipta, anda boleh menukar warna menggunakan pemilih *Color*. Pilih butang **Set** untuk menukar warna selepas anda memilihnya.

@ -28,11 +28,11 @@ Tambah sensor cahaya ke aplikasi CounterFit.
1. Pilih butang **Add** untuk mencipta sensor cahaya pada Pin 0.
![Tetapan sensor cahaya](../../../../../translated_images/ms/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.png)
![Tetapan sensor cahaya](../../../../../translated_images/ms/counterfit-create-light-sensor.9f36a5e0d4458d8d.webp)
Sensor cahaya akan dicipta dan muncul dalam senarai sensor.
![Sensor cahaya dicipta](../../../../../translated_images/ms/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.png)
![Sensor cahaya dicipta](../../../../../translated_images/ms/counterfit-light-sensor.5d0f5584df56b90f.webp)
## Programkan sensor cahaya

@ -26,7 +26,7 @@ Grove LED datang sebagai modul dengan pilihan LED, membolehkan anda memilih warn
Sambungkan LED.
![LED Grove](../../../../../translated_images/ms/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png)
![LED Grove](../../../../../translated_images/ms/grove-led.6c853be93f473cf2.webp)
1. Pilih LED kegemaran anda dan masukkan kaki-kaki LED ke dalam dua lubang pada modul LED.

@ -1,6 +1,6 @@
# Sambungkan peranti anda ke Internet
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.jpg)
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-4.7344e074ea68fa54.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik imej untuk versi yang lebih besar.
@ -47,7 +47,7 @@ MQTT adalah protokol komunikasi paling popular untuk peranti IoT dan akan dibinc
MQTT mempunyai satu broker dan pelbagai klien. Semua klien disambungkan ke broker, dan broker mengarahkan mesej kepada klien yang relevan. Mesej diarahkan menggunakan topik yang dinamakan, bukannya dihantar terus kepada klien individu. Klien boleh menerbitkan kepada satu topik, dan mana-mana klien yang melanggan topik itu akan menerima mesej tersebut.
![Peranti IoT menerbitkan telemetri pada topik /telemetry, dan perkhidmatan awan melanggan topik tersebut](../../../../../translated_images/ms/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.png)
![Peranti IoT menerbitkan telemetri pada topik /telemetry, dan perkhidmatan awan melanggan topik tersebut](../../../../../translated_images/ms/mqtt.cbf7f21d9adc3e17.webp)
✅ Lakukan penyelidikan. Jika anda mempunyai banyak peranti IoT, bagaimana anda boleh memastikan broker MQTT anda dapat mengendalikan semua mesej?
@ -69,7 +69,7 @@ Daripada menangani kerumitan menyiapkan broker MQTT sebagai sebahagian daripada
> 💁 Broker ujian ini adalah awam dan tidak selamat. Sesiapa sahaja boleh mendengar apa yang anda terbitkan, jadi ia tidak boleh digunakan dengan data yang perlu dirahsiakan.
![Carta alir tugasan menunjukkan tahap cahaya dibaca dan diperiksa, dan LED dikawal](../../../../../translated_images/ms/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.png)
![Carta alir tugasan menunjukkan tahap cahaya dibaca dan diperiksa, dan LED dikawal](../../../../../translated_images/ms/assignment-1-internet-flow.3256feab5f052fd2.webp)
Ikuti langkah yang relevan di bawah untuk menyambungkan peranti anda ke broker MQTT:
@ -350,7 +350,7 @@ Untuk mesin, anda mungkin ingin menyimpan data, terutamanya jika ia digunakan un
Pereka peranti IoT juga harus mempertimbangkan sama ada peranti IoT boleh digunakan semasa gangguan Internet atau kehilangan isyarat disebabkan oleh lokasi. Termostat pintar harus dapat membuat beberapa keputusan terhad untuk mengawal pemanasan jika ia tidak dapat menghantar telemetri ke awan disebabkan oleh gangguan.
[![Ferrari ini menjadi tidak berfungsi kerana seseorang cuba menaik tarafnya di bawah tanah di mana tiada isyarat selular](../../../../../translated_images/ms/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.png)](https://twitter.com/internetofshit/status/1315736960082808832)
[![Ferrari ini menjadi tidak berfungsi kerana seseorang cuba menaik tarafnya di bawah tanah di mana tiada isyarat selular](../../../../../translated_images/ms/bricked-car.dc38f8efadc6c59d.webp)](https://twitter.com/internetofshit/status/1315736960082808832)
Untuk MQTT menangani kehilangan sambungan, kod peranti dan pelayan perlu bertanggungjawab untuk memastikan penghantaran mesej jika diperlukan, contohnya dengan memerlukan semua mesej yang dihantar dijawab oleh mesej tambahan pada topik balasan, dan jika tidak, ia diletakkan dalam barisan secara manual untuk dihantar semula kemudian.
@ -358,7 +358,7 @@ Untuk MQTT menangani kehilangan sambungan, kod peranti dan pelayan perlu bertang
Arahan adalah mesej yang dihantar oleh awan kepada peranti, mengarahkannya untuk melakukan sesuatu. Kebanyakan masa ini melibatkan memberikan beberapa jenis output melalui aktuator, tetapi ia juga boleh menjadi arahan untuk peranti itu sendiri, seperti untuk memulakan semula, atau mengumpulkan telemetri tambahan dan mengembalikannya sebagai respons kepada arahan.
![Termostat yang disambungkan ke Internet menerima arahan untuk menghidupkan pemanasan](../../../../../translated_images/ms/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.png)
![Termostat yang disambungkan ke Internet menerima arahan untuk menghidupkan pemanasan](../../../../../translated_images/ms/commands.d6c06bbbb3a02cce.webp)
Termostat boleh menerima arahan dari awan untuk menghidupkan pemanasan. Berdasarkan data telemetri dari semua sensor, jika perkhidmatan awan telah memutuskan bahawa pemanasan harus dihidupkan, maka ia menghantar arahan yang berkaitan.

@ -1,6 +1,6 @@
## Ramalkan Pertumbuhan Tumbuhan dengan IoT
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.jpg)
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-5.42b234299279d263.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik imej untuk versi yang lebih besar.
@ -102,7 +102,7 @@ Langkah-langkah untuk melakukannya secara manual adalah:
Sebagai contoh, jika suhu tertinggi untuk hari tersebut ialah 25°C, dan terendah ialah 12°C:
![GDD = 25 + 12 dibahagi dengan 2, kemudian tolak 10 daripada hasil memberikan 8.5](../../../../../translated_images/ms/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.png)
![GDD = 25 + 12 dibahagi dengan 2, kemudian tolak 10 daripada hasil memberikan 8.5](../../../../../translated_images/ms/gdd-calculation-strawberries.59f57db94b22adb8.webp)
* 25 + 12 = 37
* 37 / 2 = 18.5

@ -33,7 +33,7 @@ Setelah anda mempunyai data suhu, anda boleh menggunakan Jupyter Notebook dalam
Jupyter akan dimulakan dan membuka notebook dalam pelayar anda. Ikuti arahan dalam notebook untuk memvisualisasikan suhu yang diukur, dan mengira growing degree days.
![The jupyter notebook](../../../../../translated_images/ms/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.png)
![The jupyter notebook](../../../../../translated_images/ms/gdd-jupyter-notebook.c5b52cf21094f158.webp)
## Rubrik

@ -16,7 +16,7 @@ Sensor suhu Grove boleh disambungkan ke Raspberry Pi.
Sambungkan sensor suhu
![Sensor suhu Grove](../../../../../translated_images/ms/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png)
![Sensor suhu Grove](../../../../../translated_images/ms/grove-dht11.07f8eafceee17004.webp)
1. Masukkan satu hujung kabel Grove ke soket pada sensor kelembapan dan suhu. Ia hanya boleh dimasukkan dalam satu arah sahaja.

@ -38,11 +38,11 @@ Tambah sensor kelembapan dan suhu pada aplikasi CounterFit.
1. Pilih butang **Add** untuk mencipta sensor kelembapan pada Pin 5.
![Tetapan sensor kelembapan](../../../../../translated_images/ms/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.png)
![Tetapan sensor kelembapan](../../../../../translated_images/ms/counterfit-create-humidity-sensor.2750e27b6f30e09c.webp)
Sensor kelembapan akan dicipta dan muncul dalam senarai sensor.
![Sensor kelembapan yang telah dicipta](../../../../../translated_images/ms/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.png)
![Sensor kelembapan yang telah dicipta](../../../../../translated_images/ms/counterfit-humidity-sensor.7b12f7f339e430cb.webp)
1. Cipta sensor suhu:
@ -54,11 +54,11 @@ Tambah sensor kelembapan dan suhu pada aplikasi CounterFit.
1. Pilih butang **Add** untuk mencipta sensor suhu pada Pin 6.
![Tetapan sensor suhu](../../../../../translated_images/ms/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.png)
![Tetapan sensor suhu](../../../../../translated_images/ms/counterfit-create-temperature-sensor.199350ed34f7343d.webp)
Sensor suhu akan dicipta dan muncul dalam senarai sensor.
![Sensor suhu yang telah dicipta](../../../../../translated_images/ms/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.png)
![Sensor suhu yang telah dicipta](../../../../../translated_images/ms/counterfit-temperature-sensor.f0560236c96a9016.webp)
## Program aplikasi sensor suhu

@ -18,7 +18,7 @@ Sensor suhu Grove boleh disambungkan ke port digital Wio Terminal.
Sambungkan sensor suhu.
![Sensor suhu Grove](../../../../../translated_images/ms/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png)
![Sensor suhu Grove](../../../../../translated_images/ms/grove-dht11.07f8eafceee17004.webp)
1. Masukkan satu hujung kabel Grove ke soket pada sensor kelembapan dan suhu. Ia hanya boleh dimasukkan dalam satu arah sahaja.

@ -13,7 +13,7 @@ I²C mempunyai bas yang terdiri daripada 2 wayar utama, bersama dengan 2 wayar k
| VCC | Voltage common collector | Bekalan kuasa untuk peranti. Ini disambungkan ke wayar SDA dan SCL untuk menyediakan kuasa mereka melalui perintang pull-up yang mematikan isyarat apabila tiada peranti menjadi pengawal. |
| GND | Ground | Memberikan tanah biasa untuk litar elektrik. |
![Bas I2C dengan 3 peranti disambungkan ke wayar SDA dan SCL, berkongsi wayar tanah biasa](../../../../../translated_images/ms/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.png)
![Bas I2C dengan 3 peranti disambungkan ke wayar SDA dan SCL, berkongsi wayar tanah biasa](../../../../../translated_images/ms/i2c.83da845dde02256b.webp)
Untuk menghantar data, satu peranti akan mengeluarkan keadaan mula untuk menunjukkan ia bersedia menghantar data. Ia kemudian akan menjadi pengawal. Pengawal kemudian menghantar alamat peranti yang ingin dikomunikasikan, bersama-sama dengan sama ada ia ingin membaca atau menulis data. Selepas data dihantar, pengawal menghantar keadaan berhenti untuk menunjukkan bahawa ia telah selesai. Selepas ini, peranti lain boleh menjadi pengawal dan menghantar atau menerima data.

@ -20,14 +20,14 @@ Anda perlu mengulangi langkah-langkah ini beberapa kali untuk mendapatkan bacaan
Kelembapan tanah gravimetrik dikira sebagai:
![kelembapan tanah % ialah berat basah tolak berat kering, dibahagi dengan berat kering, darab 100](../../../../../translated_images/ms/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.png)
![kelembapan tanah % ialah berat basah tolak berat kering, dibahagi dengan berat kering, darab 100](../../../../../translated_images/ms/gsm-calculation.6da38c6201eec14e.webp)
* W - berat tanah basah
* W - berat tanah kering
Sebagai contoh, katakan anda mempunyai sampel tanah yang beratnya 212g basah, dan 197g kering.
![Pengiraan diisi](../../../../../translated_images/ms/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.png)
![Pengiraan diisi](../../../../../translated_images/ms/gsm-calculation-example.99f9803b4f29e976.webp)
* W = 212g
* W = 197g

@ -18,13 +18,13 @@ Sensor kelembapan tanah Grove boleh disambungkan ke Raspberry Pi.
Sambungkan sensor kelembapan tanah.
![Sensor kelembapan tanah Grove](../../../../../translated_images/ms/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png)
![Sensor kelembapan tanah Grove](../../../../../translated_images/ms/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78b.webp)
1. Masukkan satu hujung kabel Grove ke dalam soket pada sensor kelembapan tanah. Ia hanya boleh dimasukkan dalam satu arah sahaja.
1. Dengan Raspberry Pi dimatikan, sambungkan hujung lain kabel Grove ke soket analog yang ditandakan **A0** pada Grove Base Hat yang dipasang pada Pi. Soket ini adalah yang kedua dari kanan, pada barisan soket bersebelahan dengan pin GPIO.
![Sensor kelembapan tanah Grove disambungkan ke soket A0](../../../../../translated_images/ms/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.png)
![Sensor kelembapan tanah Grove disambungkan ke soket A0](../../../../../translated_images/ms/pi-soil-moisture-sensor.fdd7eb2393792cf6.webp)
1. Masukkan sensor kelembapan tanah ke dalam tanah. Ia mempunyai 'garis kedudukan tertinggi' - satu garis putih melintang pada sensor. Masukkan sensor sehingga ke garis ini tetapi jangan melebihi garis tersebut.

@ -34,11 +34,11 @@ Tambah sensor kelembapan tanah ke aplikasi CounterFit.
1. Pilih butang **Add** untuk mencipta sensor *Soil Moisture* pada Pin 0.
![Tetapan sensor kelembapan tanah](../../../../../translated_images/ms/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.png)
![Tetapan sensor kelembapan tanah](../../../../../translated_images/ms/counterfit-create-soil-moisture-sensor.35266135a5e0ae68.webp)
Sensor kelembapan tanah akan dicipta dan muncul dalam senarai sensor.
![Sensor kelembapan tanah dicipta](../../../../../translated_images/ms/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.png)
![Sensor kelembapan tanah dicipta](../../../../../translated_images/ms/counterfit-soil-moisture-sensor.81742b2de0e9de60.webp)
## Program aplikasi sensor kelembapan tanah

@ -18,7 +18,7 @@ Sensor kelembapan tanah Grove boleh disambungkan kepada port analog/digital yang
Sambungkan sensor kelembapan tanah.
![Sensor kelembapan tanah Grove](../../../../../translated_images/ms/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png)
![Sensor kelembapan tanah Grove](../../../../../translated_images/ms/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78b.webp)
1. Masukkan satu hujung kabel Grove ke soket pada sensor kelembapan tanah. Ia hanya boleh dimasukkan dalam satu arah sahaja.

@ -1,6 +1,6 @@
# Penyiraman tumbuhan automatik
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.jpg)
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-7.30b5f577d3cb8e03.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -32,7 +32,7 @@ Peranti IoT menggunakan voltan rendah. Walaupun ini mencukupi untuk sensor dan a
Penyelesaiannya adalah dengan menyambungkan pam kepada bekalan kuasa luaran, dan menggunakan aktuator untuk menghidupkan pam, sama seperti anda menghidupkan lampu. Ia hanya memerlukan sedikit kuasa (dalam bentuk tenaga dari badan anda) untuk jari anda menekan suis, dan ini menyambungkan lampu kepada elektrik utama yang berjalan pada 110v/240v.
![Suis lampu menghidupkan kuasa kepada lampu](../../../../../translated_images/ms/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.png)
![Suis lampu menghidupkan kuasa kepada lampu](../../../../../translated_images/ms/light-switch.760317ad6ab8bd6d.webp)
> 🎓 [Elektrik utama](https://wikipedia.org/wiki/Mains_electricity) merujuk kepada elektrik yang dihantar ke rumah dan perniagaan melalui infrastruktur nasional di banyak bahagian dunia.
@ -72,7 +72,7 @@ Apabila tuil bergerak, anda biasanya boleh mendengar ia membuat sentuhan dengan
Elektromagnet tidak memerlukan banyak kuasa untuk diaktifkan dan menarik tuil, ia boleh dikawal menggunakan output 3.3V atau 5V dari kit pembangunan IoT. Litar output boleh membawa kuasa yang jauh lebih tinggi, bergantung pada relay, termasuk voltan utama atau tahap kuasa yang lebih tinggi untuk kegunaan industri. Dengan cara ini, kit pembangunan IoT boleh mengawal sistem pengairan, dari pam kecil untuk satu tumbuhan, hingga sistem industri besar untuk seluruh ladang komersial.
![Relay Grove dengan litar kawalan, litar output dan relay dilabelkan](../../../../../translated_images/ms/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.png)
![Relay Grove dengan litar kawalan, litar output dan relay dilabelkan](../../../../../translated_images/ms/grove-relay-labelled.293e068f5c3c2a19.webp)
Gambar di atas menunjukkan relay Grove. Litar kawalan disambungkan kepada peranti IoT dan menghidupkan atau mematikan relay menggunakan 3.3V atau 5V. Litar output mempunyai dua terminal, salah satu daripadanya boleh menjadi kuasa atau tanah. Litar output boleh mengendalikan sehingga 250V pada 10A, mencukupi untuk pelbagai peranti berkuasa utama. Anda boleh mendapatkan relay yang boleh mengendalikan tahap kuasa yang lebih tinggi.

@ -18,13 +18,13 @@ Relay Grove boleh disambungkan ke Raspberry Pi.
Sambungkan relay.
![Relay Grove](../../../../../translated_images/ms/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png)
![Relay Grove](../../../../../translated_images/ms/grove-relay.d426958ca210fbd0.webp)
1. Masukkan satu hujung kabel Grove ke soket pada relay. Ia hanya boleh dimasukkan dalam satu arah sahaja.
1. Dengan Raspberry Pi dimatikan, sambungkan hujung lain kabel Grove ke soket digital yang bertanda **D5** pada Grove Base Hat yang disambungkan ke Pi. Soket ini adalah yang kedua dari kiri, pada barisan soket bersebelahan dengan pin GPIO. Biarkan sensor kelembapan tanah disambungkan ke soket **A0**.
![Relay Grove disambungkan ke soket D5, dan sensor kelembapan tanah disambungkan ke soket A0](../../../../../translated_images/ms/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.png)
![Relay Grove disambungkan ke soket D5, dan sensor kelembapan tanah disambungkan ke soket A0](../../../../../translated_images/ms/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e.webp)
1. Masukkan sensor kelembapan tanah ke dalam tanah, jika ia belum dimasukkan dari pelajaran sebelumnya.

@ -28,11 +28,11 @@ Tambah relay ke aplikasi CounterFit.
1. Pilih butang **Add** untuk mencipta relay pada Pin 5.
![Tetapan relay](../../../../../translated_images/ms/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.png)
![Tetapan relay](../../../../../translated_images/ms/counterfit-create-relay.fa7c40fd0f2f6afc.webp)
Relay akan dicipta dan muncul dalam senarai actuator.
![Relay yang telah dicipta](../../../../../translated_images/ms/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.png)
![Relay yang telah dicipta](../../../../../translated_images/ms/counterfit-relay.bbf74c1dbdc8b9ac.webp)
## Programkan Relay

@ -18,7 +18,7 @@ Relay Grove boleh disambungkan ke port digital Wio Terminal.
Sambungkan relay.
![Relay Grove](../../../../../translated_images/ms/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png)
![Relay Grove](../../../../../translated_images/ms/grove-relay.d426958ca210fbd0.webp)
1. Masukkan satu hujung kabel Grove ke soket pada relay. Ia hanya boleh dimasukkan dalam satu arah sahaja.

@ -1,6 +1,6 @@
# Migrasikan Tumbuhan Anda ke Awan
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.jpg)
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-8.3f21f3c11159e6a0.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik imej untuk versi yang lebih besar.
@ -46,8 +46,8 @@ Ini boleh menjadi sangat mahal, memerlukan pelbagai pekerja yang mahir, dan sang
Awan sering kali disebut secara bergurau sebagai 'komputer orang lain'. Idea asalnya mudah - daripada membeli komputer, anda menyewa komputer orang lain. Orang lain, iaitu penyedia pengkomputeran awan, akan menguruskan pusat data yang besar. Mereka akan bertanggungjawab membeli dan memasang perkakasan, menguruskan bekalan kuasa dan penyejukan, rangkaian, keselamatan bangunan, kemas kini perkakasan dan perisian, segalanya. Sebagai pelanggan, anda akan menyewa komputer yang anda perlukan, menyewa lebih banyak apabila permintaan meningkat, kemudian mengurangkan jumlah yang anda sewa jika permintaan menurun. Pusat data awan ini terletak di seluruh dunia.
![Pusat data awan Microsoft](../../../../../translated_images/ms/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.png)
![Perancangan pengembangan pusat data awan Microsoft](../../../../../translated_images/ms/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.png)
![Pusat data awan Microsoft](../../../../../translated_images/ms/azure-region-existing.73f704604f2aa6cb.webp)
![Perancangan pengembangan pusat data awan Microsoft](../../../../../translated_images/ms/azure-region-planned-expansion.a5074a1e8af74f15.webp)
Pusat data ini boleh berukuran beberapa kilometer persegi. Imej di atas diambil beberapa tahun lalu di pusat data awan Microsoft, dan menunjukkan saiz awal, bersama dengan perancangan pengembangan. Kawasan yang telah dibersihkan untuk pengembangan adalah lebih dari 5 kilometer persegi.
@ -108,11 +108,11 @@ Perkhidmatan IoT di awan menyelesaikan masalah ini. Ia diselenggara oleh penyedi
Peranti IoT menyambung ke perkhidmatan awan sama ada menggunakan SDK peranti (pustaka yang menyediakan kod untuk bekerja dengan ciri perkhidmatan), atau secara langsung melalui protokol komunikasi seperti MQTT atau HTTP. SDK peranti biasanya merupakan laluan termudah kerana ia menguruskan segalanya untuk anda, seperti mengetahui topik apa yang perlu diterbitkan atau dilanggan, dan cara menguruskan keselamatan.
![Peranti menyambung ke perkhidmatan menggunakan SDK peranti. Kod pelayan juga menyambung ke perkhidmatan melalui SDK](../../../../../translated_images/ms/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.png)
![Peranti menyambung ke perkhidmatan menggunakan SDK peranti. Kod pelayan juga menyambung ke perkhidmatan melalui SDK](../../../../../translated_images/ms/iot-service-connectivity.7e873847921a5d6f.webp)
Peranti anda kemudian berkomunikasi dengan bahagian lain aplikasi anda melalui perkhidmatan ini - serupa dengan cara anda menghantar telemetri dan menerima arahan melalui MQTT. Ini biasanya menggunakan SDK perkhidmatan atau pustaka serupa. Mesej datang dari peranti anda ke perkhidmatan di mana komponen lain aplikasi anda kemudian boleh membacanya, dan mesej boleh dihantar kembali ke peranti anda.
![Peranti tanpa kunci rahsia yang sah tidak dapat menyambung ke perkhidmatan IoT](../../../../../translated_images/ms/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.png)
![Peranti tanpa kunci rahsia yang sah tidak dapat menyambung ke perkhidmatan IoT](../../../../../translated_images/ms/iot-service-allowed-denied-connection.818b0063ac213fb8.webp)
Perkhidmatan ini melaksanakan keselamatan dengan mengetahui semua peranti yang boleh menyambung dan menghantar data, sama ada dengan mendaftarkan peranti terlebih dahulu dengan perkhidmatan, atau dengan memberikan peranti kunci rahsia atau sijil yang boleh mereka gunakan untuk mendaftarkan diri mereka dengan perkhidmatan pada kali pertama mereka menyambung. Peranti yang tidak dikenali tidak dapat menyambung, jika mereka mencuba, perkhidmatan akan menolak sambungan dan mengabaikan mesej yang dihantar oleh mereka.
@ -124,7 +124,7 @@ Komponen lain aplikasi anda boleh menyambung ke perkhidmatan IoT dan mengetahui
Sekarang anda mempunyai langganan Azure, anda boleh mendaftar untuk perkhidmatan IoT. Perkhidmatan IoT dari Microsoft dipanggil Azure IoT Hub.
![Logo Azure IoT Hub](../../../../../translated_images/ms/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.png)
![Logo Azure IoT Hub](../../../../../translated_images/ms/azure-iot-hub-logo.28a19de76d0a1932.webp)
Video di bawah memberikan gambaran ringkas tentang Azure IoT Hub:

@ -1,6 +1,6 @@
# Migrasikan logik aplikasi anda ke awan
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.jpg)
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-9.dfe99c8e891f48e1.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik imej untuk versi yang lebih besar.
@ -28,7 +28,7 @@ Dalam pelajaran ini, kita akan membincangkan:
Tanpa pelayan, atau pengkomputeran tanpa pelayan, melibatkan penciptaan blok kecil kod yang dijalankan di awan sebagai tindak balas kepada pelbagai jenis acara. Apabila acara berlaku, kod anda dijalankan dan menerima data tentang acara tersebut. Acara ini boleh datang daripada pelbagai sumber, termasuk permintaan web, mesej yang diletakkan dalam barisan, perubahan data dalam pangkalan data, atau mesej yang dihantar ke perkhidmatan IoT oleh peranti IoT.
![Acara dihantar dari perkhidmatan IoT ke perkhidmatan tanpa pelayan, semuanya diproses serentak oleh pelbagai fungsi yang dijalankan](../../../../../translated_images/ms/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.png)
![Acara dihantar dari perkhidmatan IoT ke perkhidmatan tanpa pelayan, semuanya diproses serentak oleh pelbagai fungsi yang dijalankan](../../../../../translated_images/ms/iot-messages-to-serverless.0194da1cc0732bb7.webp)
> 💁 Jika anda pernah menggunakan pencetus pangkalan data sebelum ini, anda boleh menganggap ini sebagai perkara yang sama, iaitu kod yang dicetuskan oleh acara seperti memasukkan baris.
@ -54,7 +54,7 @@ Sebagai pembangun IoT, model tanpa pelayan sangat ideal. Anda boleh menulis fung
Perkhidmatan pengkomputeran tanpa pelayan daripada Microsoft dikenali sebagai Azure Functions.
![Logo Azure Functions](../../../../../translated_images/ms/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.png)
![Logo Azure Functions](../../../../../translated_images/ms/azure-functions-logo.1cfc8e3204c9c44a.webp)
Video pendek di bawah memberikan gambaran keseluruhan tentang Azure Functions.

@ -1,6 +1,6 @@
# Pastikan Tumbuhan Anda Selamat
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.jpg)
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-10.829c86b80b9403bb.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik imej untuk versi yang lebih besar.
@ -52,11 +52,11 @@ Ini adalah senario dunia sebenar, dan berlaku sepanjang masa. Beberapa contoh te
Apabila peranti menyambung ke perkhidmatan IoT, ia menggunakan ID untuk mengenal pasti dirinya. Masalahnya ialah ID ini boleh digandakan - penggodam boleh menyediakan peranti berniat jahat yang menggunakan ID yang sama seperti peranti sebenar tetapi menghantar data palsu.
![Kedua-dua peranti sah dan berniat jahat boleh menggunakan ID yang sama untuk menghantar telemetri](../../../../../translated_images/ms/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.png)
![Kedua-dua peranti sah dan berniat jahat boleh menggunakan ID yang sama untuk menghantar telemetri](../../../../../translated_images/ms/iot-device-and-hacked-device-connecting.e0671675df74d6d9.webp)
Cara untuk mengatasi masalah ini adalah dengan menukar data yang dihantar ke format yang dikodkan, menggunakan nilai tertentu yang hanya diketahui oleh peranti dan awan. Proses ini dipanggil *penyulitan*, dan nilai yang digunakan untuk menyulitkan data dipanggil *kunci penyulitan*.
![Jika penyulitan digunakan, hanya mesej yang disulitkan akan diterima, yang lain akan ditolak](../../../../../translated_images/ms/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.png)
![Jika penyulitan digunakan, hanya mesej yang disulitkan akan diterima, yang lain akan ditolak](../../../../../translated_images/ms/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f.webp)
Perkhidmatan awan kemudian boleh menukar data kembali ke format yang boleh dibaca, menggunakan proses yang dipanggil *penyahulitan*, sama ada menggunakan kunci penyulitan yang sama, atau *kunci penyahulitan*. Jika mesej yang disulitkan tidak dapat dinyahulitkan oleh kunci, peranti telah digodam dan mesej ditolak.

@ -1,6 +1,6 @@
# Penjejakan Lokasi
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.jpg)
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-11.9fddbac4b664c6d5.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik imej untuk versi yang lebih besar.
@ -63,13 +63,13 @@ Bumi adalah sfera - bulatan tiga dimensi. Oleh itu, titik-titik ditentukan denga
> 💁 Tiada siapa yang benar-benar tahu sebab asal mengapa bulatan dibahagikan kepada 360 darjah. [Halaman darjah (sudut) di Wikipedia](https://wikipedia.org/wiki/Degree_(angle)) merangkumi beberapa sebab yang mungkin.
![Garis latitud dari 90° di Kutub Utara, 45° di tengah-tengah antara Kutub Utara dan khatulistiwa, 0° di khatulistiwa, -45° di tengah-tengah antara khatulistiwa dan Kutub Selatan, dan -90° di Kutub Selatan](../../../../../translated_images/ms/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.png)
![Garis latitud dari 90° di Kutub Utara, 45° di tengah-tengah antara Kutub Utara dan khatulistiwa, 0° di khatulistiwa, -45° di tengah-tengah antara khatulistiwa dan Kutub Selatan, dan -90° di Kutub Selatan](../../../../../translated_images/ms/latitude-lines.11d8d91dfb2014a5.webp)
Latitud diukur menggunakan garis yang mengelilingi Bumi dan berjalan selari dengan khatulistiwa, membahagikan Hemisfera Utara dan Selatan kepada 90° setiap satu. Khatulistiwa berada pada 0°, Kutub Utara berada pada 90°, juga dikenali sebagai 90° Utara, dan Kutub Selatan berada pada -90°, atau 90° Selatan.
Longitud diukur sebagai bilangan darjah yang diukur dari timur ke barat. Asal 0° longitud dipanggil *Prime Meridian*, dan ditentukan pada tahun 1884 sebagai garis dari Kutub Utara ke Kutub Selatan yang melalui [Observatori Diraja British di Greenwich, England](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich).
![Garis longitud yang pergi dari -180° ke barat Prime Meridian, ke 0° di Prime Meridian, ke 180° timur Prime Meridian](../../../../../translated_images/ms/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.png)
![Garis longitud yang pergi dari -180° ke barat Prime Meridian, ke 0° di Prime Meridian, ke 180° timur Prime Meridian](../../../../../translated_images/ms/longitude-meridians.ab4ef1c91c064586.webp)
> 🎓 Meridian adalah garis lurus khayalan yang pergi dari Kutub Utara ke Kutub Selatan, membentuk separuh bulatan.
@ -100,7 +100,7 @@ Koordinat untuk satu titik sentiasa diberikan sebagai `latitud, longitud`, jadi
* Latitud 47.6423109 (47.6423109 darjah utara khatulistiwa)
* Longitud -122.1390293 (122.1390293 darjah barat Prime Meridian).
![Kampus Microsoft pada 47.6423109,-122.117198](../../../../../translated_images/ms/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.png)
![Kampus Microsoft pada 47.6423109,-122.117198](../../../../../translated_images/ms/microsoft-gps-location-world.a321d481b010f6ad.webp)
## Sistem Penentududukan Global (GPS)
@ -112,7 +112,7 @@ Sistem GPS berfungsi dengan mempunyai beberapa satelit yang menghantar isyarat d
> 💁 Sensor GPS memerlukan antena untuk mengesan gelombang radio. Antena yang dibina ke dalam trak dan kereta dengan GPS di atas papan diletakkan untuk mendapatkan isyarat yang baik, biasanya pada cermin depan atau bumbung. Jika anda menggunakan sistem GPS yang berasingan, seperti telefon pintar atau peranti IoT, maka anda perlu memastikan bahawa antena yang dibina ke dalam sistem GPS atau telefon mempunyai pandangan yang jelas ke langit, seperti dipasang pada cermin depan.
![Dengan mengetahui jarak dari sensor ke pelbagai satelit, lokasi boleh dikira](../../../../../translated_images/ms/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.png)
![Dengan mengetahui jarak dari sensor ke pelbagai satelit, lokasi boleh dikira](../../../../../translated_images/ms/gps-satellites.04acf1148fe25fbf.webp)
Satelit GPS mengelilingi Bumi, bukan pada titik tetap di atas sensor, jadi data lokasi termasuk ketinggian di atas paras laut serta latitud dan longitud.

@ -18,13 +18,13 @@ Sensor Grove GPS boleh disambungkan kepada Raspberry Pi.
Sambungkan sensor GPS.
![Sensor GPS Grove](../../../../../translated_images/ms/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png)
![Sensor GPS Grove](../../../../../translated_images/ms/grove-gps-sensor.247943bf69b03f0d.webp)
1. Masukkan satu hujung kabel Grove ke soket pada sensor GPS. Ia hanya boleh dimasukkan dalam satu arah sahaja.
1. Dengan Raspberry Pi dimatikan, sambungkan hujung lain kabel Grove ke soket UART yang ditandakan **UART** pada Grove Base hat yang disambungkan kepada Pi. Soket ini berada di barisan tengah, di sisi yang paling dekat dengan slot kad SD, bertentangan dengan port USB dan soket ethernet.
![Sensor GPS Grove disambungkan ke soket UART](../../../../../translated_images/ms/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.png)
![Sensor GPS Grove disambungkan ke soket UART](../../../../../translated_images/ms/pi-gps-sensor.1f99ee2b2f652891.webp)
1. Letakkan sensor GPS supaya antena yang disambungkan mempunyai pandangan ke langit - sebaiknya di sebelah tingkap terbuka atau di luar. Ia lebih mudah untuk mendapatkan isyarat yang jelas tanpa halangan di hadapan antena.

@ -38,11 +38,11 @@ Tambah sensor GPS kepada aplikasi CounterFit.
1. Pilih butang **Add** untuk mencipta sensor GPS pada port `/dev/ttyAMA0`.
![Tetapan sensor GPS](../../../../../translated_images/ms/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.png)
![Tetapan sensor GPS](../../../../../translated_images/ms/counterfit-create-gps-sensor.6385dc9357d85ad1.webp)
Sensor GPS akan dicipta dan muncul dalam senarai sensor.
![Sensor GPS yang telah dicipta](../../../../../translated_images/ms/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.png)
![Sensor GPS yang telah dicipta](../../../../../translated_images/ms/counterfit-gps-sensor.3fbb15af0a536756.webp)
## Memprogram Sensor GPS
@ -102,17 +102,17 @@ Program aplikasi sensor GPS.
* Tetapkan **Source** kepada `Lat/Lon`, dan tetapkan latitud, longitud, dan bilangan satelit yang digunakan untuk mendapatkan GPS fix. Nilai ini akan dihantar hanya sekali, jadi tandakan kotak **Repeat** untuk menghantar data berulang setiap saat.
![Sensor GPS dengan lat lon dipilih](../../../../../translated_images/ms/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.png)
![Sensor GPS dengan lat lon dipilih](../../../../../translated_images/ms/counterfit-gps-sensor-latlon.008c867d75464fbe.webp)
* Tetapkan **Source** kepada `NMEA` dan tambahkan beberapa ayat NMEA ke dalam kotak teks. Semua nilai ini akan dihantar, dengan kelewatan 1 saat sebelum setiap ayat GGA (position fix) baharu boleh dibaca.
![Sensor GPS dengan ayat NMEA ditetapkan](../../../../../translated_images/ms/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.png)
![Sensor GPS dengan ayat NMEA ditetapkan](../../../../../translated_images/ms/counterfit-gps-sensor-nmea.c62eea442171e17e.webp)
Anda boleh menggunakan alat seperti [nmeagen.org](https://www.nmeagen.org) untuk menjana ayat ini dengan melukis pada peta. Nilai ini akan dihantar hanya sekali, jadi tandakan kotak **Repeat** untuk menghantar data berulang satu saat selepas semuanya dihantar.
* Tetapkan **Source** kepada fail GPX, dan muat naik fail GPX dengan lokasi trek. Anda boleh memuat turun fail GPX daripada beberapa laman web pemetaan dan pendakian popular, seperti [AllTrails](https://www.alltrails.com/). Fail ini mengandungi pelbagai lokasi GPS sebagai laluan, dan sensor GPS akan mengembalikan setiap lokasi baharu pada selang 1 saat.
![Sensor GPS dengan fail GPX ditetapkan](../../../../../translated_images/ms/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.png)
![Sensor GPS dengan fail GPX ditetapkan](../../../../../translated_images/ms/counterfit-gps-sensor-gpxfile.8310b063ce8a425c.webp)
Nilai ini akan dihantar hanya sekali, jadi tandakan kotak **Repeat** untuk menghantar data berulang satu saat selepas semuanya dihantar.

@ -18,7 +18,7 @@ Sensor Grove GPS boleh disambungkan kepada Wio Terminal.
Sambungkan sensor GPS.
![Sensor GPS Grove](../../../../../translated_images/ms/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png)
![Sensor GPS Grove](../../../../../translated_images/ms/grove-gps-sensor.247943bf69b03f0d.webp)
1. Masukkan satu hujung kabel Grove ke dalam soket pada sensor GPS. Ia hanya boleh dimasukkan dalam satu arah sahaja.

@ -1,6 +1,6 @@
# Data Lokasi Kedai
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.jpg)
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-12.ca7f53039712a3ec.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik imej untuk versi yang lebih besar.
@ -75,7 +75,7 @@ Pangkalan data NoSQL dinamakan NoSQL kerana ia tidak mempunyai struktur tegar ya
> 💁 Walaupun namanya, beberapa pangkalan data NoSQL membolehkan anda menggunakan SQL untuk menyoal data.
![Dokumen dalam folder dalam pangkalan data NoSQL](../../../../../translated_images/ms/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.png)
![Dokumen dalam folder dalam pangkalan data NoSQL](../../../../../translated_images/ms/noqsl-database.62d24ccf5b73f60d.webp)
Pangkalan data NoSQL tidak mempunyai skema yang telah ditetapkan yang mengehadkan cara data disimpan, sebaliknya anda boleh memasukkan sebarang data tidak berstruktur, biasanya menggunakan dokumen JSON. Dokumen ini boleh diatur dalam folder, serupa dengan fail pada komputer anda. Setiap dokumen boleh mempunyai medan yang berbeza daripada dokumen lain - contohnya jika anda menyimpan data IoT daripada kenderaan ladang anda, sesetengahnya mungkin mempunyai medan untuk data pecutan dan kelajuan, yang lain mungkin mempunyai medan untuk suhu dalam treler. Jika anda ingin menambah jenis trak baru, seperti yang mempunyai skala terbina dalam untuk menjejaki berat hasil yang dibawa, maka peranti IoT anda boleh menambah medan baru ini dan ia boleh disimpan tanpa sebarang perubahan pada pangkalan data.
@ -89,7 +89,7 @@ Dalam pelajaran ini, anda akan menggunakan penyimpanan NoSQL untuk menyimpan dat
Dalam pelajaran sebelumnya, anda telah menangkap data GPS daripada sensor GPS yang disambungkan ke peranti IoT anda. Untuk menyimpan data IoT ini di awan, anda perlu menghantarnya ke perkhidmatan IoT. Sekali lagi, anda akan menggunakan Azure IoT Hub, perkhidmatan awan IoT yang sama yang anda gunakan dalam projek sebelumnya.
![Menghantar telemetri GPS daripada peranti IoT ke IoT Hub](../../../../../translated_images/ms/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.png)
![Menghantar telemetri GPS daripada peranti IoT ke IoT Hub](../../../../../translated_images/ms/gps-telemetry-iot-hub.8115335d51cd2c12.webp)
### Tugas - Hantar Data GPS ke IoT Hub
@ -171,7 +171,7 @@ Data laluan sejuk disimpan dalam gudang data - pangkalan data yang direka untuk
Setelah data mengalir ke IoT Hub anda, anda boleh menulis kod tanpa pelayan untuk mendengar acara yang diterbitkan ke titik akhir yang serasi dengan Event-Hub. Ini adalah laluan suam - data ini akan disimpan dan digunakan dalam pelajaran seterusnya untuk pelaporan perjalanan.
![Menghantar telemetri GPS daripada peranti IoT ke IoT Hub, kemudian ke Azure Functions melalui pencetus event hub](../../../../../translated_images/ms/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.png)
![Menghantar telemetri GPS daripada peranti IoT ke IoT Hub, kemudian ke Azure Functions melalui pencetus event hub](../../../../../translated_images/ms/gps-telemetry-iot-hub-functions.24d3fa5592455e9f.webp)
### Tugas - Kendalikan Acara GPS Menggunakan Kod Tanpa Pelayan
@ -193,7 +193,7 @@ Setelah data mengalir ke IoT Hub anda, anda boleh menulis kod tanpa pelayan untu
## Akaun Storan Azure
![Logo Storan Azure](../../../../../translated_images/ms/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.png)
![Logo Storan Azure](../../../../../translated_images/ms/azure-storage-logo.605c0f602c640d48.webp)
Akaun Storan Azure adalah perkhidmatan storan serba guna yang boleh menyimpan data dalam pelbagai cara. Anda boleh menyimpan data sebagai blob, dalam barisan, dalam jadual, atau sebagai fail, dan semuanya pada masa yang sama.

@ -1,6 +1,6 @@
# Visualisasi data lokasi
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.jpg)
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-13.a259db1485021be7.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik imej untuk versi yang lebih besar.
@ -64,11 +64,11 @@ Mengambil contoh mudah - dalam projek ladang anda sebelum ini, anda menangkap ba
Sebagai manusia, memahami data ini boleh menjadi sukar. Ia adalah dinding nombor tanpa makna. Sebagai langkah pertama untuk memvisualisasikan data ini, ia boleh diplotkan pada carta garis:
![Carta garis data di atas](../../../../../translated_images/ms/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.png)
![Carta garis data di atas](../../../../../translated_images/ms/chart-soil-moisture.fd6d9d0cdc0b5f75.webp)
Ini boleh dipertingkatkan lagi dengan menambah garis untuk menunjukkan bila sistem penyiraman automatik dihidupkan pada bacaan kelembapan tanah 450:
![Carta garis kelembapan tanah dengan garis pada 450](../../../../../translated_images/ms/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.png)
![Carta garis kelembapan tanah dengan garis pada 450](../../../../../translated_images/ms/chart-soil-moisture-relay.fbb391236d34a64d.webp)
Carta ini menunjukkan dengan cepat bukan sahaja tahap kelembapan tanah tetapi juga titik di mana sistem penyiraman dihidupkan.
@ -84,7 +84,7 @@ Apabila bekerja dengan data GPS, visualisasi yang paling jelas adalah memplot da
Bekerja dengan peta adalah satu latihan yang menarik, dan terdapat banyak pilihan seperti Bing Maps, Leaflet, Open Street Maps, dan Google Maps. Dalam pelajaran ini, anda akan belajar tentang [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) dan cara ia boleh memaparkan data GPS anda.
![Logo Azure Maps](../../../../../translated_images/ms/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.png)
![Logo Azure Maps](../../../../../translated_images/ms/azure-maps-logo.35d01dcfbd81fe61.webp)
Azure Maps adalah "koleksi perkhidmatan geospatial dan SDK yang menggunakan data peta terkini untuk memberikan konteks geografi kepada aplikasi web dan mudah alih." Pembangun disediakan dengan alat untuk mencipta peta interaktif yang cantik yang boleh melakukan perkara seperti memberikan laluan trafik yang disyorkan, memberikan maklumat tentang insiden trafik, navigasi dalaman, keupayaan carian, maklumat ketinggian, perkhidmatan cuaca, dan banyak lagi.
@ -185,7 +185,7 @@ Sekarang anda boleh mengambil langkah seterusnya iaitu memaparkan peta anda di l
Jika anda membuka halaman `index.html` anda dalam pelayar web, anda sepatutnya melihat peta dimuatkan, dan difokuskan pada kawasan Seattle.
![Peta menunjukkan Seattle, sebuah bandar di Negeri Washington, AS](../../../../../translated_images/ms/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.png)
![Peta menunjukkan Seattle, sebuah bandar di Negeri Washington, AS](../../../../../translated_images/ms/map-image.8fb2c53eb23ef39c.webp)
✅ Cuba bereksperimen dengan parameter zoom dan center untuk mengubah paparan peta anda. Anda boleh menambah koordinat yang berbeza yang sepadan dengan latitud dan longitud data anda untuk memusatkan semula peta.
@ -319,7 +319,7 @@ Jika anda membuat panggilan ke storan anda untuk mendapatkan data, anda mungkin
1. Muatkan halaman HTML dalam pelayar anda. Ia akan memuatkan peta, kemudian memuatkan semua data GPS daripada storan dan memplotkannya pada peta.
![Peta Saint Edward State Park berhampiran Seattle, dengan bulatan menunjukkan laluan di sekitar tepi taman](../../../../../translated_images/ms/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.png)
![Peta Saint Edward State Park berhampiran Seattle, dengan bulatan menunjukkan laluan di sekitar tepi taman](../../../../../translated_images/ms/map-path.896832e72dc696ff.webp)
> 💁 Anda boleh menemui kod ini dalam [kod](../../../../../3-transport/lessons/3-visualize-location-data/code) folder.

@ -1,6 +1,6 @@
# Geopagar
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.jpg)
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-14.63980c5150ae3c15.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik gambar untuk versi yang lebih besar.
@ -35,7 +35,7 @@ Dalam pelajaran ini, kita akan membincangkan:
Geopagar adalah perimeter maya untuk kawasan geografi dunia nyata. Geopagar boleh berbentuk bulatan yang ditentukan sebagai titik dan jejari (contohnya bulatan dengan lebar 100m di sekitar bangunan), atau poligon yang meliputi kawasan seperti zon sekolah, sempadan bandar, atau kampus universiti atau pejabat.
![Beberapa contoh geopagar yang menunjukkan geopagar berbentuk bulatan di sekitar kedai syarikat Microsoft, dan geopagar berbentuk poligon di sekitar kampus barat Microsoft](../../../../../translated_images/ms/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.png)
![Beberapa contoh geopagar yang menunjukkan geopagar berbentuk bulatan di sekitar kedai syarikat Microsoft, dan geopagar berbentuk poligon di sekitar kampus barat Microsoft](../../../../../translated_images/ms/geofence-examples.172fbc534665769f.webp)
> 💁 Anda mungkin telah menggunakan geopagar tanpa menyedarinya. Jika anda pernah menetapkan peringatan menggunakan aplikasi peringatan iOS atau Google Keep berdasarkan lokasi, anda telah menggunakan geopagar. Aplikasi ini akan menetapkan geopagar berdasarkan lokasi yang diberikan dan memberi amaran kepada anda apabila telefon anda memasuki geopagar.
@ -212,7 +212,7 @@ Adalah penting untuk mengetahui jarak ke tepi geopagar, dan menggabungkannya den
Sebagai contoh, bayangkan bacaan GPS menunjukkan kenderaan sedang memandu di sepanjang jalan yang akhirnya bersebelahan dengan geopagar. Jika satu nilai GPS tidak tepat dan meletakkan kenderaan di dalam geopagar, walaupun tiada akses kenderaan, maka ia boleh diabaikan.
![Jejak GPS menunjukkan kenderaan melalui kampus Microsoft di 520, dengan bacaan GPS di sepanjang jalan kecuali satu di kampus, di dalam geopagar](../../../../../translated_images/ms/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.png)
![Jejak GPS menunjukkan kenderaan melalui kampus Microsoft di 520, dengan bacaan GPS di sepanjang jalan kecuali satu di kampus, di dalam geopagar](../../../../../translated_images/ms/geofence-crossing-inaccurate-gps.6a3ed911202ad9ca.webp)
Dalam gambar di atas, terdapat geofence yang meliputi sebahagian daripada kampus Microsoft. Garis merah menunjukkan sebuah trak yang memandu di sepanjang 520, dengan bulatan menunjukkan bacaan GPS. Kebanyakan bacaan ini adalah tepat dan berada di sepanjang 520, tetapi terdapat satu bacaan yang tidak tepat di dalam geofence. Bacaan ini tidak mungkin betul - tiada jalan untuk trak tiba-tiba menyimpang dari 520 ke dalam kampus, kemudian kembali ke 520. Kod yang memeriksa geofence ini perlu mengambil kira bacaan sebelumnya sebelum bertindak berdasarkan hasil ujian geofence.
✅ Apakah data tambahan yang anda perlukan untuk memeriksa sama ada bacaan GPS boleh dianggap betul?
@ -284,7 +284,7 @@ Seperti yang anda ingat daripada pelajaran sebelumnya, IoT Hub membolehkan anda
Jawapannya adalah ia tidak boleh! Sebaliknya, anda boleh mentakrifkan beberapa sambungan berasingan untuk membaca acara, dan setiap satu boleh menguruskan pemutaran semula mesej yang belum dibaca. Ini dipanggil *kumpulan pengguna*. Apabila anda menyambung ke titik akhir, anda boleh menentukan kumpulan pengguna mana yang anda mahu sambungkan. Setiap komponen aplikasi anda akan menyambung ke kumpulan pengguna yang berbeza.
![Satu IoT Hub dengan 3 kumpulan pengguna mengedarkan mesej yang sama kepada 3 aplikasi fungsi yang berbeza](../../../../../translated_images/ms/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.png)
![Satu IoT Hub dengan 3 kumpulan pengguna mengedarkan mesej yang sama kepada 3 aplikasi fungsi yang berbeza](../../../../../translated_images/ms/consumer-groups.a3262e26fc27ba20.webp)
Secara teori, sehingga 5 aplikasi boleh menyambung ke setiap kumpulan pengguna, dan semuanya akan menerima mesej apabila ia tiba. Amalan terbaik adalah hanya satu aplikasi mengakses setiap kumpulan pengguna untuk mengelakkan pemprosesan mesej yang berulang, dan memastikan apabila dimulakan semula semua mesej yang beratur diproses dengan betul. Sebagai contoh, jika anda melancarkan aplikasi Functions anda secara tempatan serta menjalankannya di awan, kedua-duanya akan memproses mesej, menyebabkan blob pendua disimpan dalam akaun storan.

@ -1,6 +1,6 @@
# Latih Pengesan Kualiti Buah
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.jpg)
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-15.843d21afdc6fb2bb.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik imej untuk versi yang lebih besar.
@ -38,7 +38,7 @@ Tidak semua tanaman masak secara seragam. Sebagai contoh, tomato masih boleh mem
Kebangkitan penuaian automatik memindahkan proses penyusunan hasil tanaman dari ladang ke kilang. Makanan akan bergerak di atas tali sawat panjang dengan pasukan pekerja yang memilih hasil tanaman yang tidak memenuhi standard kualiti yang diperlukan. Penuaian menjadi lebih murah berkat mesin, tetapi masih ada kos untuk menyusun makanan secara manual.
![Jika tomato merah dikesan, ia terus bergerak tanpa gangguan. Jika tomato hijau dikesan, ia akan ditolak ke dalam tong sampah oleh tuas](../../../../../translated_images/ms/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.png)
![Jika tomato merah dikesan, ia terus bergerak tanpa gangguan. Jika tomato hijau dikesan, ia akan ditolak ke dalam tong sampah oleh tuas](../../../../../translated_images/ms/optical-tomato-sorting.61aa134bdda4e5b1.webp)
Evolusi seterusnya adalah menggunakan mesin untuk menyusun, sama ada dibina ke dalam mesin penuaian, atau di kilang pemprosesan. Generasi pertama mesin ini menggunakan sensor optik untuk mengesan warna, mengawal penggerak untuk menolak tomato hijau ke dalam tong sampah menggunakan tuas atau hembusan udara, meninggalkan tomato merah untuk terus bergerak di atas rangkaian tali sawat.
@ -62,7 +62,7 @@ Sebagai contoh, anda boleh memberikan model berjuta-juta gambar pisang yang belu
> 🎓 Hasil daripada model ML dipanggil *ramalan*
![2 pisang, satu masak dengan ramalan 99.7% masak, 0.3% belum masak, dan satu belum masak dengan ramalan 1.4% masak, 98.6% belum masak](../../../../../translated_images/ms/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.png)
![2 pisang, satu masak dengan ramalan 99.7% masak, 0.3% belum masak, dan satu belum masak dengan ramalan 1.4% masak, 98.6% belum masak](../../../../../translated_images/ms/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50e.webp)
Model ML tidak memberikan jawapan binari, sebaliknya ia memberikan kebarangkalian. Sebagai contoh, model mungkin diberikan gambar pisang dan meramalkan `masak` pada 99.7% dan `belum masak` pada 0.3%. Kod anda kemudian akan memilih ramalan terbaik dan memutuskan pisang itu masak.
@ -90,7 +90,7 @@ Terdapat pelbagai alat yang boleh membantu anda melakukan ini, termasuk perkhidm
Custom Vision adalah alat berasaskan awan untuk melatih pengelasan imej. Ia membolehkan anda melatih pengelasan menggunakan hanya sejumlah kecil imej. Anda boleh memuat naik imej melalui portal web, API web atau SDK, memberikan setiap imej *tag* yang mempunyai klasifikasi imej tersebut. Anda kemudian melatih model, dan mengujinya untuk melihat sejauh mana ia berfungsi. Setelah anda berpuas hati dengan model tersebut, anda boleh menerbitkan versi yang boleh diakses melalui API web atau SDK.
![Logo Azure Custom Vision](../../../../../translated_images/ms/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.png)
![Logo Azure Custom Vision](../../../../../translated_images/ms/custom-vision-logo.d3d4e7c8a87ec9da.webp)
> 💁 Anda boleh melatih model Custom Vision dengan hanya 5 imej setiap klasifikasi, tetapi lebih banyak adalah lebih baik. Anda boleh mendapatkan hasil yang lebih baik dengan sekurang-kurangnya 30 imej.
@ -146,7 +146,7 @@ Untuk menggunakan Custom Vision, anda perlu mencipta dua sumber cognitive servic
Semasa mencipta projek anda, pastikan untuk menggunakan sumber `fruit-quality-detector-training` yang anda cipta sebelum ini. Gunakan jenis projek *Classification*, jenis klasifikasi *Multiclass*, dan domain *Food*.
![Tetapan untuk projek Custom Vision dengan nama ditetapkan kepada fruit-quality-detector, tiada deskripsi, sumber ditetapkan kepada fruit-quality-detector-training, jenis projek ditetapkan kepada classification, jenis klasifikasi ditetapkan kepada multi class dan domain ditetapkan kepada food](../../../../../translated_images/ms/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.png)
![Tetapan untuk projek Custom Vision dengan nama ditetapkan kepada fruit-quality-detector, tiada deskripsi, sumber ditetapkan kepada fruit-quality-detector-training, jenis projek ditetapkan kepada classification, jenis klasifikasi ditetapkan kepada multi class dan domain ditetapkan kepada food](../../../../../translated_images/ms/custom-vision-create-project.cf46325b92d8b131.webp)
✅ Luangkan masa untuk meneroka UI Custom Vision untuk pengelasan imej anda.
@ -164,7 +164,7 @@ Pengklasifikasi imej beroperasi pada resolusi yang sangat rendah. Sebagai contoh
* Gunakan 2 pisang masak, ambil beberapa gambar setiap satu dari pelbagai sudut, sekurang-kurangnya 7 gambar (5 untuk latihan, 2 untuk ujian), tetapi lebih banyak adalah lebih baik.
![Gambar 2 pisang yang berbeza](../../../../../translated_images/ms/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.png)
![Gambar 2 pisang yang berbeza](../../../../../translated_images/ms/banana-training-images.530eb203346d73bc.webp)
* Ulangi proses yang sama menggunakan 2 pisang tidak masak.
@ -174,7 +174,7 @@ Pengklasifikasi imej beroperasi pada resolusi yang sangat rendah. Sebagai contoh
1. Ikuti bahagian [muat naik dan tag gambar dalam panduan pantas bina pengklasifikasi di dokumen Microsoft](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#upload-and-tag-images) untuk memuat naik gambar latihan anda. Tag buah masak sebagai `ripe`, dan buah tidak masak sebagai `unripe`.
![Dialog muat naik menunjukkan muat naik gambar pisang masak dan tidak masak](../../../../../translated_images/ms/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.png)
![Dialog muat naik menunjukkan muat naik gambar pisang masak dan tidak masak](../../../../../translated_images/ms/image-upload-bananas.0751639f3815e0ec.webp)
1. Ikuti bahagian [latih pengklasifikasi dalam panduan pantas bina pengklasifikasi di dokumen Microsoft](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#train-the-classifier) untuk melatih pengklasifikasi imej menggunakan gambar yang telah dimuat naik.
@ -192,7 +192,7 @@ Setelah pengklasifikasi anda dilatih, anda boleh mengujinya dengan memberikan im
1. Ikuti bahagian [uji model anda dalam dokumentasi Microsoft](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/test-your-model?WT.mc_id=academic-17441-jabenn#test-your-model) untuk menguji pengklasifikasi imej anda. Gunakan gambar ujian yang anda cipta sebelum ini, bukan mana-mana gambar yang digunakan untuk latihan.
![Pisang tidak masak diramalkan sebagai tidak masak dengan kebarangkalian 98.9%, masak dengan kebarangkalian 1.1%](../../../../../translated_images/ms/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.png)
![Pisang tidak masak diramalkan sebagai tidak masak dengan kebarangkalian 98.9%, masak dengan kebarangkalian 1.1%](../../../../../translated_images/ms/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64.webp)
1. Cuba semua gambar ujian yang anda ada dan perhatikan kebarangkalian yang diberikan.

@ -1,6 +1,6 @@
# Periksa Kualiti Buah Menggunakan Peranti IoT
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.jpg)
![Gambaran sketchnote untuk pelajaran ini](../../../../../translated_images/ms/lesson-16.215daf18b00631fb.webp)
> Sketchnote oleh [Nitya Narasimhan](https://github.com/nitya). Klik imej untuk versi yang lebih besar.
@ -26,7 +26,7 @@ Dalam pelajaran ini, kita akan membincangkan:
Sensor kamera, seperti namanya, adalah kamera yang boleh disambungkan ke peranti IoT anda. Ia boleh mengambil imej pegun atau menangkap video secara langsung. Sesetengahnya akan mengembalikan data imej mentah, manakala yang lain akan memampatkan data imej ke dalam fail imej seperti JPEG atau PNG. Biasanya, kamera yang berfungsi dengan peranti IoT adalah lebih kecil dan mempunyai resolusi lebih rendah daripada yang biasa anda gunakan, tetapi anda boleh mendapatkan kamera resolusi tinggi yang setanding dengan telefon pintar kelas atas. Anda juga boleh mendapatkan pelbagai jenis lensa boleh tukar, tetapan kamera berganda, kamera termal infra-merah, atau kamera UV.
![Cahaya dari pemandangan melalui lensa dan difokuskan pada sensor CMOS](../../../../../translated_images/ms/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.png)
![Cahaya dari pemandangan melalui lensa dan difokuskan pada sensor CMOS](../../../../../translated_images/ms/cmos-sensor.75f9cd74decb1371.webp)
Kebanyakan sensor kamera menggunakan sensor imej di mana setiap piksel adalah fotodiod. Lensa memfokuskan imej ke sensor imej, dan ribuan atau jutaan fotodiod mengesan cahaya yang jatuh pada setiap satu dan merekodkannya sebagai data piksel.
@ -74,7 +74,7 @@ Iterasi diterbitkan dari portal Custom Vision.
1. Pilih butang **Publish** untuk iterasi tersebut.
![Butang publish](../../../../../translated_images/ms/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.png)
![Butang publish](../../../../../translated_images/ms/custom-vision-publish-button.b7174e1977b0c33b.webp)
1. Dalam dialog *Publish Model*, tetapkan *Prediction resource* kepada sumber `fruit-quality-detector-prediction` yang anda buat dalam pelajaran sebelum ini. Biarkan nama sebagai `Iteration2`, dan pilih butang **Publish**.
@ -88,7 +88,7 @@ Iterasi diterbitkan dari portal Custom Vision.
Juga salin nilai *Prediction-Key*. Ini adalah kunci selamat yang perlu anda sertakan semasa memanggil model. Hanya aplikasi yang menyertakan kunci ini dibenarkan menggunakan model, aplikasi lain akan ditolak.
![Dialog API ramalan menunjukkan URL dan kunci](../../../../../translated_images/ms/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png)
![Dialog API ramalan menunjukkan URL dan kunci](../../../../../translated_images/ms/custom-vision-prediction-key-endpoint.30c569ffd0338864.webp)
✅ Apabila iterasi baru diterbitkan, ia akan mempunyai nama yang berbeza. Bagaimana anda fikir anda akan menukar iterasi yang digunakan oleh peranti IoT?
@ -109,7 +109,7 @@ Anda mungkin mendapati bahawa hasil yang anda peroleh semasa menggunakan kamera
Untuk mendapatkan hasil terbaik untuk pengklasifikasi imej, anda ingin melatih model dengan imej yang serupa dengan imej yang digunakan untuk ramalan sebanyak mungkin. Jika anda menggunakan kamera telefon anda untuk menangkap imej untuk latihan, contohnya, kualiti imej, ketajaman, dan warna akan berbeza dengan kamera yang disambungkan ke peranti IoT.
![2 gambar pisang, satu resolusi rendah dengan pencahayaan buruk dari peranti IoT, dan satu resolusi tinggi dengan pencahayaan baik dari telefon](../../../../../translated_images/ms/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.png)
![2 gambar pisang, satu resolusi rendah dengan pencahayaan buruk dari peranti IoT, dan satu resolusi tinggi dengan pencahayaan baik dari telefon](../../../../../translated_images/ms/banana-picture-compare.174df164dc326a42.webp)
Dalam gambar di atas, gambar pisang di sebelah kiri diambil menggunakan Kamera Raspberry Pi, manakala yang di sebelah kanan diambil dari pisang yang sama di lokasi yang sama menggunakan iPhone. Terdapat perbezaan kualiti yang ketara - gambar iPhone lebih tajam, dengan warna yang lebih terang dan kontras yang lebih tinggi.

@ -16,7 +16,7 @@ Kamera boleh disambungkan ke Raspberry Pi menggunakan kabel reben.
### Tugas - sambungkan kamera
![Kamera Raspberry Pi](../../../../../translated_images/ms/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.png)
![Kamera Raspberry Pi](../../../../../translated_images/ms/pi-camera-module.4278753c31bd6e75.webp)
1. Matikan kuasa Pi.
@ -24,17 +24,17 @@ Kamera boleh disambungkan ke Raspberry Pi menggunakan kabel reben.
Anda boleh melihat animasi yang menunjukkan cara membuka klip dan memasukkan kabel pada [dokumentasi Raspberry Pi Getting Started with the Camera module](https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2).
![Kabel reben dimasukkan ke dalam modul kamera](../../../../../translated_images/ms/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.png)
![Kabel reben dimasukkan ke dalam modul kamera](../../../../../translated_images/ms/pi-camera-ribbon-cable.0bf82acd251611c2.webp)
1. Tanggalkan Grove Base Hat dari Pi.
1. Lalukan kabel reben melalui slot kamera di Grove Base Hat. Pastikan bahagian biru kabel menghadap ke arah port analog yang dilabelkan **A0**, **A1** dan sebagainya.
![Kabel reben melalui Grove Base Hat](../../../../../translated_images/ms/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.png)
![Kabel reben melalui Grove Base Hat](../../../../../translated_images/ms/grove-base-hat-ribbon-cable.501fed202fcf73b1.webp)
1. Masukkan kabel reben ke dalam port kamera pada Pi. Sekali lagi, tarik klip plastik hitam ke atas, masukkan kabel, kemudian tolak klip kembali ke tempatnya. Bahagian biru kabel harus menghadap ke port USB dan ethernet.
![Kabel reben disambungkan ke soket kamera pada Pi](../../../../../translated_images/ms/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.png)
![Kabel reben disambungkan ke soket kamera pada Pi](../../../../../translated_images/ms/pi-camera-socket-ribbon-cable.a18309920b118009.webp)
1. Pasang semula Grove Base Hat.
@ -101,7 +101,7 @@ Programkan peranti.
Baris `camera.rotation = 0` menetapkan putaran imej. Kabel reben masuk ke bahagian bawah kamera, tetapi jika kamera anda diputar untuk memudahkannya mengarah ke item yang ingin anda klasifikasikan, maka anda boleh menukar baris ini kepada bilangan darjah putaran.
![Kamera tergantung di atas tin minuman](../../../../../translated_images/ms/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.png)
![Kamera tergantung di atas tin minuman](../../../../../translated_images/ms/pi-camera-upside-down.5376961ba3145988.webp)
Sebagai contoh, jika anda menggantung kabel reben di atas sesuatu supaya ia berada di bahagian atas kamera, maka tetapkan putaran kepada 180:

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save