Otomasi Rumah Pintar melalui Aplikasi Android & IoT
Komponen dan Perlengkapan
 | | × | 1 | |
 | | × | 1 | |
 | | × | 1 | |
| | × | 1 | |
 | | LCD Standar Adafruit - 16x2 Putih di Atas Biru |
| × | 2 | |
| | × | 1 | |
 | | × | 1 | |
 | | Sensor Suhu & Kelembaban DHT11 (4 pin) |
| × | 1 | |
 | | × | 5 | |
| | × | 1 | |
 | | Tombol Tekan Pushbutton SparkFun 12mm |
| × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
 | | × | 1 | |
 | | × | 1 | |
| | × | 1 | |
 | | × | 1 | |
| | × | 1 | |
Alat dan Mesin yang Diperlukan
Aplikasi dan Layanan Online
 | | |
 | | |
 | | |
| | |
| | Aplikasi arduino meet robot |
| |
Tentang Proyek Ini
Video
Sebelum melanjutkan, saya mohon penonton saya untuk menonton video proyek ini sehingga mereka tahu bagaimana hal-hal berlangsung dan apa saja hal-hal keren dalam proyek ini.
Berikut adalah video untuk proyek ini:
Ringkasan
Beberapa tahun terakhir, rumah pintar menjadi kata yang sangat populer dan ramai. Banyak orang mencoba menyampaikan versi mereka sendiri dari arsitektur rumah pintar, tetapi sebagian besar dari mereka kurang integrasi perangkat rumah pintar. Juga keamanan adalah kekhawatiran besar dalam arsitektur rumah pintar. Beberapa teknologi komunikasi yang digunakan oleh arsitektur rumah pintar ini termasuk bluetooth, GSM, Zigbee, dll. Semua arsitektur ini memiliki kelebihan dan kekurangan masing-masing. Di tahun terakhir saya di teknik, saya mencoba mengimplementasikan arsitektur rumah pintar terintegrasi yang dapat dipantau dan dikontrol oleh aplikasi seluler yang ramah pengguna. Juga, semua sistem akan terhubung dan perintah suara akan ditambahkan untuk mengontrol perangkat dalam rentang tertentu. Jadi berikut adalah fitur-fitur ciri khas arsitektur otomatisasi rumah saya:
- Sistem keamanan dua level menggunakan keypad numerik dan RFID mencegah akses rumah kepada perampok.
- Unggahan foto online dalam kasus pencurian, pengawasan video jarak jauh di mana video diunggah ke server lokal yang dapat dilihat oleh pengguna menggunakan browser web apa pun.
- Memantau lingkungan rumah menggunakan pembacaan berbagai sensor seperti DHT11, sensor api, sensor MQ3 dan MQ135 melalui aplikasi android.
- Mengontrol perangkat seperti led, motor servo, dll melalui aplikasi android.
- Jadwal otomatis perangkat berdasarkan preferensi yang ditetapkan oleh pengguna melalui aplikasi android.
- Rumah mempersiapkan perangkat (pemanas air, mesin kopi) berdasarkan preferensi yang ditetapkan oleh pengguna saat pengguna mendekati rumah.
- Mengontrol perangkat menggunakan suara manusia.
Prasyarat
- Anda harus familiar dengan pemrograman C
- Anda harus familiar dengan penggunaan Arduino IDE dan deploy kode ke papan Arduino
Instruksi - Ikuti langkah-langkah ini
Sebelum melanjutkan, silakan lihat video saya untuk proyek ini sehingga Anda dapat mendapatkan ide tentang bagaimana hal-hal bekerja dan bagaimana koneksi dibuat.
Langkah 1- Rangkai Seluruh Sistem
Buat koneksi sesuai dengan diagram rangkaian yang dilampirkan di bawah ini. Ada banyak koneksi yang harus dibuat jadi sabarlah dan buat semua koneksi dengan hati-hati. Saya sarankan untuk membuat beberapa jenis arsitektur rumah menggunakan kardus sehingga Anda dapat merasakan asli Otomatisasi Rumah. Hati-hati dengan sensor Gerak PIR karena rentan terhadap perubahan sensitif. Pasang rapat agar tidak memberikan false positive sebaliknya pintu Anda akan terbuka secara tidak terduga.
Koneksi RFID adalah sebagai berikut:
- MOSI ---> PIN 51
- MISO ---> PIN 50
- SCK ---> PIN 52
- SS/SDA ---> PIN 9
- RST ---> PIN 8
Sambungkan pin 20 mega ke pin 2 arduino yun dan pin 21 arduino mega ke pin 3 arduino yun untuk komunikasi I2C.
Langkah 2- Buat Akun Temboo dan Atur Dropbox API
Langkah berikutnya dalam proyek ini adalah untuk membuat dan menyiapkan akun pada layanan web Temboo, sehingga Anda dapat menggunakan berbagai layanan yang disediakan oleh Temboo. Untuk melakukannya, langkah pertama adalah cukup pergi ke situs web Temboo di https://temboo.com/. Di halaman utama, cukup masukkan alamat email Anda untuk mendaftar dan klik Sign up. Anda kemudian akan diminta untuk memasukkan beberapa informasi dasar tentang akun Anda, seperti nama akun Anda. Kemudian, Anda akan diminta untuk membuat aplikasi pertama Anda. Pastikan Anda menyimpan detail akun Anda, seperti nama aplikasi pertama Anda dan kunci yang akan diberikan kepada Anda. Jika Anda perlu mendapatkan nilai-nilai ini lagi atau membuat aplikasi baru, Anda selalu dapat mengakses data ini di bagian My Account situs web Temboo dengan meneklan tombol MANAGE di bawah APPLICATIONS.
Sekarang, di sisi perangkat lunak, Anda akan membutuhkan lebih dari sekadar Arduino IDE. Kami akan menginstal perangkat lunak yang diperlukan untuk kamera langsung pada papan Yún saat kami terhubung ke itu melalui SSH, tetapi Anda akan membutuhkan Temboo Python SDK untuk mengunggah gambar ke Dropbox. Anda dapat menemukan SDK di https://temboo.com/python. Saatnya untuk membongkarnya dan menempatkannya di root kartu SD juga. Pastikan saja bahwa itu muncul dengan nama temboo di root kartu SD, sehingga file Python yang baru saja kita buat dapat mengaksesnya dengan benar Kemudian, Anda juga perlu memiliki akun Dropbox, sehingga Anda dapat mengunggah gambar ke sana. Anda dapat dengan mudah membuat akun dengan pergi ke https://www.dropbox.com/home. Setelah akun Anda dibuat, Anda perlu membuat aplikasi yang akan digunakan oleh proyek Anda. Ini berarti dasarnya Anda harus mengizinkan proyek yang akan Anda bangun dalam bab ini untuk secara otomatis mengirim gambar ke akun Dropbox Anda tanpa harus memasukkan login dan kata sandi Anda setiap kali. Anda juga akan diberikan semua informasi yang diperlukan (seperti API key) yang akan kita masukkan nanti dalam skrip Python pada Yún.
1. Untuk membuat aplikasi, pertama pergi ke https://www.dropbox.com/developers/apps.
2. Kemudian, klik Create app di sudut kanan atas jendela. Anda sekarang dapat memilih jenis aplikasi yang ingin Anda buat. Dalam kasus kami, kita ingin menggunakan Dropbox API secara langsung.
3. Anda kemudian akan diminta untuk memilih jenis data yang diperlukan oleh aplikasi Anda. Kami ingin mengunggah gambar, jadi pilih Files and datastores.
4. Anda kemudian dapat menyelesaikan proses pembuatan aplikasi Dropbox Anda.
5. Di halaman konfirmasi yang menjelaskan aplikasi, Anda perlu mencatat App key dan App secret, yang akan kita butuhkan untuk sisa proyek.
6. Juga, pastikan bahwa kolom Permission type diatur ke App folder. Ini akan memastikan gambar diunggah ke folder khusus untuk aplikasi dan Yún tidak akan memiliki akses ke sisa folder Dropbox Anda.
7. Apa yang Anda butuhkan sekarang adalah Token key dan Token secret yang terkait dengan aplikasi Dropbox Anda, sehingga Anda dapat memasukkannya nanti dalam perangkat lunak proyek kami. Untuk mendapatkannya, langkah pertama adalah pergi ke InitialiseOAuth Choreo di situs web Temboo di https://temboo.com/library/Library/Dropbox/OAuth/InitializeOAuth/. Di sini, Anda perlu memasukkan App key dan App secret. Ini akan menghasilkan informasi tambahan seperti callback ID dan token secret sementara. Anda juga akan diminta untuk mengunjungi tautan ke Dropbox untuk mengonfirmasi autentikasi.
8. Akhirnya, pergi ke halaman FinalizeOAuth untuk menyelesaikan proses. Anda akan diminta untuk memasukkan App key, App secret, callback ID, dan token secret sementara di https://temboo.com/library/Library/Dropbox/OAuth/FinalizeOAuth/. Setelah langkah ini, Anda akan diberikan Token key dan Token secret akhir. Catat mereka karena Anda akan membutuhkannya nanti.
Langkah 3: Instalasi Driver di Arduino Yun
Instal perangkat lunak Putty dan buka. Masukkan alamat IP arduino yun Anda dan pilih ssh dan klik open. Masukkan root sebagai nama pengguna Anda dan Anda kemudian akan diminta untuk memasukkan kata sandi yang Anda pilih untuk Yún Anda (Kata sandi default adalah arduino). Jika berhasil, Anda harus melihat tangkapan layar berikut yang ditampilkan di terminal Anda, yang menunjukkan bahwa Anda sekarang bekerja langsung pada Yún.
Anda dapat mengakses semua fungsi dari mesin Linux Yún Anda. Kami sekarang akan menginstal perangkat lunak yang diperlukan untuk kamera. Ini memerlukan Arduino Yún terhubung ke Internet sehingga dapat mendapatkan paket yang diperlukan, seperti yang dijelaskan dalam langkah-langkah berikut:
1. Proses dimulai dengan memperbarui manajer paket, opkg, sebagai berikut: opkg update
2. Instal driver UVC, sebagai berikut: opkg install kmod-video-uvc
3. Instal paket python-openssl yang akan kita gunakan nanti dalam proyek, seperti yang ditunjukkan dalam perintah berikut: opkg install python-openssl
4. Akhirnya, Anda dapat menginstal perangkat lunak fswebcam yang akan kita gunakan untuk mengambil gambar, seperti yang ditunjukkan dalam perintah berikut: opkg install fswebcam
Langkah 4: Pengawasan Video Langsung
Untuk membuat aplikasi bekerja, kita pertama perlu menginstal beberapa paket perangkat lunak tambahan pada Yún, seperti yang ditunjukkan dalam langkah-langkah berikut:
1. Terhubung ke Yún lagi menggunakan SSH dengan nama dan kata sandi Arduino Yún Anda, dan ketik perintah berikut untuk mendapatkan paket yang benar untuk streaming langsung: wget https://www.custommobileapps.com.au/downloads/mjpgstreamer.ipk
2. Perhatikan jika tautan tidak valid lagi dan Anda tidak dapat menemukan file, paket ini juga tersedia dalam kode dari bab ini. Anda sekarang dapat menginstalnya dengan perintah berikut: opkg install mjpg-streamer.ipk
3. Anda sekarang dapat memulai perangkat lunak streaming langsung pada Arduino Yún Anda menggunakan perintah berikut:
mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 640x480 -f 25" -o "output_http.so -p 8080 -w /www/webcam" &
Di sini, parameter setelah –h adalah resolusi dan yang setelah –i adalah port di mana stream akan tersedia. Kami juga menentukan jumlah frame per detik menggunakan perintah –I. Opsi lainnya kurang penting dan Anda tidak perlu khawatir tentang mereka. Anda kemudian dapat mengakses stream Anda dengan pergi ke alamat Arduino Yún Anda di browser web Anda diikuti oleh 8080 untuk menentukan port yang benar. Misalnya, tautan akan seperti ini https://yourarduinoyunipaddress.local:8080/stream.html. Ganti yourarduinoyunipaddress di tautan di atas dengan alamat IP arduino yun Anda.
Langkah 5: Menyiapkan Akun Twilio untuk Pesan Teks
Daftar di https://www.twilio.com/. Catat account sid dan auth token. Beli nomor gratis di twilio dan juga verifikasi nomor yang akan Anda kirim pesan teks di bawah bagian verified caller ids. Setelah nomor Anda diverifikasi, Anda siap untuk mengirim pesan ke nomor itu. Sekarang masuk ke temboo.com. Pergi ke tautan ini https://temboo.com/library/Library/Twilio/SMSMessages/SendSMS/ dan berikan kredensial yang Anda dapatkan dari twilio. Sebelum Anda klik run now, catat informasi tambahan. Klik run now dan berikan informasi tambahan yang diperlukan dan simpan profil dengan beberapa nama. Nama profil ini akan digunakan dalam kode arduino yun. Pergi ke baris 208 dalam kode arduino yun dan ganti your_profile_name dengan nama profil Anda. Pastikan saat Anda menekan tombol run now di temboo, itu tidak akan memberikan kesalahan di sana sebaliknya ada yang salah dengan kredensial Anda yang perlu Anda pecahkan sendiri.
Langkah 6: Menyiapkan Akun Blynk dan Mengonfigurasi Aplikasi Blynk
Unduh aplikasi blynk dari playstore menggunakan tautan ini https://play.google.com/store/apps/details?id=cc.blynk.
Setelah Anda mengunduh Aplikasi Blynk, Anda perlu membuat Akun Blynk baru. Setelah Anda berhasil masuk ke akun Anda, mulai dengan membuat proyek baru. Pilih model hardware sebagai Arduino yun. Auth Token adalah pengidentifikasi unik yang diperlukan untuk menghubungkan hardware Anda ke ponsel cerdas Anda. Setiap proyek baru yang Anda buat akan memiliki Auth Token sendiri. Anda akan menerima Auth Token secara otomatis di email Anda setelah pembuatan proyek. Anda juga dapat menyalinnya secara manual. Klik bagian devices. Sekarang tekan tombol “Create”. Tambahkan widget sesuai dengan instruksi berikut:
Buat empat tab sebagai home, hvac, monitoring dan control
Home
Di bawah tab home pilih empat widget: LCD, Value Display, Level H dan notification.
Konfigurasikan input LCD sebagai V1.
Nama value display sebagai fire sensor dan konfigurasikan input fire sensor sebagai V11 dan peta dari rentang 0 ke 1023 dan buat kecepatan pembacaan sebagai 1 detik.
Nama level h sebagai fire level dan konfigurasikan input sebagai V12 dan peta dari rentang 0 ke 1023 dan buat kecepatan pembacaan sebagai push.
Konfigurasikan notifikasi dengan prioritas normal.
HVAC
Di bawah tab HVAC pilih LCD, Slider, Value display(2) , history graph.
Konfigurasikan input lcd sebagai V3.
Ganti nama slider sebagai fan dan konfigurasikan output sebagai D9 dan peta dari 0 ke 255.
Ganti nama dua value display dengan room1 temp dan room2 temp. Konfigurasikan satu input sebagai V2 dan input lainnya sebagai V6 dan peta keduanya dari 0 ke 50 dengan kecepatan pembacaan 1 detik.
Konfigurasikan input history graph sebagai V9 dan V8. Berikan nama room1 temp yang sesuai dengan V9 dan room2 temp yang sesuai dengan V8.
Monitoring
Di bawah tab monitoring pilih labeled value (2), graph(2), history graph.
Ganti nama 2 widget labeled value dengan room1 humidity dan room2 humidity dan setel input sebagai V5 dan V7 dan peta dari 0 ke 100 dengan kecepatan pembacaan 1 detik.
Ganti nama 2 graph sebagai room 1 humidity dan room 2 humidity dengan pin input V10 dan V9 dengan rentang 0 ke 100 dan kecepatan pembacaan 1 detik.
Konfigurasikan input history graph sebagai V10 dan V7. Berikan nama room1 humid yang sesuai dengan V10 dan room2 humid yang sesuai dengan V7.
Control
Di bawah tab control pilih lcd, value display(2), labeled value, slider, time input , GPS Track.
Konfigurasikan input lcd sebagai V4.
Konfigurasikan input value display sebagai V19 dan V20 dengan rentang dari 0 ke 1023 dan kecepatan pembacaan 1 detik.
Konfigurasikan input labeled value sebagai V21 dan rentang bervariasi dari 0 ke 1023 dengan kecepatan pembacaan 1 detik.
Ganti nama pengaturan slider sebagai Main room light dan output dari 0 ke 255 dengan interval penulisan 100ms.
Konfigurasikan time input V31 dan konfigurasikan allow start/stop input sebagai yes, allow day of week selection sebagai yes, allow timezone selection sebagai yes.
Konfigurasikan gps track input sebagai v29 dan trigger when sebagai enter. Ini akan memungkinkan sistem untuk memicu pin v29 menyala (yang mungkin terhubung ke pemanas air misalnya) ketika pengguna telah tiba di dalam peta. Anda dapat mengubah radius peta sesuai keinginan Anda.
Klik tombol run.
Selamat! Sekarang Anda dapat mengontrol dan memantau lingkungan rumah dari ponsel cerdas android Anda.
Operasi Perangkat Kendali Suara
Unduh aplikasi AMR_VOICE dari tautan ini dan konfigurasikan bluetooth dengan HC05. Deploy kode yang disebutkan di bawah ini bernama voice control for arduino uno ke arduino uno. Klik connect robot di aplikasi. Pastikan ponsel cerdas Anda telah dipasangkan dengan hc05. Tekan ikon suara dan ucapkan string yang disebutkan dalam kode untuk menyalakan/mematikan perangkat Anda.
Beritahu saya jika Anda mengalami masalah saat membuat proyek ini. Beberapa langkah tidak ditampilkan secara detail dengan mempertimbangkan fakta bahwa pengguna mungkin familiar dengan dasar-dasar arduino, c dan pemrograman linux dasar. Jangan ragu untuk bertanya apapun di bagian komentar jika Anda terjebak di mana pun atau di langkah mana pun.
Catatan: Saya telah memigrasikan semua dokumen dan kode ke repositori git publik saya. Silakan pergi ke tautan https://github.com/akib-islam/Android-App-Based-Home-Automation-System-Using-IOT untuk mengunduh kode sumber, file skematik dan referensi arsitektur. Juga, jika Anda ingin berkontribusi atau menambahkan fitur baru ke proyek ini, buat pull request di repositori github saya. Jika ada masalah dengan kode atau lingkungan setup, laporkan masalah di repositori github.
Salam!
Kode
Codebase untuk proyek ini
Unduh kode untuk proyek ini dari repositori git saya. Jika Anda ingin menambahkan lebih banyak fitur ke proyek ini, silakan buat pull request di repositori saya.https://github.com/akib-islam/Android-App-Based-Home-Automation-System-Using-IOT
Skematik
Skematik untuk proyek
Unduh skematik dari repositori github saya. https://github.com/akib-islam/Android-App-Based-Home-Automation-System-Using-IOT