#---------------------------------------------
led=LED.new
led.on
#AD-----------------------------
io = AnalogIO.new(A0, INPUT)
#--------HTML Button --------------------
content = [ "HTTP/1.1 200 OK\r\n\r\n",
"<html><head></head>\r\n",
"<body>Hello<br>\r\n",
"<form method=\"POST\">",
"<input type=\"submit\" name=\"btn\" value=\"ON!\" />",
"<input type=\"submit\" name=\"btn\" value=\"OFF!\" /><br>",
"<input type=\"submit\" name=\"btn\" value=\"LT!\" />",
"<input type=\"submit\" name=\"btn\" value=\"RT!\" />",
"</form></body></html>\r\n"]
#------AT Command--------------------------------
serv = Serial.new(19200)
delay(1000)
serv.puts("AT\r\n")
delay(500)
serv.puts("AT+RST\r\n")
delay(2000)
serv.puts("AT+CWMODE=2\r\n")
delay(500)
serv.puts("AT+CIPMUX=1\r\n")
delay(500)
serv.puts("AT+CIPSERVER=1,80\r\n")
delay(500);
#--------------------------
while serv.available>0 do
t = serv.read
delay(20)
end
recv_text = ""
led.off
#------main loop---------------------------------
loop do
#-----Rs232 input--------------------------
while serv.available>0 do
t = serv.read
if t<256 then
recv_text += t.chr
end
#-------LF-------------
if t==0x0A then
gt = recv_text.index("GET")
pst = recv_text.index("POST")
#----POST------------------------------
if pst!=nil then
#--------------------------
while pst!=nil do
t = serv.read
if t<256 then
recv_text += t.chr
end
pon = recv_text.index("=ON")
poff = recv_text.index("=OFF")
plt = recv_text.index("=LT")
prt = recv_text.index("=RT")
#-----LED on ----------------------
if pon!=nil then
led.on
end
#-----LED off------------------------
if poff!=nil then
led.off
pst = nil
end
if plt!=nil then
led.on
end
if prt!=nil then
led.on
end
if t==0x0A then
recv_text = ""
end
end
end
#---GET--------------------------
if gt!=nil then
m = recv_text[recv_text.index("IPD")+4,1]
serv.puts "AT+CIPSEND=" + m + ",289\r\n"
#--------------------------
while serv.available>0 do
t = serv.read
delay(2)
end
delay(100)
#------HTML send-------------------
content.each do |i|
serv.puts i
delay(100)
end
delay(200);
closeCommand = "AT+CIPCLOSE=" + m + "\r\n"
serv.puts(closeCommand)
delay(200)
#--------------------------
gt = nil
end
recv_text = ""
end
end #----while--------------
end #------loop---------------