home automation with arduino and android

Nothing, tried both domotichome and arduino.

But my phone is running Android 1.5, maybe your app isn't made for it?

Pretty cool, you should add some more features like turning on wall sockets so you can plug other things in (turning them off an on remotely)

@bld you're right I signed the app for android version > 1.5, by the way, if you want you can try to download it here

let me know if it works!

@xMagnax i've already linked a wall socket to arduino through a relay+driver and it works fine!

hehehe, nop... nothing either...

The page you were looking for doesn't exist.

You may have mistyped the address or the page may have moved.

Hard to get this program. :sunglasses:

i forgot the rar extension! grrrr!

What should that be opened with, or how to install it? All the other programs I have installed manually all had a file ending on so the apps installer could find them. But inside the rar there are only a "file" no ext

yeah, into the rar there is an .apk file, it's a variant of jar files and it's used for the distribution of android component. To install you need to copy the apk on your sd card and doewnlaod an apk manager from the market, I suggest "ApkInstaller". For more information

No, there are no .apk there.. The file in the rar got no extension, and if I just rename it and put it on the phone, it tells me that the file is broken.

Maybe something happend when you uploaded the file?

Thank you for this great idea!
Can you share android code please?
Regards,
eZar.

Any chance of getting your entire sketch? I have an app inventor program that I would like to use but need to program my arduino correctly to recognize web commands and I think this would work.

ok guys enjoy:

it's my first time on github, hope all work fine, if someone will find bugs (nad I think there are on it) or needs some customizations let me know, of course, forking the project is welcome!

Hey, i like your project :slight_smile:

I have downloaded the android app, but can we have the .pde sktech ? I don't know how to send the JSON reponse with my Arduino

you can find an example at the first page of this thread :slight_smile:

Yeah ! Sorry, i had not seen :slight_smile:

Thanks, and sorry for my english, i'm french .

And good work for this ^^

Mhh, I have an error line 45 when I try to compile :

In function 'void loop()':
erreur: 'class String' has no member named 'append'

Do you know why ?

that sketch was for Arduino2009 and maybe you have an Arduino one, Am i wrong?
By the way i wrote a quick example that show how to activate/deactivate a digital out.
To activate the pin you have to make this http call
http://yourip/?out=5&status=1
to deactivate
http://yourip/?out=5&status=0
to get the list of the pins used by arduino
http://yourip/?out=all
last one is used to sync arduino with the domotichome app

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

// define actions
#define action_none -1
#define action_out_all 0
#define action_mypin_up 1
#define action_mypin_down 2

// define network config
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xBE }; //physical mac address
byte ip[] = { 192, 168, 1, 20 };                  // ip in lan -> cambialo pure
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 pinOutRelay = 5;

// incoming GET command  
String r_pinOutRelay_down = "GET /?out=5&status=0 HTTP/1.1";
String r_pinOutRelay_up = "GET /?out=5&status=1 HTTP/1.1";
String r_out_all = "GET /?out=all HTTP/1.1";

// current action
int current_action;

void setup(){
  //start Ethernet
  Ethernet.begin(mac, ip, gateway, subnet);
  
  pinMode(pinOutRelay, OUTPUT);    
  digitalWrite(pinOutRelay, 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_pinOutRelay_up))
          {
          Serial.print("\n HIGH\n");
          current_action = action_mypin_up;
          }
          else if(readString.startsWith(r_pinOutRelay_down))
          {
           Serial.print("\n LOW\n");
           current_action = action_mypin_down;               
          }
          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.20\", \"devices\" : [{ \"type\" : \"gate\", \"name\" : \"caldaia\", \"out\" : \"");           
           client.print(pinOutRelay);
           client.print("\"}");             
           client.print("]}");                       
           break;
         case action_mypin_down:
           digitalWrite(pinOutRelay, LOW);
           client.print("{\"status\" : \"low\" , \"out\" : \""); 
           client.print(pinOutRelay);
           client.print("\"}");                           
           break;           
         case action_mypin_up:
           digitalWrite(pinOutRelay, HIGH);
           client.print("{\"status\" : \"high\" , \"out\" : \""); 
           client.print(pinOutRelay);
           client.print("\"}");                 
           break;
         default:
           current_action = action_none;         
         }
         

         // ****************************************************             
         
          //clearing string for next read
          readString="";
          //stopping client
          client.stop();
        }
      }
    }
  }
}

Thank for reply,
I have the Arduno Duemilanove, and i've try your example, and is work fine with my Desire :slight_smile:

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