Boa tarde a todos

É possível tendo um arduino mega com Shield w5100 comunicar em rede com vários Nodemcu?

Eu tenho o mega com webserver e queria enviar dados "p=0" para um determinado ip especifico?

Exibições: 573

Responder esta

Respostas a este tópico

Boa tarde JRF,

descreva mais seu projeto, procure até usar desenhos,

eles falam mais que mil palavras.

O W5100 é um shield para cabos e não para WIFI. Correto?

Os ESP8266 são WIFI, e por isto fique confuso sobre seu projeto.

RV

Este é o meu webserver no mega que esta ligado a minha rede de casa por rj45

O meu objectivo é quando clicar Estoro Cozinha Pequeno "Abrir" enviar o comando http://192.168.0.198/?subir=Subir

Eu se abrir o meu browser e colocar http://192.168.0.198/?subir=Subir ele faz a função no esp8266 corretamente

O meu webserver é 192.168.0.190

Boas malta

Já consegui fazer o que pretendia. Só que as vezes falha, tenho que clicar no Abrir/Para/Fechar 2ou3 vezes porque será? outras vezes funciona logo a primeira
Deixo aqui código utilizado

#include "lwip/tcp_impl.h"
void tcpCleanup()
{
while (tcp_tw_pcbs != NULL)
{
tcp_abort(tcp_tw_pcbs);
}
}
#include <ESP8266WiFi.h>
const char* ssid = "MinhaRede";
const char* password = "MinhaPass";
IPAddress ip(192,168,0,194);
IPAddress gateway(0,0,0,0);
//IPAddress gateway(192,168,0,254);
IPAddress subnet(255,255,255,0);
WiFiServer server(80);
String inString = String(35);
int botao1=14; // // Botao 1
int botao2=12; // Botao 2
int leitura1 = 0;
int leitura2 = 0;
int rele1 =16; //GPIO12
int rele2 =5; //GPIO12

void setup(void) {
// Serial.begin(115200);

pinMode(botao1, INPUT);
pinMode(botao2, INPUT);
pinMode(rele1, OUTPUT);
pinMode(rele2, OUTPUT);
digitalWrite(rele1, HIGH);
digitalWrite(rele2, HIGH);
// Connect to WiFi network
/* Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid); */

WiFi.begin(ssid, password);
WiFi.config(ip, gateway, subnet);// Ip manual

/* while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println(WiFi.localIP()); */

// Start the server
server.begin();
// Print the IP address
//Serial.print(WiFi.localIP());
}



void loop(void) {
tcpCleanup();
// Check if a client has connected
WiFiClient client = server.available();
if (client) {
boolean current_line_is_blank = true;
while (client.connected()) {

if (client.available()) {

char c = client.read();

if (inString.length() < 35)
{
inString.concat(c);
}
if (c == '\n' && current_line_is_blank)
{
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
/************************** Pagina em HTML ****************/
client.println("<HTML>");
client.println("<HEAD>");
client.print("<TITLE />Teste</title>");
client.println("</HEAD>");
client.println("<BODY>");

//********************** Estores Cozinha Pequeno
client.print("<P><B>Estoro Cozinha Pequeno </B><input type=button onClick=\"var w=window.open('http://192.168.0.198/?subir=Subir');w.close();\"value='Abrir'>");
client.println(" <input type=button onClick=\"var w=window.open('http://192.168.0.198/?parar=Parar');w.close();\"value='Parar'>");
client.println("<input type=button onClick=\"var w=window.open('http://192.168.0.198/?descer=Descer');w.close();\"value='Descer'><br>");


//********************** Estores Cozinha Gequeno
client.print("<P><B>Estoro Cozinha Grande </B><input type=button onClick=\"var w=window.open('http://192.168.0.197/?subir=Subir');w.close();\"value='Abrir'>");
client.println(" <input type=button onClick=\"var w=window.open('http://192.168.0.197/?parar=Parar');w.close();\"value='Parar'>");
client.println("<input type=button onClick=\"var w=window.open('http://192.168.0.197/?descer=Descer');w.close();\"value='Descer'><br>");

client.println("</BODY>");
client.println("</HTML>");
break;
}
if (c == '\n')
{
// we're starting a new line
current_line_is_blank = true;
} else if (c != '\r')
{
// we've gotten a character on the current line
current_line_is_blank = false;
}
}
}
// give the web browser time to receive the data
delay(1);
inString = "";
client.stop();
}
tcpCleanup();
}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço