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
Library-library yang digunakan dimasukkan pada inisialisasi program. Library yang digunakan pada perangkat lunak yang dibuat adalah SPI.h,
Ethernet.h dan pgmspace.h. Variabel-variable yang digunakan dideklarasikan pada inisialisasi
program. Varibel array relay memuat angka pin digital yang digunakan sebagai pin keluaran untuk mengendalikan relay. Varibel array statusRelay berisi status
setip relay, 0 untuk relay terhubung dan 1 untuk relay tidak terhubung. Variabel buffer digunakan sebagai tempat sementara yang digunakan untuk mengambil
variabel yang disimpan dalam memori program agar dapat digunakan. Objek string readString digunakan untuk menympan 14 karakter pertama dari HTTP
request message. Varibel cRelay dan cCmd digunakan untuk menyimpan nomor relay dan perintah yang akan dilakukan terhadap relay tersebut. Variabel LcRelay
dan LcCmd menyimpan nomor relay dan perintah yang telah dilakukan. Kode HTML untuk halaman web smart building disimpan di memori program dengan
menggunakan variable modifier PROGMEM. Konfigurasi jaringan juga tulis pada inisialisasi program. Kode program untuk inisialisasi adalah sebagai berikut:
include SPI.h include Ethernet.h
include avrpgmspace.h relay terhubung ke pin 2, 3, 5 dan 6
const byte relay[] = {2, 3, 5, 6}; define STRING_BUFFER_SPACE 128
String readString; byte statusRelay[] = {0, 0, 0, 0};
char cRelay; char LcRelay;
char cCmd; char LcCmd;
masukkan sebuah MAC address dan IP address untuk arduino kita IP address bergantung pada jaringan lokal:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip192,168,1, 4; Initialize the Ethernet server library
with the IP address and port you want to use port 80 is default for HTTP:
EthernetServer server80; char buffer[STRING_BUFFER_SPACE];
PROGMEM prog_char http_respond_header[] = HTTP1.1 200 OK\nServer: arduino uno\nContent-Type: texthtml\nConnnection:
close\n\n; PROGMEM prog_char html_headera[] = DOCTYPE
HTMLhtmlheadtitleSmart Buildingtitle\n; PROGMEM prog_char html_headerb[] = meta http-equiv=\refresh\
content=\10;URL=http:192.168.1.4\ head\nbody\n; PROGMEM prog_char html_headerc[] = div
align=\center\h1Smart Buildingh1\n; PROGMEM prog_char html_footera[] = tr\ntable\n;
PROGMEM prog_char html_footerb[] = div\n\nbody\nhtml\n; PROGMEM prog_char html_table_headera[] = table width=\219\
height=\134\ border=\1\ align=\center\\ntr\nth width=\53\ scope=\col\RELAY;
PROGMEM prog_char html_table_headerb[] = th\nth width=\63\ scope=\col\SWITCHth\nth width=\81\
scope=\col\STATUSth\n; PROGMEM prog_char html_table_satu[] = tr\ntrtddiv
align=\center\; PROGMEM prog_char html_table_dua[] = divtd\ntddiv
align=\center\form METHOD=get action=\http:192.168.1.4\input type=hidden name=\cmd\
value=\; PROGMEM prog_char html_table_tiga[] =1\input type=submit
value=\On\form;
PROGMEM prog_char html_table_empat[] = form METHOD=get action=\http:192.168.1.4\input type=hidden name=\cmd\
value=\; PROGMEM prog_char html_table_lima[] = 0\input type=submit
value=\Off\formdivtd\ntddiv align=\center\; PROGMEM prog_char html_table_enam[] = divtd\n;
PROGMEM prog_char idrelay[] = 01234; PROGMEM prog_char stsrelay_mati[] = Mati;
PROGMEM prog_char stsrelay_hidup[] = Hidup; PROGMEM prog_char hidup_semua[] = form METHOD=get
action=\http:192.168.1.4\\ninput type=hidden name=\cmd\ value=\a1\\ninput type=submit value=\Hidupkan
Semua\\nform\n; PROGMEM prog_char mati_semua[] = form METHOD=get
action=\http:192.168.1.4\\ninput type=hidden name=\cmd\ value=\a0\\ninput type=submit value=\Matikan
Semua\\nform\n; PGM_P awalakhir_html[] PROGMEM = {http_respond_header,
html_headera, html_headerb, html_headerc, html_table_headera, html_table_headerb, html_footera, html_footerb};
PGM_P penyusn_tabel[] PROGMEM = {html_table_satu, html_table_dua, html_table_tiga, html_table_empat, html_table_lima,
html_table_enam}; PGM_P stRelay[] PROGMEM = {stsrelay_mati, stsrelay_hidup};
PGM_P semua[] PROGMEM = {hidup_semua, mati_semua};
3.3.3 Fungsi Setup