Anda di halaman 1dari 11

Learning

Activity
Packet PENGENDALIAN BERBASIS IoT (FIREBASE)
MENGGUNAKAN MIT APP INVENTOR 2
8
I. TUJUAN
1. Dapat membuat aplikasi pengendalian berbasis IoT menggunakan
MIT App Inventor 2.
2. Dapat merancang koneksi IoT menggunakan server Firebase dengan NodeMCU.

II. DASAR TEORI


1. MIT App Inventor
App Inventor adalah aplikasi web sumber terbuka yang awalnya dikembangkan
oleh Google, dan saat ini dikelola oleh Massachusetts Institute of Technology (MIT).
App Inventor memungkinkan pengguna baru untuk memprogram komputer untuk
menciptakan aplikasi perangkat lunak bagi sistem operasi Android.

Gambar 1. MIT App Inventor

2. Android
Android adalah sistem operasi berbasis Linux yang dirancang untuk perangkat
bergerak layar sentuh seperti telepon pintar dan komputer tablet. Android awalnya
dikembangkan oleh Android, Inc., dengan dukungan finansial dari Google, yang
kemudian membelinya pada tahun 2005.

Gambar 2. Android
3. NodeMCU

NodeMCU adalah sebuah platform IoT yang bersifat open source. Terdiri dari
perangkat keras berupa System On Chip ESP8266 dari ESP8266 buatan Espressif
System, juga firmware yang digunakan, yang menggunakan bahasa pemrograman
scripting Lua. Istilah NodeMCU secara default sebenarnya mengacu pada firmware
yang digunakan daripada perangkat keras development kit.

Gambar 3. NodeMCU V1.0


4. Internet of Things
Internet of Things atau dikenal juga dengan singkatan IoT merupakan sebuah
konsep yang bertujuan untuk memperluas manfaat dari konektivitas internet yang
tersambung secara terus-menerus.

Gambar 4. Konsep dasar Iot


Konsep IoT ini cukup sederhana dengan cara kerja mengacu pada 3 elemen
utama pada arsitektur IoT, yakni: barang fisik yang dilengkapi modul IoT, perangkat
koneksi ke internet seperti modem dan router wireless, dan cloud data center tempat
untuk menyimpan aplikasi beserta database.
5. Firebase
Firebase memiliki produk utama, yaitu menyediakan database realtime dan
backend sebagai layanan (Backend as a Service). Layanan ini menyediakan
pengembang aplikasi API yang memungkinkan aplikasi data yang akan disinkronisasi
di klien dan disimpan di cloud Firebase ini. Firebase menyediakan library untuk
berbagai client platform yang memungkinkan integrasi dengan Android, iOS,
JavaScript, Java, Objective-C dan Node aplikasi Js dan dapat juga disebut sebagai
layanan DbaaS (Database as a Service) dengan konsep realtime.

Gambar 5. ThingSpeak sebagai Cloud Server

Semua data Firebase Realtime Database disimpan sebagai objek JSON. Bisa
dianggap basis data sebagai JSON tree yang di-host di awan. Tidak seperti basis data
SQL, tidak ada tabel atau rekaman. Ketika ditambahkan ke JSON tree, data akan
menjadi simpul dalam struktur JSON yang ada.

III. ALAT DAN BAHAN


1.NodeMCU : 1 Buah
2. Project Board : 1 Buah
3. Sensor DHT11 : 1 Buah
4. Kabel Jumper : Secukupnya

IV.PROSEDUR PERCOBAAN

1. Membuat projek Firebase


a. Sebelumya pastikan telah terdaftar di akun gmail/akun google
b. Buka link https://console.firebase.google.com/
c. Buat projek baru dan berikan nama projek.

Gambar 6. Halaman Projek Baru Firebase


d. Tekan tombol “Selanjutnya” hingga muncul dashboard projek.
e. Pilih “Cloud Firestore”.

Gambar 7. Dashboard Projek


f. Pilih “Buat database”

Gambar 8. Membuat Database


g. Pilih “Berikutnya”.

Gambar 9. Konfigurasi Mode Database


h. Biarkan secara default lalu tekan “Selesai”.

Gambar 10. Konfigurasi Lokasi Cloud Firestore


i. Masuk ke “Realtime Database”.

Gambar 11. Cloud Firestore


2. Menyalin alamat URL dan Token dari projek Firebase yang telah dibuat.
a. Masuk ke “Setelan Proyek”

Gambar 12. Setelan Proyek Firebase


b. Klik “Akun Layanan” lalu pilih “Rahasia database”.

Gambar 13. Halaman Setelan Akun Layanan Firebase


c. Salin URL dan Token pada projek Firebase yang sudah dibuat. Untuk
mendapatkan URL projek, rumusnya adalah sebagai berikut :
“ https:// + Nama Database + .firebaseio.com “
.Contoh : “https://praktikum-7-89143.firebaseio.com” .

Nama Database Token

Gambar 14. URL dan Token Projek Firebase

3. Buka Link MIT App Inventor http://appinventor.mit.edu/explore/#


4. Login menggunakan akun gmail.
5. Pilih Start New Project. Setelah berhasil nantinya akan diminta memasukkan nama
projek.
6. Buatlah desain tampilan Screen1 seperti yang ditunjukkan gambar 19:
Token
URL

Gambar 15. Desain Screen1


Catatan : - Isikan Token dan URL berdasarkan langkah 2c
- kosongkan ProjectBucket.
7. Setelah desain sudah dibuat langkah selanjutnya adalah mendesain blok program
B. GAMBAR RANGKAIAN
C. LISTING PROGRAM
Berikut adalah Listing Program NodeMCU
#include <ESP8266WiFi.h>
#include "FirebaseESP8266.h"

#define FIREBASE_HOST "NAMA_PROYEK.firebaseio.com" //URL tanpa http://


#define FIREBASE_AUTH "TOKEN_FIREBASE" //Token
#define WIFI_SSID "NAMA_WIFI"
#define WIFI_PASSWORD "PASSWORD_WIFI"
#define LED_IN 2
#define LED1 D1
#define LED2 D2

FirebaseData firebaseData;
int LED;
String kondisi1,kondisi2;
void setup()
{ pinMode(LED_IN, OUTPUT);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
Serial.begin(9600); // for debugging reasons
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED)
{ digitalWrite(LED_IN, LOW);
delay(250);
Serial.print(".");
digitalWrite(LED_IN, HIGH);
delay(250);
}
Serial.println(".......");
digitalWrite(LED_IN, HIGH);
Serial.println("WiFi Connected....IP Address:");
Serial.println(WiFi.localIP());
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
Serial.println("Pengendalian LED Firebase");
delay(2000);
}
void loop()
{ if (Firebase.getString(firebaseData, "/LED"))
LED = firebaseData.stringData().toInt();
if (LED==1)
{ kondisi1 = "ON";
digitalWrite(LED1, HIGH);
}
if (LED==2)
{ kondisi1 = "OFF";
digitalWrite(LED1, LOW);
}
if (LED==3)
{ kondisi2 = "ON";
digitalWrite(LED2, HIGH);
}
if (LED==4)
{ kondisi2 = "OFF";
digitalWrite(LED2, LOW);
}
Serial.println("LED 1 = " + String(kondisi1));
Serial.println("LED 2 = " + String(kondisi2) + "\n");
delay(1000);
}
Tugas Individu
1) Buatlah pengendalian LED 1 menggunakan perintah suara.
2) Buatlah pengendalian intensitas cahaya dari LED 2.

Anda mungkin juga menyukai