Ethernet W5100

Ales Filip nostromo na khnet.info
Pátek Květen 30 13:51:38 CEST 2014


Dobrý den,

Můžu, ale já nejsem programátor, takže tam jsou možná nějaké prasárny :-)

temperature.ino -------------------
#include <SPI.h>
#include <Ethernet.h>

// MAC address for your controller
byte mac[] = { 0x00, 0x40, 0x8C, XXXX, XXXX, XXXX };
// Numeric IP of the server where your website is stored.
IPAddress server(XXX,XXX,XXX,XXX);
// Set the static IP address to use if the DHCP fails to assign
IPAddress ip(XXX,XXX,XXX,XXX);
// Initialize the Ethernet client library
//IPAddress dns(80,250,1,161);
IPAddress gateway(XXX,XXX,XXX,XXX);
IPAddress subnet(255,255,255,0);
EthernetClient client;

void setup()
{
// start serial connection
Serial.begin(9600);
// start the Ethernet connection:
if (Ethernet.begin(mac) == 0) {
  Serial.println("Failed to configure Ethernet using DHCP");
  // no point in carrying on, so do nothing forevermore:
  // try to congifure using IP address instead of DHCP:
  Ethernet.begin(mac, ip, gateway, subnet);
  // give the Ethernet shield a second to initialize:
  delay(1000);
  Serial.println("connecting...");
}
}//close setup

void loop()
{
//Here would go the code to get the temperature value of your sensor.
// if you get a connection, report back via serial:
if (client.connect(server, 80)) {
  Serial.println("connected");
  // Send data using GET variable
  client.print("GET /getTemperature.php?data=");
  //Pass the temperature variable
  client.print("&temp=");
  client.print(nactena_teplota);
  client.print("&light=");
  client.print(nactene_svetlo);
  client.println(" HTTP/1.0");
  client.println("User-Agent: Arduino 1.0");
  client.println();
  //Printing in the serial monitor what is going on
  Serial.println("Sucessful connection. Temperature sent");
  delay(2000);
  }
else {
   Serial.println("Connection failed");
  }
client.stop();
client.flush();
}
------------------------------------------

Arduino je v režimu "client". V proměnných  nactena_teplota a 
nactene_svetlo  jsou hodnoty načtené z čidel.
Pozor, data se odesílají až příkazem client.flush();

getTemperature.php ---------------------
<?php
//Printing the data from the arduino in the web browser
$temp = $_GET["temp"];
$light = $_GET["light"];
$vkolik=StrFTime("%d/%m/%Y;%H:%M:%S", Time());
$soub = "test.csv";
$soubor = fopen($soub, 'a+');
fwrite($soubor,"".$vkolik.";".$temp.";".$light." \n");
fclose($soubor);
?>
------------------------------------------------
Data se ukládají do souboru test.csv

S pozdravem,

-- 
  Aleš Filip
  Kutná Hora
  http://xanadu.khnet.info


Dne 30.5.2014 13:14, Jaromir Sukuba napsal(a):
> Nemozete to niekde verejne vystavit, ak to nie je tajne?
>
> 2014-05-30 13:13 GMT+02:00 Ales Filip <nostromo na khnet.info>:
>> Dobrý den,
>>
>> Dá. Někde jsem to obšlehnul, a používám to pro načítání dat z mé
>> meteostanice. Bohužel už ty stránky nemohu nalézt. Soukromě posílám soubor
>> do arduina, a php script.
>>
>> S pozdravem,
>>
>> --
>>   Aleš Filip
>>   Kutná Hora
>>   http://xanadu.khnet.info
>>
>>
>> Dne 30.5.2014 12:56, Michal Grunt napsal(a):
>>
>>> Dá se tento ethernet modul použít tak, aby mi posílal data ve formátu
>>> např. "http://server/script.php?data1=50&data2=100" ? Googlím, ale zatím
>>> nacházím jenom inicializaci modulu, nastavení IP ale žádný jednoduchý
>>> příklad s jednoduchou aplikací.
>>>
>>> MG
>>> _______________________________________________
>>> HW-list mailing list  -  sponsored by www.HW.cz
>>> Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list




Další informace o konferenci Hw-list