Thank for reply,
I have the Arduno Duemilanove, and i've try your example, and is work fine with my Desire
The error was because I have the Arduino0017 instead of Arduino0021
Thank for reply,
I have the Arduno Duemilanove, and i've try your example, and is work fine with my Desire
The error was because I have the Arduino0017 instead of Arduino0021
I'm really glad to hear that!
Hey I've toyed a little with this stuff now but I can only turn thing´s on and not off again Can anyone help me?
it is as if the app on the fon do not know the code:? out = 5 & status = 0
what can it be?
Change gate to light in the code.... yess, I was crazy too ;D
yes you are right, a short list of the type available:
plug
light
door
gate
temperature
humidity
wattmeter
Hello bl4d3, I have a question:
How I do to read from analog 0 and from digital otput 0??
String r_pinOutRelay_up_0 = "GET /?out=0&status=1 HTTP/1.1";
String r_pinAnalog0 = "GET /?out=0&status=1 HTTP/1.1";
?¿? Thanks!!
Nice shot i know this limitation and right now I can't implement a solution for it (no time), I can suggest you to send
out=10&status=1
to refer at analogic pin 0 and strip out the first char if the out paramenter is composed by 2 char, I know it's a workaround and I have to fix it on android side.
Thank you!
OK! i will try! Thanksss
Nice! Been looking into home automation for ages this seems perfect! Sorry if im just being blind but is there the script for the arduino up? I have the app on my phone already and will order the parts and arduino UNO tomorrow.
you can find an example of arduino sketch at the first page of this post, let me know
Hi got my uno today, all connected up have it conected to the network. I put the scetch you posted on the first page and i get the error on the line
readString.append(c);
'class string' has no member named 'append'
any ideas?
Thanks
Adam
Which version of the IDE are you using? Take a look on this
Looms really good!
What code did you use for the computer interface?
I'd love to build something like this, but I would have
no idea how to intergrate it into the computer.
the interface has been developed for android device, so it has been build in JAVA, full code is available on github
Thanks got rid of the error but now means the wont sync with my android :-/
I guess ill have to start writing from scratch then...
Thanks Adam
before to use the android app test the http call through a web browser...you should see the json message on it
Thanks mate.
Im finding it really hard to see whats what in the script so i might have to have a go at starting from scratch....
of course, some basic programming skills are needed to better understand it, let me know!
Hi there, with this sample you should be able to turn on/off a light, i'm posting this beacuse an user of this forum asked me how to make it and i thought it was nice sharing this with all the people.
#include <SPI.h>
#include <Ethernet.h>
#define action_none -1
#define action_out_all 0
#define action_on_light 1
#define action_off_light 2
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xBE }; //physical mac address
byte ip[] = { 192, 168, 1, 16 }; // ip address
byte gateway[] = { 192, 168, 1, 1 }; // internet access via router
byte subnet[] = { 255, 255, 255, 0 }; //subnet mask
Server server(80); //server port
String readString = String(30); //string for fetching data from address
// arduino out
int pinOutPlight = 4;
// incoming GET command
String r_pinOnLight = "GET /?out=4&status=1";
String r_pinOffLight = "GET /?out=4&status=0";
String r_out_all = "GET /?out=all";
// current action
int current_action;
void setup(){
//start Ethernet
Ethernet.begin(mac, ip, gateway, subnet);
delay(1000);
pinMode(pinOutPlight, OUTPUT);
digitalWrite(pinOutPlight, LOW);
//enable serial datada print
Serial.begin(9600);
current_action = -1;
}
void loop(){
current_action = -1;
// Create a client connection
Client client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
//read char by char HTTP request
if (readString.length() < 30)
{
//store characters to string
readString = readString + c;
}
//output chars to serial port
//Serial.print(c);
//if HTTP request has ended
if (c == '\n') {
Serial.print(readString);
// ****************************************************
if(readString.startsWith(r_pinOnLight))
{
Serial.print("\n ON UP \n");
current_action = action_on_light;
}
else if(readString.startsWith(r_pinOffLight))
{
Serial.print("\n OFF UP \n");
current_action = action_off_light;
}
else if(readString.startsWith(r_out_all))
{
Serial.print("\n ALL\n");
current_action = action_out_all;
}
else
{
Serial.print("\n None \n");
current_action = action_none;
}
// ****************************************************
// now output HTML data starting with standart header
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
char buf[12];
switch(current_action)
{
case action_out_all:
client.print("{\"ip\" : \"192.168.10.16\", \"devices\" : [{ \"type\" : \"light\", \"name\" : \"your name\", \"out\" : \"");
client.print(pinOutPlight);
client.print("\"}");
client.print("]}");
break;
case action_on_light:
digitalWrite(pinOutPlight, HIGH);
client.print("{\"status\" : \"1\" , \"out\" : \"");
client.print(pinOutPlight);
client.print("\"}");
break;
case action_off_light:
digitalWrite(pinOutPlight, LOW);
client.print("{\"status\" : \"0\" , \"out\" : \"");
client.print(pinOutPlight);
client.print("\"}");
break;
default:
current_action = action_none;
}
// ****************************************************
//clearing string for next read
readString="";
//stopping client
client.stop();
}
}
}
}
}
you have to change your ip in the sketch. It's just a demo, any improvement are welcome.
If someone has downloaded my app and played a bit with arduino and this stuff you should vote my project on MAKE
Thanks!