Proyek Tunggal: Sistem Pemantauan Kelembaban Tanah berbasis IoT menggunakan protokol komunikasi HTTP dan UART
Sistem IoT berbasis ESP-01 umumnya menggunakan perintah AT untuk dapat melakukan tindakan dalam suatu jaringan. Perintah AT ini diketahui ada banyak. Selain itu, kombinasi perintah yang ada sulit untuk dimengerti bagi seorang pemula. Oleh karena itu, proyek ini dibuat untuk meningkatkan kenyamanan pada sistem IoT berbasis ESP-01. Dalam hal ini, penulis menggunakan protokol UART di sisi papan pengembangan. Proyek ini telah dilaksanakan dan memakan waktu kurang lebih 2 minggu. Ada 2 jenis papan pengembangan yang dipakai. Arduino Uno R3 dipakai untuk mengambil data kelembaban tanah dari sensor yang kemudian dikirim ke ESP-01 melalui komunikasi UART: Software Serial. Sementara itu, ESP-01 digunakan untuk menerima data dari Arduino Uno melalui komunikasi UART: Hardware Serial dan kemudian mengirim data ke Ubidots melalui protokol HTTP.
Bagian | Deskripsi |
---|---|
Papan Pengembangan | • Arduino Uno R3 • ESP-01 |
Editor Kode | Arduino IDE |
Alat Pemrogram | USB CH340-ESP01 |
Driver | CH340 USB Driver |
Platform IoT | Ubidots |
Protokol Komunikasi | • Hypertext Transfer Protocol (HTTP) • Universal Asynchronous Receiver-Transmitter (UART) |
Arsitektur IoT | 3 Lapisan |
Bahasa Pemrograman | C/C++ |
Pustaka Arduino | • SoftwareSerial (default) • Ubidots-ESP8266 |
Sensor | Sensor Kelembaban Tanah Kapasitif (x1) |
Komponen Lainnya | • Kabel USB tipe B - USB tipe A (x1) • Kabel jumper (1 set) • Adapter ESP-01 (x1) |
-
Arduino IDE
https://bit.ly/ArduinoIDE_Installer
-
CH340 USB Driver
https://bit.ly/CH340_USB_Driver
Diagram Blok | Infrastruktur |
---|---|
Diagram Ilustrasi | Pengkabelan |
---|---|
• Serial Komunikasi
Pada dasarnya, suatu perangkat itu dapat dikomunikasikan dengan perangkat lain baik secara nirkabel maupun dengan kabel. Komunikasi antar perangkat keras yang umum digunakan salah satunya adalah Komunikasi Serial
. Dapat diketahui bersama bahwa Komunikasi Serial
ini ada tiga jenis, yaitu meliputi: UART (Universal Asynchronous Receiver-Transmitter)
, SPI (Serial Peripheral Interface)
, dan I2C (Inter Integrated Circuit)
. Komunikasi Serial UART
memungkinkan setiap perangkat dapat bertindak sebagai master
atau slave
secara terbatas. Master
adalah perangkat utama yang memiliki otoritas penuh atas kontrol Slave, sedangkan Slave
adalah perangkat sekunder yang berada di bawah otoritas perangkat Master. Ada dua macam Komunikasi Serial UART
, yaitu Hardware Serial
dan Software Serial
. Komunikasi Hardware Serial
dapat dilakukan dengan cara menghubungkan pin TX
dan pin RX
secara menyilang
pada masing-masing papan pengembangan, misalnya: RX-TX
, kemudian TX-RX
. Pin TX
yaitu untuk mengirim data
, sedangkan pin RX
yaitu untuk menerima data
. Komunikasi Software Serial
ini kurang lebih sama dengan Komunikasi Hardware Serial
dalam segi pengkabelan, namun ada perbedaan dalam segi pengkodean. Dengan menggunakan Software Serial
inilah anda dapat mengatasi masalah keterbatasan pin RX
dan TX
yang ada di papan pengembangan. Untuk berkomunikasi dengan Software Serial
ini cukup mudah, yaitu dengan menggunakan Pin Digital
tertentu sebagai pengganti pin TX dan pin RX
.
• Internet of Things
Internet of Things (IoT)
adalah sebuah konsep dimana suatu hal yang terhubung ke jaringan dapat melakukan satu tindakan atau lebih dalam mencapai suatu tujuan. Tindakan ini diantaranya berupa pengumpulan data, pengiriman data, penerimaan data, atau pengolahan data. Setiap proyek IoT pasti membutuhkan perangkat yang dapat terhubung ke WiFi seperti ESP. ESP terdiri dari 2 jenis, yaitu ESP8266
dan ESP32
. Hal ini di pasaran sangat beragam sekali modelnya, untuk itu perlu sekali anda menyesuaikan kembali dengan kebutuhan yang ada di proyek agar tidak menimbulkan kekecewaan.
-
Buka
Arduino IDE
terlebih dahulu, kemudian buka proyek dengan cara klikFile
->Open
:•
Master.ino
•
Slave.ino
-
Isi
Url Pengelola Papan Tambahan
di Arduino IDEKlik
File
->Preferences
-> masukkanBoards Manager Url
dengan menyalin tautan berikut :http:https://arduino.esp8266.com/stable/package_esp8266com_index.json
-
Pengaturan Board
di Arduino IDEi
Cara mengatur board
Arduino Uno
Klik
Tools
->Board
->Arduino AVR Boards
->Arduino Uno
ii
Cara mengatur board
ESP-01
• Klik bagian
Tools
->Board
->Boards Manager
-> Instalesp8266
.• Kemudian klik
Tools
->Board
->ESP8266 Boards
->Generic ESP8266 Module
.
-
Ubah Kecepatan Papan
di Arduino IDEi
Cara mengubah kecepatan board
Arduino Uno
Klik
Tools
->Upload Speed
->9600
ii
Cara mengubah kecepatan board
ESP-01
Klik
Tools
->Upload Speed
->9600
-
Instal Pustaka
di Arduino IDEUnduh semua file zip pustaka. Lalu tempelkan di:
C:\Users\Computer_Username\Documents\Arduino\libraries
-
Pengaturan Port
di Arduino IDEKlik
Port
-> pilih sesuai dengan port perangkat anda(anda dapat melihatnya di Device Manager)
-
Ubah
Nama WiFi
,Kata Sandi WiFi
, dan sebagainya sesuai dengan apa yang anda gunakan saat ini. -
Sebelum mengunggah program, silakan klik:
Verify
. -
Jika tidak ada kesalahan dalam kode program, langkah selanjutnya yaitu menggunakan alat pemrograman
ESP-01
sesuai dengan prosedur. Kemudian klik:Upload
. SedangkanArduino Uno
dapat dilakukan secara langsung tanpa menggunakan alat pemrograman. -
Jika masih ada masalah saat unggah program, maka coba periksa pada bagian
driver
/port
/alat pemrogram
/yang lainnya
.
-
Mode Pemrograman
:• Pasang
ESP-01
keUSB CH340-ESP01
.• Tekan dan tahan tombol yang ada di
USB CH340-ESP01
, lalu tancapkan pada komputer/laptop.• Lepaskan tombol ketika perangkat sudah dikenali oleh komputer/laptop.
• Silakan
unggah program
. -
Mode Pengoperasian
:• Lepaskan
USB CH340-ESP01
dari komputer/laptop.• Kode program yang telah tertanam dalam
board ESP-01
ini siap untuk dioperasikan (sudah tidak ada aktivitas pemrograman lagi).• Lepaskan
ESP-01
dariUSB CH340-ESP01
. Lakukan pemasangan kabel seperti yang ditunjukkan dalam diagram ilustrasi.
Catatan :
• Untuk mengunggah program, selain menggunakan • Berdasarkan pengalaman, saya akui bahwa penggunaan |
-
Memulai Ubidots :
• Silakan Masuk agar dapat mengakses layanan
Ubidots
.• Jika anda belum memiliki akun
Ubidots
silakan buat dulu.
-
Membuat devices :
• Setelah masuk ke dalam akun -> klik
Devices
.• Klik
+ (Create a device)
-> lalu pilihBlank Device
.•
Device name
sesuaikan dengan kebutuhan anda.•
Device label
sesuaikan dengan apa yang ada di Ubidots sewaktu berhasil mengirim data pertama kali, dalam hal ini biasanya akan berbentuk ID.• Pilih
✅ Checklist
untuk menyimpan.
-
Membuat dashboards :
• Klik
Data
-> lalu pilihDashboards
.• Klik
Add new Dashboard
.•
Name
,Tags
,Default time range
-> sesuaikan dengan kebutuhan anda.•
Dynamic Dashboard
-> ubah menjadiDynamic (Single Device)
.•
Default Device
-> pilih device yang ingin ditampilkan.• Pengaturan yang lain biarkan saja -> kemudian klik
SAVE
.
-
Membuat widget :
• Pastikan anda berada di menu
Dashboards
.• Klik
+ Add new widget
.• Silakan pilih sesuai dengan kebutuhan anda. Kalau di proyek ini, penulis menggunakan
Line chart
untuk visualisasi datanya.• Silakan atur variabel yang ingin ditampilkan pada widget yaitu dengan cara klik
+ Add Variables
, kemudian klik✅ Checklist
untuk menyimpan.• Jika ingin mengubah isi widget, silakan klik simbol
pensil
-> jika sudah, kemudian klik✅ Checklist
untuk menyimpan.
-
Konfigurasi firmware :
• Klik bagian
User
yang ada di pojok kanan atas -> lalu pilihAPI Credentials
.• Salin
Default token
-> lalu tempelkan pada kode firmware. Contohnya sebagai berikut:const String token = "BBUS-aRZvtYRMM7IWbrKFcICR30YYP7dh5Q"; // define ubidots token
-
Unduh dan ekstrak repositori ini.
-
Pastikan anda memiliki komponen elektronik yang diperlukan.
-
Pastikan komponen anda telah dirancang sesuai dengan diagram.
-
Konfigurasikan perangkat anda menurut pengaturan di atas.
-
Selamat menikmati [Selesai].
Perangkat Keras | Serial Monitor & Platform IoT: Ubidots |
---|---|
Jika karya ini bermanfaat bagi anda, maka dukunglah karya ini sebagai bentuk apresiasi kepada penulis dengan mengklik tombol ⭐Bintang
di bagian atas repositori.
Aplikasi ini dibuat dengan menyertakan sumber-sumber dari pihak ketiga. Pihak ketiga di sini adalah penyedia layanan, yang layanannya berupa pustaka, kerangka kerja, dan lain-lain. Saya ucapkan terima kasih banyak atas layanannya. Telah terbukti sangat membantu dan dapat diimplementasikan.
LISENSI MIT - Hak Cipta © 2024 - Devan C. M. Wijaya, S.Kom
Dengan ini diberikan izin tanpa biaya kepada siapa pun yang mendapatkan salinan perangkat lunak ini dan file dokumentasi terkait perangkat lunak untuk menggunakannya tanpa batasan, termasuk namun tidak terbatas pada hak untuk menggunakan, menyalin, memodifikasi, menggabungkan, mempublikasikan, mendistribusikan, mensublisensikan, dan/atau menjual salinan Perangkat Lunak ini, dan mengizinkan orang yang menerima Perangkat Lunak ini untuk dilengkapi dengan persyaratan berikut:
Pemberitahuan hak cipta di atas dan pemberitahuan izin ini harus menyertai semua salinan atau bagian penting dari Perangkat Lunak.
DALAM HAL APAPUN, PENULIS ATAU PEMEGANG HAK CIPTA DI SINI TETAP MEMILIKI HAK KEPEMILIKAN PENUH. PERANGKAT LUNAK INI DISEDIAKAN SEBAGAIMANA ADANYA, TANPA JAMINAN APAPUN, BAIK TERSURAT MAUPUN TERSIRAT, OLEH KARENA ITU JIKA TERJADI KERUSAKAN, KEHILANGAN, ATAU LAINNYA YANG TIMBUL DARI PENGGUNAAN ATAU URUSAN LAIN DALAM PERANGKAT LUNAK INI, PENULIS ATAU PEMEGANG HAK CIPTA TIDAK BERTANGGUNG JAWAB, KARENA PENGGUNAAN PERANGKAT LUNAK INI TIDAK DIPAKSAKAN SAMA SEKALI, SEHINGGA RISIKO ADALAH MILIK ANDA SENDIRI.