Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SPI.h>
- #include <Ethernet.h>
- #include <LiquidCrystal_I2C.h>
- #include <Wire.h>
- int led =3 ;
- LiquidCrystal_I2C lcd(0x3F,9,8,7,6,5,4,3,2,POSITIVE);
- byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
- IPAddress ip(192, 168, 1, 10);
- EthernetServer server(80);
- String requisicao_do_navegador;
- String parametro_da_requisicao;
- void setup()
- {
- Ethernet.begin(mac, ip);
- server.begin();
- pinMode(2,OUTPUT);
- pinMode(7,OUTPUT);
- lcd.begin(20,4);
- pinMode(3,OUTPUT);
- analogWrite(3,150);
- }
- void loop()
- {
- lcd.setCursor(1,1);
- lcd.print("olaaa");
- EthernetClient client = server.available();
- if (client) {
- boolean currentLineIsBlank = true;
- while (client.connected()) {
- if (client.available()) {
- char c = client.read();
- requisicao_do_navegador += c;
- if (c == '\n' && currentLineIsBlank )
- {
- if (definindo_a_requisicao(&requisicao_do_navegador)) {
- parametro_da_requisicao = pegar_parametro_da_requisicao(&requisicao_do_navegador);
- Serial.println(parametro_da_requisicao);
- client.println("HTTP/1.1 200 OK");
- client.println("Content-Type: text/html");
- client.println("Connection: close");
- client.println();
- //Conteudo da Página HTML
- client.println("<!DOCTYPE html>");
- client.println("<html>");
- client.println("<head>");
- client.println("<title>Automacao residencial</title>");
- client.println("</head>");
- client.println("<body>");
- client.println("<h1><font color=#4279c7>Servidor Web</font></h1>");
- client.println("<hr/>");
- client.println("<h1>Saidas digitais</h1>");
- client.println("<form method=\"get\">");
- saida(client);
- client.println("<br/>");
- saida2(client);
- client.println("</form>");
- client.println("</body>");
- client.println("</html>");
- } else {
- client.println("HTTP/1.1 200 OK");
- }
- requisicao_do_navegador = "";
- break;
- }
- if (c == '\n') {
- currentLineIsBlank = true;
- }
- else if (c != '\r') {
- currentLineIsBlank = false;
- }
- }
- }
- delay(1);
- client.stop();
- }
- }
- void saida(EthernetClient cl)
- {
- if (parametro_da_requisicao.indexOf("P2=1") > -1)
- {
- digitalWrite(2, HIGH);
- cl.println("<input type=\"checkbox\" name=\"P2\" value=\"1\" onclick=\"submit();\" checked > lampada 1 ligada");
- }
- else
- {
- digitalWrite(2, LOW);
- cl.println("<input type=\"checkbox\" name=\"P2\" value=\"1\" onclick=\"submit();\" > lampada 1 desligada");
- }
- }
- void saida2(EthernetClient cl)
- {
- if (parametro_da_requisicao.indexOf("P7=1") > -1)
- {
- digitalWrite(7, HIGH);
- cl.println("<input type=\"checkbox\" name=\"P7\" value=\"1\" onclick=\"submit();\" checked > lampada 2 ligada");
- }
- else
- {
- digitalWrite(7, LOW);
- cl.println("<input type=\"checkbox\" name=\"P7\" value=\"1\" onclick=\"submit();\" > lampada 2 desligada");
- }
- }
- String pegar_parametro_da_requisicao(String *requisicao) {
- int pos_inicial, pos_final;
- String parametro;
- pos_inicial = (*requisicao).indexOf("GET") + 3;
- pos_final = (*requisicao).indexOf("HTTP/") - 1;
- parametro = (*requisicao).substring(pos_inicial,pos_final);
- parametro.trim();
- return parametro;
- }
- bool definindo_a_requisicao(String *requisicao) {
- String parametro;
- bool requisicao_desejada = false;
- parametro = pegar_parametro_da_requisicao(requisicao);
- if (parametro == "/") {
- requisicao_desejada = true;
- }
- if (parametro.substring(0,2) == "/?") {
- requisicao_desejada = true;
- }
- return requisicao_desejada;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement