Pages: [1]   Go Down
Author Topic: Nogen der har erfaring med Arduino Ethernet Shield  (Read 2274 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 5
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Norway
Offline Offline
Sr. Member
****
Karma: 0
Posts: 344
Just dip it in mercury and power it up
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 5
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.

Logged

Denmark
Offline Offline
Newbie
*
Karma: 0
Posts: 19
King of Greenland
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 5
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Denmark
Offline Offline
Newbie
*
Karma: 0
Posts: 19
King of Greenland
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Prøv at kigge på dem her:

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

0
Offline Offline
Newbie
*
Karma: 0
Posts: 5
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Jeg takker
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 9
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Du kan skrive til et domæne via denne kode:
Code:
#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:
Code:
<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
            &
#123; 
 
                mysql_query(" INSERT INTO tabel (Dato, DATA) VALUES ( NOW() , $DATA )");
            
mysql_close($opendb);
             
 &#125;
      
?>

</html>


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

smiley - Christian

« Last Edit: March 29, 2010, 11:05:58 am by Kedde » Logged

Pages: [1]   Go Up
Jump to: