mulai
Set pin 2,3,5,dan 6 sebagai output.
Set alamat IP arduino. Mulai server.
Apakah ada client baru?
Terima karakter HTTP request
message dari client
Apakah c = ‘\n’ dan currentLineIsBlank =
true? Cek perintah yang ada di
readString
Panggil fungsi
kerjakan
Kirim HTTP respond
message dan halaman web
ke client Delay 1 milidetik.
Putuskan koneksi. Kosongkan objek
readString
tidak ya
Apakah jumlah karakter dalam objek
readString 14? C=karakter yang
diterima
readString+=c
currentLineIsBlank = true
Apakah c=’\n’ Apakah c = ‘\r’
Lanjutkan ke karakter
berikutnya
currentLineIsBlank = true currentLineIsBlank = false
ya ya
ya tidak
tidak tidak
tidak ya
inisialisasi
Gambar 3.6 Diagram Alir Prototipe Smart Building
3.3.1 Halaman Web Smart Building
Halaman web yang ditampilkan oleh arduino uno dapat dilihat pada Gambar 3.6. Ketika kita mengklik tombol on pada relay 1 maka hal ini sama
dengan memasukkan http:192.168.1.4?cmd=01 ke address bar web browser. Sedangkan ketika kita mengklik tombol off pada relay 1 maka hal ini sama
dengan memasukkan http:192.168.1.4?cmd=00 ke address bar web browser.
Gambar 3.7 Halaman Web Smart Building
Kode HTML HyperText Markup Language untuk halaman tersebut adalah sebagai berikut:
1
DOCTYPE HTML htmlheadtitle
Smart Building title
2
meta http-equiv
= refresh
content =
10;URL=http:192.168.1.4 head
3
body
4
div align
= center
h1 Smart Building
h1
5
table width
= 219
height =
134 border
= 1
align =
center
6
tr
7
th width
= 53
scope =
col RELAY
th
8
th width
= 63
scope =
col SWITCH
th
9
th width
= 81
scope =
col STATUS
th
10
tr
11
trtddiv align
= center
1 divtd
12
tddiv align
= center
form METHOD
= get
action =
http:192.168.1.4 input
type =
hidden name
= cmd
value =
01 input
type =
submit value
= On
formform METHOD
= get
action =
http:192.168.1.4 input
type =
hidden name
= cmd
value =
00 input
type =
submit value
= Off
formdivtd
13
tddiv align
= center
Mati divtd
14
tr
15
trtddiv align
= center
2 divtd
16
tddiv align
= center
form METHOD
= get
action =
http:192.168.1.4 input
type =
hidden name
= cmd
value =
11 input
type =
submit value
= On
formform METHOD
= get
action =
http:192.168.1.4 input
type =
hidden name
= cmd
value =
10 input
type =
submit value
= Off
formdivtd
17
tddiv align
= center
Mati divtd
18
tr
19
trtddiv align
= center
3 divtd
20
tddiv align
= center
form METHOD
= get
action =
http:192.168.1.4 input
type =
hidden name
= cmd
value =
21 input
type =
submit value
= On
formform METHOD
= get
action =
http:192.168.1.4 input
type =
hidden name
= cmd
value =
20 input
type =
submit value
= Off
formdivtd
21
tddiv align
= center
Mati divtd
22
tr
23
trtddiv align
= center
4 divtd
24
tddiv align
= center
form METHOD
= get
action =
http:192.168.1.4 input
type =
hidden name
= cmd
value =
31 input
type =
submit value
= On
formform METHOD
= get
action =
http:192.168.1.4 input
type =
hidden name
= cmd
value =
30 input
type =
submit value
= Off
formdivtd
25
tddiv align
= center
Mati divtd
26
tr
27
table
28
form METHOD
= get
action =
http:192.168.1.4
29
input type
= hidden
name =
cmd value
= a1
30
input type
= submit
value =
Hidupkan Semua
31
form
32
form METHOD
= get
action =
http:192.168.1.4
33
input type
= hidden
name =
cmd value
= a0
34
input type
= submit
value =
Matikan Semua
35
form
36
div
37 38
body
39
html
40
Untuk mengurangi memori yang dipakai untuk menyimpan kode di atas, maka kode yang sama disimpan pada sebuah string, kemudian dikirimkan secara
berulang-ulang. Sebagai contoh kode yang terdapat pada baris 10 dan 11 yaitu:
tr trtddiv
align =
center
sama dengan kode yang terdapat pada baris 14 dan 15, baris 18 dan 19, dan baris 22 dan 23. Kode tersebut akan disimpan pada string yang bernama
html_table_satu, kemudian html_table_satu disalin ke buffer dan kirimkan secara berulang-ulang ketika diperlukan untuk membentuk kode HTML yang utuh.
Memori yang dipakai untuk menyimpan kode HTML tersebut relatif besar, sedangkan memori data yang tersedia hanya 2 KB. Untuk mengatasi hal ini maka
kode HTML akan disimpan pada memori program.
3.3.2 Inisialisasi Program