Nogen der har erfaring med Arduino Ethernet Shield

Som jeg kan læse det kan den bruges som klien op mod en server, med desværre kun via Ip adressen og ikke via et domæne.

Nogen der ved om der er korrekt?

arduino.cc/en/Reference/ClientConstructor

Det ser sånt ut
http://www.coolwhois.com/d/64.233.187.99
http://www.coolwhois.com/d/10.0.0.177
Du må bytte ut 10, 0, 0, 177 med dine egne ip tall

David

Er ikke sikker på du har forstårt mit spørgsmål, jeg forstår nemlig ikke dit svar.

Jeg vil have min arduino til at sende måledate 1 gang pr minut. Til en Server: www.server.dk/log.php?Data1=xx&data2=ggg

Derfor jeg gerne vil kunne sende til et domæne og ikke en ip adresse.

Hej,

Prøv at kigge her, det er noget om DNS i forbindelse med arduino:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1239258729

Serveren du vil have sendt målingerne til, er det hos et webhotel eller ...?

Har du mulighed for at få webserveren til at HENTE målingerne i stedet for at FÅ dem?

Hvis du har en gl. bærbar el. lign. kan du evt. sætte den til at hente data fra arduinoen og sende den til serveren via chron/planlagt job.

Hvis skrev et par linier om dit projekt kan vi måske være mere til hjælp.

\ Christian

Ja jeg vil sende måledata til en webhotel.

Nej jeg kan ikke hente måledata, da jeg skal hente fra flere steder alle med dynamisk ip.

Jeg kan sætte et server op hvor arduidoen kan sende måledate til en bestemt ip, men det kræver en ekstra server og det ville jeg jo gerne undgå hvis det var muligt.

Prøv at kigge på dem her:

http://rixham.co.uk/?p=43
http://www.glacialwanderer.com/hobbyrobotics/?p=15

Det ser lovene ud, kigger på det i morgen når jeg får stumper

Jeg takker

Du kan skrive til et domæne via denne kode:

#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 1, 88 };
byte gw[] = {192,168,1,1};
byte server[] = { xxx, xxx, xxx, xxx  }; // Hjemmeside IP
byte subnet[] = { 255, 255, 255, 0 };
int data = 0;
int tempPin = 2;  // I det her tilfælde sendes temperaturen fra pin 2 til en sql server

void setup()
{

pinMode(tempPin, INPUT);
Serial.begin(9600);

}
void loop()
{

Serial.println("Koerer program...");

 delay(5000);
 senddata();

}
void senddata()
{

data = analogRead(tempPin);           //Laeser analog værdi


Ethernet.begin(mac, ip, gw, subnet);
Client client(server, 80);
Serial.println();
Serial.println("Forbinder?");
delay(1000);                                    //Forhindrer forbindelsen i at hænge

if (client.connect()) {
Serial.println("Forbundet!");
client.print("GET http://server.dk/script.php?vaerdi=");
client.print(data);
client.println(" HTTP/1.1");
client.println("Host: www.server.dk");
client.println();
Serial.println();
                           }

else 
{
Serial.println("forbindelse mislykket");
}
//}
 //stop client
 client.stop();
 while(client.status() != 0) 
{
  delay(5);
}
}

PHP koden ser sådan ud:

<html> 
      <?php

            $DATA = $_GET['vaerdi'];

                  //Forbind til database
                  $opendb = mysql_connect("xxx.xxx.xxx.xxx", "database", "password") or mysql_error("Kunne ikke oprette for bindelse til SQL serveren");
                 mysql_select_db("database");
     
     if ($opendb) 
            { 
                 mysql_query(" INSERT INTO tabel (Dato, DATA) VALUES ( NOW() , $DATA )");
            mysql_close($opendb);
              }
      ?>
</html>

I MySql serveren er der oprette en tabel med 2 værdier, en med navnet DATA (Integer) og en med navnet Dato (DATETIME)

:slight_smile: - Christian