Send TXT File to a webpage from an SD CARD through ESP8266

LizardOnTheRoad
Posts: 1
Joined: Wed Mar 28, 2018 10:31 pm

Send TXT File to a webpage from an SD CARD through ESP8266

Postby LizardOnTheRoad » Wed Mar 28, 2018 10:38 pm

Hi everyone,

I am currently building a module that is able to send data to a webpage. I am using an MKR ZERO Arduino. Basically, I am able so far to send a simple HTML GET request which is treated by a php file. Then, it sends everything to a mySQL data base. The GET request is sent from the Arduino to the webpage. Then, the php file does the rest of the job. First, this is what my arduino code looks like :

Code: Select all

void sendSQL(){
  Serial1.println("AT+CIPSTART=1,\"TCP\",\"" + server + "\",80");
  delay(200);
  if( Serial1.find("OK")){
    Serial.println("TCP connection ready");
   
    delay(200);

    String postRequest = "GET " + uri + "?location=" + "\'" + location + "\'" +
      "&sun_influence=" + "\'" + sunInfluence + "\'" + "&module_name=" + "\'" + moduleName + "\'" + "
      HTTP/1.1\r\nHost: " + server + "\r\n\r\n";
 
    Serial1.println("AT+CIPSEND=1," + String(postRequest.length())); 
    Serial.println("AT+CIPSEND=1," + String(postRequest.length())); 
    delay(200);
    if(Serial1.available()){
      if(Serial1.find(">")) {
        Serial.println("Sending..");
        Serial.print(postRequest);
        Serial1.print(postRequest);
        delay(200);
        if(Serial1.find("SEND OK")){
          Serial.println("Packet sent");
          Serial1.println("AT+CIPCLOSE=1");
          delay(200);           
        }
        else
          Serial.println("Packet cannot be sent");
      }
      else
        Serial.println("ERROR");
    }
    else
      Serial.println("Nothing received");
  }
  else
    Serial.println("TCP connection failed");   
}


The php file looks like this :

Code: Select all

<?php

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "gestion_lux";

// Create connection
$conn = new mysqli($servername, $username,$password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$val1 = $_GET['location'];
$val2 = $_GET['sun_influence'];
$val3 = $_GET['module_name'];

$sql = "INSERT INTO room(location,sun_influence,module_name) VALUES ($val1,$val2,$val3);";

if ($conn->query($sql) === TRUE) {
    echo "Room parameters Saved Successfully!";
} else {
    echo "Error:" . $sql . "<br>" . $conn->error;
}

$conn->close();

?>


All of that part works pretty well! Unfortunately, I won't be able to use this solution in my case. Indeed, that would mean sending data at each end of a test (approximately 1 minute), which is a waste of energy. And in my situation, my module is supplied by a 3.3V battery. My idea is to gather a maximum of data in the SD card of my MKR ZERO, and to send everything at once every 30 minutes, for example. Then, I would waste less energy.

The thing is I'm not that good in HTTP/Php treatment, that's why I'm asking for some help. My idea is to create a text file in my SD CARD (I already know how to do that), and to send it after 30 minutes to the webpage. Is it possible to do that through a HTML request? Then, how am I suppose to treat the data in the php file? The php should be able to send each test to the data base line per line. Maybe my solution is not smart, so I'm open about hearing any kind of suggestion!

Thank you very much!

Maxime.

andreysnug
Posts: 21
Joined: Wed May 16, 2018 12:33 pm

Send TXT File to a webpage from an SD CARD through ESP8266

Postby andreysnug » Sun Jun 17, 2018 7:46 am

Hi is it posible to get data from a website

i play world of warcraft and i like to see my friendslist on my display
and some other stuff

can i get data from a file txt or xml

data from a Database ??

Thomas

Who is online

Users browsing this forum: Tylerchise and 2 guests