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.
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.
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.
IV.PROSEDUR PERCOBAAN
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.