VAWT ARDUINO
Pentru a inregistra parametrii de functionare a unei turbine eoliene intr-o baza de date SQL se poate folosi solutia compusa din :
1. configuratia hardware din :http://vawt.ro/vawt-arduino/
2. codul pentru Arduino  care transfera prin metoda POST date catre un fisier php aflat pe server
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | #include <dht.h> #include <Ethernet.h> #include <SPI.h> #include <Wire.h> byte mac[] = {    0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x01 }; //  MAC ADDRESS EthernetClient client; dht DHT; /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  /// se initializeaza variabilele float val11=0;  float val2=0; float i1 = 0;   float i = 0;  float curent=0; float tensiune=0; int t = 0; int h = 0; float sample1=0;  float sample2=0;  float p=0; String data; void setup() {    Serial.begin(9600);   if (Ethernet.begin(mac) == 0) {     Serial.println("Failed to configure Ethernet using DHCP");    }   data = ""; } void loop(){   DHT.read11(A0);  // se citeste senzorul de temperatura si umiditate   h = (int) DHT.humidity;   t = (int) DHT.temperature;    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////    /// se stabileste numarul de valori care se mediaza si timpul dintre doua masuratori   for(int i=0;i<500;i++)   {     sample1+=analogRead(A1);  //se citeste sensorul de tensiune     sample2+=analogRead(A2);  //se citeste senzorul de curent     delay(5);   }   sample1=sample1/500;    sample2=sample2/500;   ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////   ///se calculeaza valorile    float temp;          val11=sample1;    temp=val11/4.092;    val2=(temp/10);   i1 = sample2;    i = ((.0049 * i1) - 2.5)/.066;   p=i*val2;                 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////    ///se transmit date catre server   data = "temp1=" + String(t) + "&hum1=" + String(h)+ "&curent1=" + String(i)+"&tensiune1=" + String(val2)+"&putere1=" + String(p);   if (client.connect("www.vawt.local",80)) { // adresa server     client.println("POST /add.php HTTP/1.1");     client.println("Host: vawt.local"); // adresa server     client.println("Content-Type: application/x-www-form-urlencoded");      client.print("Content-Length: ");      client.println(data.length());      client.println();      client.print(data);     Serial.print(data);   }    if (client.connected()) {      client.stop();  // deconectare   }   delay(100); // intarziere pana la urmatorul ciclu de masuratori } | 
3. un fisier „add.php” care primestele datele de la ARDUINO se conecteaza la baza de date si inregistreaza valorile in aceasta.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?php     // se conecteaza la baza de date      mysql_connect("Localhost", "user", "parola") or die(mysql_error());      mysql_select_db("nume baza de date") or die(mysql_error());      $temp1=$_POST["temp1"];     $hum1=$_POST["hum1"];         $curent1=$_POST["curent1"];         $tensiune1=$_POST["tensiune1"];         $putere1=$_POST["putere1"];     $query = "INSERT INTO `tempLog` (`temperature`, `humidity`, `curent`, `tensiune`, `putere`)          VALUES ('".$temp1."','".$hum1."','".$curent1."','".$tensiune1."','".$putere1."')";      mysql_query($query);     mysql_close;     header("Location: index.php"); ?> | 
4. VAWT ARDUINO o baza de date SQL care pentru exemplul de mai sus poate fi generata cu urmatorul script:
| 1 2 3 4 5 6 7 | CREATE TABLE tempLog (  timeStamp TIMESTAMP NOT NULL PRIMARY KEY,  temperature int(11) NOT NULL,  humidity int(11) NOT NULL, curent decimal(5,2) NOT NULL, tensiune decimal(5,2) NOT NULL, putere decimal(5,2) NOT NULL); | 
5. Un „web hosting” pentru baza de date SQL si fisiere.
Eu folosesc Hostico
 
			