Arduino Wifi 3G Editable Setup 1.0
Apresentação:
Este app Arduino Wifi 3G Editable Setup, se apresenta com mais duas facilidades;
Dois canais estão equipados com Modo Automatico ou Manual selecionaveis e Setup Mode.
Dois canais estão equipados com Modo Automatico ou Manual selecionaveis e Setup Mode.
Google Play:
https://play.google.com/store/apps/details?id=appinventor.ai_antoniosergiosouzaalmeida.Arduino_Wifi_3G_Web_Sensor1_6
Youtube:
https://www.youtube.com/watch?v=pmhI2EK9yl0&list=PL70c1gJPe5Bq9MTBG6T6I47wom1fmejOT
Através do primeiro canal podemos setar valores de temperatura do sensor LM35 para controle de temperatura; Então quando o valor da temp for maior ou menor que o valor do Setup o app enviará dados para o Arduino acionar um relé 110/220V para acionar um ventilador, exaustor, ar condicionado, controlando a temperatura ambiente dentro do Setup que voce selecionou como ideal.
Canal 1 ligado ao sensor LM35 pino A0(Input) Arduino e Controle através do pino A3(Output) Arduino.
Através do segundo canal podemos setar valores de luminosidade do sensor LDR para controle de luminosidade; Então quando o valor da luminosidade for maior ou menor que o valor do Setup o app enviará dados para o Arduino acionar um relé 110/220V para ligar uma lâmpada ou luminária, controlando a luminosidade ambiente dentro do Setup que voce selecionou como ideal.
Canal 2 ligado ao sensor LDR pino A1(Input) Arduino e Controle através do pino A4(Output) Arduino.
Atenção: para utilizar este modo de Setup e controle selecione Modo Automático.
Se preferir utilizar como canais normais ON OFF apenas selecione Modo Manual.
Acionamentos de dispositivos ON/OFF = 6 canais sendo 2 canais modo automático ou manual;
Status: Os botões de acionamento dos dispositivos recebem um status ou mensagem enviada pelo Arduino, indicando qual porta foi acionada;
Status: Os botões de acionamento dos dispositivos recebem um status ou mensagem enviada pelo Arduino, indicando qual porta foi acionada;
Leitura de sensores analógicos e digitais = 6canais(Press to go Web);
Arduino A0: LM35 Sensor de temperatura(ºC);
Arduino A1: LDR Sensor de luminosidade(LUX);
Arduino A2: MQ-7 Sensor de monoxido de carbono - CO (ppm);
Arduino D2: DHT11 Sensor de temperatura e humidade(ºC, ºF, ºK, DP e DPF);
Arduino D6 e D7: HC-SR04 Sensor ultrasonico distância(CM);
Botões Editáveis:
Edite o numero de IP e server ;
Edite os nomes dos dispositivos ou locais que estão sendo acionados;
Salvar no banco de dados:
O numero de IP e os nomes dos dispositivos ficaram salvos facilitando sua conexão com a internet e com nomes personalizados;
Através do Setup voce pode inserir valores de temperatura e luminosidade e assim fazer o controle automático
baseado nos valores lidos dos sensores que são mostrados o tempo todo na tela;
Exemplo podemos controlar temperatura ou luminosidade de um ambiente conforme descrito acima.
Conteúdo:
1)- Esquema de ligações com galeria de fotos.
2)- Fotos e Vídeos: Arduino Wifi Ethernet Control.
3)- Descrição de funcionamento e instalações.
4)- Como montar e configurar corretamente o Ethernet Shield com o Arduino:
5)- Programa Arduino.
6)- Lista de Materiais.
Adiquira o aplicativo - Arduino Wifi 3G Editable Setup.
Google Play:
Veja o vídeo no Youtube:
1)- Esquema de ligações com galeria de fotos.
2)- Fotos e Vídeos: Arduino Wifi 3G Editable Setup
Google Play:
Veja o vídeo no Youtube:
3)- Descrição de funcionamento e instalações.
Este app Arduino Wifi 3G Editable Setup, se apresenta com mais duas facilidades;
Dois canais estão equipados com Modo Automatico ou Manual selecionaveis e Setup Mode.
Através do primeiro canal podemos setar valores de temperatura do sensor LM35 para controle de temperatura; Então quando o valor da temp for maior ou menor que o valor do Setup o app enviará dados para o Arduino acionar um relé 110/220V para acionar um ventilador, exaustor, ar condicionado, controlando a temperatura ambiente dentro do Setup que voce selecionou como ideal.
Canal 1 ligado ao sensor LM35 pino A0(Input) Arduino e Controle através do pino A3(Output) Arduino.
Através do segundo canal podemos setar valores de luminosidade do sensor LDR para controle de luminosidade; Então quando o valor da luminosidade for maior ou menor que o valor do Setup o app enviará dados para o Arduino acionar um relé 110/220V para ligar uma lâmpada ou luminária, controlando a luminosidade ambiente dentro do Setup que voce selecionou como ideal.
Canal 2 ligado ao sensor LDR pino A1(Input) Arduino e Controle através do pino A4(Output) Arduino.
Atenção: para utilizar este modo de Setup e controle selecione Modo Automático.
Se preferir utilizar como canais normais ON OFF apenas selecione Modo Manual.
Acionamentos de dispositivos ON/OFF = 6 canais;
Leitura de sensores analógicos e digitais = 6canais(Press to go Web);
Botões Editáveis:
Edite o numero de IP e server ;
Edite os nomes dos dispositivos ou locais que estão sendo acionados;
Salvar no banco de dados:
O numero de IP e os nomes dos dispositivos ficaram salvos facilitando sua conexão com a internet e com nomes personalizados;
Esta versão comunica com roteador a cabo, wifi ou 3G com rede interna porta:80 ou rede externa porta:8090 utilizando roteador com IP real(entre no site meu IP e descubra qual é seu IP) ou host fazendo um cadastro grátis em "no-ip"(your_name.ddns.net).
Desta forma torna-se este aplicativo bem versátil podendo comunicar a qualquer distância ou local, bastando apenas ter um numero de IP e uma conexão(via cabo, wifi ou 3G)com a internet.
O Aplicativo Arduino Wifi Ethernet Control instalado no smartphone Android controla remotamente o Arduino conectado a um roteador via wifi, cabo de rede ou 3G;
O aplicativo Arduino Wifi 3G Ethernet: Web Sensor Automation instalado no smartphone controla remotamente o Arduino via cabo, wifi ou 3G com até 6 canais(porta analógica pinos: A3, A4 e A5 e porta digital pinos: D3, D4 e D5);
Através destes pinos podemos conectar uma placa com 6 reles(vendida no ebay ou mercado livre), onde podemos controlar até 6 equipamentos lidados a rede elétrica residencial;
Acionamento(liga e deslida) de lâmpadas, abatjours, luminarias, travas elétricas de portas, motores, solenóides, contatores, forno elétrico, aparelhos eletrodomésticos, etc.
Obs.: Os acionamentos podem atuar de forma independente ou simultânea, facilitando sua operação e abrindo multiplas possibilidades ao projeto como exemplo em automação residêncial onde voce precisa de acionar luminárias dos comodos, salas, quartos, halls, cozinha, de forma mais inteligente.
Como funciona:
Arduino Wifi 3G Ethernet: Web Sensor Automation; Este aplicativo permite a comunicação via wifi ou 3G entre o Android e o Arduino, possibilitando inumeras aplicações de automação residencial ou robótica;
A instalação é bem simples um Arduino uno r3 conectado ao módulo ethernet shield faz conexão RJ45 ;com um roteador wifi; Então podemos inserir um numero de IP dado pelo roteador ao programa Arduino;
Agora podemos editar o numero de IP no App. Android e pronto já podemos visualizar o status de 6 canais ON/OFF do Arduino(porta analógica A3, A4 e A5 e porta digital D3, D4 e D5);
O aplicativo Arduino Wifi 3G Ethernet: Web Sensor Automation instalado no Smartphone com Android comunica enviando "strings" ao roteador
via cabo, wifi ou 3G
que está conectado à placa Ethernet shield que por sua vez está conectada ao Arduino;
O Arduino recebe estas strings que por sua vez interpreta e faz o comando dos relés(placa de acionamento de relés) que está conectada nas portas digitais e analógicas correspondente do Arduino(porta analógica digital pinos A3, A4 e A5 e D3, D4 e D5;
O Arduino também transmite de volta via wifi do roteador o Staus das portas acionadas, de forma que qualquer modificação de acionamento dos reles possa ser visualizada instantaneamente no smartphone Android; Então no caso de uma automação residencial podemos monitorar o acionamento à distância.
Arduino Sensors:
Através do botão "Press to go Web" podemos acessar uma página da web que está conectada ao Arduino e ethernet shield através do numero de IP que foi dado; Neste exemplo com código Arduino fornecido podemos acessar até 6 sensores sendo:
3 sensores analógicos e 3 sensores digitais;
3 sensores analógicos e 3 sensores digitais;
Neste exemplo temos:
Arduino A0: LM35 Sensor de temperatura(ºC);
Arduino A1: LDR Sensor de luminosidade(LUX);
Arduino A2: MQ-7 Sensor de monoxido de carbono - CO (ppm);
Arduino D2: DHT11 Sensor de temperatura e humidade(ºC, ºF, ºK, DP e DPF);
Arduino D6 e D7: HC-SR04 Sensor ultrasonico distância(CM);
Obs.: Estes são sensores que foram utilizados com o Arduino, que estão acompanhado do programa.
Caso queiram utilizar otros sensores, basta apenas incluir no programa Arduino;
O programa código Arduino está bem fácil de forma a :
Incluir novos sensores;
Incluir novas bibliotecas;
Incluir novos códigos;
Desativar sensores ou deixar apenas como comentário;
Utilizar apenas sensores que voce já possui;
Funcionamento passo a passo:
Monte o ethernet shield no Arduino;
Entre no IDE Arduino copie o programa fornecido e faça o upload para a placa Arduino;
Conecte o cabo de rede(RJ45) ao roteador sem fio wifi;
Ligue o wifi do smartphone Android;
Abra o App. Arduino Wifi 3G Ethernet: Web Sensor Automation;
Verifique um IP disponível dentro do range de seu roteador;
No App. pressione o botão Change IP e entre com o novo numero de IP com o servidor exemplo: 192.168.1.50:80
Servidor para rede interna 80;(utilize o IP do roteador exemplo: 192.168.1.50:80);
Servidor para rede externa 8090;(utilize um IP real :8090 ou host conforme descrito);
Pressione IP Save para salvar o IP ou Esc IP para sair sem salvar;
Neste instante vocçe deve sair do App e entrar novamente para salvar no banco de dados, neste momento aparecerá uma notificação dinformando que o App parou, de OK e entre novamente;
Veja na parte superior seu IP que foi salvo como exemplo: http://192.168.1.50:80;
Pronto se seu wifi do Android estiver conectado com o wifi do roteador voce já pode acionar os botões ON/OFF
e visualizar o acendimento dos leds ou no caso de relés para acendimento de lampadas 110V/220V;
Veja também no App o status que te retorna uma mensagem da porta Arduino que foi acionada;
Com o status fica facil saber que uma lampada está acesa ou apagada ou um dispositivo está lidado ou desligado;
Edit Name: com este botão voce poderá incluir ou alterar uma lista com os nomes dos botões;
Com o edit name voce pode editar os nomes dos locais de acionamento exemplo Quarto dos fundos; Sala, Sacada, Fechadura da porta, Abatjour, Esteira Motor1, etc facilitando com isso a identificação dos comodos ou dispositivos;
Pressione Save Name para salvar ou Esc para sair sem salvar
Novamente saia do App. e entre novamente para salvar os dados dos nomes no banco de dados do Android;
Uma notificação aparecerá informando que o App. parou, de ok e entre novamente;
Veja os sensores conectados ao Arduino, pressione o botão Press to go Web;
Press to go Web: Veja todos os sensores ligados ao Arduino enviando dados de temperatura, umidade, distância, etc;
Gratis:
1)- Esquema de ligações com galeria de fotos.
2)- Fotos e Vídeos: Arduino Wifi Ethernet Control.
3)- Descrição de funcionamento e instalações.
4)- Como montar e configurar corretamente o Ethernet Shield com o Arduino:
5)- Programa Arduino.
6)- Lista de Materiais.
1)- Esquema de ligações com galeria de fotos.
2)- Fotos e Vídeos: Arduino Wifi Ethernet Control.
3)- Descrição de funcionamento e instalações.
4)- Como montar e configurar corretamente o Ethernet Shield com o Arduino:
5)- Programa Arduino.
6)- Lista de Materiais.
Adiquira o aplicativo - Arduino Wifi 3G Editable Setup
Google Play:
4)- Como montar e configurar corretamente o Ethernet Shield com o Arduino:
O Arduino Ethernet Shield W5100 é outro dispositivo dessa família, que além de possibilitar o acesso às informações na sua rede local, ainda pode ser conectado à internet e permitir o seu monitoramento.
Acoplando o Arduino Ethernet Shield W5100 ao seu Arduino, basta um simples cabo de rede para que, em poucos minutos, você passe a monitorar o estado de sensores, chaves e outros dispositivos à partir do browser do seu computador ou celular. Este Shield é baseado no ethernet chip Wiznet W5100 (datasheet) e fornece um endereço IP compatível com os protocolos TCP e UDP.
O primeiro passo para setar corretamente o seu shield ethernet é configurá-lo com um endereço IP válido da sua rede. Vamos mostrar como obter as informações de rede no Windows 7, mas você pode usar o mesmo princípio para outros sistemas operacionais.
CONFIGURAÇÃO IP:
Clique em INICIAR e, na caixa de diálogo, digite CMD. Em seguida pressione a tecla ENTER :
Na janela de prompt de comando, digite “ipconfig /all” (sem as aspas) e aperte ENTER :
O comando será executado e várias informações aparecerão na tela. Procure pela informação referente à sua placa de rede principal, semelhante à esta destacada na imagem, pois são essas informações que você irá precisar para configurar o shield : Endereço IP, Máscara de sub-rede e Gateway Padrão :
Esses três parâmetros são definidos logo no início do programa, e devem ser alterados de acordo com a configuração da sua rede:
IPAddress ip(192,168,1,50) : Troque por um endereço IP no mesmo formato daquele que você copiou na janela de prompt de comando, mas o último número deve ser diferente. Exemplo : o IP do nosso equipamento é 192.168.1.120, e no programa utilizamos o 192.168.1.50. Antes de usar qualquer endereço da rede, certifique-se que o mesmo ainda não está em uso por nenhum outro equipamento.
Obs.: utilize um numero de IP que esteja dentro do range de seu roteador e que não esteja sendo utilizado por outro
dispositivo.
IPAddress gateway(192,168,1,1) : Utilize o mesmo endereço do Gateway Padrão que você obteve na janela de prompt de comando. No nosso caso, 192.168.1.1
IPAddress subnet(255,255,255,0) : Utilize o mesmo endereço referente à máscara de sub-rede, que você obteve na janela de prompt de comando : 255.255.255.0
Copie o código Arduino fornecido vá para o IDE Arduino e cole o código
Veja o código Arduino e não esqueça então de fazer as modificações de IP, Gateway e Subnet capturados de sua rede, conforme explicado acima;
Veja a parte do código onde deve-se fazer as alterações com seus dados de rede;
Para testes você pode usar o MAC padrão como descrito no código abaixo(byte mac[ ]);
Copie o código completo conforme mostra item 5)- e altere os parametros de configuração de rede
com seus dados conforme descrito acima;
No IDE verifique e Upload o código para a placa Arduino;
Monte o Ethernet Shield no Arduino conforme figura;
Plugar um cabo de rede entre o Ethernet Shield e o roteador;
Se tudo estiver correto, entrar no aplicativo Arduino Wifi Ethernet Control;
Ligue o Wifi do Smartphone e ligue também o roteador wifi e o Arduino com suas fontes respectivas;
Pressione o botão IP change e digite seu numero de IP igual ao utilizado no código Arduino;
Pressione o botão IP save para salvar este número de IP na memória do smartphone;
Se desejar entrar com outro numero de IP repita a operação anterior ou pressione o botão Esc para sair
sem fazer alterações;
Pronto! Agora é só pressionar os botões de acionamento para ligar e deslidar dispositivos;
Para testar voce pode utilizar leds nas portar do Arduino;
Para efetuar comandos elétricos(ligar/desligar lâmpadas 110V/220V) será necessário utilizar e relés,
conforme descrição;
Resumo:
Para conexão local via wifi insira no aplicativo smartphone o mesmo IP com porta:80 do roteador que também está gravado no código Arduino;
Exemplo:192.168.1.50:80. Utilizado para conexão local rede interna.
//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//
Para conexão rede externa via cabo de rede, wifi ou 3G insira no aplicativo smartphone o IP com porta:8090 e pronto!
Exemplo:178.161.324.101:8090. Utilizado para conexão rede externa.
Entre na configuração de seu roteador:
Com o roteador conectado na rede digite o IP do roteador exemplo:192.168.1.1 e tecle Enter;
Entre no menu de REDIRECIONAMENTO DE PORTA e insira um nome para o dispositivo exemplo: Arduino e insira a PORTA INTERNA:80 e PORTA EXTERNA:8090.
E pronto você já pode comunicar com o Arduino pela rede de internet a qualquer distância.
Obs.: não se esqueça de utilizar para isso um IP real;
//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//
Para conexão rede externa via cabo de rede, wifi ou 3G criando um Host:
Entre na configuração de seu roteador:
Com o roteador conectado na rede digite o IP do roteador exemplo:192.168.1.1 e tecle Enter;
Entre no menu de REDIRECIONAMENTO DE PORTA e insira um nome para o dispositivo exemplo: Arduino e insira a PORTA INTERNA:80 e PORTA EXTERNA:8090.
Entre no site meu ip e veja qual é o seu ip anote e copie para o aplicativo smartphone;
Se desejar utilizar um host, isso facilita pois voce não precisará utilizar um numero mas sim
um host como: seu_nome.ddns.net
Para isso entre no site "no-ip" e faça um cadastro grátis então utilize seu numero de ip real
e também a porta externa 8090.
No aplicativo smartphone insira o host que voçe criou, exemplo: seu_nome.ddns.net e pronto,
voce está pronto para comunicação com a internet utilizando seu host.
Veja fotos de exemplo de configuração do roteador:
Veja no site: http://www.noip.com/
Atenção para o risco de choque elétrico ou curto-circuitos ao trabalhar com rede elétrica ou partes energizadas com tensões de 110V ou 220V;
Requer conhecimento de redes elétricas ou acompanhamento técnico especializado.
VEJA FOTOS E VÍDEOS SOBRE TODA A MONTAGEM E UTILIZAÇÃO DO ARDUINO WIFI ETHERNET CONTROL NESTE BLOG.
5)- Programa Arduino para o app. Arduino Wifi 3G Editable Setup
//----------------------------------------------------------------------------------------------------------//
#include <SPI.h>
#include <String.h>
#include <Ethernet.h>
#include <dht11.h>
#include <Ultrasonic.h>
//-------------------------------------------------------------------
dht11 DHT11;
#define DHT11PIN 2
//-------------------------------------------------------------------
//Define os parametros para o sensor ultrasonico HC-SR04
#define PINO_TRIGGER 6 //Porta ligada ao pino Trigger do sensor
#define PINO_ECHO 7 //Porta ligada ao pino Echo do sensor
//Inicializa o sensor ultrasonico
Ultrasonic ultrasonic(PINO_TRIGGER, PINO_ECHO);
//-------------------------------------------------------------------
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };//MAC padrão;
IPAddress ip(192, 168, 1, 50);//Inserir aqui seu endereço de IP (ipv4);
IPAddress gateway(192, 168, 1, 1);//Inserir aqui seu gateway;
IPAddress subnet(255, 255, 255, 0); //Inserir aqui sua máscara de rede;
EthernetServer server(80); // Porta de serviço definir como padrão 80;
//-------------------------------------------------------------------
//Declaração das variáveis para leitura da temperatura LM35;
int pinSensorA0 = 0;
int valueA0 = 0;
float LM35 = 0;
//-------------------------------------------------------------------
//Declaração das variáveis para leitura da intensidade luminosa LDR;
int pinSensorA1 = 1;
float LDR = 0;
//-------------------------------------------------------------------
//Declaração das variáveis para leitura do monoxido de carbono MQ-7;
int pinSensorA2 = 2;
int valueA2 = 0;
float gas;
//-------------------------------------------------------------------
int AA3 = A3;//Arduino analogica A3;
int AA4 = A4;//Arduino analogica A4;
int AA5 = A5;//Arduino analogica A5;
//-------------------------------------------------------------------
int D3 = 3;//Arduino digital D3;
int D4 = 4;//Arduino digital D4;
int D5 = 5;//Arduino digital D5;
//-------------------------------------------------------------------
String readString = String(30); // string para buscar dados de endereço;
boolean statusA3 = false; // Variável para o status do led/relé;
boolean statusA4 = false; // Variável para o status do led/relé;
boolean statusA5 = false; // Variável para o status do led/relé;
boolean statusD3 = false; // Variável para o status do led/relé;
boolean statusD4 = false; // Variável para o status do led/relé;
boolean statusD5 = false; // Variável para o status do led/relé;
boolean statusLM35 = false; // Variável para o status do LM35 Alarm;
//--------------------------------------------------------------------
void setup(){
// Inicia o Ethernet;
Ethernet.begin(mac, ip, gateway, subnet);
server.begin();
Serial.begin(9600);// Inicia a comunicação Serial;
//--------------------------------------------------------------------
//Define pinos como saída;
pinMode(AA3, OUTPUT);
pinMode(AA4, OUTPUT);
pinMode(AA5, OUTPUT);
pinMode(D3, OUTPUT);
pinMode(D4, OUTPUT);
pinMode(D5, OUTPUT);
}
void loop(){
//---------------------------------------------------------------------
//LM35: Contém o Cálculo da temperatura em °C;
valueA0 = analogRead(pinSensorA0);
//Escolher o cálculo de LM35 conforme tensão da fonte do Arduino;
//LM35 = (valueA0 * 0.488);//Cálculo p/ VCC=5.0V;
//LM35 = (valueA0 * 0.479);//Cálculo p/ VCC=4.9V;
//LM35 = (valueA0 * 0.469);//Cálculo p/ VCC=4.8V;
LM35 = (valueA0 * 0.439);//Cálculo p/ VCC=4.5V;
//---------------------------------------------------------------------
//LDR: Contém o valor da intensidade luminosa em LUX;
LDR = analogRead(pinSensorA1);
//----------------------------------------------------------------------
//Gas sensor MQ-7: Contém a quantidade de gas (CO) no ambiente;
valueA2 = analogRead(pinSensorA2);
gas = (valueA2*0.98);//Ajustar o cálculo conforme necessidade;
//----------------------------------------------------------------------
//DHT11: Leitura do sensor de umidade em %, pino D2;
int chk = DHT11.read(DHT11PIN);
//-----------------------------------------------------------------------
//Ultrasonic Sensor HC-SR04: leituta em Cm, pinos D6 e D7;
float cmMsec;
long microsec = ultrasonic.timing();
//Le e armazena as informacoes do sensor ultrasonico
cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
//---------------------------------------------------------------------
// Criar uma conexão de cliente;
EthernetClient client = server.available();
if (client) {
Serial.println("new client");
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char d = client.read();
Serial.write(d);
//---------------------------------------------------------------------------
if (readString.length() < 30)// armazena os caracteres para string
{
readString += (d);
}
//-----------------------------------------------------------------------------
if (d == '\n' && currentLineIsBlank) {
//Configura o texto e imprime o titulo no browser;
// send a standard http response header;
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println("Refresh: 5"); //Recarrega a pagina a cada 1seg
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.print("<font size=3>");//Tamanho da fonte </font>
client.print("<font color=#000000>");//Fonte da Cor;
//client.print("<font color=#FF0000><b><u>");//Cor negrito grifado;
//--------------------------------------------------------------------------------------------
client.print("Web page: http://sergioarduino.blogspot.com.br/");//Insira aqui o nome
// de sua página web conforme acima ou numero de IP, exemplo:192.168.1.50:80;
//-------------------------------------------------------------------------------------------
client.println("<br />");
client.println("<br />");
client.print("</font>");//Fecha Tamanho da fonte </font>
client.print("</font>");
client.print("</font color>");//Fecha Cor;
//------------------------------------------------------------------------
client.print("<font size=3>");//Tamanho da fonte </font>
client.print("<font color=#000080>");//Cor;
client.print("Receiving data from sensors");
client.println("<br />");
client.print("connected to the Arduino via");
client.println("<br />");
client.print("Ethernet, Network, Wifi or 3G.");
client.print("</font>");//Fecha Tamanho da fonte </font>
client.print("</font color>");//Fecha Cor negrito grifado;
//client.print("</u></b></font>");//Fecha grifado, negrito e fonte
client.println("<br />");
client.println("<br />");
client.print("</font color>");//Fecha Cor;
//-----------------------------------------------------------------------------
if(readString.indexOf("a3high")>=0)//Arduino Recebe do Android;
{
//O Led vai ser ligado;
digitalWrite(AA3, HIGH);
statusA3 = true;
}
if(readString.indexOf("a3low")>=0)//Arduino Recebe do Android;
{
//O Led vai ser desligado;
digitalWrite(AA3, LOW);
statusA3 = false;
}
//------------------------------------------------------------------
if(readString.indexOf("a4high")>=0)//Arduino Recebe do Android;
{
// O Led vai ser ligado
digitalWrite(AA4, HIGH);
statusA4 = true;
}
// Se a string possui o texto L=Desligar
if(readString.indexOf("a4low")>=0)//Arduino Recebe do Android;
{
// O Led vai ser desligado
digitalWrite(AA4, LOW);
statusA4 = false;
}
//------------------------------------------------------------------
if(readString.indexOf("a5high")>=0)//Arduino Recebe do Android;
{
// O Led vai ser ligado
digitalWrite(AA5, HIGH);
statusA5 = true;
}
if(readString.indexOf("a5low")>=0)//Arduino Recebe do Android;
{
// O Led vai ser desligado
digitalWrite(AA5, LOW);
statusA5 = false;
}
//------------------------------------------------------------------
if(readString.indexOf("d3high")>=0)//Arduino Recebe do Android;
{
// O Led vai ser ligado
digitalWrite(D3, HIGH);
statusD3 = true;
}
if(readString.indexOf("d3low")>=0)//Arduino Recebe do Android;
{
// O Led vai ser desligado
digitalWrite(D3, LOW);
statusD3 = false;
}
//------------------------------------------------------------------
if(readString.indexOf("d4high")>=0)//Arduino Recebe do Android;
{
// O Led vai ser ligado
digitalWrite(D4, HIGH);
statusD4 = true;
}
if(readString.indexOf("d4low")>=0)//Arduino Recebe do Android;
{
// O Led vai ser desligado
digitalWrite(D4, LOW);
statusD4 = false;
}
//------------------------------------------------------------------
if(readString.indexOf("d5high")>=0)//Arduino Recebe do Android;
{
// O Led vai ser ligado
digitalWrite(D5, HIGH);
statusD5 = true;
}
if(readString.indexOf("d5low")>=0)//Arduino Recebe do Android;
{
// O Led vai ser desligado
digitalWrite(D5, LOW);
statusD5 = false;
}
//-------LM 35 Temperature setup alarm Android envia p/ Arduino------
/*
if(readString.indexOf("tempsetup")>=0)//Arduino Recebe do Android;
{
LM35 = LM35++;
}
//------------------LM35 alarm Arduino envia p/ Android--------------
if(LM35>=30)
{
statusLM35 = true;
client.print("tempalarmon");//Arduino Ethernet envia para Android;
}
if(LM35<=29)
{
statusLM35 = false;
client.print("tempalarmoff");//Arduino Ethernet envia para Android;
}
*/
//------------------------------------------------------------------
client.print("<font size=0>");//Tamanho da fonte </font>
client.print("<font color=#FFFFFF>");//Fonte da cor invisível;
if (statusA3) {
client.print("athreeon");//Arduino Ethernet envia para Android;
//String apenas letras;
} else {
client.print("athreeof");//Arduino Ethernet envia para Android;
//String apenas letras;
}
//------------------------------------------------------------------
if (statusA4) {
client.print("afouron");//Arduino Ethernet envia para Android;
//String apenas letras;
} else {
client.print("afourof");//Arduino Ethernet envia para Android;
//String apenas letras;
}
//------------------------------------------------------------------
if (statusA5) {
client.print("afiveon");//Arduino Ethernet envia para Android;
//String apenas letras;
} else {
client.print("afiveof");//Arduino Ethernet envia para Android;
//String apenas letras;
}
//------------------------------------------------------------------
if (statusD3) {
client.print("dthreeon");//Arduino Ethernet envia para Android;
} else {
client.print("dthreeof");//Arduino Ethernet envia para Android;
//String apenas letras;
}
//------------------------------------------------------------------
if (statusD4) {
client.print("dfouron");//Arduino Ethernet envia para Android;
//String apenas letras;
} else {
client.print("dfourof");//Arduino Ethernet envia para Android;
//String apenas letras;
}
//------------------------------------------------------------------
if (statusD5) {
client.print("dfiveon");//Arduino Ethernet envia para Android;
//String apenas letras;
} else {
client.print("dfiveof");//Arduino Ethernet envia para Android;
//String apenas letras;
}
client.print("</font>");//Fecha Tamanho da fonte </font>
client.print("</font color>");//Fecha Fonte da cor;
//------------------------------------------------------------------
//limpa string para a próxima leitura
readString="";
//------------------------------------------------------------------------------
//Código HTML para apresentar na Web valores de temperarura LM35;
client.print("<font color=#FF0000>");//Fonte da cor;
client.print("<font size=4>");//Tamanho da fonte </font>
client.println("<br />");//Pular linha;
client.print("<font color=#FF0000>");//Fonte da cor;
client.print("Temperature---- LM35: ");//Temperature sensor LM35:
//client.print("<b>");//Negrito;
client.print(LM35);//Variável que contém a informação de temp. LM35;
client.print("C");//Unidade de temperatura em "C" Celsius;
client.println("<br />");//Pular linha;
client.print("</font color>");//Fecha Cor;
//--------------------------------------------------------------------------------
//Código HTML para apresentar na Web valores de luminodidade LDR;
client.print("<font color=#00FF00>");//Fonte da cor;
client.print("Luminosity-- LDR: ");//Luminosidade sensor LDR;
//client.print("<b>");//Negrito;
client.print(LDR);//Variável que contém a informação de LDR;
client.print("LUX");
client.println("<br />");//Pular linha;
client.print("</font color>");//Fecha Cor;
//--------------------------------------------------------------------------------
//Código HTML para apresentar na Web valores de monoxido de carbono (CO) MQ-7;
client.print("<font color=#0000FF>");//Fonte da cor;
client.print("Gas sensor --- MQ-7: ");//Carbon Monoxide(CO) Sensor - MQ-7;
//client.print("<b>");//Negrito;
client.print(gas);
client.print("ppm");
client.println("<br />");//Pular linha;
client.print("</font color>");//Fecha Cor negrito grifado;
//---------------------------------------------------------------------------------
//Código HTML para apresentar na Web valores de umidade DHT11;
client.print("<font color=#FF00FF>");//Fonte da cor;
client.print("Humidity ------ DHT11: ");
//client.print("<b>");//Negrito;
client.print((float)DHT11.humidity, 2);
client.print("%");
client.println("<br />");//Pular linha;
client.print("</font color>");//Fecha Cor negrito grifado;
client.print("<font color=#FFAA00>");//Fonte da cor;
client.print("Temperature (C) DHT11: ");
//client.print("<b>");//Negrito;
client.print((float)DHT11.temperature, 2);
client.print("C");//Unidade de temperatura em "C" Celsius;
client.println("<br />");//Pular linha;
client.print("</font color>");//Fecha Cor;
client.print("<font color=#800080>");//Fonte da cor;
client.print("Temperature (F) DHT11: ");
//client.print("<b>");//Negrito;
client.print(Fahrenheit(DHT11.temperature), 2);
client.print("F");
client.println("<br />");//Pular linha;
client.print("</font color>");//Fecha Cor;
client.print("<font color=#008000>");//Fonte da cor;
client.print("Temperature (K) DHT11: ");
//client.print("<b>");//Negrito;
client.print(Kelvin(DHT11.temperature), 2);
client.print("K");
client.println("<br />");//Pular linha;
client.print("</font color>");//Fecha Cor negrito grifado;
client.print("<font color=#00AAFF>");//Fonte da cor;
client.print("Dew Point (C)---- DHT11: ");
//client.print("<b>");//Negrito;
client.print(dewPoint(DHT11.temperature, DHT11.humidity));
client.print("C");//Unidade de temperatura em "C" Celsius;
client.println("<br />");//Pular linha;
client.print("</font color>");//Fecha Cor negrito grifado;
client.print("<font color=#808000>");//Fonte da cor;
client.print("Dew PointFast (C) DHT11: ");
//client.print("<b>");//Negrito;
client.print(dewPointFast(DHT11.temperature, DHT11.humidity));
client.print("C");//Unidade de temperatura em "C" Celsius;
client.println("<br />");//Pular linha;
client.print("</font color>");//Fecha Cor negrito grifado;
//-------------------------------------------------------------------------------------
// //Código HTML para apresentar na Web valores do Sensor ultrasonico HC-SR04;
client.print("<font color=#800000>");//Fonte da cor;
client.print("Ultrasonic -HC-SR04: ");
//client.print("<b>");//Negrito;
client.print(cmMsec);//Variável que contém a informação de temp. LM35;
client.print("CM");//Unidade de temperatura em "C" Celsius;
client.println("<br />");//Pular linha;
// client.println("<br />");//Pular linha;
client.print("</font color>");//Fecha Cor negrito grifado;
client.println("</b></html>");//Finaliza negrito e html;
//---------------------------------------------------------------------------------
break;
readString="";
}
//-------------------------------------------------------------------------------
if (d == '\n') {
currentLineIsBlank = true;
}
else if (d != '\r') {
// you've gotten a character on the current line
currentLineIsBlank = false;
}
}
}
delay(1);
client.stop();
}
}
//-----------------------------------------------------------------------
//Cálculos para o sensor DHT11;
//Celsius to Fahrenheit conversion;
double Fahrenheit(double celsius)
{
return 1.812 * celsius + 32;
}
//Celsius to Kelvin conversion
double Kelvin(double celsius)
{
return celsius + 273.15;
}
// dewPoint function NOAA
// reference: http://wahiduddin.net/calc/density_algorithms.htm
double dewPoint(double celsius, double humidity)
{
double A0= 373.15/(273.15 + celsius);
double SUM = -7.90298 * (A0-1);
SUM += 5.02808 * log10(A0);
SUM += -1.3816e-7 * (pow(10, (11.344*(1-1/A0)))-1) ;
SUM += 8.1328e-3 * (pow(10,(-3.49149*(A0-1)))-1) ;
SUM += log10(1013.246);
double VP = pow(10, SUM-3) * humidity;
double T = log(VP/0.61078); // temp var
return (241.88 * T) / (17.558-T);
}
// delta max = 0.6544 wrt dewPoint()
// 5x faster than dewPoint()
// reference: http://en.wikipedia.org/wiki/Dew_point
double dewPointFast(double celsius, double humidity)
{
double a = 17.271;
double b = 237.7;
double temp = (a * celsius) / (b + celsius) + log(humidity/100);
double Td = (b * temp) / (a - temp);
return Td;
}
//--------------------------------------------------------------------------------------
Arduino Uno r3.
Ethernet shield.
Roteador Wifi.
Protoboard com leds e jumpers.
Fonte de 9V DC /500mA.
Bateria de 9V.
Protoboard.
Jumpers.
Resistores de 220R ou 330R.
Módulo com 2 relés ou conforme necesidade.
Leds.
Cabo J4 femea para bateria de 9V.
Cabo USB para conectar o PC ao Arduino.
Cabo de rede com RJ45.
Nenhum comentário:
Postar um comentário