Jawaban dari ChatGPT: karena Arduino IoT Cloud menawarkan antarmuka pengguna yang ramah pengguna dan mudah digunakan, terutama bagi pemula dalam dunia IoT.
Jawaban saya: karena ada paket gratis yang saya suka 😁😁😁.
Langsung saja, mari kita gunakan Arduino IoT Cloud dan Wokwi.
Ada 5 Sub-Topik yang akan saya buat di bagian ini, yaitu:
Gambar 1.1 Rangkaian ESP32 dengan Slide Switch (GPIO.26) dan LED (GPIO.25)
Catatan: Bagian yang di dalam kotak oranye adalah kode ID dan Secret Key Device yang bersifat unik. Ganti kode tersebut dengan kode ID dan Secret Key yang rekan-rekan dapatkan ketika menambahkan Device pada Thing di Arduino IoT Cloud. Sedangkan bagian di dalam kotak hijau adalah nama variabel Cloud yang ditambahkan pada Thing di Arduino IoT Cloud. Rekan-rekan dapat mengganti nama variabel tersebut, sesuaikan dengan nama variabel Cloud yang rekan-rekan buat.
2. Pertama klik link berikut ini: https://cloud.arduino.cc untuk membuka halaman Arduino Cloud, kemudian ikuti langkah-langkah pembuatan sesuai gambar berikut ini.
Gambar 1.3 Create account apabila belum memiliki akun, apabila sudah klik Sign in
Gambar 1.4 Isi nama akun/email dan password, klik Sign In
Gambar 1.5 Klik Home, klik Create New, pilih Thing
Gambar 1.6 Di halaman Thing, klik Add
Gambar 1.7 Di jendela Add variable, isi Name: button, pilih Type: boolean, isi Variable Permission: Read & Write, isi Variable Update Policy: On change, klik Add variable
Gambar 1.8 Klik lagi tombol Add, di jendela Add variable, isi Name: led, pilih Type: boolean, isi Variable Permission: Read Only, isi Variable Update Policy: On change, klik Add variable
Gambar 1.9 Terlihat ada 2 variabel di Thing, yaitu button dan led, berikutnya klik Select Device
Gambar 1.10 Klik Set Up New Device
Gambar 1.11 Pilih Third party device
Gambar 1.12 Klik ESP32, pilih ESP32 Dev Module
Gambar 1.13 Klik Next
Gambar 1.14 Muncul kode ID dan Secret Key Device, kedua kode ini harus diisikan di program Wokwi, agar kode ini tidak hilang, klik Download PDF, beri centang pada opsi I saved ..., klik Continue
Gambar 1.15 Setup Device telah selesai, klik Done
Gambar 1.16 Muncul halaman Thing, terlihat muncul nama dan ID Device, hanya statusnya masih Offline, agar bisa Online, Device perlu diprogram, program untuk Device ini ada di Tab Sketch
Gambar 1.17 Buka Tab Sketch, program di Wokwi menggunakan program yang ada di Tab Sketch ini, pastikan variabel yang digunakan di Wokwi sama dengan variabel di Tab Sketch ini, setelah itu klik tombol menu di pojok kiri atas
Gambar 1.18 Di daftar menu, klik Dashboards, klik Create Dashboard
Gambar 1.19 Di halaman Dashboard, klik tombol Edit (bergambar pensil), klik Add, klik Tab Things, klik Untitled
Gambar 1.20 Muncul daftar variabel Thing, klik Create Widgets
Gambar 1.21 Muncul 2 widget, yaitu widget Switch untuk variabel button dan widget Status untuk variabel led
Gambar 1.22 Diinginkan ada widget LED untuk variabel led, untuk itu klik Add, klik tab Widgets, pilih widget LED
Gambar 1.23 Di jendela Widget Settings untuk LED, klik Link Variable
Gambar 1.24 Di halaman Link Variable to LED, pilih led, klik Link Variable
Gambar 1.25 Setelah widget LED terhubung dengan variabel led, klik Done
Gambar 1.26 Terlihat widget LED muncul di halaman Dashboard, berikutnya klik tombol View (bergambar mata)
Gambar 1.27 Buka program Wokwi sesuai link di atas, ganti kode Device ID dan kode Secret Key pada program Wokwi mengikuti isi file PDF yang sudah diunduh sebelumnya
Gambar 1.28 Tekan tombol Run di Wokwi, tunggu hingga muncul tulisan "Connected to Arduino IoT Cloud" di kotak Serial Monitor, apabila tulisan tersebut muncul, maka Device di Wokwi sudah terhubung dengan Arduino IoT Cloud, alias sudah "Online"
Gambar 1.29 Geser Switch di Dashboard Arduino IoT Cloud menjadi ON, seharusnya LED di ESP32 di Wokwi menyala, dan padam apabila sebaliknya
Gambar 1.30 Geser Slide Switch di Wokwi ke kanan, seharusnya widget Status dan LED di Dashboard Arduino IoT Cloud menjadi ON, dan menjadi OFF apabila sebaliknya
Agar lebih jelas, berikut ini video singkat langkah-langkah pembuatan di atas.
Video koneksi Switch dan LED di Wokwi dengan Switch dan LED di Arduino IoT Cloud
Gambar 2.1 Rangkaian ESP32 dengan RGB LED dan OLED Display
Catatan: Bagian yang di dalam kotak oranye adalah kode ID dan Secret Key Device yang bersifat unik. Ganti kode tersebut dengan kode ID dan Secret Key yang rekan-rekan dapatkan ketika menambahkan Device pada Thing di Arduino IoT Cloud.
2. Pertama klik link berikut ini: https://cloud.arduino.cc untuk membuka halaman Arduino Cloud, kemudian ikuti langkah-langkah pembuatan sesuai gambar berikut ini.
Gambar 2.3 Create account apabila belum memiliki akun, apabila sudah klik Sign in
Gambar 2.4 Isi nama akun/email dan password, klik Sign In
Gambar 2.5 Klik Home, klik Create New, pilih Thing
Gambar 2.6 Di halaman Thing, klik Add
Gambar 2.7 Di jendela Add variable, isi Name: rgb, pilih Color (Light and color), pilih Variable Permission: Read & Write dan Variable Update Policy: On Change, klik Add Variable
Gambar 2.8 Muncul variable rgb di halaman Thing, klik pada Select Device
Gambar 2.9 Klik Set Up New Device
Gambar 2.10 Pilih Third party device
Gambar 2.11 Klik ESP32, pilih ESP32 Dev Module
Gambar 2.12 Klik Next
Gambar 2.13 Muncul kode ID dan Secret Key Device, kedua kode ini harus diisikan di program Wokwi, agar kode ini tidak hilang, klik Download PDF, beri centang pada opsi I saved ..., klik Continue
Gambar 2.14 Setup Device telah selesai, klik Done
Gambar 2.15 Muncul halaman Thing, terlihat muncul nama dan ID Device, hanya statusnya masih Offline, agar bisa Online, Device perlu diprogram, program untuk Device ini ada di Tab Sketch
Gambar 2.16 Buka Tab Sketch, program di Wokwi menggunakan program yang ada di Tab Sketch ini, pastikan variabel yang digunakan di Wokwi sama dengan variabel di Tab Sketch ini, setelah itu klik tombol menu di pojok kiri atas
Gambar 2.17 Di daftar menu, klik Dashboards, klik Create Dashboard
Gambar 2.18 Di halaman Dashboard, klik tombol Edit (bergambar pensil), klik Add, klik Tab Things, klik Untitled
Gambar 2.19 Muncul daftar variabel Thing, klik Create Widgets
Gambar 2.20 Maka di halaman Dashboard akan muncul widget Color
Gambar 2.21 Buka program Wokwi sesuai link di atas, ganti kode Device ID dan kode Secret Key pada program Wokwi mengikuti isi file PDF yang sudah diunduh sebelumnya
Gambar 2.22 Jalankan simulasi Wokwi, tunggu hingga muncul tulisan Connected to Arduino IoT Cloud, setelah muncul, geser slider widget Color, perhatikan bahwa warna pada kotak Color sama dengan warna LED RGB di Wokwi
Gambar 2.23 Ketika warna widget Color di Arduino IoT Cloud dibuat kuning, LED RGB di Wokwi juga berwarna kuning
Gambar 2.24 Ketika warna widget Color di Arduino IoT Cloud dibuat hijau, LED RGB di Wokwi juga berwarna hijau
Gambar 2.25 Ketika warna widget Color di Arduino IoT Cloud dibuat biru, LED RGB di Wokwi juga berwarna biru
Gambar 2.26 Ketika warna widget Color di Arduino IoT Cloud dibuat ungu, LED RGB di Wokwi juga berwarna ungu
Gambar 2.27 Ketika warna widget Color di Arduino IoT Cloud dibuat merah muda, LED RGB di Wokwi juga berwarna merah muda
Agar lebih jelas, berikut ini video singkat langkah-langkah pembuatan di atas.
Video koneksi widget Color di Arduino IoT Cloud dengan LED RGB dan OLED di Wokwi
Gambar 3.1 Rangkaian ESP32 dengan 5 buah Relay dan sebuah OLED display, ganti kode ID Device dan Secret Key, sesuaikan dengan ID dan Secret Key yang diperoleh dari Device yang baru
Catatan: Bagian yang di dalam kotak oranye adalah kode ID dan Secret Key Device yang bersifat unik. Ganti kode tersebut dengan kode ID dan Secret Key yang rekan-rekan dapatkan ketika menambahkan Device pada Thing di Arduino IoT Cloud.
2. Pertama klik link berikut ini: https://cloud.arduino.cc untuk membuka halaman Arduino Cloud, kemudian ikuti langkah-langkah pembuatan sesuai gambar berikut ini.
Gambar 3.3 Create account apabila belum memiliki akun, apabila sudah klik Sign in
Gambar 3.4 Isi nama akun/email dan password, klik Sign In
Gambar 3.5 Klik Home, klik Create New, pilih Thing
Gambar 3.6 Di halaman Thing, klik Add
Gambar 3.7 Di jendela Add variable, isi Name: jadwal1, pilih tipe Schedule (kategori Time), dan biarkan Variable Permission: Read & Write, Variable Update: On Change, klik Add Variable
Gambar 3.8 Ulangi langkah di atas hingga ada 5 CloudSchedule dengan nama berturut-turut: jadwal1, jadwal2, jadwal3, jadwal4 dan jadwal5, setelah itu, klik tombol Select Device
Gambar 3.9 Klik Set Up New Device
Gambar 3.10 Pilih Third party device
Gambar 3.11 Klik ESP32, pilih ESP32 Dev Module
Gambar 3.12 Klik Next
Gambar 3.13 Muncul kode ID dan Secret Key Device, kedua kode ini harus diisikan di program Wokwi, agar kode ini tidak hilang, klik Download PDF, beri centang pada opsi I saved ..., klik Continue
Gambar 3.14 Setup Device telah selesai, klik Done
Gambar 3.15 Muncul halaman Thing, terlihat muncul nama dan ID Device, hanya statusnya masih Offline, agar bisa Online, Device perlu diprogram, program untuk Device ini ada di Tab Sketch
Gambar 3.16 Buka Tab Sketch, program di Wokwi menggunakan program yang ada di Tab Sketch ini, pastikan variabel yang digunakan di Wokwi sama dengan variabel di Tab Sketch ini, setelah itu klik tombol menu di pojok kiri atas
Gambar 3.17 Di daftar menu, klik Dashboards, klik Create Dashboard
Gambar 3.18 Di halaman Dashboard, klik tombol Edit (bergambar pensil), klik Add, klik Tab Things, klik Untitled
Gambar 3.19 Setelah daftar variabel di Thing Untitled terbuka, klik tombol Create Widgets
Gambar 3.20 Maka muncul 5 widget Scheduler di halaman Dashboard, agar semua widget bisa terlihat, perkecil ukuran dan posisi widget menggunakan tool Arrange widgets
Gambar 3.21 Klik pada Widget, gerakkan pojok sudut widget ke dalam sehingga mengecil, posisikan sehingga kelima widget terlihat pada layar, klik Done
Gambar 3.22 Klik tombol View (bergambar mata) untuk menjalankan Dashboard
Gambar 3.23 Klik widget, isi Starting On, Duration dan Repeat every untuk penjadwalan
Gambar 3.24 Atur penjadwalan untuk semua widget
Gambar 3.25 Ganti kode ID dan Secret Key Device dengan kode ID dan Secret Key Device yang baru
Gambar 3.26 Jalankan Wokwi, tunggu hingga muncul tulisan "Connected to Arduino IoT Cloud"
Gambar 3.27 Kondisi Relay yang sedang ON dan OFF ditampilkan di OLED
Gambar 3.28 Tampak LED Relay 1 menyala hijau, dan waktu nyala telah berjalan 4 detik
Agar lebih jelas, berikut ini video singkat langkah-langkah pembuatan di atas.
Video pembuatan Scheduler 5 buah Relay di Arduino IoT Cloud dengan simulasi Wokwi
Gambar 4.1 Rangkaian ESP32 dengan sebuah OLED display dan 18 buah Relay, yang terdiri dari 6 buah Relay dapat dikontrol secara terjadwal dan 12 buah Relay dapat dikontrol on/off
Catatan: Bagian yang di dalam kotak oranye adalah kode ID dan Secret Key Device yang bersifat unik. Ganti kode tersebut dengan kode ID dan Secret Key yang rekan-rekan dapatkan ketika menambahkan Device pada Thing di Arduino IoT Cloud.
2. Pertama klik link berikut ini: https://cloud.arduino.cc untuk membuka halaman Arduino Cloud, kemudian ikuti langkah-langkah pembuatan sesuai gambar berikut ini.
Gambar 4.2 Buka halaman https://cloud.arduino.cc
Gambar 4.3 Create account apabila belum memiliki akun, apabila sudah klik Sign in
Gambar 4.4 Isi nama akun/email dan password, klik Sign In
Gambar 4.5 Klik Home, klik Create New, pilih Thing
Gambar 4.6 Di halaman Thing, klik Add
Gambar 4.7 Isi Name: control, pilih Type: boolean, Read & Write, On Change, Add Variable
Gambar 4.8 Isi Name: set, pilih Type: boolean, Read & Write, On Change, Add Variable
Gambar 4.9 Isi Name: select_1, pilih Type: integer, Read & Write, On Change, Add Variable
Gambar 4.10 Isi Name: select_2, pilih Type: integer, Read & Write, On Change, Add Variable
Gambar 4.11 Isi Name: schedule, pilih Type: CloudSchedule (di kategori Time), Read & Write, On Change, Add Variable
Gambar 4.12 Seharusnya muncul 5 buah variabel Cloud seperti gambar di atas, klik Select Device untuk menghubungkan kelima variabel tersebut dengan Device ESP32
Gambar 4.13 Klik Set Up New Device
Gambar 4.14 Pilih Third party device
Gambar 4.15 Klik ESP32, pilih ESP32 Dev Module
Gambar 4.16 Klik Next
Gambar 4.17 Muncul kode ID dan Secret Key Device, kedua kode ini harus diisikan di program Wokwi, agar kode ini tidak hilang, klik Download PDF, beri centang pada opsi I saved ..., klik Continue
Gambar 4.18 Setup Device telah selesai, klik Done
Gambar 4.19 Agar status Thing bisa Online, program ESP32 dengan program di Tab Sketch
Gambar 4.20 Buka Tab Sketch, program di Wokwi menggunakan program yang ada di Tab Sketch ini, pastikan variabel yang digunakan di Wokwi sama dengan variabel di Tab Sketch ini, setelah itu klik tombol menu di pojok kiri atas
Gambar 4.21 Di daftar menu, klik Dashboards, klik Create Dashboard
Gambar 4.23 Pilih widget Value Selector untuk variabel select_1 dan select_2, widget Switch untuk variabel control dan widget Push Button untuk variabel set, klik Create Widgets
Gambar 4.24 Di halaman Dashboard, terlihat muncul 2 widget Value Selector, 1 widget Scheduler, 1 widget Switch dan 1 widget Push Button. Buat agar Value Selector 1 berisi 6 pilihan, yaitu: R1, R2, R3, R4, R5, R6, untuk itu klik tanda titik 3 kali, pilih Edit settings
Gambar 4.25 Di jendela Value Selector, isi Name: select_1, buat kotak pilihan menjadi 6 kotak, dengan label R1, R2, R3, R4, R5, dan R6, klik Done
Gambar 4.26 Ulangi hal yang sama untuk widget Value Selector kedua, klik pada tanda titik 3x, pilih Edit Settings, di jendela Value Selector, isi Name: select_2, buat kotak pilihan menjadi 12 kotak, dengan label A, B, C, D, E, F, G, H, I, J, K, dan L, kemudian klik Done
Gambar 4.27 Di halaman Dashboard, di mode Edit (tombol gambar pensil dipilih), klik tombol Arrange widgets, perkecil ukuran semua widget, kemudian posisikan seperti gambar di atas
Gambar 4.28 Berikutnya, buka program Wokwi, ganti kode ID dan Secret Key di program Wokwi dengan ID dan Secret Key dari Device yang baru saja ditambahkan (ada di file pdf yang diunduh)
Gambar 4.29 Jalankan program Wokwi, dan juga Dashboard Arduino IoT Cloud dengan meng-klik menu View (tombol bergambar mata). Tunggu hingga di Serial Monitor Wokwi muncul tulisan "Connected to Arduino IoT Cloud"
Gambar 4.30 Apabila tulisan "Connected to Arduino IoT Cloud" sudah muncul, langkah berikutnya, kontrol ke-12 relay dengan menekan salah satu dari 12 pilihan diikuti Switch, sebagai contoh, bila diinginkan Relay B ON, maka pilihan B di Value Selector harus dipilih, dan Switch di-ON-kan
Gambar 4.31 Untuk kontrol Relay terjadwal, atur jadwal di widget scheduler, kemudian pilih salah satu dari 6 pilihan Relay, kemudian tekan tombol Push Button untuk mengirimkan seting jadwal tersebut ke Device
Gambar 4.32 Pengaturan waktu mulai, durasi waktu nyala di widget Scheduler
Agar lebih jelas, berikut ini video singkat langkah-langkah pembuatan di atas.
Video pembuatan kontrol 6 buah Relay (terjadwal) dan 12 buah Relay (on/off) di Wokwi dengan widget Scheduler dan Value selector di Arduino IoT Cloud
5. Ketika Internetnya Mati, Gunakan Remote IR sebagai Kontrol Manual
Sub-topik ini saya buat karena ide dari mas @Wadidesembri, yang mengusulkan penambahan Remote IR. Terimakasih mas @Wadidesembri atas inspirasinya. Berikut ini langkah-langkah penambahan Remote IR untuk kontrol 18 Relay di Sub-Topik 4, yang tentunya bermanfaat sekali ketika Internet mati:
Gambar 5.1 Rangkaian yang sama seperti Gambar 4.1, namun dengan penambahan Sensor Penerima IR dan Remote IR
2. Ulangi langkah-langkah di Sub Topik 4 untuk pembuatan Thing dan Dashboard Kontrol 18 Relay di Arduino IoT Cloud (lihat video ini: https://youtu.be/kxnJ2Za2zOk).
3. Setelah pembuatan Thing dan Dashboard di Arduino IoT Cloud selesai, jalankan Wokwi dan Dashboard Arduino IoT Cloud - kode ID dan Secret Key Device tidak perlu diganti dulu, dibuat demikian agar status Device tetap offline. Perhatikan saat status Device masih offline, maka Relay dapat dikontrol dengan Remote IR.
Gambar 5.2 Saat Internet mati, status Device offline, kontrol dapat dilakukan dari Remote
Gambar 5.3 Kontrol 18 Relay dengan Remote
Gambar 5.4 Saat Internet mati, OLED menampikan tulisan "Connection lost....." dan kondisi Relay
4. Berikutnya, ganti kode ID dan Secret Key Device dengan kode ID dan Secret Key dari Device yang ditambahkan. Jalankan Wokwi, maka ketika status Device sudah menjadi online, Relay dapat dikontrol dari Arduino IoT Cloud. Status Device offline di sini men-simulasikan Internet mati, sedangkan status Device online men-simulasikan Internet hidup.
Gambar 5.5 Saat Internet hidup, Relay dikontrol dari Dashboard Arduino IoT Cloud, OLED menampikan waktu sekarang dan kondisi Relay
Untuk lebih jelasnya, silahkan melihat video singkat ini:
Video penggunaan Remote IR untuk kontrol Relay saat Internet mati
Gambar 6.1 Rangkaian yang sama seperti Gambar 4.1, namun dengan penambahan 4 buah Sensor: NTC, LDR, Potensio Putar dan Potensio Geser
2. Pertama klik link berikut ini: https://cloud.arduino.cc untuk membuka halaman Arduino Cloud, kemudian ikuti langkah-langkah pembuatan sesuai gambar berikut ini.
Gambar 6.3 Create account apabila belum memiliki akun, apabila sudah klik Sign in
Gambar 6.4 Isi nama akun/email dan password, klik Sign In
Gambar 6.5 Klik Home, klik Create New, pilih Thing
Gambar 6.6 Di halaman Thing, klik Add, dan satu persatu tambahkan 5 buah variabel sesuai tabel berikut ini
No.
Name
Data Type
Permission
Update
1.
set
Boolean
Read &
Write
On Change
2.
select_1
Integer
Read &
Write
On Change
3.
select_2
Integer
Read &
Write
On Change
4.
schedule
CloudSchedule
Read &
Write
On Change
5.
teks
String
Read &
Write
On Change
Gambar 6.7 Isi Name: set, pilih Type: boolean, Read & Write, On Change, Add Variable
Gambar 6.8 Isi Name: select_1, pilih Type: integer, Read & Write, On Change, Add Variable
Gambar 6.9 Isi Name: select_2, pilih Type: integer, Read & Write, On Change, Add Variable
Gambar 6.10 Isi Name: schedule, pilih Type: CloudSchedule (di kategori Time), Read & Write, On Change, Add Variable
Gambar 6.11 Isi Name: schedule, pilih Type: CloudSchedule (di kategori Time), Read & Write, On Change, Add Variable
Gambar 6.12 Seharusnya muncul 5 buah variabel Cloud seperti gambar di atas, klik Select Device untuk menghubungkan kelima variabel tersebut dengan Device ESP32
Gambar 6.13 Klik Set Up New Device
Gambar 6.14 Pilih Third party device
Gambar 6.15 Klik ESP32, pilih ESP32 Dev Module
Gambar 6.16 Klik Next
Gambar 6.17 Muncul kode ID dan Secret Key Device, kedua kode ini harus diisikan di program Wokwi, agar kode ini tidak hilang, klik Download PDF, beri centang pada opsi I saved ..., klik Continue
Gambar 6.18 Setup Device telah selesai, klik Done
Gambar 6.19 Agar status Thing bisa Online, program ESP32 dengan program di Tab Sketch
Gambar 6.20 Buka Tab Sketch, program di Wokwi menggunakan program yang ada di Tab Sketch ini, pastikan variabel yang digunakan di Wokwi sama dengan variabel di Tab Sketch ini, setelah itu klik tombol menu di pojok kiri atas
Gambar 6.21 Di daftar menu, klik Dashboards, klik Create Dashboard
Gambar 6.23 Pilih widget Messenger untuk variabel teks, widget Value Selector untuk variabel select_1 dan select_2, dan widget Push Button untuk variabel set, klik Create Widgets
Gambar 6.24 Di halaman Dashboard, terlihat muncul 1 widget Messenger, 2 widget Value Selector, 1 widget Push Button dan 1 widget Scheduler. Buat agar Value Selector pertama berisi 6 pilihan, yaitu: R1, R2, R3, R4, R5, R6, untuk itu klik tanda titik 3 kali, pilih Edit settings
Gambar 6.25 Di jendela Value Selector, isi Name: select_1, buat kotak pilihan menjadi 6 kotak, dengan label R1, R2, R3, R4, R5, dan R6, klik Done
Gambar 6.26 Ulangi hal yang sama untuk widget Value Selector kedua, klik pada tanda titik 3x, pilih Edit Settings, di jendela Value Selector, isi Name: select_2, buat kotak pilihan menjadi 12 kotak, dengan label A, B, C, D, E, F, G, H, I, J, K, dan L, kemudian klik Done
Gambar 6.27 Di halaman Dashboard, di mode Edit (tombol gambar pensil dipilih), klik tombol Arrange widgets, perkecil ukuran semua widget, kemudian posisikan seperti gambar di atas
Gambar 6.28 Berikutnya, buka program Wokwi, ganti kode ID dan Secret Key di program Wokwi dengan ID dan Secret Key dari Device yang baru saja ditambahkan (ada di file pdf yang diunduh)
Gambar 6.29 Widget Messenger menampilkan data sensor NTC
Gambar 6.30 Widget Messenger menampilkan data sensor LDR
Gambar 6.31 Widget Messenger menampilkan perubahan potensio putar
Gambar 6.32 Widget Messenger menampilkan perubahan data potensio geser
Gambar 6.33 Widget Scheduler, widget Value Selector (select_1) dan widget Push Button dapat digunakan untuk mengatur jadwal hidup/mati keenam buah Relay (R1 - R6)
Gambar 6.34 Widget Value Selector (select_2) dapat digunakan untuk menghidup/matikan ke-12 Relay (A - L)
Untuk lebih jelasnya, silahkan melihat video singkat ini:
Video kontrol 18 buah Relay dan monitor 4 sensor dengan Wokwi dan Arduino IoT Cloud
2. Ulangi pembuatan Thing dan Dashboard di Arduino IoT Cloud seperti Sub-Topik 6 di atas (lebih jelasnya, lihat video ini: https://youtu.be/EfWexRh3N7w)
3. Buka Google Sheet, install Add-on Webhooks for Sheets. Ikuti langkah-langkah menginstall Webhook sesuai gambar berikut ini.
Gambar 7.2 Di Gmail, klik tombol Google Apps, pilih Sheets
Gambar 7.3. Di Google Sheet, pilih Blank (+)
Gambar 7.4 Pilih menu Extensions, pilih Add-ons, pilih Get add-ons
Gambar 7.5 Pilih add-on Webhooks for Sheets
Gambar 7.6 Klik Install, dan kemudian klik Continue
Gambar 7.7 Pilih akun untuk Sign in
Gambar 7.8 Pilih Allow untuk memberi ijin akses
Gambar 7.9 Muncul info bahwa Webhook telah terinstal, klik Next
Gambar 7.10 Klik Done untuk menutup jendela
4. Setelah instalasi Add-on Webhooks for Sheets selesai, buat link Webhook. Ikut langkah-langkah pembuatannya sesuai gambar berikut ini.
Gambar 7.11 Tampak icon Webhook muncul di Toolbar kanan
Gambar 7.12 Klik icon Webhook, maka muncul langkah-langkah pembuatan link webhook
Gambar 7.13 Klik tulisan Off di Settings Google Apps Script API
Gambar 7.14 Buat tulisan Off menjadi On untuk mengijinkan aplikasi Webhooks for Sheets dijalankan
Gambar 7.15 Klik tombol Refresh, kemudian klik tombol Create
Gambar 7.16 Klik tombol Reload Sheet untuk memunculkan menu Webhook
Gambar 7.17 Pilih menu Webhook, klik pada Authorize
Gambar 7.18 Klik tombol Continue untuk memberikan otorisasi
Gambar 7.19 Pilih akun yang muncul untuk memberikan otorisasi
Gambar 7.20 Klik tombol Allow
Gambar 7.21 Otorisasi sudah berhasil, reload Sheet lagi, kemudian tekan tombol Next
Gambar 7.22 Muncul link webhook, klik 3x pada link tersebut untuk memilih dan kemudian copy
5. Setelah link Webhook berhasil dibuat, isikan link Webhook tersebut di kolom Set Webhook di halaman Thing di Arduino IoT Cloud.
Gambar 7.23 Buka halaman Thing, klik pada tulisan Set webhook
Gambar 7.24 Muncul jendela Set webhook, isikan link webhook di kotak Webhook URL
Gambar 7.25 Setelah terisi link webhook, klik tombol Set Webhook
Gambar 7.26 Muncul tulisan Active, berarti link Webhook telah aktif
6. Jalankan simulasi Wokwi. Jangan lupa untuk mengganti kode ID dan Secret Key Device dengan Device yang baru, yang ditambahkan saat Setup Device. Setelah muncul pesan "Connected to Arduino IoT Cloud", lakukan perubahan nilai keempat sensor, perhatikan di Google Sheet akan muncul nilai keempat sensor tersebut, yang dikirimkan setiap kali terjadi perubahan nilai pada sensor.
Gambar 7.27 Simulasi Wokwi dijalankan, lakukan pengubahan nilai pada keempat sensor dan perhatikan nilai yang muncul di kotak widget Messenger di Dashboard Arduino IoT Cloud
Catatan: Jangan melakukan perubahan nilai variabel yang terlalu cepat dan sering, karena akan membuat Webhook terputus. Usahakan untuk membuat perubahan, dari satu perubahan ke perubahan berikutnya, dengan jeda waktu tidak kurang dari 10 detik. Pengaturan ini tidak hanya berlaku untuk perubahan pada sensor saja, tetapi juga perubahan pada kontrol Relay, karena link Webhook akan membuat setiap perubahan pada kelima variabel Cloud di halaman Thing (termasuk variabel schedule, select_1, select_2, set dan teks), dikirimkan ke Google Sheet.
7. Untuk menghemat kapasitas penyimpanan data, hapus semua data kolom yang muncul di Google Sheet, kecuali 3 kolom dengan nama berikut ini: values_0_name, values_0_value dan values_0_updated_at. Buat ketiga kolom tersebut secara berturut-turut menempati kolom A, kolom B dan kolom G. Kemudian pada cell tertentu di Google Sheet, tempatkan formula sesuai Tabel berikut:
Placement
Formula
Description
Sheet:1, Cell: C2
=arrayformula(if(B2:B="","",split(B2:B,",")))
to separate the values of the
four sensors into 4 columns
to create a time value in
seconds, starting from 0
Sheet:2, Cell: A1
=unique(Sheet1!A:K)
to ensure that the same value
does not appear more than once
Sheet:3, Cell: A1
=query(Sheet2!A:K,"select K,C,D,E,F
where K is not null order by K asc")
to display data sorted by time
and eliminate empty rows, and make columns A to E contain the time value and
the values of the four sensors
8. Karena link Webhook membuat semua variabel Cloud yang ada di halaman Thing ikut dikirim setiap kali terjadi perubahan pada nilai variabel tersebut, maka perlu ditambahkan validasi data, yaitu hanya variabel teks saja yang ditampilkan di kolom A. Untuk itu klik pada kolom A, pilih Data Validation, pilih Add Rule, di kolom Criteria, pilih Text contain, kemudian isi kolom kedua dengan tulisan teks, dan di pertanyaan "if the data is invalid", pilih opsi Reject the input. Klik Done.
Gambar 7.28 Tambahkan Data validation di kolom A, agar hanya variabel teks yang berisi data keempat sensor saja yang ditampilkan di Google Sheet
9. Karena data yang dimunculkan kadang kala terjadi duplikasi, maka agar hanya data yang berbeda saja yang ditampilkan, tambahkan Sheet2, tempatkan di Cell A1 formula sesuai tabel di atas, yaitu =unique(Sheet1!A:K).
Gambar 7.29 Tambahkan Sheet2, isi dengan formula unique agar tidak ada diplukasi pada data yang ditampilkan di Google Sheet
10. Tambahkan Sheet3, isi di Cell A1 formula berikut ini: =query(Sheet2!A:K,"select K,C,D,E,F where K is not null order by K asc"). Formula tersebut akan menampilkan 5 buah kolom di kolom A sampai E, yang secara berturut-turut berisi data waktu Time (s), data sensor NTC, LDR, Potensio putar dan Potensio Geser. Lakukan pengubahan pada nilai sensor di simulasi Wokwi dengan menggeser Slider pada Sensor dan memutar knob Potensio.
Gambar 7.30 Sheet3 menampilkan data waktu dalam satuan detik diikuti data keempat sensor secara berturut-turut, yang menempati kolom A - E
Catatan: Perhatikan setiap kali terjadi pengubahan nilai sensor di Wokwi, Google Sheet tidak langsung menampilkan nilai tersebut, tetapi menunggu beberapa waktu untuk meng-update datanya. Hal ini memang disengaja, agar link Webhook tidak terputus. Lebih jelasnya, lihat baris program di Wokwi, khususnya di baris 83, di mana dibuat data sensor akan dikirimkan ke Arduino IoT Cloud setiap 10 detik. Kemudian di halaman Thing Arduino IoT Cloud, variabel teks menggunakan Update Policy On Change, ini berarti, data sensor di variable teks tersebut hanya akan diupdate tampilannya, apabila terjadi perubahan nilai. Kalau nilainya tidak berubah, maka data tersebut tidak akan ditampilkan, yang berarti juga tidak akan muncul di Google Sheet.
11. Terakhir, untuk menampilkan grafik, pilih kelima kolom, kemudian tekan tombol Insert Chart, maka akan muncul grafik keempat sensor tersebut dengan basis waktu dalam satuan detik. Untuk bisa membuat grafik tersebut muncul di halaman web, klik pada menu di Grafik (3 titik vertikal), pilih Publish Chart. Berikut ini tampilan grafik keempat sensor yang dihasilkan di Google Sheet dan juga di halaman web.
Gambar 7.31 Pilih kelima kolom, tekan tombol Insert Chart, maka muncul grafik keempat sensor di Google Sheet
Gambar 7.32 Buka menu grafik (klik 3 titik vertikal di pojok kanan atas), pilih Publish Chart, maka grafik keempat sensor tersebut dapat ditampilkan di halaman web
Untuk lebih jelasnya, silahkan melihat video singkat ini:
Video menampilkan grafik keempat sensor di halaman web dengan bantuan Arduino IoT Cloud, webhook dan Google Sheet
8. Koneksi Arduino ke Arduino IoT Cloud dengan bantuan ESP32
Ketika rekan-rekan, karena 1-2 hal, terpaksa harus menghubungkan Arduino ke Arduino IoT Cloud. maka solusinya adalah, sisipkan ESP32 sebagai penghubung Arduino ke Arduino IoT Cloud.
Gambar 8.2 Tambahkan ESP32 agar Arduino bisa terhubung ke Arduino IoT Cloud,
Catatan: Agar kotak Serial Monitor tetap menampilkan data dari Arduino IoT Cloud, maka untuk koneksi ke Arduino Uno, digunakan kaki GPIO.4 dan GPIO.2 sebagai RX dan TX Hardware Serial tambahan (diberi nama Serialok).
Gambar 8.3 Atur diagram.json agar bisa membuat kaki GPIO.4 dan kaki GPIO.2 menjadi kaki serial
Catatan: Selain pengaturan kaki HardwareSerial di kode program ESP32, di diagram.json perlu juga ditambahkan kode, khususnya di bagian parts dan di bagian connection, seperti berikut ini:
Gambar 8.5 Create account apabila belum memiliki akun, apabila sudah klik Sign in
Gambar 8.6 Isi nama akun/email dan password, klik Sign In
Gambar 8.7 Klik Home, klik Create New, pilih Thing
Gambar 8.8 Di halaman Thing, klik Add, dan satu persatu tambahkan 5 buah variabel sesuai tabel berikut ini
No.
Name
Data Type
Permission
Update
1.
sw
Boolean
Read & Write
On Change
2.
ld
Boolean
Read & Write
On Change
3.
pot
Integer
Read & Write
On Change
4.
serv
Integer
Read & Write
On Change
5.
data
String
Read & Write
On Change
Gambar 8.9 Name: sw, Data type: Boolean, Read & Write, On change
Gambar 8.10 Name: ld, Data type: Boolean, Read & Write, On change
Gambar 8.11 Name: pot, Data type: Integer, Read & Write, On change
Gambar 8.12 Name: serv, Data type: Integer, Read & Write, On change
Gambar 8.13 Name: data, Data type: String, Read & Write, On change
Gambar 8.14 Terlihat pada halaman Thing, ada 5 buah Cloud variable telah ditambahkan, berikutnya klik Select Device untuk menghubungkan Thing ke sebuah Device
Gambar 8.15 Klik Set Up New Device
Gambar 8.16 Pilih Third party device
Gambar 8.17 Klik ESP32, pilih ESP32 Dev Module
Gambar 8.18 Klik Next
Gambar 8.19 Muncul kode ID dan Secret Key Device, kedua kode ini harus diisikan di program Wokwi, agar kode ini tidak hilang, klik Download PDF, beri centang pada opsi I saved ..., klik Continue
Gambar 8.20 Setup Device telah selesai, klik Done
Gambar 8.21 Berikutnya klik Sketch untuk memprogram Device sehingga status Device menjadi Online
Gambar 8.22 Program di Wokwi diambil dari program di Sketch ini, pastikan nama variabel di Wokwi sama dengan variabel di program di Sketch ini, setelah itu klik tombol menu
Gambar 8.23 Klik tombol Menu, klik Dashboards, klik Create Dashboard
Gambar 8.25 Buat widget untuk kelima variabel sesuai gambar di atas, yaitu berturut-turut Messenger (data), Gauge (pot), Slider (srv), Switch (ld) dan LED (sw), kemudian klik Create Widgets
Gambar 8.26 Atur ukuran dan posisi kelima widget dengan tombol Arrange widgets
Gambar 8.27 Tambahkan sebuah widget Chart, klik Add, klik Chart di Tab Widgets
Gambar 8.28 Klik Link variable
Gambar 8.29 Klik variabel pot, dan klik tombol Link variable
Gambar 8.30 Setelah variabel pot muncul di linked variable, klik Done
Gambar 8.31 Atur ukuran dan posisi widget Chart seperti gambar di atas
Gambar 8.32 Edit widget Slider, buat nilai Max dari 50 menjadi 180, klik Done
Gambar 8.33 Edit widget Gauge, buat nilai Max dari 100 menjadi 1023, klik Done
Gambar 8.34 Edit widget LED, pilih tipe Red and Green, klik Done
4. Berikutnya, setelah Things dan Dashboard selesai dibuat, langkah berikutnya, buka Wokwi ESP32, ganti kode ID Device dan Secret Key Device dengan kode dari Device Thing yang baru saja dibuat (lihat file pdf yang telah diunduh).
Gambar 8.35 Ganti ID Device dan Secret Key dengan kode dari Device yang baru saja ditambahkan
Gambar 8.36 Buka juga projek Wokwi Arduino, sekalipun tidak terlihat, namun sebenarnya kaki TX RX Arduino terhubung dengan kaki GPIO.4 dan GPIO.2 ESP32 melalui komunikasi serial
5. Jalankan simulasi Wokwi Arduino dan simulasi Wokwi ESP32. Seharusnya ketika simulasi berjalan, muncul kotak dialog penentuan port COM yang digunakan. Apabila kotak port COM tersebut belum muncul, tekan tombol Stop, kemudian jalankan lagi, maka seharusnya kotak tersebut muncul.
Catatan: Pastikan pilihan port COM yang digunakan adalah pasangan COM. Untuk mengetahui pasangan COM, buka Device Manager. Apabila rekan-rekan belum memiliki pasangan COM, instal software virtual serial port ini (https://freevirtualserialports.com/), kemudian buat pasangan COM dengan software tersebut (secara default, pasangan COM yang dibangkitkan adalah COM1 & COM2).
Gambar 8.37 Muncul kotak penentuan COM, pilih COM yang berpasangan (lihat Device Manager)
Gambar 8.38(a) Lakukan pengubahan posisi Switch dan Potensio di Arduino, seharusnya kondisi LED dan nilai Gauge dan Chart pada Dashboard berubah, begitu pula lakukan pengubahan Switch dan Slider di Dashboard, seharusnya kondisi LED dan posisi Servo di Arduino berubah
Gambar 8.38(b) Lakukan pengubahan posisi Switch dan Potensio di Arduino, seharusnya kondisi LED dan nilai Gauge dan Chart pada Dashboard berubah, begitu pula lakukan pengubahan Switch dan Slider di Dashboard, seharusnya kondisi LED dan posisi Servo di Arduino berubah
Gambar 8.38(c) Lakukan pengubahan posisi Switch dan Potensio di Arduino, seharusnya kondisi LED dan nilai Gauge dan Chart pada Dashboard berubah, begitu pula lakukan pengubahan Switch dan Slider di Dashboard, seharusnya kondisi LED dan posisi Servo di Arduino berubah
Gambar 8.38(d) Lakukan pengubahan posisi Switch dan Potensio di Arduino, seharusnya kondisi LED dan nilai Gauge dan Chart pada Dashboard berubah, begitu pula lakukan pengubahan Switch dan Slider di Dashboard, seharusnya kondisi LED dan posisi Servo di Arduino berubah
Gambar 8.38(e) Lakukan pengubahan posisi Switch dan Potensio di Arduino, seharusnya kondisi LED dan nilai Gauge dan Chart pada Dashboard berubah, begitu pula lakukan pengubahan Switch dan Slider di Dashboard, seharusnya kondisi LED dan posisi Servo di Arduino berubah
Catatan: Perubahan nilai data yang terlalu cepat, bisa membuat koneksi ke Arduino IoT Cloud terputus. Untuk mencegah perubahan nilai yang terlalu cepat ini, ditambahkan interval sebesar 2 detik, khususnya pada nilai potensio, yang nilainya akan dikirimkan ke Arduino IoT Cloud melalui ESP32 apabila nilainya berubah dan selang waktunya sudah lebih dari 2 detik dari nilai sebelumnya.
Gambar 8.39 Menambahkan selang waktu lebih dari 2 detik untuk mencegah laju data yang terlalu cepat, sehingga koneksi ke Arduino IoT Cloud tidak terputus
Agar lebih jelas mengenai langkah pembuatannya, silahkan melihat video berikut ini:
Video pembuatan koneksi Arduino Uno ke Arduino IoT Cloud dengan bantuan ESP32
No comments:
Post a Comment