5. Koneksi dengan Arduino IoT Cloud

Mengapa menggunakan Arduino IoT Cloud? 
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: 


Berikut ini uraiannya masing-masing:



===========================================================================================

1. Slide Switch & LED di Wokwi => Switch & LED di Arduino IoT Cloud 

Berikut ini langkah-langkahnya:

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.2 Buka halaman https://cloud.arduino.cc

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



===========================================================================================

2. Color di Arduino IoT Cloud => RGB LED di Wokwi

Berikut ini langkah-langkahnya:

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.2 Buka halaman https://cloud.arduino.cc

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 



===========================================================================================


3. Scheduler di Arduino IoT Cloud => 5 Relay di Wokwi

Berikut ini langkah-langkahnya:

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.2 Buka halaman https://cloud.arduino.cc

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 



===========================================================================================

4. Scheduler + Value Selector di Arduino IoT Cloud => 12 Relay + 6 Relay Terjadwal di Wokwi

Berikut ini langkah-langkahnya:

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.22 Klik tombol Edit (gambar pensil), klik Add, pilih Tab Things, klik Untitled

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




===========================================================================================

6. Kontrol 18 Relay dan Monitor 4 Sensor 

Berikut ini langkah-langkahnya:

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.2 Buka halaman https://cloud.arduino.cc

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.22 Klik tombol Edit (gambar pensil), klik Add, pilih Tab Things, klik Untitled

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




===========================================================================================

7. Menampilkan Grafik Sensor dengan Arduino IoT Cloud, Webhook dan Google Sheet

Berikut ini langkah-langkahnya:

Gambar 7.1 Rangkaian yang sama seperti Gambar 6.1

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

Sheet:1,  Cell: H2

=arrayformula(if(G2:G="","",split(G2:G,"TZ")+7/24))

to change the timestamp to date and time with Jakarta time zone (GMT+7)

Sheet:1,  Cell: J2

=arrayformula(if(H2:H="","",value(H2:H)+value(I2:I)))

to convert the date and time into a value

Sheet:1,  Cell: K2

=arrayformula(if(H2:H="","",(J2:J-$J$2)*100000))

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.
Berikut ini langkah-langkahnya:

Gambar 8.1 Rangkaian Arduino Uno dengan Switch, LED, Potensio dan Servo

2. Buka project Wokwi ini juga: https://wokwi.com/projects/398056935104575489

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:

di bagian parts:

    {"type":"wokwi-serial-port","id":"serial","top":0,"left":0,"attrs":{"baud":"9600"}} 

di bagian connection:

    [ "esp:2", "serial:RX", "", [] ],
    [ "esp:4", "serial:TX", "", [] ]


3. Berikutnya, buat Things dan Dashboard di Arduino IoT Cloud, sesuai langkah-langkah dalam gambar berikut ini.

Gambar 8.4 Buka halaman https://cloud.arduino.cc

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.24 Klik tombol Edit, klik Add, klik Things, klik Untitled

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