Olá pessoal,
Eu fiz um arduino abrir socket e o código em PHP conectando a esse socket pelo comando PHP> socket_connect($sock,$Arduino_IP, 8081);
Funcionando perfeitamente usando write/read tanto no PHP quando no Arduino.
Agora eu quero esquecer o lado do computador e por 2 arduinos se conversarem pelo socket, mas não sei qual é o comando PHP> socket_connect($sock,$Arduino_IP, 8081); equivalente para arduino.
Alguém sabe me dizer se existe um comando equivalente?
Obrigado!
Tags:
Galera consegui o que eu queria com ajuda do Playground segue o link:
http://forum.arduino.cc/index.php?topic=172721.0
E a solução:
//Arduino Server
#include <SPI.h>
#include <Ethernet.h>
char msg[100];
//change the MAC
byte mac[] = { 0xDA, 0xAA, 0xBA, 0xEF, 0xFE, 0xED };
byte ip[] = { 10,20,30,79 };
byte gateway[] = { 10,20,30, 1 };
byte subnet[] = { 255, 255, 255, 0 };
EthernetServer server(8081);
EthernetClient client;
void setup()
{
Ethernet.begin(mac, ip, gateway, subnet);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
}
void loop()
{
client = server.available();
if(client){
for(int i = 0; client.available() > 0; i++)
msg[i] = client.read();
client.write(msg);
}
else
client.write("NO MSG READ");
delay(1000);
}
- - -
Arduino Client
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(10,20,30,99);
IPAddress serverIP(10,20,30,79);
EthernetClient client;
void setup() {
Ethernet.begin(mac, ip);
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
Serial.println("connecting socket...");
if (client.connect(serverIP, 8081)) {
Serial.println("connected");
}
else {
Serial.println("connection failed");
}
}
void loop()
{
if(client){
client.write("TEST MSG");
Serial.print("TEST MSG");
delay(2000);
}
if (client.available()) {
char c = client.read();
Serial.print(c);
}
while (Serial.available() > 0) {
char inChar = Serial.read();
if (client.connected()) {
client.print(inChar);
}
}
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting.");
client.stop();
while(!client.connect(serverRep, 8081)){
delay(10000);
Serial.println("Trying to connect");
}
Serial.println("connected");
}
}
bom dia julio, tudo bom ? estou desenvolvendo o Arduíno automação residencial para acender as lampada. gostaria saber que tem como usar o arduino pela internet hospedado pelo site, para eu acessar qual quer lugar.
eu to desenvovendo um projeto semelhante a esse seu e nao gostaria de usar socket como vc fez o codigo em php...
Olá.
Eu consegui fazer o PHP enviar por socket ao arduino mas não consegui ler o retorno.
Teria alguma sugestão?
Como vc conseguiu enviar se comonicar via socket com o arduino?
com socket mesmo, consegui enviar e ler o retorno
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por