untuk aplikasispmi.poltekba.ac.id/spmi/fileta/140309248793_2017.pdf · gambar 4.9 remote kipas...
Post on 11-Mar-2019
237 Views
Preview:
TRANSCRIPT
PERANCANGAN REGISTRATION SERVER
UNTUK APLIKASI
INTERNET OF THINGS
TUGAS AKHIR
ARIEF NUR MUHAMMAD
NIM : 140309248793
POLITEKNIK NEGERI BALIKPAPAN
JURUSAN TEKNIK ELEKTRONIKA
BALIKPAPAN
2017
ARIEF NUR MUHAMMAD
NIM : 140309248793
POLITEKNIK NEGERI BALIKPAPAN
JURUSAN TEKNIK ELEKTRONIKA
BALIKPAPAN
2017
i
PERANCANGAN REGISTRATION SERVER
UNTUK APLIKASI
INTERNET OF THINGS
JUDUL
TUGAS AKHIR
KARYA TULIS INI DIAJUKAN SEBAGAI SALAH SATU SYARAT
UNTUK MEMPEROLEH GELAR AHLI MADYA DARI POLITEKNIK
NEGERI BALIKPAPAN
ARIEF NUR MUHAMMAD
NIM : 140309248793
POLITEKNIK NEGERI BALIKPAPAN
JURUSAN TEKNIK ELEKTRONIKA
BALIKPAPAN
2017
ARIEF NUR MUHAMMAD
NIM : 140309248793
POLITEKNIK NEGERI BALIKPAPAN
JURUSAN TEKNIK ELEKTRONIKA
BALIKPAPAN
2017
iv
LEMBAR PERSEMBAHAN
Karya ilmiah ini kupersembahkan kepada
Ayahanda dan Ibunda tercinta
Budiarto dan Kartilah
Saudaraku yang kusayangi
Nur Fitriana
Hafizzuddin Nur
Abdurrahman As Shiddiq
Nur ‘Aini Az Zahra
Naura Meutia Azizah
Dosen Pembimbing Tugas Akhir Saya
Bapak Ali Abrar, S.Si., M.T.
Sahabat Yang Kusayangi
Dwi Imam Rohmadi
Dwi Kadarianto
Handoko Puji Renggono
vi
ABSTRACT
Along with the development of the times and the increasing economy of the
community the demand for safe and comfortable home is increasingly increasing,
and the use of the internet that we unknowingly present in our lives sehai day makes
us as a society that is in the round of IoE (Internet of Everything) so I am interested
to Developing smart home with the concept of Internet of Thing as a smaller scale
of the Internet of Everything. In this report the author wishes to convey that there
are many ways to learn the internet of things, such as by using the PL-App
application from cisco.
Key Words : Internet Of Everything (IOE), Internet Of Things (IOT), Smart
Home, Raspberry PI
vii
ABSTRAK
Seiring dengan perkembangan zaman dan meningkatnya ekonomi
masyarakat permintaan akan kebutuhan rumah yang aman dan nyaman kian
meningkat, serta penggunaan internet yang tanpa kita sadari hadir pada kehidupan
kita sehari hari menjadikan kita sebagai masyarakat yang berada dalam putaran IoE
(Internet of Everything) sehingga saya tertarik untuk mengembangkan smart home
dengan konsep Internet of Things sebagai skala yang lebih kecil dari Internet of
Everything. Pada laporan ini penulis ingin menyampaikan bahwa banyak cara untuk
mempelajari internet of things, seperti dengan menggunakan aplikasi PL-App dari
cisco.
Kata Kunci : Internet Of Everything (IOE), Internet Of Things (IOT), Smart
Home, Raspberry PI
viii
KATA PENGANTAR
Puji syukur saya panjatkan kepada Tuhan Yang Maha Esa yang telah
memberikan rahmat dan karunianya, sehingga penulis dapat menyelesaikan Tugas
Akhir. Pembuatan Tugas Akhir ini merupakan sebuah syarat kelulusan pada
program D3 di Politeknik Negeri Balikpapan.
Dengan selesainya Tugas Akhir ini tidak terlepas dari bantuan banyak pihak. Untuk
itu penulis mengucapkan banyak terima kasih, kepada :
1. Ramli, SE., M.M. selaku Direktur Politeknik Negeri Balikpapan.
2. Drs. Suhaedi, M.T. selaku Kaprodi Jurusan Teknik Elektronika.
3. Ali Abrar, S.Si., M.T. selaku Dosen Pembimbing 1 atas bimbingan dan
saran-sarannya.
4. Drs. Armin, M.T. selaku Dosen Pembimbing 2 atas bimbingan dan saran-
sarannya.
5. Seluruh Dosen, staff, dan karyawan di Politeknik Negeri Balikpapan atas
seluruh bantuannya.
6. Seluruh Mahasiswa Politeknik Negeri Balikpapan terutama Jurusan
Teknik Elektronika konsentrasi Teknik Komputer dan Jaringan atas
seluruh bantaunnya.
7. Kedua Orang Tua dan Saudara-Saudara ku Tercinta atas doa dan motivasi.
Penulis menyadari bahwa Tugas Akhir ini bukanlah karya yang sempurna,
dan masih banyak ditemui kekurangan dan kelemahan. Oleh karena itu, saran dan
masukan yang membangun sangat diharapkan.
Balikpapan, 06 Juli 2017
Penulis
ix
DAFTAR ISI
Halaman
JUDUL ..................................................................................................................... i
LEMBAR PENGESAHAN .................................................................................... ii
SURAT PERNYATAAN....................................................................................... iii
LEMBAR PERSEMBAHAN ................................................................................ iv
SURAT PERNYATAAN PUBLIKASI .................................................................. v
ABSTRACT ........................................................................................................... vi
ABSTRAK ............................................................................................................ vii
KATA PENGANTAR ......................................................................................... viii
DAFTAR ISI .......................................................................................................... ix
DAFTAR GAMBAR ............................................................................................. xi
DAFTAR TABEL ................................................................................................. xii
DAFTAR LAMPIRAN ........................................................................................ xiii
BAB I PENDAHULUAN 1
1.1 Latar Belakang ............................................................................................... 1
1.2 Runusan Masalah ........................................................................................... 1
1.3 Batasan Masalah ............................................................................................ 2
1.4 Tujuan Penelitian ........................................................................................... 2
1.5 Manfaat Penelitian ......................................................................................... 2
BAB II LANDASAN TEORI 3
2.1 Internet Of Things ......................................................................................... 3
2.1.1 Definisi Internet Of Things ......................................................................... 3
2.2 Raspberry ....................................................................................................... 4
2.2.1 Definisi Raspberry Pi .................................................................................. 4
2.2.2 Bagian Fisik Raspberry ............................................................................... 5
2.2.3 Macam-Macam Raspberry Pi ...................................................................... 6
2.3 Bahasa Pemrograman .................................................................................... 6
2.3.1 Python .......................................................................................................... 6
2.4 Micro SD ....................................................................................................... 7
2.5 Breadboard ..................................................................................................... 8
x
BAB III METODOLOGI PENELITIAN 9
3.1 Jenis Penelitian .............................................................................................. 9
3.2 Tempat dan Waktu Penelitian ........................................................................ 9
3.3 Perangkat Keras dan Perangkat Lunak Yang Dibutuhkan ............................ 9
3.3.1 Perangkat Keras ........................................................................................... 9
3.3.2 Perangkat Lunak ........................................................................................ 10
3.6.1 Proses Menentukan Judul TA ................................................................... 12
3.6.2 Proses Membuat Konsep Dan Proposal TA .............................................. 12
3.6.3 Sidang Proposal TA .................................................................................. 12
3.6.4 Pelaksanaan Pembuatan dan Uji Coba TA ................................................ 12
3.6.5 Proses Membuat Laporan TA ................................................................... 12
3.6.5 Sidang Akhir TA ....................................................................................... 12
BAB IV HASIL DAN PEMBAHASAN 13
4.1 Hasil Penelitian ............................................................................................ 13
4.1.1 Tampilan Untuk Halaman Login Cisco PL-App Launcher....................... 13
4.1.2 Perancangan Registration Server............................................................... 16
BAB V KESIMPULAN DAN SARAN 20
5.1 Kesimpulan .................................................................................................. 20
5.2 Saran ............................................................................................................ 20
DAFTAR PUSTAKA ........................................................................................... 21
LAMPIRAN .......................................................................................................... 22
xi
DAFTAR GAMBAR
Halaman
Gambar 2.1 Logo Raspberry PI 4
Gambar 2.2 Bagian Fisik Raspberry 6
Gambar 2.3 Bentuk Micro SD 7
Gambar 2.4 Breadboard 8
Gambar 3.1 Flowchart 11
Gambar 4.1 Halaman Login Pada Cisco PL-App Launcher 13
Gambar 4.2 Interface Cisco PL-App Launcher 14
Gambar 4.3 Menu Tab "New" 14
Gambar 4.4 Tampilan Menu "Python 2" 15
Gambar 4.5 Tampilan Blockly 15
Gambar 4.6 Konsep Penerapan Registration Server 16
Gambar 4.7 Halaman Login Untuk User 17
Gambar 4.8 Halaman Home 18
Gambar 4.9 Remote Kipas Angin 18
Gambar 4.10 Tombol Low Hidup Pada Remote Kipas Angin 18
Gambar 4.11 Tombol High Hidup Pada Remote Kipas Angin 19
Gambar 4.12 Keadaan Kipas Angin 19
Gambar 4.13 Remote Pemanas Air, Pintu Garasi, dan CCTV 19
Gambar 4.14 Remote Jendela Rumah, Pintu Rumah, dan Lampu 19
xii
DAFTAR TABEL
Halaman
Tabel 2.1 Daftar Bagian Fisik Raspberry Pi 5
Tabel 3.1 Daftar Perangkat Keras 9
Tabel 3.2 Spesifikasi Notebook Asus A556U 10
Tabel 3.3 Daftar Perangkat Lunak 10
Tabel 4.1 Konfigurasi IP Registration Server 16
Tabel 4.2 IP Address Alat-Alat Elektronik Rumah Tangga 17
xiii
DAFTAR LAMPIRAN
Lampiran 1 Menghilangkan Format Drive Pada Micro SD
Lampiran 2 Memformat Micro SD Dengan SD Formatter
Lampiran 3 Penginstallan Server Internet Of Things
Lampiran 4 Script Untuk Kipas Angin
Lampiran 5 Script Untuk Pemanas Air
Lampiran 6 Script Untuk Pintu Garasi
Lampiran 7 Script Untuk CCTV
Lampiran 8 Script Untuk Jendela Rumah
Lampiran 9 Script Untuk Pintu Rumah
Lampiran 10 Script Untuk Lampu
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Penggunaan internet dari masa ke masa sudah sangat berkembang pesat.
Internet tidak hanya digunakan masyarakat untuk sekedar keperluan browsing
ataupun mencari informasi terkini. Namun sekarang internet memiliki peranan
dalam mempermudah kegiatan sehari-hari bagi kalangan masyarakat itu sendiri.
Sebagai contoh dari peranan internet dalam kehidupan sehari-hari masyarakat
adalah, dengan mengontrol atau memantau alat-alat elektronik di rumah melalui
jaringan internet, atau bisa dikatakan menggunakan konsep Smart Home. Konsep
ini sendiri juga memanfaatkan papan komputer tunggal atau biasa disebut SBC
(Single Board Computer) seperti Raspberry PI, Arduino, dan papan computer
tunggal lainnya untuk memberikan akses jaringan ke alat-alat elektronik tersebut.
Dengan menggunakan papan komputer tunggal tersebut, alat-alat elektronik
tersebut tidak hanya bisa diberi akses jaringan, namun bisa dipantau keadaan dari
alat-alat tersebut dengan membuat sebuah program pada papan computer tunggal
tersebut. Pembuatan Registration Server juga dilakukan guna mempermudah ketika
ingin menambahkan suatu alat elektronik kedalam jaringan. Dengan adanya
Registration Server tersebut kita tidak perlu mensetting dari awal ketika
menambahkan alat elektronik kedalam jaringan.
Oleh sebab itu, maka pada Tugas Akhir ini penulis akan membuat aplikasi
pada Registration Server yang dapat memantau semua keadaan alat-alat elektronik
pada rumah, dan juga membuat sebuah Registration Server yang mana dapat
memudahkan dalam menambahkan alat-alat elektronik ke dalam jaringan.
1.2 Runusan Masalah
Sesuai dengan latar belakang yang telah diuraikan diatas, maka rumusan
masalah yang akan diselesaikan adalah : Saat ini pembuatan Server Internet Of
Things masih sangat sedikit. Padahal dengan pembuatan server tersebut, konsep
2
Internet of Things dapat diperluas, dan tidak hanya terfokus pada alat-alat yang
biasa seperti lampu, namun dapat merambah semua alat-alat elektronik rumah
tangga. Dan juga server itu sendiri dapat digunakan untuk mendata alat-alat internet
of things.
1.3 Batasan Masalah
Dalam perancangan aplikasi ini terdapat beberapa batasan masalah. Hal ini
dilakukan agar aplikasi dapat terfokus/sesuai kebutuhan. Batasan masalah tersebut
sebagai berikut :
1. Membuat registration server yang dapat diakses melalui jaringan luar maupun
jaringan local.
2. Perancangan dilakukan dengan menggunakan papan komputer tunggal dan
membuat program yang akan digunakan untuk mengendalikan serta
memantau alat elektronik yang akan didaftarkan pada registration server.
1.4 Tujuan Penelitian
Tujuan dari penelitian tugas akhir ini adalah untuk membuat server pada
internet of things yang mana dapat mempermudah pendataan alat-alat elektronik
tersebut.
1.5 Manfaat Penelitian
Manfaat dari penelitian tugas akhir ini adalah memaksimalkan penggunaan
internet dalam kehidupan sehari-hari atau bisa dikatakan mempermudah kehidupan
manusia dalam memantau alat-alat elektronik khususnya di Indonesia.
3
BAB II
LANDASAN TEORI
2.1 Internet Of Things
2.1.1 Definisi Internet Of Things
Menurut analisa McKinsey Global Institute, internet of things adalah
sebuah teknologi yang memungkinkan kita untuk menghubungkan mesin,
peralatan, dan benda fisik lainnya dengan sensor jaringan dan aktuator untuk
memperoleh data dan mengelola kinerjanya sendiri, sehingga memungkinkan
mesin untuk berkolaborasi dan bahkan bertindak berdasarkan informasi baru
yang diperoleh secara independen.
Sebuah publikasi mengenai Internet of things “In 2020” menjelaskan
bahwa internet of things adalah suatu keadaan ketika benda memiliki
identitas, bisa beroperasi secara intelijen, dan bisa berkomunikasi dengan
sosial, lingkungan, dan pengguna.
Dengan demikian, dapat kita simpulkan bahwa internet of things
membuat kita membuat suatu koneksi antara mesin dengan mesin, sehingga
mesin-mesin tersebut dapat berinteraksi dan bekerja secara independen sesuai
dengan data yang diperoleh dan diolahnya secara mandiri. Tujuannya adalah
untuk membuat manusia berinteraksi dengan benda dengan lebih mudah,
bahkan supaya benda juga bisa berkomunikasi dengan benda lainnya.
Teknologi internet of things sangat luar biasa. Jika sudah
direalisasikan, teknologi ini tentu akan sangat memudahkan pekerjaan
manusia. Manusia tidak akan perlu lagi mengatur mesin saat
menggunakannya, tetapi mesin tersebut akan dapat mengatur dirinya sendiri
dan berinteraksi dengan mesin lain yang dapat berkolaborasi dengannya. Hal
ini membuat mesin-mesin tersebut dapat bekerja sendiri dan manusia dapat
menikmati hasil kerja mesin-mesin tersebut tanpa harus repot-repot mengatur
mereka.
4
2.2 Raspberry
2.2.1 Definisi Raspberry Pi
Raspberry Pi adalah sebuah komputer kecil, kira-kira seukuran
sabun mandi besarnya. Karena Raspberry Pi adalah sebuah komputer, maka
secara fungsi tidak berbeda dengan komputer ukuran besar yang ada di
sekolah, rumah, kantor, atau laptop. Artinya, Raspberry Pi bisa digunakan
untuk membuat dokumen, menghitung, menggambar, browsing internet,
download, mencetak dokumen, menonton film, memutar musik, bermain
game, dan apa saja. Karena ukurannya yang kecil, Raspberry Pi dapat dibawa
ke mana saja. Beratnya juga tidak lebih dari dua bungkus mie instan. Saking
kecilnya, dia bisa masuk ke dalam saku atau tas dengan mudah.
Raspberry pi juga membutuhkan listrik yang sangat sedikit untuk
beroperasi. Bandingkan dengan komputer di rumah atau sekolah yang
membutuhkan daya listrik mulai dari 220 watt. Oleh karena ini, Raspberry Pi
dapat dinyalakan dengan charger handphone. Artinya, jika kita ingin
menyalakan Raspberry pi semalaman untuk download, maka beban biaya
listrik menjadi sangat kecil. Besarnya listrik yang dibutuhkan oleh Raspberry
Pi untuk menyala adalah lebih kecil dari lampu tidur kamar kita. Powerbank
pun bisa digunakan untuk menyalakan Raspberry Pi, sehingga meningkatkan
portabilitas. Ini berarti, dengan Raspberry Pi, kita juga menghemat biaya
penggunaan listrik.
Raspberry Pi diciptakan oleh sekelompok orang di Inggris. Awalnya,
Raspberry Pi digunakan untuk membantu orang-orang di Afrika untuk belajar
Gambar 2.1 Logo Raspberry PI
Sumber : https://www.raspberrypi.org/
5
komputer dengan biaya murah. Sehingga, orang-orang yang tidak mampu
juga dapat belajar komputer tanpa harus mengeluarkan biaya besar. Dalam
perkembangannya, Raspberry Pi menarik banyak minat orang karena
kemampuannya yang lebih dari sekedar komputer.
2.2.2 Bagian Fisik Raspberry
Bagian-bagian fisik yang terdapat di komputer dapat kita temuin
juga pada Raspberry Pi, berikut daftar bagian fisik Raspberry Pi :
Tabel 2.1 Daftar Bagian Fisik Raspberry Pi
BAGIAN FISIK FUNGSI
4 Buah Port USB
Untuk menyambngkan device
dengan Raspberry Pi yang
mendukung USB.
1 Port Lan Untuk terhubung ke internet melalui
kabel LAN.
1 Port HDMI
Untuk menampilkan output
Raspberry Pi pada layar monitor
khususnya HDMI.
1 Port Composite Audio & Video Untuk dihubungkan ke speaker atau
media penghasil suara lainnya.
1 Slot Micro SD
Sebagai tempat untuk memasukkan
Micro SD yang mana berfungsi
sebagai media penyimpanan.
Pin GPIO
(General Purpose Input Output)
Pin yang berfungsi sebagai pintu
masuk dan keluarnya data atau
sinyal.
1 Port Display Sebagai penghubung ke layar sentuh
namun berukuran 7 inchi.
1 Port Kamera Raspberry Pi menyediakan modul
kamera yang terpisah.
6
2.2.3 Macam-Macam Raspberry Pi
Untuk memenuhi kebutuhan di banyak bidang, maka pembuat
Raspberry Pi memproduksinya dalam berbagai macam model untuk
menyesuaikannya dengan kebutuhan penggunanya. Jika kita mencari
Raspberry di internet, kita akan menemui model A dan model B. Model 1A
dan 1B adalah model yang pertama kali dikembangkan. Awalnya mereka
merencanakan akan ada model 2A, 2B, 3A, 3B, dan seterusnya. Tetapi, tidak
pernah dibuat model A selanjutnya, hanya model 2B dan 3B. Model A
digunakan untuk aplikasi yang membutuhkan daya kecil dengan memori yang
kecil juga. Ada kemungkinan jika Raspberry akan mengembangkan model A
yang baru lagi. Model B adalah penyempurnaan dari model A baik dari sisi
kemampuan komputasi maupun kelengkapannya. Model B sudah
dikembangkan menjadi Raspberry Pi 2B, Pi 3B, dan Pi Zero.
2.3 Bahasa Pemrograman
2.3.1 Python
Python merupakan bahasa pemrograman yang digunakan di banyak
aplikasi, termasuk pemrograman web, ilmu pengetahuan, dan juga
kecerdasan buatan (artificial intelligence).
Kamera
USB
LAN
Port
Display
Pin GPIO
HDMI Micro USB Composite
Gambar 2.2 Bagian Fisik Raspberry
Sumber : https://www.raspberrypi.org/
7
Pada awalnya, motivasi pembuatan bahasa pemrograman ini adalah
untuk bahasa skrip tingkat tinggi pada sistem operasi terdistribusi Amoeba.
Bahasa pemrograman ini menjadi umum digunakan untuk kalangan engineer
seluruh dunia dalam pembuatan perangkat lunaknya, bahkan beberapa
perusahaan menggunakan python sebagai pembuat perangkat lunak
komersial.
Pada buku Dini Triasanti Python adalah “Bahasa pemrograman yang
freeware atau perangkat bebas dalam arti sebenarnya, tidak ada batasan dalam
penyalinannya atau mendistribusikannya. Lengkap dengan source codenya,
debugger dan profiler, antarmuka yang terkandung di dalamnya untuk
pelayanan antarmuka, fungsi sistem, GUI (antarmuka pengguna grafis), dan
basis datanya.
2.4 Micro SD
Gambar 2.3 Bentuk Micro SD
Sumber : https://www.androidpit.com/how-to-pick-the-right-microsd-card-for-
your-android-phone
MicroSD singkatan dari Micro Secure Digital yang merupakan memory card
dengan ukuran terkecil yang beredar dipasaran untuk konsumsi umum. Ukurannya
yang kecil membuat MircoSD banyak dipakai sebagai memory card handphone dan
gadget-gadget lain yang mengutamakan ukuran kecil, ukurannya hanya sebesar
8
15mm x 11mm x 1 mm (tebal), kira-kira sebesar kuku jari tangan. (Sudjojo Marcus,
Tak-Tik Fotografi, 2010 hal : 30)
Sebenarnya sebelum MikroSD dikeluarkan atau popular, ada jenis memori
card lain yang berukuran lebih kecil dari SD, dan lebih besar dari microSD, yaitu
miniSD. Namun sejak berkembangnya microSD, secara berangsur miniSD mulai
jarang digunakan.
2.5 Breadboard
Gambar 2.4 Breadboard
Sumber : https://www.adafruit.com/product/64
Breadboard atau yang sering disebut sebagai Project Board adalah dasar
konstruksi sebuah sirkuit elektronik dan merupakan prototype dari suatu rangkaian
elektronik tanpa harus menyolder. Dengan memanfaatkan breadboard, komponen-
komponen elektronik yang dipakai tidak akan rusak dan dapat digunakan kembali
untuk membuat rangkaian yang lain. Breadboard umumnya terbuat dari plastik
dengan banyak lubang-lubang diatasnya. Lubang-lubang pada breadboard diatur
sedemikian rupa membentuk pola sesuai dengan pola jaringan koneksi di dalamnya.
9
BAB III
METODOLOGI PENELITIAN
3.1 Jenis Penelitian
Jenis penelitian yang dilakukan merupakan pembuatan atau perancangan
resgistration server dengan menggunakan aplikasi dari Cisco, yang mana server
tersebut di install pada Raspberry Pi.
3.2 Tempat dan Waktu Penelitian
Tempat penelitian dilaksanakan di Politeknik Negeri Balikpapan khususnya
pada Lab. Cisco Lantai 3 Gedung Elektronika. Untuk waktu penelitian dilakukan
mulai dari April 2017 sampai dengan sekarang.
3.3 Perangkat Keras dan Perangkat Lunak Yang Dibutuhkan
Terdapat beberapa perangkat keras maupun perangkat lunak yang digunakan
dalam proses pengerjaan dan penelitian tugas akhir ini.
3.3.1 Perangkat Keras
Berikut adalah daftar perangkat keras yang dibutuhkan, beserta
daftar harganya :
Tabel 3.1 Daftar Perangkat Keras
No. Perangkat Keras Harga
1. Notebook Asus A556U Milik Pribadi
2. Raspberry Pi 3 Pinjaman Dari Kampus
3. Micro SD 16 GB Pinjaman Dari Kampus
4. Card Reader 20.000,00
5. Breadboard Pinjaman Dari Kampus
10
6. Kabel Jumper Pinjaman Dari Kampus
Total Harga 20.000,00
Notebook Asus A556U yang digunakan memilki spesifikasi sebagai
berikut ini :
Tabel 3.2 Spesifikasi Notebook Asus A556U
Sistem Operasi Windows 10
Processor Intel Core i5-6200U
RAM 4 GB
VGA Nvidia Geforce 930M
HDD 1 TB
3.3.2 Perangkat Lunak
Berikut adalah daftar perangkat lunak yang dibutuhkan, beserta
daftar harganya :
Tabel 3.3 Daftar Perangkat Lunak
No. Perangkat Lunak Harga
1. PL-App Launcher -
2. SD Formatter -
3. Mozilla Firefox -
4. Packet Tracer -
Total Harga 0,00
3.4 Metode Pembuatan Server
Metode dalam pembuatan Server ini cukup sederhana, yakni dengan
mendownload semua bahan yang dibutuhkan, dan menyiapkan semua alat.
Kemudian melakukan penginstalisasian pada laptop dan juga pada raspberry.
11
Gambar 3.1 Flowchart
Ditolak
Diterima
Menentukan Judul TA
Mulai
Membuat Konsep
Dan Proposal TA
Ditolak Proposal TA
Pelaksanaan Pembuatan TA
dan Uji Coba
Membuat Laporan TA
Diterima
Laporan TA
Selesai
3.5 Flowchart
Terdapat beberapa alur sebelum melakukan pembuatan tugas akhir hingga
sidang akhir TA sebagai berikut :
12
3.6.1 Proses Menentukan Judul TA
Pada tahap flowchart ini, penulis bersama dengan Dosen
Pembimbing menentukan judul TA yang sesuai dengan kemampuan penulis
maupun Dosen Pembimbing, sehingga mempermudah dalam pengerjaan TA.
3.6.2 Proses Membuat Konsep Dan Proposal TA
Pada tahap ini, penulis mulai mencari referensi maupun sumber
materi yang dibutuhkan untuk pengerjaan TA. Penulisan Proposal juga telah
dilakukan untuk menghadapi sidang.
3.6.3 Sidang Proposal TA
Pada tahap ini, sidang dilakukan untuk membuktikan kelayakan dari
judul yang sudah ditentukan. Apabila judul diterima, maka melanjutkan ke
tahap pelaksanaan pembuatan TA, namun jika ditolak maka harus kembali ke
dalam proses menentukan Judul TA.
3.6.4 Pelaksanaan Pembuatan dan Uji Coba TA
Pada tahap ini penulis melaksanakan pembuatan TA serta
melakukan uji coba. Pada tahap ini juga penulis sudah mulai mempersiapkan
laporan TA.
3.6.5 Proses Membuat Laporan TA
Sama halnya dengan proses membuat konsep dan proposal TA, pada
tahap ini penulisan laporan TA serta mempersiapkan presentasi untuk sidang
akhir TA
3.6.5 Sidang Akhir TA
Pada tahap ini, penulis melakukan sidang atau presentasi yang mana
apabila diterima maka penulis lulus, dan jika ditolak maka penulis
menyiapkan kembali presentasi serta materi TA yang bersangkutan
13
BAB IV
HASIL DAN PEMBAHASAN
4.1 Hasil Penelitian
4.1.1 Tampilan Untuk Halaman Login Cisco PL-App Launcher
Gambar 4.1 Halaman Login Pada Cisco PL-App Launcher
Pada tampilan ini user atau pengguna aplikasi Cisco PL-App
Launcher harus melakukan login dengan cara memasukkan password yang
didapat setelah pengguna selesai melakukan proses instalasi aplikasi Cisco
PL-App Launcher. Dimana tata cara pelaksaan instalasi aplikasi Cisco PL-
App Launcher terlampir pada lampiran. Setelah user selesai melakukan
proses login maka aplikasi akan menampilkan tampilan interface dari aplikasi
ini.
14
Gambar 4.2 Interface Cisco PL-App Launcher
Tampilan interface Cisco PL-App Launcher ini akan tampil atau
muncul setelah user/pengguna telah berhasil melakukan proses login pada
halaman login awal aplikasi ini. Dimana pada interface Cisco PL-App
Launcher ini terdapat fitur atau fungsi berupa materi IOT maupun fitur untuk
membuat suatu project IOT.
Gambar 4.3 Menu Tab "New"
Pada menu tab “New” terdapat beberapa fitur yang digunakan untuk
membuat program ataupun membuat folder ketika kita ingin membuat suatu
15
project. Ketika ingin membuat project baru, cukup dengan memilih “Python
2”, maka akan muncul tampilan seperti di bawah ini.
Gambar 4.4 Tampilan Menu "Python 2"
Pada tampilan ini, kita dapat membuat script dari project yang akan
dibuat. Terdapat tampilan lainnya yang lebih atraktif dalam membuat script
project, dengan menekan tombol yang di tandai dengan kotak merah diatas
atau biasa disebut dengan blockly, dan akan menghasilkan tampilan seperti di
bawah ini.
Gambar 4.5 Tampilan Blockly
16
4.1.2 Perancangan Registration Server
Setelah selesai menginstall aplikasi diatas penulis mulai membuat
konsep Registration Server yang mana server tersebut digunakan untuk
mengendalikan alat-alat rumah tangga melalui suatu jaringan seperti lampu,
pintu rumah, jendela rumah, kipas angin, CCTV, pintu garasi, dan pemanas
air.
Sebelum menyambungkan alat-alat elektronik rumah tangga ke
registration server, konfigurasi terlebih dahulu server tersebut dengan
membuat konfigurasi ip pada tabel dibawah.
REGISTRATION SERVER
IP Address 192.168.0.2
Subnet Mask 255.255.255.0
Default Gateway 192.168.0.1
DNS Server -
Tabel 4.1 Konfigurasi IP Registration Server
Gambar 4.6 Konsep Penerapan Registration Server
17
Sedangkan untuk ip address pada alat-alat elektronik rumah tangga
dapat dilihat pada tabel berikut.
Alat-Alat Elektronik IP Address
Kipas Angin 192.168.0.17
Pemanas Air 192.168.0.19
Pintu Garasi 192.168.0.18
CCTV 192.168.0.20
Jendela Rumah 192.168.0.21
Pintu Rumah 192.168.0.23
Lampu 192.168.0.22
Tabel 4.2 IP Address Alat-Alat Elektronik Rumah Tangga
Setelah berhasil mensetting ip address mulai dari server hingga alat-
alat elektronik tersebut kita masuk kedalam halaman login user dengan
memasukkan ip address registration server. Hal ini dilakukan agar user dapat
menambahkan, mengedit, atau mengolah dari alat-alat elektronik yang sudah
diberi ip address sebelumnya. Disini penulis membuat username : admin dan
password : admin, agar mempermudah dalam pengerjaan.
Gambar 4.7 Halaman Login Untuk User
Catatan :
User dapat ditambah dengan mendaftarkan pada registration server, jadi user
tidak hanya terpaku dengan admin saja, namun bisa dengan user lain namun
dengan keterbatasan akses, sedangkan admin memiliki full akses kontrol
kendali alat-alat tersebut.
18
Setelah memasukkan username dan password, dapat dilihat terdapat
daftar alat-alat elektronik yang sudah diberi ip sebelumnya. Pada halaman ini
juga dapat menambahkan atau membuat script baru dengan mengklik pilihan
editor pada sudut kanan atas.
Gambar 4.8 Halaman Home
Sama halnya seperti remote pada umumnya terdapat tombol yang dapat
digunakan untuk menggendalikan alat tersebut, kita ambil contoh kipas angin.
Gambar 4.9 Remote Kipas Angin
Jika dilihat dari remote diatas, dengan tombol off menyala, maka
keadaan kipas adalah tidak hidup. Jika tombol Low hidup maka kipas
berputar dengan kecepatan rendah, dan jika tombol High hidup maka kipas
berputar dengan kecepatan tinggi, untuk script penulis meletakkan di
lampiran.
Gambar 4.10 Tombol Low Hidup Pada Remote Kipas Angin
19
Gambar 4.11 Tombol High Hidup Pada Remote Kipas Angin
Gambar 4.12 Keadaan Kipas Angin
Sama halnya seperti remote kipas angin, remote dari alat-alat
elektronik lainnya tidak jauh berbeda, seperti gambar dibawah ini.
Gambar 4.13 Remote Pemanas Air, Pintu Garasi, dan CCTV
Gambar 4.14 Remote Jendela Rumah, Pintu Rumah, dan Lampu
Off Low High
20
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Setelah membuat server Internet Of Things atau IOT dapat disimpulkan
bahwa :
1. Server ini dapat digunakan sebagai pembelajaran khususnya di bidang IOT
itu sendiri
2. Mempermudah mahasiswa dalam mempelajari IOT
3. Terdapat beberapa contoh sederhana IOT yang dapat dibuat dari server ini
5.2 Saran
Saran yang dapat penulis sampaikan adalah :
1. Untuk pengembangan agar tampilan lebih dibuat semenarik mungkin
2. Dibuat kan user admin yang, sehingga tidak sembarang orang bisa
masuk
21
DAFTAR PUSTAKA
Agus Eka Pratama, I Putu. (2014) : Smarty City beserta Cloud Computing dan
Teknologi-Teknologi Pendukung Lainnya, Bandung, Informatika.
Behmann, Fawzi . Kwok Wu. (2015) : Collaborative Internet of Things for Future
Smart Connected Life and Business, United Kingdom, Wiley.
Dinata, Andi. (2017) : Physical Computing dengan Raspberry Pi, Jakarta,
Elex Media Komputindo.
Sudjojo, Marcus. (2010) : Tak-Tik Fotografi, Jakarta, Bukune.
The Raspberry PI Foundation. “Teach, Learn and Make With Raspberry PI”.
https://www.raspberrypi.org/
22
LAMPIRAN
Lampiran 1 Menghilangkan Format Drive Pada Micro SD
Buka cmd, dan “Run as administrator”.
Ketik diskpart untuk masuk dalam sub bagian drive.
23
Kemudian ketik list disk untuk melist drive yang ada, cari yang sesuai dengan
ukuran micro SD dan ketik lagi select disk .... (sesuai micro SD).
Kemudian ketikkan perintah clean untuk menghilangkan format yang ada pada
micro SD.
24
Lampiran 2 Memformat Micro SD Dengan SD Formatter
Pilih drive yang sesuai dengan mikro sd berada atau sesuaikan size nya kemudian
klik Format, proses berlangsung selama kurang dari 5 menit.
Klik OK untuk menyelesaikan proses format.
25
Setelah selesai, maka micro sd akan kosong dan siap untuk di install.
Lampiran 3 Penginstallan Server Internet Of Things
Siapkan semua bahan aplikasi untuk penginstallan server Internet Of Things
26
Run admin pada “PL-App_Launcher”
Accept the agreement kemudian klik next
27
Centang create to desktop kemudian next
Klik install kemudian tunggu hingga selesai
28
Centang kemudian klik finish untuk masuk kedalam aplikasi
Pada kolom nomor 1 pilih drive micro sd, kemudian pada kolom 2 pilih tempat file
zip server berada. Untuk kolom nomor 3 digunakan untuk memberikan nama pada
raspberry server, disini penulis memberi nama “TA-myRP” dengan password
“ta2017”.
29
Pada kolom WiFi SSID dan WiFi Password, isikan sesuai dengan hotspot atau wifi
yang ada, disini penulis menggunakan hostspot handphone dengan SSID TA dan
tugas2017 sebagai passwordnya kemudian klik Write Disk Image
Tunggu hingga beberapa saat sampai mendapat notif berikut
30
Tunggu hingga proses penginstallan selesai hingga device sudah terdaftar
31
Lampiran 4 Script Untuk Kipas Angin
var FAN_SPEED_LOW = 0.4;
var FAN_SPEED_HIGH = 0.8;
var COOLING_RATE = -1/3600;
var HUMDITY_REDUCTION_RATE = -1/3600;
var VOLUME_AT_RATE = 100000;
var state = 0; // 0 off, 1 low, 2 high
var level = 0;
function setup() {
IoEClient.setup({
type : "Ceiling Fan",
states : [
{
32
name : "Status",
type : "options",
options : {
"0" : "Off",
"1" : "Low",
"2" : "High"
},
controllable : true
}
]
});
IoEClient.onInputReceive = function(input) {
processData(input, true);
};
attachInterrupt(0, function() {
processData(customRead(0), false);
});
setState(state);
}
function mouseEvent(pressed, x, y, firstPress) {
if (firstPress)
toggleState();
33
}
function processData(data, bIsRemote)
{
if ( data.length <= 0 )
return;
data = data.split(",");
setState(parseInt(data[0]));
}
function sendReport()
{
var report = state;
customWrite(0, report);
IoEClient.reportStates(report);
setDeviceProperty(getName(), "state", state);
}
function setState(newState)
{
analogWrite(A1, newState);
state = newState;
34
sendReport();
updateEnvironment();
}
function toggleState()
{
++state;
if ( state >= 3 )
state = 0;
setState(state);
}
function updateEnvironment()
{
var volumeRatio = VOLUME_AT_RATE / Environment.getVolume();
if ( state === 0){
Environment.setContribution("Wind Speed", 0, 0);
Environment.setContribution("Ambient Temperature", 0, 0);
Environment.setContribution("Humidity", 0,0);
}
else if ( state == 1 )
35
{
Environment.setContribution("Wind Speed", FAN_SPEED_LOW,
FAN_SPEED_LOW, false);
Environment.setContribution("Ambient Temperature",
COOLING_RATE/2*volumeRatio,
Environment.getCumulativeContribution("Ambient Temperature")-100);
Environment.setContribution("Humidity",
HUMDITY_REDUCTION_RATE/2*volumeRatio,
Environment.getCumulativeContribution("Humidity")-100);
}
else if ( state == 2)
{
Environment.setContribution("Wind Speed", FAN_SPEED_HIGH,
FAN_SPEED_HIGH, false);
Environment.setContribution("Ambient Temperature",
COOLING_RATE/2*volumeRatio,
Environment.getCumulativeContribution("Ambient Temperature")-100);
Environment.setContribution("Humidity",
HUMDITY_REDUCTION_RATE*volumeRatio,
Environment.getCumulativeContribution("Humidity")-100);
}
}
36
Lampiran 5 Script Untuk Pemanas Air
var state = 0;
function setup() {
IoEClient.setup({
type : "Appliance",
states : [{
name : "On",
type : "bool",
controllable : true
}]
});
IoEClient.onInputReceive = function(input) {
processData(input, true);
};
attachInterrupt(0, function() {
processData(customRead(0), false);
});
setState(state);
}
37
function mouseEvent(pressed, x, y, firstPress) {
if (firstPress)
setState(state ? 0 : 1);
}
function processData(data, bIsRemote) {
if ( data.length <= 0 )
return;
setState(parseInt(data));
}
function setState(newState) {
state = newState;
if ( state === 0 )
digitalWrite(1, LOW);
else
digitalWrite(1, HIGH);
customWrite(0, state);
IoEClient.reportStates(state);
setDeviceProperty(getName(), "state", state);
38
}
Lampiran 6 Script Untuk Pintu Garasi
var ENVIRONMENTS = ["Argon", "CO", "CO2", "Hydrogen", "Helium",
"Methane", "Nitrogen", "O2", "Ozone", "Propane", "Smoke"];
var ENVIRONMENT_MAX_IMPACT = -0.04; // 4% max when door opens
var TEMPERATURE_TRANSFERENCE_MULTIPLIER = 1.50; // increase
speed 25% when door open
var HUMIDITY_TRANSFERENCE_MULTIPLIER = 1.50;
var GASES_TRANSFERENCE_MULTIPLIER = 2;
var state = 0; // 0 off, 1 on
function setup() {
IoEClient.setup({
type : "Garage Door",
states : [{
name : "On",
type : "bool",
controllable : true
}]
});
IoEClient.onInputReceive = function(input) {
39
processData(input, true);
};
attachInterrupt(0, function() {
processData(customRead(0), false);
});
setState(state);
}
function mouseEvent(pressed, x, y, firstPress) {
if (firstPress)
setState(state ? 0 : 1);
}
function updateEnvironment()
{
var rate,max;
if ( state == 1)
{
for(var i=0; i<ENVIRONMENTS.length; i++){
max = Environment.get(ENVIRONMENTS[i]) *
ENVIRONMENT_MAX_IMPACT;
rate = max / 3600 * 100000 / Environment.getVolume();
40
Environment.setContribution(ENVIRONMENTS[i], rate, max);
Environment.setTransferenceMultiplier(ENVIRONMENTS[i],
GASES_TRANSFERENCE_MULTIPLIER);
}
Environment.setTransferenceMultiplier("Ambient Temperature",
TEMPERATURE_TRANSFERENCE_MULTIPLIER);
Environment.setTransferenceMultiplier("Humidity",
HUMIDITY_TRANSFERENCE_MULTIPLIER);
}
else
{
for(var j=0; j<ENVIRONMENTS.length; j++){
Environment.setContribution(ENVIRONMENTS[j], 0, 0);
Environment.removeCumulativeContribution(ENVIRONMENTS[j]);
Environment.setTransferenceMultiplier(ENVIRONMENTS[j], 1);
}
Environment.setTransferenceMultiplier("Ambient Temperature", 1);
Environment.setTransferenceMultiplier("Humidity", 1);
}
}
function processData(data, bIsRemote) {
if ( data.length <= 0 )
41
return;
setState(parseInt(data));
}
function setState(newState) {
state = newState;
digitalWrite(1, state ? HIGH : LOW);
customWrite(0, state);
IoEClient.reportStates(state);
setDeviceProperty(getName(), "state", state);
updateEnvironment();
}
Lampiran 7 Script Untuk CCTV
var state = 0;
//set up client to talk and listen to IoE registration server
function setup() {
IoEClient.setup({
type: "Webcam",
42
states: [{
name: "On",
type: "bool",
controllable: true
},
{
name: "Image",
type: "image"
}]
});
IoEClient.onInputReceive = function(input) {
processData(input, true);
};
attachInterrupt(0, function() {
processData(customRead(0), false);
});
setState(state);
sendReport();
}
43
function mouseEvent(pressed, x, y, firstPress) {
if (firstPress)
setState(state ? 0 : 1);
}
//send captured image file path to registration server
function loop() {
sendReport();
delay(1000);
}
//process data received from server
function processData(data, bIsRemote)
{
if ( data.length <= 0 )
return;
data = data.split(",");
setState(parseInt(data[0]));
}
//send image path to server
var imageLoop=0;
function sendReport()
44
{
var report = state + ",";
if (state === 0)
report += '../art/IoE/SmartDevices/camera_off.png';
else{
report +=
'../art/IoE/SmartDevices/camera_image'+imageLoop+'.png';
imageLoop++;
if ( imageLoop >= 3)
imageLoop =0;
}
customWrite(0, report);
IoEClient.reportStates(report);
setDeviceProperty(getName(), "state", state);
}
//set state and update component image to reflect the current state
function setState(newState)
{
if ( newState === 0 )
digitalWrite(1, LOW);
else
digitalWrite(1, HIGH);
45
state = newState;
}
Lampiran 8 Script Untuk Jendela Rumah
var ENVIRONMENTS = ["Argon", "CO", "CO2", "Hydrogen", "Helium",
"Methane", "Nitrogen", "O2", "Ozone", "Propane", "Smoke"];
var ENVIRONMENT_MAX_IMPACT = -0.01; // 2% max when door opens
var TEMPERATURE_TRANSFERENCE_MULTIPLIER = 1.20; // increase
speed 25% when door open
var HUMIDITY_TRANSFERENCE_MULTIPLIER = 1.20;
var GASES_TRANSFERENCE_MULTIPLIER = 2;
var state = 0;
//set up client to talk and listen to IoE registration server
function setup() {
IoEClient.setup({
type: "Window",
states: [{
name: "Status",
type: "bool",
controllable: true
}]
46
});
IoEClient.onInputReceive = function(input) {
processData(input, true);
};
attachInterrupt(0, function() {
processData(customRead(0), false);
});
setState(state);
}
function mouseEvent(pressed, x, y, firstPress) {
if (firstPress)
setState(state ? 0 : 1);
}
function loop() {
updateEnvironment();
delay(1000);
}
47
//process data received from server
function processData(data, bIsRemote)
{
if ( data.length <= 0 )
return;
data = data.split(",");
setState(parseInt(data[0]));
}
//set state and update component image to reflect the current state
function setState(newState)
{
if ( newState === 0 )
digitalWrite(1, LOW);
else{
digitalWrite(1, HIGH);
}
state = newState;
customWrite(0, state);
IoEClient.reportStates(state);
setDeviceProperty(getName(), "state", state);
}
48
function updateEnvironment()
{
var rate,max;
if ( state == 1)
{
for(var i=0; i<ENVIRONMENTS.length; i++){
max = Environment.get(ENVIRONMENTS[i]) *
ENVIRONMENT_MAX_IMPACT;
rate = max / 3600 * 100000 / Environment.getVolume();
Environment.setContribution(ENVIRONMENTS[i], rate,
max);
Environment.setTransferenceMultiplier(ENVIRONMENT
S[i], GASES_TRANSFERENCE_MULTIPLIER);
}
Environment.setTransferenceMultiplier("Ambient Temperature",
TEMPERATURE_TRANSFERENCE_MULTIPLIER);
Environment.setTransferenceMultiplier("Humidity",
HUMIDITY_TRANSFERENCE_MULTIPLIER);
}
else
{
for(var j=0; j<ENVIRONMENTS.length; j++){
Environment.setContribution(ENVIRONMENTS[j], 0, 0);
Environment.removeCumulativeContribution(ENVIRONM
ENTS[j]);
49
Environment.setTransferenceMultiplier(ENVIRONMENT
S[j], 1);
}
Environment.setTransferenceMultiplier("Ambient Temperature",
1);
Environment.setTransferenceMultiplier("Humidity", 1);
}
}
Lampiran 9 Script Untuk Pintu Rumah
var ENVIRONMENTS = ["Argon", "CO", "CO2", "Hydrogen", "Helium",
"Methane", "Nitrogen", "O2", "Ozone", "Propane", "Smoke"];
var ENVIRONMENT_MAX_IMPACT = -0.02; // 2% max when door opens
var TEMPERATURE_TRANSFERENCE_MULTIPLIER = 1.25; // increase
speed 25% when door open
var HUMIDITY_TRANSFERENCE_MULTIPLIER = 1.25;
var GASES_TRANSFERENCE_MULTIPLIER = 2;
var doorState = 0; // 0 is closed, 1 is opened
var lockState = 0; // 0 is unlocked, 1 is locked
function setup() {
IoEClient.setup({
type: "Door",
states: [{
50
name: "Open",
type: "bool"
}, {
name: "Lock",
type: "options",
options: {
"0": "Unlock",
"1": "Lock"
},
controllable: true
}]
});
IoEClient.onInputReceive = function(input) {
processData(input, true);
};
attachInterrupt(0, function() {
processData(customRead(0), false);
});
setDoorState(doorState);
setLockState(lockState);
}
51
function mouseEvent(pressed, x, y, firstPress) {
if (firstPress) {
if ( isPointInRectangle(x, y, 10,40,5,10) )
{
if ( lockState === 0 )
setLockState(1);
else
setLockState(0);
}
else
{
if ( doorState === 0 )
openDoor();
else
closeDoor();
}
}
}
function loop() {
}
52
function processData(data, bIsRemote)
{
if ( data.length <= 0 )
return;
Serial.println(data);
data = data.split(",");
var doorStateData = parseInt(data[0]);
var lockStateData = parseInt(data[1]);
if ( lockStateData > -1 )
setLockState(lockStateData);
if ( doorStateData > -1 && !bIsRemote ){
if ( doorStateData === 0 )
closeDoor();
else
openDoor();
}
}
function sendReport()
{
var report = doorState+","+lockState;
customWrite(0, report);
53
IoEClient.reportStates(report);
setDeviceProperty(getName(), "door state", doorState);
setDeviceProperty(getName(), "lock state", lockState);
}
function closeDoor()
{
setDoorState(0);
updateEnvironment();
}
function openDoor()
{
if (lockState===0)
{
setDoorState(1);
updateEnvironment();
}
else
{
Serial.println("can't open locked door");
}
}
54
function setDoorState(state)
{
if ( state === 0){
digitalWrite(1, LOW);
setComponentOpacity("led", 1);
}
else{
digitalWrite(1, HIGH);
setComponentOpacity("led", 0);
}
doorState = state;
sendReport();
}
function setLockState(state)
{
if ( state === 0 )
digitalWrite(2, LOW);
else
digitalWrite(2, HIGH);
lockState = state;
55
sendReport();
}
function updateEnvironment()
{
var rate,max;
if ( doorState == 1)
{
for(var i=0; i<ENVIRONMENTS.length; i++){
max = Environment.get(ENVIRONMENTS[i]) *
ENVIRONMENT_MAX_IMPACT;
rate = max / 3600 * 100000 / Environment.getVolume();
Environment.setContribution(ENVIRONMENTS[i], rate,
max);
Environment.setTransferenceMultiplier(ENVIRONMENT
S[i], GASES_TRANSFERENCE_MULTIPLIER);
}
Environment.setTransferenceMultiplier("Ambient Temperature",
TEMPERATURE_TRANSFERENCE_MULTIPLIER);
Environment.setTransferenceMultiplier("Humidity",
HUMIDITY_TRANSFERENCE_MULTIPLIER);
}
else
{
for(var i=0; i<ENVIRONMENTS.length; i++){
56
Environment.setContribution(ENVIRONMENTS[i], 0, 0);
Environment.removeCumulativeContribution(ENVIRONM
ENTS[i]);
Environment.setTransferenceMultiplier(ENVIRONMENT
S[i], 1);
}
Environment.setTransferenceMultiplier("Ambient Temperature",
1);
Environment.setTransferenceMultiplier("Humidity", 1);
}
}
function isPointInRectangle(x,y, rx, ry, width, height) {
if (width <= 0 || height <= 0) {
return false;
}
return (x >= rx && x <= rx + width && y >= ry && y <= ry + height);
}
Lampiran 10 Script Untuk Lampu
var ENVIRONMENT_IMPACT_DIM = 10;
var VOLUME_AT_RATE = 100000;
var state = 0; // 0 off, 1 low, 2 high
57
var lastTimeInSeconds = 0;
function setup() {
IoEClient.setup({
type: "Light",
states: [
{
name: "Status",
type: "options",
options: {
"0": "Off",
"1": "Dim",
"2": "On"
},
controllable: true
}
]
});
IoEClient.onInputReceive = function(input) {
processData(input, true);
};
attachInterrupt(0, function() {
58
processData(customRead(0), false);
});
setState(state);
}
function mouseEvent(pressed, x, y, firstPress) {
if (firstPress)
setState(state+1);
}
function loop() {
updateEnvironment();
delay(1000);
}
function processData(data, bIsRemote) {
if ( data.length <= 0 )
return;
setState(parseInt(data));
}
function setState(newState) {
if (newState >= 3)
59
newState = 0;
state = newState;
analogWrite(A1, state);
customWrite(0, state);
IoEClient.reportStates(state);
setDeviceProperty(getName(), "state", state);
}
function updateEnvironment()
{
var volumeRatio = VOLUME_AT_RATE / Environment.getVolume();
if ( state === 0 )
Environment.setContribution("Visible Light", 0,0);
else if ( state === 1)
Environment.setContribution("Visible Light",
ENVIRONMENT_IMPACT_DIM*volumeRatio,
ENVIRONMENT_IMPACT_DIM*volumeRatio, false);
else if ( state === 2 )
Environment.setContribution("Visible Light",
ENVIRONMENT_IMPACT_DIM*2*volumeRatio,
ENVIRONMENT_IMPACT_DIM*2*volumeRatio, false);
}
top related