Seu endereço de e-mail não será publicado. Os campos obrigatórios estão marcados *
Estou usando um arduino-uno, mas não consigo acessar minha página da web. Eu já havia atribuído o endereço IP ao arduino. Quando executo o arduino (ctrl + shift + m), ele exibe a saída. Mas quando eu acessar minha página da web, ele exibirá "você não pode" chegar a esta página da web.
Meu servidor da Web está funcionando bem com IP local e rede local com cabo Ethernet.
trabalhando com encaminhamento de porta / IP público ao usar outra conexão de rede para celular, conforme mencionado no artigo.
não funciona no meu celular ou laptop ao usar o roteador Wifi / Wireless na mesma rede com o IP local.Por favor, deixe-me saber onde estou errado.
Preciso de ajuda neste código, porque quando ocorre uma emergência por 4 (alta), não posso voltar ao estado anterior... como posso fazer isso ??
// APENAS ARDUINO 1.0+
// APENAS ARDUINO 1.0+
#incluir
#incluir
leitura booleana = false;
////////////////////////////////////////////////////////////////////////
//CONFIGURE
////////////////////////////////////////////////////////////////////////
byte ip [] = {192, 168, 16, 71}; // Apenas configuração manual
// gateway de bytes [] = {192, 168, 1, 1}; // Apenas configuração manual
// sub-rede de bytes [] = {255, 255, 255, 0}; // Apenas configuração manual
// se for necessário alterar o endereço MAC (muito raro)
byte mac [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
Servidor EthernetServer = EthernetServer (80); // porta 80
////////////////////////////////////////////////////////////////////////
configuração nula () {
Serial.begin (9600);
// Os pinos 10,11,12 e 13 são usados pela blindagem Ethernet
pinMode (2, INPUT); // SWICH
pinMode (3, SAÍDA); //LAMP
pinMode (4, INPUT); // EMERGÊNCIA
pinMode (6, INPUT);
Ethernet.begin (mac);
//Ethernet.begin (mac, ip, gateway, sub-rede); // para configuração manual
server.begin ();
Serial.println (Ethernet.localIP ());
}
loop vazio () {
digitalWrite (6, BAIXO);
if ((digitalRead (4) == LOW) || (digitalRead (6) == ALTO))
{
if (digitalRead (2) == ALTO)
{
digitalWrite (3, ALTO);
atraso (5000);
digitalWrite (3, BAIXO);
}
}
checkForClient (); // escute os clientes recebidos e processe o qequest.
}
void checkForClient () {
Cliente EthernetClient = server.available ();
if (cliente) {
// uma solicitação http termina com uma linha em branco
currentLineIsBlank booleano = true;
booleano sentHeader = false;
while (client.connected ()) {
if (client.available ()) {
if (! sentHeader) {
// envia um cabeçalho de resposta http padrão
client.println ("HTTP / 1.1 200 OK");
client.println ("Tipo de conteúdo: text / html");
client.println ();
sentHeader = true;
}
char c = client.read ();
if (leitura && c == '') leitura = false;
if (c == '?') leitura = true; // encontrou o?, comece a ler as informações
if (lendo) {
Serial.print (c);
switch (c) {
caso '4':
// adicione o código aqui para disparar em 2
triggerPin (4, cliente);
pausa;
caso '6':
// adicione o código aqui para acionar em 3
triggerPin (6, cliente);
pausa;
}
}
se (c == '\ n' && currentLineIsBlank) quebrar;
if (c == '\ n') {
currentLineIsBlank = true;
} caso contrário, se (c! = '\ r') {
currentLineIsBlank = false;
}
}
}
atraso (1); // dá tempo ao navegador da Web para receber os dados
client.stop (); // fecha a conexão:
}
}
void triggerPin (int pin, cliente EthernetClient) {
// pisca um alfinete - Cliente necessário apenas para fins de saída HTML.
client.print ("Ativando o pino");
client.println (pin);
client.print ("");
se (pino, ALTO)
{
digitalWrite (4, ALTO);
digitalWrite (6, ALTO);}
}
Não seria mais fácil e barato fazer isso com um Raspberry Pi? Não tenho muita certeza porque nunca usei um Arduino, mas tenho um Pi.