Membuat Prototype SmartHome Dengan Internet of Things
Membuat Prototype SmartHome Dengan Internet of Things
SmartHome Concept
belakangan ini konsep Internet of Things (IoT) semakin marak dibicarakan oleh para penggiat
teknologi maupun enterpreneur, nah pertanyaanya, kenapa bisa begitu…..? yak jawabannya,
karena dengan pemanfaatan teknologi IoT ini segala kegiatan manusia dapat dipantau dan
diakses melalui internet, oleh karena itu, ini adalah kesempatan yang sangat besar bagi para
pengusaha untuk mengembangkan bisnisnya, karena pemetaan data pelanggan akan didapatkan
dengan lebih mudah dengan konsep IoT.
SmartHome sendiri adalah satu konsep yang paling banyak dikembangkan dan digemari
menggunakan system IoT ini.
pada postingan kali ini, kita akan membahas tentang bagaimana step-step membuat project
smarthome dengan menggunakan teknologi IoT atau Internet of Things, pada tutorial ini yang
akan kita Bahas adalah bagaimana menghidupkan dan mematikan lampu menggunakan
android, kenapa hanya menghidup dan matikan lampu saja? karena ini adalah konsep
yang paling dasar pada system smartHome, pasti udah pada penasaran kan, langsung aja kita
bahas ya, hehehe
Iklan
langkah pertama yang harus kita lakukan tentu saja persiapan alat dan bahan-bahan yang
dibutuhkan, berikut adalah list alat dan bahan yang diperlukan dalam pembuatan project ini :
setelah menyiapkan semua kebutuhan alat dan bahan, maka step selanjutnya adalah, kita akan
merancang system perangkat keras dari projek ini
berikut adalah gambaran sederhana perancangan real dari perangkat keras yang kita gunakan
Implementasi real hardware
konfigurasi real untuk hardware kurang lebih seperti gambar di atas, untuk data trigger, port yang
dipilih menyesuaikan dengan program pada Arduino IDE
Implementasi real hardware
pada system yang dibangun menggunakan IoT pada umumnya terdiri dari 2 sisi yaitu pada sisi
client dan server, pada project ini sisi client berada pada system di android, dan server berada
pada system Arduino.
Server
pertama-tama kita akan bahas pada sisi servernya dulu nih, untuk server sendiri pada project ini
kita menggunakan platform Arduino IDE, tentunya karena perangkat keras Utama yang kita
gunakan adalah Arduino �
1. Start, Ketika menghidupkan perangkat Android pilih inilisialisasi PIN/Port arduino untuk
lampu kemudian terhubung ke inisialisasi ethernet,lalu baca input analog 8.
2. Setelah membaca input analog masuk ke proses komunikasi hasil pembacaan sensor dan
hasil output kirim ke web.
3. Ketika sudah membaca string dari web, untuk menghidupkan lampu jika string terbaca
(YA) maka digitalwhite akan terhubung kemudian lampu 1 atau lampu yang akan dipilih
akan hidup.
4. Untuk mematikan lampu yang sudah dihidupkan terhubung ke digitalwrite maka pilih
lampu 1 atau lampu lainnya yang ingin dimatikan dan jika semua lampu sudah dimatikan
maka selesai.
5. Tetapi jika string dari web tidak terbaca maka diulangi kembali sampai bisa terhubung
untuk menyalakan atau mematikan lampu yang akan dipilih dan akan berulang kembali
seterusnya dan kemudian selesai.
Codingnya adalah sebagai berikut (pastikan text editor menggunakan Arduino IDE):
#include <SPI.h> //deklarasi liblary SPI untuk komunikasi antara arduino dan
ethernet shield
#include <Ethernet.h> //deklarasi liblary modul ethernet shield
//settingan LAN/Ethernet
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac
address
byte ip[] = { 192, 168, 0, 114 }; //ip in lan
byte gateway[] = { 192, 168, 0, 114 }; //internet access
via router
byte subnet[] = { 255, 255, 255, 0 }; //subnet mask
void setup() {
Serial.begin(9600); //deklarasi serial baud rate
while (!Serial) {}
if (c == '\n') {
Serial.println(readString);
Serial.print(arus);
Serial.println("Ampere");
if(digitalRead(21)==0)
{
client.println("<p1>ON</p1><br />");
}
else
{
client.println("<p2>OFF</p2><br />");
}
client.println("<br />");
client.println("<br />");
client.println("<a href=\"/?Relay2on\"\">Lampu 2 ON</a>");
client.println("<a href=\"/?Relay2off\"\">Lampu 2 OFF</a>");
if(digitalRead(20)==0)
{
client.println("<p1>ON</p1><br />");
}
else
{
client.println("<p2>OFF</p2><br />");
}
client.println("<br />");
client.println("<br />");
client.println("<a href=\"/?Relay3on\"\">Lampu 3 ON</a>");
client.println("<a href=\"/?Relay3off\"\">Lampu 3 OFF</a>");
if(digitalRead(19)==0)
{
client.println("<p1>ON</p1><br />");
}
else
{
client.println("<p2>OFF</p2><br />");
}
delay(1);
//stopping client
client.stop();
//===========================================================================
===================================//
//mengontrol arduino dari web/aplikasi smartphone yang telah dibangun, sesuai
dengan karakter pada string yang telah dikirimkan
if (readString.indexOf("?Relay1on") >0)
{
digitalWrite(relay1, 1);
}
if (readString.indexOf("?Relay1off") >0){
digitalWrite(relay1, 0);
}
if (readString.indexOf("?Relay2on") >0){
digitalWrite(relay2, 1);
}
if (readString.indexOf("?Relay2off") >0){
digitalWrite(relay2, 0);
}
if (readString.indexOf("?Relay3on") >0){
digitalWrite(relay3, 1);
}
if (readString.indexOf("?Relay3off") >0){
digitalWrite(relay3, 0);
}
if (readString.indexOf("?Relay4on") >0){
digitalWrite(relay4, 1);
}
if (readString.indexOf("?Relay4off") >0){
digitalWrite(relay4, 0);
}
if (readString.indexOf("?Relay5on") >0){
digitalWrite(relay5, 1);
}
if (readString.indexOf("?Relay5off") >0){
digitalWrite(relay5, 0);
}
if (readString.indexOf("?Relay6on") >0){
digitalWrite(relay6, 1);
}
if (readString.indexOf("?Relay6off") >0){
digitalWrite(relay6, 0);
}
}
}
}
}
}
setelah menuliskan semua kode program di atas pada text editor Arduino IDE, coba compile
programnya dan pastikan tidak ada error, jika masih terjadi error maka kemungkinan liblarynya
belum tersedia di computer anda, sehingga anda harus mendownload terlebih dahulu liblary yang
dibutuhkan.
Client
ini adalah tahap terakhir dari pembuatan project ini yaitu tahap pembuatan perangkat lunak
client, dimana pada bagian client ini kita menggunakan android sebagai devicenya sehingga
mobilitas menjadi tinggi
untuk pembuatan app sendiri disini kita menggunakan MIT app inventor 2, karena sangat mudah
untuk dipahami bahkan untuk kalian yang tidak bisa ngoding sekalipun :p untuk mulai membuat
applikasinya kita tinggal membuka link : ai2.appinventor.mit.edu kemudian kita create account
dan kita bisa langsung membuat aplikasi android yang kita inginkan, sangat mudah bukan? �
oke kita mulai pembuatan aplikasi dengan melakukan perancangan desain terlebih dahulu
Desain Screen 1
Desain Screen 2
screen di atas tentunya hanya contoh ya, kalian bisa mengkreasikan sendiri desain tampilan
applikasi kalian semaunya �
pada tahap terakhir ini tentunya kita butuh membuat yang namanya program ya supaya aplikasi
yang kita buat bisa dijalankan, yak begitulah, tapi dengan menggunakan MIT App inventor ini
kalian tidak perlu ribet-ribet belajar coding android, karena koding-nya cuma pake blok aja,
lohh… ya tapi itu kenyataan, penasaran? berikut adalah blok koding yang saya gunakan pada
project ini
Contoh blok coding