Project Arduino 2 ~ kontrol lampu dengan aplikasi android

Auto Date Sunday, February 4th, 2018

versi sebelumnya auto on off lamp mengendalikan perangkat lampu rumah dengan aduino sebagai kendali utama, RTC DS3231 sebagai pewaktu dan relay sebagai saklar lampu kendali dilakukan dengan model alarm jam untuk on dan off nya, pada kali ini disederhanakan dari sisi program arduinonya dengan mengubah kendali dari RTC DS3231 digantikan menggunakan router openwrt sebagai kendalinya

dengan perangkat yang sama dengan project sebelumnya, mengubah bagian kode arduino untuk menerima input yang dikendalikan dengan web app dan juga dengan bash scripting untuk proses backgroundnya seperti setup awal, pembacaan temperatur dari RTC DS3231 (mengoptimalkan perangkat dan menguji keakuratan nya)

Skema Perangkat Pengendali

skema aplikasi

Server Side

untuk bagian server digunakan perangkat sebuah Router HG553 dengan modifikasi pada operating sistemnya dari custom openwrt menjadi general openwrt untuk memeri keleluasaan dalam hal melakukan setting sistemnya.

bagian utama dari proses ini adalah perancangan aplikasi interfacingnya yang akan digunakan untuk komunikasi antara perangkat pengendali (arduino) dengan user menggunakan scripting BASH yang dikelola dalam web model cgi-bin sehingga bisa dikendalikan dengan webserver yang ada di openwrt.

ada beberapa scripting CGI yang dibuat namun bagian utamanya seperti berikut:

#!/bin/sh
echo “Content-type: application/json”
echo

device=$(uci get BCMlampu.setting.device)
FL=””
L=`echo “$QUERY_STRING” | sed -n ‘s/^.*L=\([^&]*\).*$/\1/p’ | sed “s/%20/ /g”| sed “s/%2F/\//g”`
if [ $L == “B” ] || [ $L == “b” ]; then
FL=”/www/lampu/status/L1.txt”
else
if [ $L == “D” ] || [ $L == “d” ]; then
FL=”/www/lampu/status/L2.txt”
else
if [ $L == “E” ] || [ $L == “e” ]; then
FL=”/www/lampu/status/L3.txt”
else
if [ $L == “H” ] || [ $L == “h” ]; then
FL=”/www/lampu/status/L4.txt”
else
if [ $L == “J” ] || [ $L == “j” ]; then
FL=”/www/lampu/status/L5.txt”
fi
fi
fi
fi
fi

if [ -z $FL ]; then
if [ $L == “Z” ]; then
FL=”/www/lampu/status/L1.txt”
cat > $FL <<EOF
A
EOF
cmd = `echo B > $device`
echo “$cmd”
FL=”/www/lampu/status/L2.txt”
cat > $FL <<EOF
B
EOF
cmd = `echo D > $device`
echo “$cmd”
FL=”/www/lampu/status/L3.txt”
cat > $FL <<EOF
C
EOF
cmd = `echo E > $device`
echo “$cmd”
FL=”/www/lampu/status/L4.txt”
cat > $FL <<EOF
D
EOF
cmd = `echo H > $device`
echo “$cmd”
FL=”/www/lampu/status/L5.txt”
cat > $FL <<EOF
E
EOF
cmd = `echo J > $device`
echo “$cmd”
else
if [ $L == “z” ]; then
FL=”/www/lampu/status/L1.txt”
cat > $FL <<EOF
a
EOF
cmd = `echo b > $device`
echo “$cmd”
FL=”/www/lampu/status/L2.txt”
cat > $FL <<EOF
b
EOF
cmd = `echo d > $device`
echo “$cmd”
FL=”/www/lampu/status/L3.txt”
cat > $FL <<EOF
c
EOF
cmd = `echo e > $device`
echo “$cmd”
FL=”/www/lampu/status/L4.txt”
cat > $FL <<EOF
d
EOF
cmd = `echo h > $device`
echo “$cmd”
FL=”/www/lampu/status/L5.txt”
cat > $FL <<EOF
e
EOF
cmd = `echo j > $device`
echo “$cmd”
fi
fi
else
cat > $FL <<EOF
$L
EOF
cmd = `echo $L > $device`
echo “$cmd”
fi

L1=`cat /www/lampu/status/L1.txt`
L2=`cat /www/lampu/status/L2.txt`
L3=`cat /www/lampu/status/L3.txt`
L4=`cat /www/lampu/status/L4.txt`
L5=`cat /www/lampu/status/L5.txt`
Lpu=”[{\”L1\”:\””$L1″\”,\”L2\”:\””$L2″\”,\”L3\”:\””$L3″\”,\”L4\”:\””$L4″\”,\”L5\”:\””$L5″\”}]”
echo $Lpu

Client Side

dibuat dengan menggunakan aplikasi App Inventor masih harus disempurnakan lagi bisa didownload di

 

Tinggalkan Komentar Anda