DISUSUN
OLEH :
1.
Herlina Syafhita Maharani ( 19051204005)
2.
Moch.Firda Dhita L (19051204017)
3.
Wanhasib al aslamy (19051204027)
4.
Maharani Nirmala D (19051204032)
5.
Prima Lukito Wardana (19051204041)
6.
M. Rico Salahuddin (19051204053)
BAB
I
PENDAHULUAN
A. Latar Belakang
Internet of Things adalah suatu sistem di mana semua
alat-alat bisa terhubung menjadi dapat saling berkomunikasi. Ini memungkinkan
pengguna mengontrol semua alat-alat di rumahnya dari jarak jauh hanya dengan
menggunakan perangkat genggam yang terhubung dengan internet. Jangkauan dari
internet ini sangat luas, sehingga ini bisa dimafaatkan dalam kontrol barang
elektronik jarak jauh. Kebutuhan manusia akan mengontrol benda benda di
sekitarnya tidak bisa dipungkiri lagi bahwa sangatlah penting. Dimasa depan, mengontrol
segala sesuatu menjadi sangatlah mudah dengan adanya sistem internet of things
ini.
Contoh penggunaan sehari hari dari internet of things ini
begitu banyak. Contohnya, pagar dengan bantuan IOT bisa terbuka sendiri ketika
informasi dari GPS Anda telah menyatakan bahwa jarak antara perangkat dan pagar
itu dekat. Contoh lain yaitu, segala peralatan yang menggunakan listrik dirumah
Anda akan dimatikan otomatis ketika sistem menentukan bahwa Anda sudah
meninggalkan rumah. Masih banyak lagi contoh yang bisa membuktikan bahwa IOT
ini sangat diperlukan dimasa depan. Selain itu, IOT ini juga memungkinkan dalam
penghematan penggunaan daya. Banyak manfaat yang bisa didapatkan dengan
pemanfaatan IOT ini. Dengan demikian, pengetahuan tentang IOT ini sangat perlu
diasah dari sekarang melalui membuat sistem yang sederhana mengenai pemanfaatan
IOT untuk menghubungkan benda disekitar Anda dalam satu sistem yang sama untuk
dapat di kendalikan secara serentak menggukanan perangkat yang bisa Anda
gunakan kapan saja dan di di mana saja.
B. Rumusan Masalah1. Bagaimana merancang suatu sistem kontrol dengan menggunakan IOT?
2. Bagaimana cara mengimplementasikan dalam kehidupan sehari-hari?
3. Apa saja manfaat IOT dalam kehidupan sehari hari?
C. Tujuan Penyusunan Laporan
Tujuan penyusunan laporan hasil kegiatan ini adalah :
1. Sebagai tugas nilai Ujian Akhir Semester
2. Menambah wawasan tentang Internet of Things
BAB
II
PEMBAHASAN
A.
Pengertian
1.
Internet
of Things
Internet of Things adalah suatu sistem di mana semua alat-alat bisa terhubung menjadi dapat saling berkomunikasi. Ini memungkinkan pengguna mengontrol semua alat-alat di rumahnya dari jarak jauh hanya dengan menggunakan perangkat genggam yang terhubung dengan internet. Jangkauan dari internet ini sangat luas, sehingga ini bisa dimafaatkan dalam kontrol barang elektronik jarak jauh.
2.
Smart
Home
Smart home merupakan sistem rumah pintar yang digunakan untuk mengendalikan hampir semua perlengkapan dan peralatan yang ada di dalam sebuah rumah atau gedung dan perintah tersebut dapat dikendalikan jarak jauh.
B. Alat Dan Bahan
1. NodeMCU ESP8266
1. NodeMCU ESP8266
Sebuah
platform IOT yang bersifat opensource.Terdiri dari perangkat keras berupa System On Chip ESP8266 dari ESP8266 buatan Espressif System
2. Kabel
Jumper
Suatu perangkat
penghubung komponen satu dengan yang lainnya.
3. Resistor
Resistor sebagai pembagi tegangan
Resistor sebagai pembagi tegangan
4. Sensor
DTH11
Untuk mendeteksi Temperature dan Kelembaban
5. Gabus
6. Stick kayu
7. Kardus
8. Lampu Led
9. Servos SG90
C. Cara Kerja
Smart home mempunyai dua mode yaitu :
1.Mode
Auto
Mode auto merupakan mode automatic menggunakaan suhu 27
untuk menetapkan suatu mode automatic.Apabila suhu ruang diatas 28
C Air Condinioner (AC) akan menyala dan jendela
akan tertutup dan Apabila suhu dibawah 26
C Air Condinioner (AC) akan mati dan jendela
akan terbuka.
2.Mode
Manual
Mode manual merupakan mode yang bisa mengatur salah
satu yaitu menyalakan Air Condinioner
(AC) atau membuka jendela ataupun keduanya
D. Program dan Flowchart
Database Firebase:
#include <FirebaseArduino.h>
#include <ESP8266WiFi.h>
#include <Servo.h>
#include "DHT.h"
#define FIREBASE_HOST "tesprojek-12836.firebaseio.com"
#define WIFI_SSID "Rico ultah"
#define WIFI_PASSWORD "123456789"
Servo myservo;
int led=13;
DHT dht(2,DHT11);
void setup (){
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
while
(WiFi.status() != WL_CONNECTED){
delay(500);
Serial.print(".");
}
Serial.begin(9600);
myservo.attach(16);
pinMode(led,OUTPUT);
dht.begin();
Serial.println ("");
Serial.println ("WiFi Connected!");
Firebase.begin(FIREBASE_HOST);
}
void loop() {
delay(2000);
float h =
dht.readHumidity();
float t =
dht.readTemperature();
Firebase.setFloat ("Temp",t);
Firebase.setFloat ("Humidity",h);
int aut =
Firebase.getInt("auto");
int ase =
Firebase.getInt("AC");
int jen =
Firebase.getInt("Jendela");
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C ");
if (aut==1)
{
if(t>=28){
Serial.println("Light ON");
digitalWrite(led, HIGH); //turn the
led on
myservo.write(0); //spin the big
servo to the left
}
else if
(t<=26){
Serial.println("Light OFF");
digitalWrite(led, LOW); //turn
the led off
myservo.write(90); //spin the big
servo to the right
}
}
else {
if
(ase==1){
Serial.println("Light ON");
digitalWrite(led, HIGH); //turn
the led on
}
else {
Serial.println("Light OFF");
digitalWrite(led, LOW); //turn
the led off
}
if
(jen==1){
digitalWrite(led, LOW); //turn
the led off
myservo.write(90); //spin the big
servo to the right
}
else {
myservo.write(0); //spin the big
servo to the left
}
}
}
E.Coding Home android
package com.example.coba;
import androidx.appcompat.app.AppCompatActivity;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import java.util.EventListener;
public class MainActivity extends AppCompatActivity {
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();
final DatabaseReference h = myRef.child("Humidity");
final DatabaseReference auto = myRef.child("auto");
final DatabaseReference temp = myRef.child("Temp");
final DatabaseReference jendela = myRef.child("Jendela");
final DatabaseReference ac = myRef.child("AC");
TextView tvsuhu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvsuhu = (TextView)findViewById(R.id.suhu);
temp.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// This method is called once with the initial value and again
// whenever data at this location is updated.
String value = dataSnapshot.getValue().toString();
Log.d("file", "Value is: " + value);
tvsuhu.setText(value.toString());
}
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
Log.w("file", "Failed to read value.", error.toException());
}
});
}
public void Pindah(View view) {
Intent intent = new Intent(MainActivity.this, man.class);
startActivity(intent);
}
}
package com.example.coba;
import androidx.appcompat.app.AppCompatActivity;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import java.util.EventListener;
public class MainActivity extends AppCompatActivity {
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();
final DatabaseReference h = myRef.child("Humidity");
final DatabaseReference auto = myRef.child("auto");
final DatabaseReference temp = myRef.child("Temp");
final DatabaseReference jendela = myRef.child("Jendela");
final DatabaseReference ac = myRef.child("AC");
TextView tvsuhu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvsuhu = (TextView)findViewById(R.id.suhu);
temp.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// This method is called once with the initial value and again
// whenever data at this location is updated.
String value = dataSnapshot.getValue().toString();
Log.d("file", "Value is: " + value);
tvsuhu.setText(value.toString());
}
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
Log.w("file", "Failed to read value.", error.toException());
}
});
}
public void Pindah(View view) {
Intent intent = new Intent(MainActivity.this, man.class);
startActivity(intent);
}
}
F.Coding Mode Manual :
package com.example.coba;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.Switch;
import android.widget.CheckBox;
import android.widget.Toast;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
public class man extends AppCompatActivity {
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();
final DatabaseReference auto = myRef.child("auto");
final DatabaseReference jendela = myRef.child("Jendela");
final DatabaseReference ac = myRef.child("AC");
private CheckBox chkIos, chkAndroid, chkWindows;
private Button btnDisplay;
private Switch sw1,sw2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_man);
sw1 = (Switch) findViewById(R.id.switch1);
sw2 = (Switch) findViewById(R.id.switch2);
addListenerOnChkIos();
}
public void addListenerOnChkIos() {
chkIos = (CheckBox) findViewById(R.id.checkBox);
chkIos.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//is chkIos checked?
if (((CheckBox) v).isChecked()) {
auto.setValue(0);
}
else {
auto.setValue(1);
}
}
});
sw1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
ac.setValue(1);
} else {
ac.setValue(0); }
}
});
sw2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
jendela.setValue(1);
} else {
jendela.setValue(0); }
}
});
}
}
package com.example.coba;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.Switch;
import android.widget.CheckBox;
import android.widget.Toast;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
public class man extends AppCompatActivity {
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();
final DatabaseReference auto = myRef.child("auto");
final DatabaseReference jendela = myRef.child("Jendela");
final DatabaseReference ac = myRef.child("AC");
private CheckBox chkIos, chkAndroid, chkWindows;
private Button btnDisplay;
private Switch sw1,sw2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_man);
sw1 = (Switch) findViewById(R.id.switch1);
sw2 = (Switch) findViewById(R.id.switch2);
addListenerOnChkIos();
}
public void addListenerOnChkIos() {
chkIos = (CheckBox) findViewById(R.id.checkBox);
chkIos.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//is chkIos checked?
if (((CheckBox) v).isChecked()) {
auto.setValue(0);
}
else {
auto.setValue(1);
}
}
});
sw1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
ac.setValue(1);
} else {
ac.setValue(0); }
}
});
sw2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
jendela.setValue(1);
} else {
jendela.setValue(0); }
}
});
}
}
F. Harga Pembuatan
Barang
|
Harga
|
NodeMCU
|
Rp 80.000
|
Kabel
Jummper
|
Rp 6000
|
Resistor
|
Rp.500
|
Gabus
|
Rp.6000
|
Servos SG90
|
Rp.13500
|
Sensor DTH11
|
Rp15000
|
Wooden
Stick (2 Pack)
|
Rp 4000
|
Jumlah
|
Rp 125000
|
G. Foto IoT
alat nodeMCU kabel jumper sensor dth11 udah dipasang |
gabus |
NodeMCU ESP8266 |
foto kelompok |
Kabel Jumper |
Servos SG90 |
resistor |
stick kayu |
foto IoT smarthome |
foto aplikasi android |
foto aplikasi android(2) |
foto IoT smarthome |
BAB III
PENUTUP
SIMPULAN
Internet of Things adalah suatu sistem di mana semua
alat-alat bisa terhubung menjadi dapat saling berkomunikasi.
DAFTAR PUSTAKA
https://medium.com/coinmonks/arduino-to-android-real-time-communication-for-iot-with-firebase-60df579f962
https://github.com/ravindurashmin/android_firebase_tutorial/tree/master
https://www.mkyong.com/android/android-checkbox-example/
https://medium.com/@febriyanadifatma13021996/android-dasar-cara-berpindah-layout-activity-pada-android-studio-64b96e3e2db9
https://www.tutlane.com/tutorial/android/android-switch-on-off-button-with-examples
https://www.instructables.com/id/Firebase-Integrate-With-ESP8266/http://imamfarisi.com/membuat-file-apk-di-android-studio/
https://github.com/ravindurashmin/android_firebase_tutorial/tree/master
https://www.mkyong.com/android/android-checkbox-example/
https://medium.com/@febriyanadifatma13021996/android-dasar-cara-berpindah-layout-activity-pada-android-studio-64b96e3e2db9
https://www.tutlane.com/tutorial/android/android-switch-on-off-button-with-examples
https://www.instructables.com/id/Firebase-Integrate-With-ESP8266/http://imamfarisi.com/membuat-file-apk-di-android-studio/
Tidak ada komentar:
Posting Komentar