Penggunaan Raspberry Pi sebagai Web Server pada Rumah untuk Sistem Pengendalian Lampu Jarak Jauh dan Pemantauan Suhu
Oleh
Ignatius Prima Haryo Prabowo NIM: 622007009
Skripsi
Untuk melengkapi salah satu syarat memperoleh
Gelar Sarjana Teknik
Program Studi Sistem Komputer
Fakultas Teknik Elektronika dan Komputer
Universitas Kristen Satya Wacana
Salatiga
Penggunaan Raspberry Pi Sebagai Web Server Pada Rumah Untuk Sistem
Pengandali Lampu Jarak Jauh Dan Pemantauan Suhu
Oleh
Ignatius Prima Haryo Prabowo NIM : 622007009
Skripsi ini telah diterima dan disahkan
Untuk melengkapi salah satu syarat memperoleh
Gelar Sarjana Teknik
dalam
Konsentrasi Sistem Embedded
Program Studi Sistem Komputer
Fakultas Teknik Elektronika dan Komputer
Universitas Kristen Satya Wacana
Salatiga
Disahkan oleh :
Pembimbing I Pembimbing II
Saptadi Nugroho, M.Sc. Darmawan Utomo, M.Eng.
PERNYATAAN BEBAS PLAGIAT
Saya, yang bertanda tangan di bawah ini:
NAMA : Ignatius Prima Haryo Prabowo
NIM : 622007009
JUDUL SKRIPSI : Penggunaan Raspberry Pi Sebagai Web Server Pada
Rumah Untuk Sistem Pengandali Lampu Jarak Jauh Dan Pemantauan Suhu
Menyatakan bahwa skripsi tersebut di atas bebas plagiat. Apabila ternyata ditemukan unsur plagiat di dalam skripsi saya, maka saya bersedia mendapatkan sanksi apapun sesuai aturan yang berlaku.
Salatiga, Januari 2014
Ignatius Prima Haryo Prabowo
i
INTISARI
Pada skripsi ini dibuat sebuah sistem yang dapat digunakan untuk mengendalikan lampu dan pompa air listrik yang berada di rumah dari jarak jauh dengan antarmuka
halaman web yang dapat diakses menggunakan jaringan internet atau tanpa jaringan
internet melalui PC atau smartphone. Sistem yang dibuat pada skripsi ini juga memiliki
fasilitas penjadwalan dan dapat digunakan untuk pemantauan suhu ruangan.
Terdapat satu buah modul master dan dua buah modul slave yang telah dirancang
sebelumnya, dengan cara kerja sistem yang dibuat adalah modul Raspberry Pi akan
mengirimkan data yang didapat dari pengguna melalui halaman web ke modul modem
PLC menggunakan komunikasi serial untuk diteruskan ke modul slave menggunakan
komunikasi jala-jala sehingga menghasilkan perintah untuk pengontrolan peralatan yang
terhubung pada modul slave.
Pada hasil pengujian keseluruhan sistem, pengontrolan berhasil dilakukan dengan menggunakan jaringan internet melalui PC dengan tingkat keberhasilan sebesar 90%. Pada
pengujian tanpa menggunakan jaringan internet melalui smartphone via wifi memiliki nilai
prosentase keberhasilan sebesar 92%. Sedangkan untuk hasil pengujian melalui penjadwalan memiliki nilai prosentase keberhasilan sebesar 95%. Kegagalan dalam pengontrolan terjadi apabila pengiriman data perintah pengontrolan dari modul master ke modul slave bersamaan dengan pengiriman data informasi dari modul slave ke modul master, hal tersebut disebabkan karena modul master dan modul slave berkomunikasi
secara half-duplex. Namun kegagalan tersebut dapat diketahui langsung oleh pengguna
dengan melihat gambar indikator yang ada pada halaman web. Apabila gambar indikator
pada halaman web tidak berubah, berarti terjadi kegagalan dalam pengontrolan peralatan
ii
ABSTRACT
In this thesis designed a system that can be used to control lamps and electric water pump that applied at home remotely with a web page interface that can be accessed by using the internet or local area network via a PC or smartphone. The system was made in this thesis also has timetable facility and can be used to monitor the room temperature.
There is one master module and two slave modules that have been designed previously[9]. Raspberry Pi module communicate with the modem PLC module on the master module using serial communication, while the master module and slave modules will communicate by using the power line cable.
On the results of testing,the entire system perform the control using internet network
iii
KATA PENGANTAR
Puji dan syukur penulis ucapkan kepada Allah Bapa Yang Maha Kuasa atas segala rahmat yang diberikan kepada penulis sehingga dapat menyelesaikan perancangan serta penulisan skripsi sebagai syarat untuk menyelesaikan studi di Fakultas Teknik Elektronika dan Komputer Universitas Kristen Satya Wacana.
Pada kesempatan ini penulis juga hendak mengucapkan terima kasih kepada berbagai pihak yang baik secara langsung maupun tidak telah membantu penulis dalam menyelesaikan skripsi ini :
1. Tuhan Yesus dan Bunda Maria terima kasih atas kesehatan, penyertaan dan rejeki
yang telah diberikan, sehingga penulis mampu untuk menyelesaikan studi demi meraih gelar ST.
2. Babe Aloysius Widiono dan Emak Carolina Widiono Pattinama, terima kasih
untuk semua yang telah diberikan selama ini. Mbak Arie, Mas Dody, Mbak Agnes, Mas Markus, terima kasih untuk bantuan, dukungan, dan doanya. Ponakanku Marsel, “om akhirnya lulus sel”.
3. Bapak Saptadi Nugroho, M.Sc dan Bapak Darmawan Utomo, M.Eng selaku
pembimbing I dan pembimbing II, terima kasih untuk bimbingan dan masukannya selama pembuatan skripsi ini.
4. Keluarga besar Bapak A. Joko Purnomo terima kasih untuk dukungannya dan
untuk Restituta Ria Purniasetyaning Tyas terima kasih untuk doa, dukungan , dan selalu menemani selama penulis membuat skripsi ini.
5. Seluruh staff dosen, karyawan dan laboran FTEK, Mbak Rista, Mbak Dita, Mbak
Vera.
6. “Pembimbing 3”, Ius07, Handoko09, Heri07, Albert07, Tio07 terima kasih
banyak untuk saran, masukan, dan bantuan-bantuannya.
7. Keluarga besar FTEK angkatan 2007, kenangan yang tak akan terlupakan
bersama kalian.
8. Keluarga besar kos “Duren” lantai 1.
9. Berbagai pihak yang tidak dapat dituliskan satu persatu, penulis mengucapkan
iv
Penulis menyadari bahwa skripsi ini masih jauh dari kata “sempurna”, oleh karena itu penulis sangat mengharapkan kritik maupun saran dari pembaca sekalian sehingga skripsi ini dapat berguna bagi kemajuan teknik elektronika.
Salatiga, Januari 2014
v
1.3 Spesifikasi Sistem ... 3
1.4 Sistematika Penulisan ... 4
BAB II DASAR TEORI ... 6
2.1 Raspberry Pi....... 6
2.2 Komunikasi Jala-Jala / Power Line Carrier ... 8
2.3 Mikrokontroler ATMega8535 ... 9
2.4 Sensor suhu DS18B20 ... 9
2.5 HyperText Markup Language (HTML) ... 10
2.6 PHP: HyperText Prepocessor (PHP) ... 11
2.7 Web server ... 11
2.8 Transmission Control Protocol/Internet Protocol (TCP/IP) ...... 12
2.9 Transmisi Serial Asynchronous ... 13
2.10 Metode Transmisi Data ... 13
BAB III PERANCANGAN SISTEM ... 15
3.1 Gambaran sistem ... 15
3.2 Perancangan Perangkat Keras ... 17
3.2.1 Perangkat Keras Modul Master ... 17
3.2.1.1Bagian Modul Raspberry Pi ... 17
3.2.1.2Bagian modem PLC ... 23
3.2.2 Perangkat Keras Modul Slave ..... 24
vi
3.2.2.2Bagian Mikrokontroler ... 24
3.2.2.3Bagian Rangkaian Saklar ... 25
3.2.2.4DIP switch ... 26
3.3 Perancangan Perangkat Lunak ... 27
3.3.1 Protokol Komunikasi Data ... 27
3.3.2 Perangkat Lunak Modul Master ... 28
3.3.2.1. Tampilan halaman web ... 28
3.3.2.2. File Htaccess... 33
3.3.2.3. Menambahkan Library Serial Pada Bahasa Pemrograman Python ... 33
3.3.2.4. Program Kirim.py ... 33
3.3.2.5. Program Terima.py ... 35
3.3.3 Perangkat Lunak Modul Slave ... 37
BAB IV PENGUJIAN DAN ANALISIS ... 38
4.1 Pengujian WebServer... 38
4.2 Pengujian Halaman Web ... 39
4.3 Pengujian Gambar Indikator Pada Halaman Web kontrol ... 41
4.4 Pengujian Komunikasi Serial Pada Raspberry Pi ... 42
4.5 Pengujian Sensor Suhu ...... 44
4.6 Pengujian Sistem Keseluruhan ... 45
BAB V KESIMPULAN DAN SARAN ... 52
5.1 Kesimpulan ... 52
5.2 Saran Pengembangan ... 53
DAFTAR PUSTAKA ... 54
vii
DAFTAR GAMBAR
Gambar 2.1. Raspberry Pi model B ... 6
Gambar 2.2. Konfigurasi pin mikrokontroler ATMega8535 ... 9
Gambar 2.3. Konfigurasi pin DS18b20 ... 10
Gambar 2.4. Contoh program PHP dalam file HTML ... 11
Gambar 2.5. Proses request dari pengguna dan response dari server ... 12
Gambar 2.6. Data yang ditransmisikan secara serial ... 13
Gambar 3.1. Gambaran keseluruhan sistem yang dirancang ... 15
Gambar 3.2. Gambaran sistem modul Master ... 17
Gambar 3.3. Aplikasi Win32DiskImager ... 18
Gambar 3.4. Pengaturan alamat IP pada Raspberry Pi ... 19
Gambar 3.5. Pengaturan pada file “interfaces” untuk jaringan internet menggunakan Port ethernet ... 20
Gambar 3.6. Rangkaian pembagi tegangan...22
Gambar 3.7. User berhasil terdaftar pada grup “dialout” ... 22
Gambar 3.8. Perangkat keras modul master ... 23
Gambar 3.9. Gambaran sistem modul slave ...24
Gambar 3.10. Perangkat keras modul slave ... 26
Gambar 3.11. Peringatan username atau password yang dimasukan salah ... 29
Gambar 3.12. Tampilan halaman login.php ... 29
Gambar 3.13. Tampilan halaman web kontrol.php ... 30
Gambar 3.14. Peringatan pada jam ON ... 31
Gambar 3.15. Peringatan pada jam OFF ... 31
Gambar 3.16. Tampilan halaman penjadwalan.php ... 31
Gambar 3.17. Diagram alir halaman web keseluruhan ... 32
Gambar 3.18. Diagram alir program kirim.py ... 34
Gambar 3.19. Diagram alir program terima.py ... 35
Gambar 3.20. Diagram alir program pada mikrokontroler...37
Gambar 4.1. Tampilan halaman web yang muncul pertama kali ... 38
Gambar 4.2. Tampilan halaman web kontrol sebelum ada pengontrolan ... 42
viii
Gambar 4.4. Data tombol yang dikirim ...... 43
Gambar 4.5. Data yang diterima melalui terminal Raspberry Pi ... 43
Gambar 4.6. Skema pengujian sensor suhu ....... 44
Gambar 4.7. Suhu awal sensor ... 45
Gambar 4.8. Suhu setelah dipanaskan ... 45
Gambar 4.9. Skema pengujian pengontrolan peralatan menggunakan koneksi Internet melalui PC ...... 46
Gambar 4.10. Skema pengujian pengontrolan peralatan tanpa menggunakan koneksi internet melalui Smartphone ...48
Gambar 4.11. Skema pengujian pengontrolan peralatan melalui penjadwalan tanpa menggunakan koneksi internet melalui PC... 50
Gambar 4.12. Pengujian keseluruhan sistem...51
ix
DAFTAR TABEL
Tabel 1.1. Perbandingan spesifikasi sistem ... 2
Tabel 2.1 Konfigurasi dari pin GPIO yang tersedia pada Raspberry Pi... 7
Tabel 3.1. Modul yang terdapat pada modul master ... 16
Tabel 3.2. Modul yang terdapat pada modul slave ... 16
Tabel 3.3. Pin yang digunakan pada modul Raspberry Pi ... 21
Tabel 3.4. Konfigurasi pin yang digunakan pada modul mikrokontroler.... 25
Tabel 4.1. Hasil pengujian halaman web ... 39
Tabel 4.1. Hasil pengujian halaman web ... 40
Tabel 4.2. Hasil pengujian pengontrolan peralatan menggunakan koneksi internet melalui PC ... 47
Tabel 4.3. Hasil pengujian pengontrolan peralatan tanpa menggunakan koneksi internet melalui Smartphone ... 48
x
x
DAFTAR SINGKATAN
PLC Power Line Carrier
HTML HyperText Markup Language
PHP PHP: HyperText Prepocessor
TCP/IP Transmission Control Protocol/Internet Protocol
PC Personal Computer
SoC System on a chip
CPU Central Processing Unit
GPU Graphics Processing Unit
IC Integrated Circuit
USB Universal Serial Bus
DSI Display Serial Interfaces
CSI Camera Serial Interfaces
OS Operating System
SD Secure Digital
MSB Most Significant Bit
HTTP HyperText Transfer Protocol
HTTPS HyperText Transfer Protocol Secure
ISP Internet Service Provider
BFSK BinaryFrequency Shift Keying