AI Assistant
Detail Karya Portofolio

RESUME MATERI SMART HOME

Muhammad Ladzi Safroni Oleh: Muhammad Ladzi Safroni

Ringkasan Portofolio

Smart home merupakan salah satu implementasi konsep teknologi Internet of Things yang di dalamnya terhimpun beberapa perangkat, seperti smart lamp, smart fan, smart water pump, dan smart doorlock. Tujuan dari smart home di antaranya untuk mengefisiensikan waktu, energi, serta memberikan kenyamanan bagi penggunanya.

Deskripsi & Detail Proyek

I. Pengertian Smart Home
Smart home merupakan salah satu implementasi konsep teknologi Internet of Things yang di dalamnya terhimpun beberapa perangkat, seperti smart lamp, smart fan, smart water pump, dan smart doorlock. Tujuan dari smart home di antaranya untuk mengefisiensikan waktu, energi, serta memberikan kenyamanan bagi penggunanya.

II. Sensor yang digunakan Smart Home
Ada banyak sensor yang digunakan Smart Home yang terdiri dari:

1. Sensor DHT 11
Sensor DHT 11 merupakan sensor suhu dan kelembapan. Dengan menggunakan sesnsor DHT 11 kita dapat mengukur suhu dan kelembapan hanya dengan menggunakan satu sensor saja. DHT 11 memiliki output sinyal digital. Sensor DHT11 dapat berkerja pada tegangan 3 - 5,5 Volt DC.

2. Sensor LDR (Light Dependent Resistor)
Sensor LDR adalah sensor analog yang digunakan untuk mengukur intensitas cahaya. Sensor LDR menggunakan resistor variabel untuk mengukur intensitas cahaya. Tahanan resistor akan berubah-ubah sesuai dengan cahaya yang tersedia. Ketika nilai tahanannya besar maka intensitas cahaya kecil dan jika nilai tahanannya kecil maka intensitas cahaya besar. Terdapat 2 jenis sensor yang beredar dipasaran yaitu sensor LDR dengan PCB dan sensor LDR tanpa PCB. Sensor LDR dengan PCB memiliki output analog maupun digital.

Sensor LDR tanpa PCB memiliki 2 pin. 1 pin digunakan untuk VCC dan satu pin lagi digunakan sebagai output. Pin output harus di-jumper dengan gorund menggunakan resistor. Ketika menggunakan LDR dengan PCB kita dapat memiliki antara pin A0 dan D0 sebagai output. Untuk sinyal analog menggunakan pin A0 dan untuk sinyal digital menggunakan pin D0.

3. Water Level Sensor
Water level sensor merupakan sensor analog yang memanfaatkan nilai resistansi untuk mengukur ketinggian air. Badan sensor terbuat dari bahan yang tidak dapat menghantarkan listrik. Pada badan sensor kemudian diberikan garis-garis dari bahan yang dapat menghantarkan listrik. Ketika tidak ada air yang mengenai badan sensor maka nilai resistansi akan tinggi dan jika badan sensor terkena air maka nilai resistansi akan rendah karena air akan menghantarkan listrik antara garis-garis pada badan sensor.

III. Pemrograman Smart Home (Web Service)
pemrograman menggunkan bahasa C/C++ dan juga aplikasi Arduino IDE sebagai compiler dan uploader program. Perbedaan pemrograman ini dengan pemrograman web server adalah pada pemrograman ini ESP32 akan mengakses server cloud menggunakan API (Application Programming Interface) untuk mendapatkan perintah menyalakan dan mematikan alat-alat smart home dan juga memasukkan hasil pembacaan sensor kedalam database.

Pada pemrograman ini dibutuhkan API dari servis-servis yang akan diakses dan juga sertifikat dari server, karena pada pemrograman ini kita menggunakan protokol HTTPS sehingga lebih unggul dari sisi keamanan dibandingkan menggunakan metode HTTP. Beberapa fungsi seperti Task1code, eepromstate, WiFiConnect, OtaSetup memiliki kegunaan yang sama dengan fungsi-fungsi pada pemrograman web server.

IV. Library yang digunakan pada Smart Home
1. Void setup
Void setup berisi pemanggilan fungsi-fungsi dan juga inisiasi eeprom, komunikasi serial, multitasking.

2. Void Loop
Void loop berisi pemanggilan fungsi-fungsi yang berguna untuk mengambil perintah mematikan atau menyalakan relay dan juga mengirim hasil pembacaan sensor ke server. Pada void loop diberikan delay sebesar 20 detik supaya tidak membebani server.

3. Task1code, eepromstate, WiFiConnect, OtaSetup
Fungsi Task1code, eepromstate, WiFiConnect, OtaSetup (Line 115 - 245) sama denga pemrograman fungsi-fungsi pada pemrograman web server.

4. setClock
Fungsi setClock digunakan untuk mengatur waktu pada ESP32 untuk mengikuti waktu pada dunia sebenarnya. Pengaturan waktu ini penting untuk mengakses server karena waktu harus sesuai dengan waktu pada dunia sebenarnya.

5. postIpAddress
Fungsi postIpAddress digunakan untuk memasukkan Ip Address ESP32 kedalam database.

6. getUpdateCommand
Fungsi getUpdateCommand digunakan untuk mengambil perintah untuk mengendalikan alat-alat smart home dari database dan juga untuk memperbaharui status bahwa perintah sudah dibaca oleh ESP32. Terdapat 4 fungsi getUpdateCommand yaitu getUpdateCommand_1, getUpdateCommand_2, getUpdateCommand_3, dan getUpdateCommand_4 (Line 297 – 608). Setiap fungsi digunakan untuk alat smart home yang berbeda. Perbedaan setiap fungsi adalah pada API yang diakses dan juga alat smart home yang dikendalikan. Disini hanya akan dicontohkan 1 fungsi saja.

7. readPostSensor_DHT11
Fungsi readPostSensor_DHT11 digunakan untuk memasukkan suhu dan kelembapan hasil pembacaan sensor DHT11 kedalam database.

8. readPostSensor_LDR
Fungsi readPostSensor_LDR digunakan untuk memasukkan intensitas cahaya hasil pembacaan sensor LDR kedalam database.

9. readPostSensor_waterLevel
Fungsi readPostSensor_waterLevel digunakan untuk memasukkan ketinggian air hasil pembacaan sensor water level kedalam database.

V. Rangkaian alat yang akan dibuat pada Smart Home
1. Pengendali Lampu, alat ini berfungsi untuk mengendalikan lampu pada rumah. Lampu yang dikendalikan dapat berbagai macam seperti lampu taman, lampu depan, lampu didalam rumah, atau lampu-lampu lainnya. Pada alat ini juga terdapat sensor LDR yang berfungsi untuk mengetahui intensitas cahaya di sekitar tempat sensor LDR diletakkan.

2. Pengendali Kipas Angin, alat ini berfungsi untuk mengendalikan kipas angin. Pada alat ini juga terdapat sensor DHT 11 yang berfungsi untuk mengetahui suhu dan kelembapan ruangan.

3. Pengendali Kunci Pintu, alat ini digunakan untuk mengendalikan kunci pintu yang menggunakan solenoid door lock. Alat ini sangat berguna jika pengguna lupa mengunci pintu atau bahkan ingin membuka pintu ketika misalkan ada kerabat yang ingin berkunjung ke rumah.

4. Pengendali Keran Air, alat ini digunakan untuk mengendalikan keran air yang menggunakan solenoid valve. Dapat diterapkan pada penampungan air ataupun bak kamar mandi. Pada alat ini juga terdapat water level sensor yang berfungsi untuk mengetahui ketinggian air pada bak atau penampungan air.