Tugas Akhir Edspert.id: Intensive Bootcamp Internet of Things Batch-10
Green House adalah bangunan untuk budidaya tanaman yang memiliki struktur atap dan dinding tembus cahaya. Para petani terbantu oleh adanya Green House ini, namun tetap saja memerlukan pengondisian tertentu agar dapat mencapai apa yang diinginkan. Hal ini biasanya dilakukan secara tradisional, sehingga dinilai kurang efektif terutama pada jaman yang penuh dengan teknologi serba canggih seperti sekarang ini. Selain itu, rawannya pencurian dan pembobolan bangunan adalah topik yang perlu diperhatikan selain pemeliharaan sayuran. Proyek ini dibuat untuk membantu para petani agar dapat mengelola Green House yang mereka miliki dengan cepat dan tepat baik dalam jarak yang dekat maupun jarak yang jauh. Proyek ini telah dilaksanakan dan memakan waktu kurang lebih 1 bulan. Sistem yang dibuat ini dapat memantau suhu udara, kelembaban udara, kelembaban tanah, intensitas cahaya, status pompa, status pintu, dan alarm keamanan. Selain itu, sistem ini juga telah disediakan fitur kendali pompa dan kunci pintu secara otomatis, sehingga hal ini dapat meningkatkan efisiensi dalam pemeliharaan sayuran dan keamanan yang ada di area Green House. Sistem ini berbasis Internet of Things (IoT) yaitu dengan menggunakan HTTP sebagai protokol komunikasinya. Antarmuka sistem menggunakan aplikasi MIT App Inventor.
Bagian | Deskripsi |
---|---|
Papan Pengembangan | • DOIT ESP32 DEVKIT V1 • NodeMCU V3 ESP8266 Lolin |
Editor Kode | Arduino IDE |
Driver | • CH340 USB Driver • CP210X USB Driver |
Platform IoT | Antares |
Protokol Komunikasi | • Hypertext Transfer Protocol (HTTP) • Universal Asynchronous Receiver-Transmitter (UART) • Serial Peripheral Interface (SPI) • Inter Integrated Circuit (I2C) |
Arsitektur IoT | 4 Lapisan |
Dukungan Aplikasi | MIT App Inventor |
Bahasa Pemrograman | C/C++ |
Pustaka Arduino | • WiFi (bawaan) • HTTPClient (bawaan) • ESP8266WiFi (bawaan) • ESP8266HTTPClient (bawaan) • SPI (bawaan) • DHT_sensor_library • LiquidCrystal_I2C • ESP_FC28_Library • MFRC522 |
Aktuator | • Submersible pump (x1) • Solenoid Door Lock (x1) • Piezo buzzer (x1) |
Sensor | • FC-28: Kelembaban Tanah Resistif (x1) • LDR: Resistor Cahaya (x1) • DHT22: Suhu & Kelembaban Udara (x1) • SW-420: Getaran (x1) • Pembaca RFID (x1) |
Layar | LCD I2C (x1) |
Komponen Lainnya | • Kabel USB Mikro - USB tipe A (x1) • Kabel jumper (1 set) • Switching power supply 12V 3A (x1) • Electrical relay 1 channel (x1) • Step Down LM2596 Adjustable 3A DC-DC (x2) • Breadboard (x2) • Papan ekspansi NodeMCU (x1) • Kotak casing (x1) • Kartu RFID (x2) • Connector male jack DC (x1) • Baut plus (1 set) • Mur (1 set) |
-
Arduino IDE
https://bit.ly/ArduinoIDE_Installer
-
CH340 USB Driver
https://bit.ly/CH340_USB_Driver
-
CP210X USB Driver
https://bit.ly/CP210X_USB_Driver
Infrastruktur |
---|
Diagram Ilustrasi untuk ESP32 | Diagram Ilustrasi untuk NodeMCU |
---|---|
Diagram Sistem |
---|
Pengkabelan |
---|
#include <Wire.h>
void setup() {
Wire.begin();
Serial.begin(115200);
while (!Serial); // Wait for serial monitor
Serial.println("\nI2C Scanner");
}
void loop() {
int nDevices = 0;
Serial.println("Scanning...");
for (byte address = 1; address < 127; ++address) {
// The i2c_scanner uses the return value of the Wire.endTransmission to see if a device did acknowledge to the address.
Wire.beginTransmission(address);
byte error = Wire.endTransmission();
if (error == 0) {
Serial.print("I2C device found at address 0x");
if (address < 16) {
Serial.print("0");
}
Serial.print(address, HEX);
Serial.println(" !");
++nDevices;
} else if (error == 4) {
Serial.print("Unknown error at address 0x");
if (address < 16) {
Serial.print("0");
}
Serial.println(address, HEX);
}
}
if (nDevices == 0) {
Serial.println("No I2C devices found\n");
} else {
Serial.println("done\n");
}
delay(5000); // Wait 5 seconds for next scan
}
-
Buka
Arduino IDE
terlebih dahulu, kemudian buka proyek dengan cara klikFile
->Open
:•
Final_Project_Edspert_Batch10_ESP32Project.ino
•
Final_Project_Edspert_Batch10_NodeMCUProject.ino
-
Isi
Url Pengelola Papan Tambahan
di Arduino IDEKlik
File
->Preferences
-> masukkanBoards Manager Url
dengan menyalin tautan berikut :https://dl.espressif.com/dl/package_esp32_index.json http://arduino.esp8266.com/stable/package_esp8266com_index.json
-
Pengaturan Board
di Arduino IDEi
Cara mengatur board
DOIT ESP32 DEVKIT V1
• Klik bagian
Tools
->Board
->Boards Manager
-> Instalesp32
.• Kemudian klik
Tools
->Board
->ESP32 Arduino
->DOIT ESP32 DEVKIT V1
.ii
Cara mengatur board
NodeMCU V3 ESP8266 Lolin
• Klik bagian
Tools
->Board
->Boards Manager
-> Instalesp8266
.• Kemudian klik
Tools
->Board
->ESP8266 Boards
->NodeMCU 1.0 (ESP-12E Module)
.
-
Ubah Kecepatan Papan
di Arduino IDEi
Cara mengubah kecepatan board
DOIT ESP32 DEVKIT V1
Klik
Tools
->Upload Speed
->115200
ii
Cara mengubah kecepatan board
NodeMCU V3 ESP8266 Lolin
Klik
Tools
->Upload Speed
->115200
-
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, silakan klik:
Upload
. -
Beberapa hal yang perlu anda lakukan saat menggunakan
board ESP32
:• Informasi
Arduino IDE
:Uploading...
-> segera tekan dan tahan tombolBOOT
.• Informasi
Arduino IDE
:Writing at .... (%)
-> lepaskan tombolBOOT
.• Tunggu sampai muncul pesan:
Done Uploading
->Program langsung dioperasikan
.• Tekan tombol
EN (RST)
laluRestart
untuk menangani boardESP32
yang tidak bisa memprosesSC
.• Jangan tekan tombol
BOOT
danEN
secara bersamaan karena hal ini bisa beralih ke modeUnggah Firmware
.
-
Sedangkan dalam unggah program,
board NodeMCU
lebih unggul karena umumnya sudah dapat dilakukan secara otomatis. -
Jika masih ada masalah saat unggah program, maka coba periksa pada bagian
driver
/port
/yang lainnya
.
-
Memulai Antares :
• Silakan Registrasi terlebih dahulu.
• Selanjutnya silakan Masuk agar dapat mengakses layanan.
-
Mengaktifkan access key :
• Masuk ke menu
Account
.• Klik
Get Access Key
untuk menghasilkan access key. Proses ini hanya perlu dilakukan sekali.• Jika anda sudah pernah mengaktifkan access key sebelumnya, lewati langkah ini.
-
Membuat applications :
• Masuk ke menu
Applications
.• Klik
+ Create an Application
.• Dalam menu
Add Application
, silakan menentukan beberapa hal berikut :Application Name
->Nama Aplikasi yang akan anda buat
.Application ID
->ID Aplikasi yang akan anda buat
.Labels
-> tentukan sesuai dengan kebutuhan proyek.
-
Membuat device :
• Pastikan anda berada di menu
Home / Applications / Aplikasi yang anda buat
.• Klik
+ Add Device
.• Nama device ini sebaiknya anda tentukan berdasarkan variabel yang ada dalam proyek.
-
Konfigurasi firmware :
• Pastikan anda berada di menu
Account
.• Salin
Access Key
tersebut.• Tempelkan pada kode firmware, contohnya seperti ini :
#define ACCESSKEY "1444e88d02acb758:b996115b1c2f6f0f"
• Lalu,
Nama proyek
danNama device
itu harus sesuai dengan yang telah dibuat tadi. Contohnya :#define projectName "FinalProject_Edspert10" #define deviceName "GreenHouse_Device1"
-
Buka situs resmi
MIT App Inventor
:https://appinventor.mit.edu/
-
Klik
Create Apps!
, kemudian masuk dengan menggunakan akun google. -
Klik
Project
-> lalu impor berkas yang ada di direktoriSmart-Green-House-Berbasis-IoT-Mobile-Apps\Src\MIT App Inventor Project\
:•
Smart_Green_House_Device_1.aia
•
Smart_Green_House_Device_2.aia
-
Klik tombol
Block
lalu atur beberapa poin berikut ini :
• Isi bagianinitialize global url to
dengan format berikut :https://platform.antares.id:8443/~/antares-cse/antares-id/[YOUR_APPLICATION_NAME]/[YOUR_DEVICE_NAME]/la
• Isi bagian
initialize global header to -> make a list
seperti berikut ini :make a list :
X-M2M-Origin
.YOUR_ACCESS_KEY
.Content-Type
.application/json;ty=4
.Accept
.application/json
.
-
Kemudian klik
Connect
-> selanjutnya pilihAI Companion
. -
Buka ponsel cerdas anda, lalu pada
Google Play Store
cari aplikasiMIT AI2 Companion
, kemudian lakukan instalasi. -
Buka aplikasi
MIT AI2 Companion
. -
Pilih metode
Scan QR Code
. -
Arahkan ponsel cerdas anda ke area
QR Code
yang ada di situsMIT App Inventor
. -
Jika ingin mengoperasikan 2 sistem dalam waktu yang bersamaan, maka anda dapat melakukannya dengan 2 device yang berbeda agar sistem tidak bentrok.
-
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 Pemantauan menggunakan ESP32 | Platform Antares untuk ESP32 |
---|---|
Konfigurasi MIT App Inventor untuk ESP32 | |
Perangkat Pengendalian menggunakan NodeMCU | |
---|---|
Platform Antares untuk NodeMCU | |
Konfigurasi MIT App Inventor untuk NodeMCU | |
Simulasi Pemantauan dengan Aplikasi Mobile | |
---|---|
Ada Sedikit Masalah di Bagian Pembacaan RFID.
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 merupakan hasil karya saya sendiri dan bukan merupakan hasil plagiat dari penelitian atau karya orang lain, kecuali yang berkaitan dengan layanan pihak ketiga yang meliputi: pustaka, kerangka kerja, dan lain sebagainya.
LISENSI MIT - Hak Cipta © 2023 - 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.