26
BAB IV HASIL DAN PEMBAHASAN
DIAGRAM KONTEKS SISTEM Sistem ini dibangun dengan mengembangkan software, hardware dan infrastruktur jaringan yang telah tersedia. Pengembangan disisi software dapat dijelaskan pada diagram konteks sistem kendali & akuisisi jarak jauh peralatan elektronik berbasis IP (SKAPEI) berikut (Gambar 14).
Gambar 14 Diagram konteks sistem SKAPEI
Diagram konteks di atas menjelaskan interaksi pengguna dengan sistem dan interaksi sistem dengan peralatan rumah (home appliance). Pengguna berinteraksi dengan sistem melalui antar muka yang bersifat GUI (graphical user interace), pengguna dapat memberikan masukan berupa parameter–parameter yang diperlukan sistem untuk mengakses peralatan rumah dan penggunapun mendapatkan informasi tentang status dan nilai dari peralatan yang terpasang baik secara realtime maupun historical.
PROTOKOL Komunikasi antar modul baik itu perangkat keras maupun perangkat lunak memerlukan suatu bentuk pemahaman bersama yang biasa disebut protokol. Protokol pada sistem ini mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer. Protokol
27
diterapkan pada perangkat keras, perangkat lunak dan kombinasi dari keduanya. Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras. Protokol yang digunakan di dalam sistem ini dibagi menjadi dua bagian yaitu protokol untuk hubungan server–embedded host (jaringan Internet) dan embedded host – device driver (jaringan rumah).
1. PROTOKOL SERVER – EMBEDDED HOST Media yang digunakan untuk komunikasi hubungan antara server dan embedded host adalah Internet. Pengguna dapat menggunakan penyedia jaringan Internet baik jalur kabel maupun jalur udara (wireless). Protokol yang digunakan adalah HTTP (Hype Text Transfer Protocol). HTTP digunakan untuk meminta/menjawab antara klien dan server. Sebuah klien HTTP (dalam hal ini embedded host), akan memulai permintaan dengan membuat hubungan ke port 80 di sebuah server web hosting yang merupakan port yang biasa digunakan untuk browsing Internet. Klien yang mengirimkan permintaan HTTP juga dikenal dengan user agent. Server yang meresponsnya, yang menyimpan sumber daya seperti berkas HTML dan gambar, dikenal juga sebagai origin server. Di antara user agent dan juga origin server, bisa saja ada penghubung, seperti halnya proxy, gateway, dan juga tunnel. Embedded host akan membuka koneksi ke server saat diberi catu listrik (proses inisialisasi), setelah server dan embedded host terkoneksi embedded host akan meminta (request) ke server dengan menggunakan metode Get, pengiriman request disertai dengan data status dan nilai hasil pengumpulan seluruh alat yang terpasang. Data yang diterima server akan disimpan di dalam database, dari database ini pula data status dan nilai alat rumah terkait beserta status request dipaketkan menjadi jawaban (respons) ke embedded host. Gambar 15 merupakan gambaran transaksi embedded host-server.
28
Gambar 15 Transaksi http antara embedded host dan server
2. PROTOKOL EMBEDDED HOST – DEVICE DRIVER Protokol embedded host - device driver ini merupakan protokol pengembang sendiri sesuai kebutuhan dalam hal ini disebut defined protocol, protokol ini digunakan untuk komunikasi yang dapat dimengerti oleh device driver dalam melakukan fungsinya baik untuk mengubah data digital ke bentuk lain (kinetik maupun logika high atau low) dan mengubah nilai suatu bentuk analog (cahaya , tegangan, arus listrik atau kinetik) ke bentuk digital menggunakan sensornya. Data berisi perintah yang didapat dari server dikirim embedded host ke seluruh device driver yang terhubung jaringan rumah persatuan waktu peralat dan perstuan waktu pula embedded host menunggu response dari alat yang berisi data status dan nilai Bentuk protokol ini dapat dilihat pada Gambar 16.
$
Id Alatn
Perintah
Nilai
Check sum
!
Nilai
Check sum
!
a
#
Id Alat
Perintah
b Gambar 16. a. Protokol dari embedded host ke alat, b. dari alat ke embedded host
29
Pengiriman data dari embedded host ke alat diawali dengan tanda $ sebagai header sehingga alat yang menerima mulai menyimpan data yang dikirim setelah tanda $ hingga tanda ! diterima. Ketika seuntaian data sudah diterima alat dalam hal ini software device driver dengan ditandai tanda ! device driver akan melakukan validasi terhadap nilai check sum, jika data valid maka device driver akan memeriksa isi dari Id alat untuk menentukan apakah data ini ditujukan kepadanya, ketika Id alat sesuai device driver akan mengekstrak perintah dan nilai yang terkandung dalam untaian data tersebut untuk menentukan apa yang harus dilakukan dan sebesar apa perlakuan tersebut berdasarkan nilai yang diberikan. Setelah mengeksekusi perintah device driver mengirimkan status atau nilai alat ke embedded host diawali dengan header # dilanjutkan dengan asal Id alat, perintah (jenis nilai), nilai dari hasil sensor, kemudian nilai check sum dari seluruh byte mulai dari id alat hingga nilai dan diakhiri dengan tanda !. Data yang dikirimkan device driver diterima embedded host dan disimpan ke dalam memory kemudian embedded host akan mengirimkan data dari alat lainnya kemudian menerima lagi data kiriman dari alat dan seterusnya hingga seluruhnya untuk alat yang terpasang. Data seluruh alat yang tersimpan di memory embedded host akan digabungkan dan dipaketkan untuk dikirimkan ke server di periodik waktu request berikutnya.
SOFTWARE Software sistem ini berdasarkan letaknya dibagi menjadi tiga bagian yaitu : web application, embedded host, dan device driver (Gambar 17).
Web Application
Internet HTTP
Embedded Host
PLC Defined Protocol
Device Driver
Gambar 17 Software SKAPEI.
Software–software tersebut dihubungkan secara fisik dengan jaringan Internet untuk web application dengan embedded host dan PLC antara embedded host dengan device driver. Sedangkan komunikasi antara software web
30
application dengan embedded host menggunakan protokol HTTP pada tingkat application di OSI layer, defined protocol (protocol yang didefinisikan) merupakan protokol buatan yang digunakan untuk mengkomunikasikan antara embedded host dengan device driver. Prinsip kerja ketiga software ini adalah sebagai berikut: web application memberikan
interaksi
terhadap
pengguna
berupa
akses
database
baik
mendapatkan (retrieve) informasi maupun memodifikasi (insert, edit, delete) data, embedded host secara periodik meminta (request) data dari server, data yang diterima berupa untaian instruksi terhadap peralatan rumah yang terpasang. Bersamaan dengan proses request embedded host mengirimkan untaian data status peralatan yang dikumpulkan dari peralatan yang terpasang. Komunikasi antara web application dengan embedded host menggunakan protokol HTTP melalui port 80. Kumpulan data yang diterima embedded host didapat dari pooling (meminta status/nilai masing-masing alat yang terpasang secara bergantian) embedded host secara periodik melalui jaringan PLC terhadap software device driver yang berada di masing-masing alat, sedangkan intruksi yang diterima embedded host dari web application diekstrak (dipecah berdasarkan intruksi untuk setiap alat) kemudian dipaketkan untuk dikirim ke masing – masing alat secara bergantian melalui satu jalur PLC. Komunikasi yang digunakan antara embedded host dan device driver menggunakan protokol buatan sendiri yang sudah telah didefinisikan (defined protocol). Command yang diterima device driver diinterpretasikan kealat bisa berupa gerakan kinetik (dengan menggunakan motor atau solenoid) maupun mengubah (on/off). Keadaan alat baik nilai maupun state (on/off) diterima sensor dipaketkan oleh device driver untuk siap dikirimkan ke embedded host.
1. WEB APPLICATION Dari namanya sudah cukup jelas software ini merupakan aplikasi yang berbasis web, aplikasi ini diletakkan di server web hosting untuk mempermudah pengguna dalam mengaksesnya di mana pun dan kapan pun selama komputer maupun smart phone terhubung Internet. Aplikasi ini dibangun dengan menggunakan bahasa pemrograman PHP dan javascript dengan database
31
MYSQL, di aplikasi inilah pengguna berintraksi baik mendapat informasi status/history status maupun memberikan command (perintah) ke peralatan rumah, perintah terhadap peralatan disimpan di dalam database untuk siap diminta (request) software embedded host per satuan waktu (periodik), data yang diterima dari embedded host per satuan waktu disimpan ke dalam database untuk siap diakses pengguna.
Gambar 18 Interkasi client server
Interaksi pengguna dengan aplikasi web secara infrastruktur merupakan interaksi antara komputer client dengan komputer server, Gambar 18 menjelaskan interaksi tersebut. Web application merupakan aplikasi berbasis Web yang dapat diakses baik komputer maupun smart phone pengguna dengan menggunakan Web browser misalnya Internet Explorer, Firefox Mozila, Opera, dan Chrome melalui jaringan Internet, ketika diakses pengguna aplikasi ini terbagi dua menjadi server side (bagian server) dan client side (bagian klien), aplikasi ini menggunakan Ajax agar tidak semua halaman dimuat hanya untuk memuat satu bagian kecil (element) dalam halaman Web. Ajax pada aplikasi ini digunakan untuk memuat ulang (refresh) status baik nilai ataupun keadaan on/off seluruh peralatan yang terpasang .tanpa memuat seluruh halaman secara periodik, agar efek perubahan status terlihat real time. Interaksi web application dengan embedded host sama halnya klien dan server hanya saja pada embedded host memiliki resource (sumber daya) yang terbatas sehingga tidak sekompleks dengan klien yang menggunakan komputer. Interaksi keduanya menggunakan protokol HTTP dengan metoda GET dan POST, embedded host melakukan koneksi ke server dan meminta data, permintaan (request) ditanggapi oleh request handler pada server side, dan request handler
32
menjawab (response) dengan untaian perintah ke embedded host, lebih jelas ada pada Gambar 19. Server
Embedded host Command set
Database Status set
Response & Command set
Request Handler Request & Store status set
Get & POST Function
Gambar 19 Interaksi web application dengan embedded host
Untuk lebih jelas proses di request handler dapat dilihat pada flowchart Gambar 20. Start
Ambil isi parameter id_rumah, id_alat, nilai dari data yang dikirim melalui HTTP
Masukkan paramater id_rumah, id_alat, dan nilai kedalam database tabel status_alat disertai tanggal da jam dari server
Ambil id_alat, komand dan nilai dari database tabel perintah yang belum dieksekusi dan id_rumahnya = id_rumah yang dikirim embedded host
Ada perintah?
Gabungkan id_alat, komand dan nilai dengan header dan tailnya
Kirim hasil gabungan ke embedded host
Selesai
Gambar 20 Flowchart proses request handler
33
Fomat protokol yang diterima di proses handler bebentuk HTTP seperti ”GET update_alat.php?idrumah=2&idalat=1&nilai=1” parameternya berupa idrumah, idalat dan nilai alat sedangkan yang melakukan eksekusi parameter itu (request hendler) adalah file update_alat.php. parameter yang diterima disimpan ke dalam database tabel status_alat disertai dengan tanggal dan waktu penerimaan data setelah itu request handler melakukan pencarian data perintah (comand) pada tabel perintah sesuai parameter idalat dan idrumah yang diterima untuk dijadikan response ke embedded host. Hasil penelitian dari software ini memiliki tampilan utama seperti pada Gambar 21.
Gambar 21 Tampilan utama aplikasi web.
Tampilan utama yang tampak pada Gambar 21 akan muncul setelah pengguna melalui proses authorisasi dan autentikasi saat melakukan login, berdasarkan kedua proses tersebut akan dihasilkan hak akses pengguna terhadap rumah yang akan diakses. Seperti tampak pada Gambar 21 pengguna memiliki hak akses terhadap dua rumah dimana setiap rumah memiliki minimal satu atau lebih lantai, dengan memilih lantai suatu rumah pengguna akan diberi tampilan layout rumah beserta peralatan listrik dan elektronik yang terpasang di lantai tersebut sesuai
34
posisinya. Untuk mengatur atau mengubah suatu kondisi alat pengguna cukup menekan tombol sebelah kiri mouse sehingga muncul pop up menu yang terdiri dari perintah-perintah terhadap alat untuk peralatan yang hanya diatur on/off pop up menu yang muncul terdiri dari: Aktifkan, Non aktifkan, dan History. Sisi sebelah kanan menu utama terdapat penjelasan detail dari suatu peralatan, penjelasan ini berisi tanggal terakhir data masuk dari peralatan rumah, nama alat tersebut beserta nilainya, untuk peralatan yang hanya memberikan suatu nilai tidak diletakkan di layout ruangan melainkan di sisi kanan menu utama. Data yang ditampilkan pada menu utama diambil dari database yang tersimpan di server web hosting, database ini dibangun menggunakan MySQL yang terdiri atas tabel-tabel, relasi dari tabel-tabel tersebut dapat dilihat pada Gambar 22.
- Id (INT) - id_rumah (INT) - nama (Varchar)
Pengguna_rumah
Master_rumah
Lantai_rumah 1
∞
1
- Id (INT) - nm_rumah (Varchar) - alamat (Varchar) - ip (Varchar) - LT (INT) - LB (INT)
1
- Id (INT) ∞ - id_rumah (INT) - Id_pengguna (INT)
Pengguna 1
∞
- Id (INT) - nama (Varchar) - sandi (Varchar) - telp (Varchar)
Status_alat Master_device - Id (INT) - device (Varchar) - id_tipe (INT) - Keterangan (Varchar) ∞
∞ 1
∞
Device_rumah 1
- Id (INT) - id_lantai_rumah (INT) - Id_device (INT) - command (Varchar) - Satuan (Varchar) - x (INT) - y (INT) - Keterangan (Varchar) - daya (INT)
∞ - Id_device_rumah (INT)
- tanggal (Date time) - nilai (INT)
1
Tipe_device - Id (INT) - tipe (Varchar) - keterangan (Varchar)
1
∞
Perintah - Id (INT) - tanggal (Date time) - id_device_rumah (INT) - komand (INT) - nilai (INT) - executed (INT)
Gambar 22 Relasi tabel-tabel di dalam database web application.
35
Ketentuan yang diterapkan untuk membangun relasi tabel-tabel ini adalah: 1.Setiap pengguna dapat mengakses lebih dari satu rumah. 2. Setiap rumah bisa memiliki lebih dari satu lantai. 3. Satu lantai memiliki lebih dari satu alat (device). 4. Satu alat dalam suatu lantai memiliki lebih dari status / nilai. 5. Setiap alat memiliki satu tipe. 6. Setiap alat bisa diberikan perintah lebih dari satu dengan waktu masingmasing.
2. SOFTWARE EMBEDDED HOST Embedded host software mengatur pooling data dari peralatan–peralatan yang terpasang
secara bergantian dengan menggunakan protokol yang telah
didefinisikan (dibahas pada bagian protokol) agar bisa dimengerti oleh software device driver, hasil pooling tersebut dipaketkan dengan beberapa byte sebagai header, embedded host id dan byte CRC (Cyclic Redudancy Check), paket ini siap dikirimkan ke server persatuan waktu yang telah ditentukan sesuai kebutuhan dengan menggunakan metode POST pada protokol HTTP. Bentuk fisik embedded host ini dibangun dengan komponen utama sebuah mikrokontroller dari keluarga AVR yang memiliki flash memory didalamnya, di flash memory inilah software ditanamkan (embed). Software embedded host ini dibuat dengan menggunakan bahasa pemrograman C dan dilakukan compile dengan tools codevision AVR, secara struktur dapat dilihat pada Gambar 23.
Embedded host
Intepreter
web application
Devices commands
Package
Get & POST Function
Pool & Distribut Function
Timer
Gambar 23 Struktur embedded host software.
Device driver
36
Blok timer berfungsi untuk memanggil fungsi Get & Post per satuan waktu (periodik) yang dapat ditentukan sesuai keperluan, sedangkan fungsi Get & Post merupakan fungsi untuk merubah paket yang berisi untaian status alat menjadi format protokol HTTP untuk dikirimkan ke server, fungsi lainnya mengubah data yang diterima dari server berupa response dan command dalam bentuk protokol HTTP menjadi format yang berisi untaian perintah (command) untuk peralatan yang terpasang, untaian ini kemudian dipecah–pecah (intepreted) berdasarkan jumlah alat dari embedded host (satu embedded host memiliki labih dari satu alat), pecahan–pecahan ini berupa alamat (identifikasi) alat–alat yang terpasang beserta nilainya, kemudian ditampung dan diatur di fungsi devices commands untuk siap didistribusikan ke masing–masing alat. Fungsi Utama
Fungsi Timer Interupt
Start
Start
Time = time+1
Konfigurasi Microcontroller
Timer Overflow ?
Inisialisasi perangkat elektronik yang terpasang didalam jaringan Tidak
Ya Paketkan Semua Data hasil akusisi dari variabel perangkat elektronik yg terpasang
For i= 1 to jumlah alat yang terpasang
Kirim paket data ke server sekaligus request command
Kirim Request nilai dan byte command yg ada ke perangkat elektronik yang ke i
Waktu Req= Waktu req +1 Tidak
Tidak Ada Command ?
Ya
Ada data jawaban dari perangkat elektronik yg ke I ?
Tidak
Ya
Ya
Ekstrak Command berdasarkan device id
Taruh Command Bytes ke dalam masing2 varibel device_send_byte
End
Apakah waktu tunggu req = waktu yg ditentukan ?
Set nilai perangkat elektronik yg ke I = null
Set variable nilai perangkat elektronik yg ke i
End
Gambar 24 Flowchart software embedded host.
37
Fungsi pool & distribut bekerja mengatur waktu pengiriman instruksi untuk mengirim command dan menerima data dari dan ke alat secara bergantian, jadi sekali embedded host mengirimkan (distribute) command saat itu pula embedded host meminta status dan nilai alat, status dan nilai alat yang diterima dari hasil pooling dilanjutkan ke proses pemaketan (package) untuk dipaketkan bersama– sama dengan id embedded host, beberapa byte header dan hasil perhitungan CRC. Hasil pemaketan ini kemudian siap untuk diubah menjadi format protokol HTTP di fungsi Get & Post. Secara garis besar flowchart nya dapat dilihat pada Gambar 24.
2. SOFTWARE DEVICE DRIVER Device driver merupakan software yang berinteraksi langsung terhadap peralatan rumah yang mengubah dari byte–byte perintah menjadi sinyal–sinyal listrik yang dapat mengubah kondisi peralatan listrik baik berupa aktuator ataupun keadaan on/off. Setiap jenis peralatan memiliki device driver yang berbeda dan belum tentu bisa digunakan di jenis peralatan listrik lainnya, misalnya device driver untuk mengubah keadaan on/off tidak bisa digunakan untuk mengubah gerakan motor stepper karena keluaran dari device driver berbeda, device driver juga memiliki tugas untuk membaca status dan nilai peralatan listrik dengan menggunakan sensor yang sesuai dengan kondisi peralatan listrik yang digunakan, hasil pembacaan sensor ini dipaketkan untuk siap dikirim ke embedded host. Device driver
Embedded host
Intepreter Pool & Distribut Function
Pulse generator
Req & Response function Package
Sensor
Gambar 25 Struktur software device driver.
38
Gambar 25 menampilkan blok diagram prinsip kerja software device driver, software ini menunggu request dari embedded host, ketika embedded host memancarkan (broadcast) data, masing–masing device driver akan melakukan pemeriksaan apakah alamat data yang dituju sesuai dengan alamat device driver tersebut, ketika sesuai device driver akan menerjemahkan (interpreter) protokol yang diterima menjadi perintah (command) untuk mengaktifkan pulse generator (untuk alat tipe switch on/off, untuk aktuator dapat berupa pulsa PWM), perubahan status akibat perintah yang telah dilaksanakan dibaca sensor yang kemudian data hasil pembacaannya dipaketkan dengan id alat beserta CRC dalam bentuk protokol yang telah didefenisikan sebelumnya, paket ini diteruskan ke embedded host melalui fungsi request & response sebagai jawaban atas data yang dikirimkan embedded host lebih jelas tampak pada flowchart Gambar 26. Start A Set parameter mikrokontroller Cek nilai sensor Cek masukan port serial Gabungkan dengan byte alamat dan komand kirim nilai Ada Byte masuk?
Tidak Hitung CRC
Ya Ya
Byte yang masuk = ‘$’?
Set Receive flag aktif
Tidak
Gabungkan hasil gabungan nilai, alamat, komand dengan Header, tail dan CRC
Kirim data
Receive flag aktif?
Tidak
Selesai
Ya Data=data + Byte
Byte yg masuk = ‘!’?
Tidak
Ya Hitung CRC
Tidak CRC sesuai?
Set receive flag = 0 dan data = null
Ya Parsing Data menjadi: Alamat, komand, nilai
Alamat Sesuai?
Tidak
Ya Jalankan komand dengan nilainya
A
Gambar 26 flowchart prinsip kerja software device driver.
39
USE CASE Pengembangan software pada sistem ini dibagi tiga bagian melihat dari letak software itu berada yaitu software untuk web site, sofware untuk embedded host dan untuk device driver, komunikasi antara web site application dan embedded host menggunakan protokol HTTP sedangkan antara embedded host dengan device driver menggunakan protokol yang dibangun sendiri. Untuk lebih jelas proses-proses pada ketiga software tersebut dapat dilihat pada diagram use case berikut (Gambar 27). SKAPEI
SIKAMARU Login «uses» Autentication Process
«uses»
Device On-Board
s
-D
n er
House selection
_i
ice
ev
-U
Active/deactive & Rename Device
s
as
,P
e am
e
Nam
aice_
, Dev
e_id rdDevic wo -
Ty pe _i d
ice
,-DD eevvice ice _id, D evaic _id e_Na ,D me, ev Devic ice e_typ _n e am e, St atu s, Va lue
Device status & value request ev
Listing Floor
d,
_i
ate
at
st
«extends»
ue
al
,v
us
User
«extends»
Floor_id
-D
-D
d,
-House_id, Address
-D
Set on/off/ Value
ev ice
Listing Device
Device Driver e,
tat
,s
_id
pooling data from device «extends»
ev -D
«uses»
Status on/off/ Value
lue va
Device Report
d,
_i
ice St
Set device status & value
e,
at
Data storing e
lu
Va
«extends»
«uses»
«extends»
Set Device status & value Command Request
Gambar 27 Use case diagram SKAPEI.
40
Use case pada Gambar 27 yang berwarna putih merupakan proses–proses yang berada di Web application sedangkan yang berwarna abu-abu merupakan proses yang ada di embedded host, warna hitam untuk device driver, berikut penjelasan use case SKAPEI:
a. Login Proses ini diperlukan sebagai aspek keamanan sistem, proses ini menentukan autentikasi dan authorisasi pengguna terhadap sistem baik untuk menentukan akses terhadap rumah, lantai dan peralatan di dalamnya. Di proses ini pengguna diharapkan untuk mengisi user id dan password.
b. House selection Proses login akan menentukan hak akses pengguna terhadap rumah yang akan dipantau ataupun diatur peralatannya, sistem ini memberikan hak satu pengguna dapat mengakses satu atau lebih rumah, dengan memilih rumah yang akan diakses dari daftar rumah yang telah ditentukan sebelumnya.
c. Listing floor Pemilihan rumah pada proses house selection akan menghasilkan daftar lantai yang ada di rumah tersebut, dari daftar lantai tersebut satu atau lebih dapat diakses oleh pengguna. Pengguna berinteraksi pada proses ini akan menghasilkan floor_id ketika memilih salahsatu lantai.
d. Listing device Satu atau lebih alat akan ditampilkan sistem ketika pengguna telah memlih lantai dari daftar lantai yang ada, daftar ini diperoleh melalui proses device onboard.
e. Active/deactive & Rename Device Sistem memiliki fitur kepada pengguna untuk mengaktifkan dan menonaktifkan peralatan yang ada serta merubah nama alat tersebut, proses ini diperlukan jika peralatan rumah yang terpasang sedang dalam keadaan rusak atau belum
41
terpasang sehingga web application tidak perlu menampilkan alat ini di tampilan monitoring ataupun report.
f. Device report Device report merupakan proses di web application untuk memberikan laporan berupa daftar peralatan beserta status dan nilainya sehingga pengguna dapat mengetahui kondisi peralatan yang terpasang di rumahnya. Laporan yang ditampilkan bisa dipilih berdasarkan waktu, alat, maupun secara real time (langsung). data yang diproses berasal dari proses penyimpanan sebelumnya.
g. Set Device status & value Di proses inilah pengguna dapat menentukan baik state (keadaan) maupun nilai suatu alat, dengan memilih alat dan mengaturnya proses ini akan meneruskan parameter (data) terkait ke proses storing dan disimpan ke dalam database yang nantinya akan dipaketkan dan dikirim ke alat rumah terkait. Proses ini akan memberikan tampilan ke pengguna tergantung jenis alat yang akan diatur.
h. Storing Data yang masuk ke web application dari embedded host akan tersimpan ke dalam database server melalui proses storing, tujuannya agar data ini bisa ditampilkan ke pengguna sesuai kebutuhannya, selain data yang berasal dari embedded host proses storing juga memiliki fungsi untuk menyimpan perintah (command) untuk peralatan yang diberikan oleh pengguna melalui proses set device status & value, perintah ini akan diambil di proses command request.
i. Device on Board Proses ini berada di embedded host yang memiliki fungsi untuk mengumpulkan peralatan aktif apa saja yang terpasang di jaringan PLC, sehingga sistem memiliki daftar peralatan aktif, proses ini berinteraksi dengan device driver masing–masing alat untuk memberikan statusnya apakah aktif atau tidak begitu power listrik rangkaian menyala.
42
j. Pooling data from device Seperti diterangkan pada subbab sebelumnya embedded host secara periodik akan meminta (request) command dari server sekaligus mengirim status ke server, proses pooline inilah yang akan mengumpulkan seluruh status dan nilai dari peralatan aktif yang terpasang dari daftar peralatan yang didapat saat proses device on board, proses pooling per alat dilakukan secara bergantian melalui proses device status & value request.
k. Device status & value request Proses ini memiliki fungsi membentuk seuntaian format data yang berisi perintah untuk meminta (request) status dan nilai suatu alat berdasarkan id masing–masing alat, jadi proses ini akan dilaksanakan ketika proses pooling dijalankan.
k. Command request Pengiriman data antara embedded host dan server secara periodik berisi seuntaian perintah (command) yang diminta (request) untuk seluruh peralatan aktif yang terpasang , untaian ini dipecah–pecah berdasarkan alat sehingga pecahan-pecahan tersebut berisi id alat beserta perintah – perintahnya, perintah– perintah ini kemudian dikirimkan secara bergantian ke device driver alat yang sebelumnya dipaketkan dan diformat dalam bentuk protokol terdefenisi di proses set device status & value.
l. Set device status & value proses ini memaketkan data berisi perintah mengatur suatu alat apakah on/off atau memberikan suatu nilai kemudian diberikan perintah, proses ini dilakukan peralatan secara bergantian sesuai keinginan pengguna. Pengaturan ini hanya ada di web apllication.
Berikut tabel fungsional dan non fungsional dari sistem yang dikembangkan, dari table ini didapat apa kegunaan atas suatu fungsi di sistem dan aspek yang perlu diperhatikan dalam membangun sistem.
43
Tabel 1 Aspek fungsional sistem No 1 2 3
Functional Write master pengguna Write master rumah Write list lantai
4
Write list Alat
5
Write Authorizet pengguna
6
Perform Active device list
7
Perform device status and value
8
Set device state and value
9
Report device history
10
Set Lantai layout
11
Set device position in layout
Keterangan Fungsi untuk menulis data pengguna Fungsi untuk menulis data rumah Fungsi untuk menulis data lantai yang dimiliki suatu rumah Fungsi untuk menulis daftar alat suatu lantai Fungsi untuk menulis hak akses pengguna Fungsi menampilkan daftar alat yang aktif pada suatu lantai rumah Fungsi menampilkan nilai dan status alat Fungsi mengatur nilai dan keadaan alat Fungsi menampilkan riwayat suatu alat Fungsi untuk menaruh gambar layout suatu lantai Fungsi mengatur letak symbol alat pada gambar layout lantai
Tabel 2 Aspek Nonfunctional sistem No Technical 1
Client PC or Portable
2 3 4
Server PC min Pentium 4 Internet Network Web browser
5 6
Web base application PHP
Performance
Usability
Have to support over 4 simultaneous client session Load page for client max 10 seconds
Mobile access
Have ability more than 50 Kbps Updating data in 1 second & support javascript
Fast access Interactive application
Reliability
Online help
Tabel 1 merupakan daftar fungsi yang dimiliki SKAPEI, fungsi-fungsi ini diletakkan di web apllication, software embedded host dan software device driver, sedangkan tabel 2 merupakan aspek lain dari fungsional yang perlu diperhatikan untuk membangun sistem ini.
HARDWARE Berdasarkan letaknya hardware sistem ini dibagi menjadi dua bagian yaitu hardware di sisi server dan hardware di sisi klien.
44
1. SERVER Hardware di sisi server memiliki fungsi sebagai penyimpan data, aplikasi sebagai user interface, dan pelayan data baik request dan response bagi klien dalam hal ini adalah peralatan rumah yang diakuisisi dan dikendalikan. Hardware pada sisi ini hanya terdiri dari sebuah komputer yang dapat diletakkan di penyedia jasa web hosting atau di tempat yang kita inginkan tentunya yang terhubung dengan akses jaringan Internet. Komputer server pada sistem ini memiliki spesifikasi minimum sebagai berikut : 1. Prosessor pentium IV 2. RAM (Random Access Memmory) 512MB 3. Harddisk 1 GB 4. OS (Operating system) Windows XP 5. Webserver Apache 6. Database MySQL 7. Memiliki IP Public
2. KLIEN Hardware pada sisi klien bertugas mengakuisisi data dari sensor dan mendistribusikan perintah ke peralatan elektronik yang terpasang. Perangkat yang dibangun pada sisi ini dibangun oleh tiga perangkat menurut fungsinya yaitu : embedded host, PLC, dan device driver. Blok diagram dari perangkat yang terpasang di sisi klien dapat dilihat pada Gambar 28.
Modem Internet
Embedded Host
PLC Modem
Power Line
PLC Modem
Device Driver Device
Gambar 28 Blok diagram perangkat sistem di sisi klien.
45
2.1 EMBEDDED HOST Fungsi dari peragkat ini sudah dijelaskan pada bagian software yaitu mengumpulkan data dari sensor, mendistribusikan perintah dan mengirimkan data ke server melalui jaringan Internet. Diagram blok dari perangkat ini dapat dilihat pada Gambar 29. Embedded Host
Dari & ke modem internet / Hub
RX TX Ethernet
Ethernet To Serial
RX TX Rs232
ATMEGA 128
RX TX Rs232
Ke PLC modem
Gambar 29 Blok diagram perangkat embedded host
Komponen penggerak dari rangkaian ini adalah sebuah mikrokontroller atmega 128 yang memiliki spesifikasi sebagai berikut: • Advanced RISC Architecture • High Endurance Non-volatile Memory Segments 128K Bytes of In-System Self-Programmable Flash 4K Bytes EEPROM 8K Bytes Internal SRAM • Peripheral Features - Two 8-bit Timer/Counters with Separate Prescaler and Compare Mode - Two expanded 16-bit Timer/Counter with Separate Prescaler, Compare- and Capture Mode - 8-channel, 10-bit ADC Two Programmable Serial USART Master/Slave SPI Serial Interface • I/O and Packages 53 Programmable I/O Lines • Temperature Range: -40°C to 85°C Industrial Mikrokontroller ini berisi software
yang ditanamkan di flash memory untuk
menjalankan tugasnya sedangkan data hasil pengumpulan dari sensor dan data yang diterima dari server diletakkan di memory RAM. Pengumpulan dan pendistribusian data dilakukan dengan menggunakan jalur komunikasi serial. Satu jalur serial digunakan untuk transmisi data dari modul ethernet to serial dalam
46
bentuk HTTP dan satu jalur lagi untuk modem PLC dalam bentuk protokol yang terdefenisi. Modul ethernet to serial berfungsi untuk mengubah data yang masuk dari jaringan lokal atau Internet menjadi data serial UART, pada modul ini ada beberapa hal yang harus dikonfigurasi seperti : alamat IP perangkat, alamat IP server, baud rate serial, mode perangkat (sebagai klien atau server), dan mode protokol apakah TCP atau UDP. Bentuk fisik dari perangkat ini dapat dilihat pada Gambar 30.
Device Driver
Modem Internet
Embedded Host
Device Modem PLC
Modem PLC
Gambar 30 Bentuk fisik hardware klien.
2.2 MODEM PLC Data dalam bentuk protokol yang terdefinisi baik berasal dari embedded host maupun device driver perlu dihubungkan, pada sistem ini perangkat yang digunakan untuk menghubungkan dua perangkat tersebut menggunakan modem PLC dimana media komunikasinya menggunakan jalus listrik. Modem PLC yang digunakan produk dari Yitran yang dijantungi oleh komponen IC (Integrated Circuit) IT800D. Secara blok diagram perangkat ini dapat dilihat pada Gambar 31. Perangkat ini bertugas mengubah data serial UART menjadi sinyal–sinyal listrik yang dapat diikutsertakan di dalam jaringan listrik, pada Gambar 31 terdapat blok AFE (Analog front end), blok inilah yang mengubah dari bentuk
47
data digital menjadi
sinyal listrik analog dalam bentuk modulasi frekuensi.
Frekuensi yang termodulasi hasil dari AFE diserahkan ke blok PSU (Power Supply Unit) untuk diteruskan ke jaringan listrik. IC IT800D merupakan IC mikrokontroller yang mengolah data serial yang diterima dalam bentuk protokol terdefinisi menjadi protokol tersendiri (protokol buatan Yitran) agar dapat dimengerti oleh modem PLC di sisi lainnya dan sebaliknya menerima data dalam bentuk protokol Yitran yang dikirim oleh modem PLC di sisi lainnya dan merubahnya menjadi protokol terdefenisi.
Modem PLC
Gambar 31 Diagram blok modem PLC.
2.3 DEVICE DRIVER Device driver merupakan perangkat yang digunakan untuk menerima sinyal baik digital maupun analog dari sensor dan memberi sinyal baik digital maupun analog ke aktuator berdasarkan perintah dari embedded host melalui modem PLC. Bentuk dari perangkat ini disesuaikan dengan alat yang akan diakuisisi dan dikendalikan, untuk tesis ini alat yang digunakan adalah lampu pijar. Untuk diagram bloknya dapat dilihat pada Gambar 32. Device driver Ke PLC modem
RX TX Rs232
Mikrokont roller
Driver
Aktuator Sensor
Gambar 32 Blok diagram device driver.
48
Perangkat ini menggunakan sebuah mikrokontroller untuk menerjemahkan perintah yang diterima dari embedded host untuk mengatur blok driver, blok driver dapat berbentuk relay, transistor, mosfet, ataupun SCR tergantung terhadap aktuator yang akan digunakan apakah motor dinamo ataupun selenoid aktuator itu sendiri dipilih berdasarkan alat yang akan dikendalikan, sedangkan sensor mengambil status atau keadaan aktuator yang kemudian diserahkan ke mikrokontroller untuk dipaketkan ke dalam bentuk protokol terdefinisi sebelum di kirim ke embedded host melalui modem PLC.
EVALUASI SISTEM Untaian kegiatan penelitian yang dimulai dari penentuan kebutuhan sistem, studi literatur hingga menghasilkan prototipe sistem ada beberapa hal hasil pengamatan yang perlu disampaikan yaitu : 1. Aspek manfaat : sistem ini memiliki nilai jual yang bisa dimanfaatkan di dunia usaha di Indonesia, ini karena sistem ini menjadi alternatif produk smart home yang bisa diakses di mana saja kapan saja beda dengan produk yang sudah ada di pasaran hanya bisa diakses secara lokal dan kalaupun ada menggunakan IP publik yang merupakan sumber daya terbatas. 2. Aspek teknis : dengan tidak digunakannya IP publik sistem ini bisa dipasang di mana saja selama terhubung dengan Internet ditambah dengan digunakannya port 80 yang tidak ditutup oleh network administrator. Dengan menggunakan metode GET pada protokol HTTP semua parameter yang perlu dikirim ke server tertera dalam alamat URL sehingga parameter tersebut dapat dilihat dengan menggunakan software sniffing. Device driver yang perlu dikembangkan cukup banyak variannya ini dikarenakan peralatan elektronik yang akan diakses cukup banyak pula variannya namun dapat dikelompokan menjadi dua bagian yaitu yang diakses berdasarkan status on / off dan bedasarkan suatu nilai. Bentuk fisik dari perangkat masih cukup besar terutama modem PLC, dengan digunakannya power line sebagai media komunikasi lokal cukup memudahkan dalam hal instalasinya dalam arti tidak perlu menarik kabel dari embedded host ke device driver yang lokasinya relatif berjauhan, komunikasi melalui power
49
line tidak mempengaruhi perangkat listrik maupun elektronik yang terpasang.. 3. Aspek biaya : jika dibandingkan dengan penelitian yang bertopik serupa biaya yang dikeluarkan untuk perangkat sistem ini memiliki nilai lebih dan kurang, nilai lebihnya terletak pada penggunaan embedded host lebih murah baik di sisi harganya ( + Rp.600.000,- ) maupun konsumsi listriknya (+ 300 mA) dibandingkan menggunakan komputer, sedangkan untuk jaringan lokalnya sisitem ini menggunakan modem PLC yang harganya + Rp. 700.000,- / modem lebih mahal dibandingkan dengan menggunakan komunikasi serial RS485 yang harga modulnya + Rp. 80.000,- dan kabelnya menggunakan kabel UTP yang perkiraan harganya Rp.3.000,-/meter namun dari segi instalasinya komuikasi melalui jaringan listrik lebih mudah. Sistem ini cukup menggunakan koneksi Internet yang biayanya tidak mahal cukup memilih peket akses Internet termurah ini karena jumlah data yang dikirimkan dalam satu kali transaksi sekitar 213 Byte (Gambar 15).