Anda di sini

Pemrograman

Raspberry Pi Smart Home Controller Dengan Antarmuka Web Moderen

Aditya Suranata - 23 April 2016 19:09:02 3

Mengapa melakukan interfacing menggunakan antarmuka web moderen?

Menggunakan teknologi web sebagai antarmuka sistem memberikan kita banyak keuntungan ketimbang menggunakan aplikasi native (desktop/bawaan platform). Keuntungan yang kita dapatkan diantarnya adalah kemudahan dalam penyebaran sistem (deployment) dan pengembangan sistem (development).

Dengan menggunakan teknologi web sebagai antarmuka, kita dapat menjangkau banyak platform (multi-platform), baik platform mobile, desktop bahkan embedded sekalipun. Hal ini dikarenakan teknologi web telah tersemat kedalam banyak platform yang kita jumpai dewasa ini. Hanya diperlukan sebuah web browser moderen, dan sistem kita pun dapat diakses dari perangkat tersebut.

Menggunakan teknologi web juga mempermudah kita dari sisi pengembangan. Kita tidak perlu membuat banyak versi aplikasi hanya untuk mendukung platform tertentu. Cukup implementasi sekali saja disisi server, dan antarmuka yang berbasis web telah dapat diakses di berbagai macam perangkat yang menggunakan platform berbeda.

Contoh nyatanya yang paling sering kita gunakan adalah aplikasi media sosial seperti Facebook dan Twitter. Meskipun kita tidak menginstal aplikasi native pada perangkat kita, kita masih dapat mengakses dan menggunakan sistem mereka dengan menggunakan antarmuka berbasis web hanya dengan menggunakan web browser yang telah terinstall di perangkat kita.

Begitu pula halnya dengan Raspberry Pi. Untuk dapat mengakses perangkat yang terhubung ke Raspi kita, kita dapat membuatkan sebuah antarmuka sistem berbasis web sehingga juga dapat diakses menggunakan banyak perangkat dari mana saja. Pada tulisan kali ini, kita akan membuat proyek mengenai cara membuat antarmuka (interfacing) berbagai macam sensor dan transducer di Raspi menggunakan bahasa pemrograman Python, untuk dikembangkan menjadi smart home controller berbasis Raspberry Pi.

Tingkatan Kesulitan & Tahapan

Tulisan ini diperuntukan bagi para pemula tingkat menengah yang telah memiliki kemampuan dan pengalaman dalam menggunakan dan memprogram Raspberry Pi. Alur dari tulisan ini akan dimulai dengan langkah yang paling pertama yaitu:

  1. Setting lingkungan jaringan & internet di Raspberry Pi
  2. Menginstall dan mempersiapkan lingkungan pemrograman headless-mode di Raspberry Pi
  3. Setup Python 3 untuk menjalankan Tornado Web Framework
  4. Membuat template dan menghubungkan antarmuka web ke server menggunakan WebSocket
  5. Interfacing Sensor & Aktuator menggunakan Python 3
  6. Pengembangan

Keperluan Perangkat Keras

  1. Seperangkat Raspberry Pi 1, 2, 3 yang telah terinstall sistem operasi Debian Jessie.
  2. Koneksi Internet (kabel / wifi)
  3. Sensor Suhu DS18B20 x1
  4. Sensor Ultrasonic SRF-HC04 x1
  5. Lampu LED x1
  6. Relay 5V x2

Link turorial?

Untuk pengkabelan ada pada masing-masing tutorial "Artikel Terkait" dibawah, dan untuk setup ada pada tutorial [Setup] Salamigal - Smart Home Controller Modern Web Interface. Semuanya sudah ada di link tutorial terkait di bawah. Silahkan dicoba, apabila mendapat kesulitan bisa diskusi dibawah Biggrin

10.567
Daftar Artikel Terkait
Image

Aditya Suranata

Aditya suka menulis, bukan hanya sekedar hobi, menulis menjadi medianya untuk mencurahkan pikiran dan perasaan. Di TutorKeren.com kebanyakan menyumbang tulisan sesuai dengan minat dan keahliannya yaitu pada kategori pemrograman dan elektronika. Selain itu juga gemar menulis mengenai hal-hal umum, seperti ilmu alam, sosial dan beberapa pengalamannya yang mungkin bisa berguna untuk orang lain.

Artikel Menarik Lainnya

Komentar

Gan saya mau nanya jika saya ingin menambahkan relay yang ingin di pakai itu penambahan scripnya dmn aja ya gan mohon bantuannya

Halo Gan,

Silahkan edit script salamigalnet.py, terus tambahkan dua block kode untuk inisialisasi relay, tinggal copy aja kode relay contohnya,

pada baris ke 25 sampai 29:

#Manually create relay 2
relay_2 = Relay(18)
relay_2.name = 'AC Samsung 1PK'
relay_2.location = 'Kamar'
relay_2.load_watt = 500

ganti angka dua dengan 3, hingga 8 jika menggunakan 8 relay. Ingat bagian yang paling penting ketika menambah relay adalah pin GPIOnya pastikan cocok untuk output relay. Pada contoh ini menggunakan GPIO nomer 18. Silahkan sesuaikan sendiri. Kemudian block kodenya yang kedua ada di baris 81 sampai 91, copas juga dibawahnya dan ganti angkanya dengan 3 dan seterusnya hingga 8.

{
                'uid': {'label': 'UID', 'value': relay_2.uid},
                'name': {'label': 'Device Name', 'value':  relay_2.name},
                'location': {'label': 'Location', 'value': relay_2.location},
                'group': {'label': 'Group/Type', 'value':relay_2.group},
                'watt': {'label': 'Load (Watt)', 'value': relay_2.load_watt},
                'ontime': {'label': 'ON time (Hours)', 'value':  round(relay_1.get_ontime(),2)},
                'state': {'label': 'Load State', 'value': relay_2.state},
                'stream': {'label': 'Streaming', 'value': relay_2.streaming},
                'usage': {'label': 'Usage (Wh)', 'value': round(relay_2.get_usage(),2)}
},

Simpan lalu jalankan, antarmukanya akan otomatis menyesuaikan dengan jumlah relay yang ada, karena berkat React, antarmukanya jadi dinamis menyesuaikan dengan konfigurasi server, sehingga tidak perlu rubah kode apapun dibagian antarmuka.

Semoga membantu, jika masih bingung silahkan tanya lagi

HTSL://HIGH THINKING SIMPLE LIVING . ME

misal mau nambah webcam bisa ga? tutor sedikit donk gan klo bisa
Mari Gabung

Halo Emo 51 , Ada yang ingin disampaikan? Jangan sungkan untuk gabung diskusi ini. Silahkan Login dulu atau Daftar baru.