[Forse un po' OT] DomoticHome senza ethernet shield

Ciao a tutti!
Ieri mi hanno regalato un cellulare andorid e la prima cosa che ho fatto è stato installarmi DomoticHome :smiley:
Ora, guardando alcuni esempi ho visto che bisogna registrarsi sul sito per creare il codice. In questo modo, se ho capito bene, dando al cellulare l’IP della shield e la porta, l’applicazione dovrebbe leggere dei parametri e creare l’app di conseguenza. Oppure no?
Il problema è che io non ho una shield ethernet al momento, e volevo testare tutto tramite processing. Mi spiego meglio:
Se per l’arduino ho un codice così:

#include <SPI.h>
#include <Ethernet.h>


byte mac[] = { 0x00, 0x25, 0xD3, 0x24, 0x9C, 0xBB };
byte ip[] = { 192 ,168 ,1 ,100 };
byte gateway[] = { 192 ,168 ,1 ,1 };
byte subnet[] = { 255 ,255 ,255 ,0 };
Server server(80); 

String readString = String(30);


void setup(){
Ethernet.begin(mac, ip, gateway, subnet);
delay(1000);
pinMode(12, OUTPUT);
digitalWrite(12, LOW);
Serial.begin(9600);
} 

void loop(){
Client client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
if (readString.length() < 30)
{
readString = readString + c;
}
if (c == '\n') {
Serial.print(readString);
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();


if(readString.startsWith("GET /?out=12&status=1"))
{Serial.print("\n 12 HIGH \n");
digitalWrite(12, HIGH);
client.print("{\"status\" : \"1\" , \"out\" : \"");
client.print(12);
client.print("\"}");
}
if(readString.startsWith("GET /?out=12&status=0"))
{Serial.print("\n 12 LOW \n");
digitalWrite(12, LOW);
client.print("{\"status\" : \"0\" , \"out\" : \"");
client.print(12);
client.print("\"}");
}


if(readString.startsWith("GET /?out=all"))
{
Serial.print("\n OUT ALL\n");
client.print("{\"ip\" : \"192.168.1.100\", ");
client.print("\"devices\" : ");
client.print("[{ \"type\" : \"light\", \"name\" : \"Luce\", \"out\" : \"");
client.print("12");
client.print("\"}");
client.print("]}");
}
readString="";
client.stop();
}
}
}
}
}

Non ci sarebbe un corrispettivo da caricare su processing che usi il WiFi al posto dell’ethernet? Certo, è una soluzione molto scomoda da usare in definitiva però sarei curioso…
Qualcuno ha provato? :slight_smile:

Avevo pensato al protocollo OSC però non ho trovato niente in rete per adattarlo a questa comunicazione!

Ciao

Non ci sarebbe un corrispettivo da caricare su processing che usi il WiFi al posto dell’ethernet? Certo, è una soluzione molto scomoda da usare in definitiva però sarei curioso…

innanzitutto, Android si connette via Wifi alla rete.
Se hai un access point, e il pc collegato via cavo, il tutto lo puoi cmq testare usando una connessione wired.

Se stai inlotre pensando ad una connessione wifi ad-hoc fatta dal pc, sappi che Android non è in grado di connettersi a quel tipo di rete, a meno che non sia rootato e configurato a dovere (sempre che ultimamente non ci sia stata qualche novità in merito).

Poi, per quel che riguarda Processing: son rimasto che c’è una libreria per gestire connessioni client, ma non server.
Potresti però implementare una cosa analoga usando php, o python, o …

pitusso: Ciao

Non ci sarebbe un corrispettivo da caricare su processing che usi il WiFi al posto dell'ethernet? Certo, è una soluzione molto scomoda da usare in definitiva però sarei curioso..

innanzitutto, Android si connette via Wifi alla rete. Se hai un access point, e il pc collegato via cavo, il tutto lo puoi cmq testare usando una connessione wired.

Se stai inlotre pensando ad una connessione wifi ad-hoc fatta dal pc, sappi che Android non è in grado di connettersi a quel tipo di rete, a meno che non sia rootato e configurato a dovere (sempre che ultimamente non ci sia stata qualche novità in merito).

Poi, per quel che riguarda Processing: son rimasto che c'è una libreria per gestire connessioni client, ma non server. Potresti però implementare una cosa analoga usando php, o python, o ....

Per "senza usare l'ethernet" intendevo collegare il pc via wifi al modem e non via ethernet.

Effettivamente potrei provare ad usare l'ethernet sul pc, però dovrei comunque vedere delle librerie e fare tutto da capo..cosa che non pretendo perchè so ancora poco di reti!