Skip to main content
2 of 3
added 1 character in body
Manihatty
  • 395
  • 1
  • 5
  • 16

How to receive data from my Server database to a variable in my arduino?

I am learning to work with the client - server communication. I am able to communicate with my server and able to store values in the table. But I want to receive one of the specific data from the database.

Here I want to get the 'abc' value from the 'Current' column to store in a variable in my arduino.

Below are the codes that I have done till now. I would be really happy, If you could solve the problem.

Here is my database structure

--------------------------------------------------- 
| Device |  Previous |  Next |  Distance |  Current| 
---------------------------------------------------
|katup123| xyz       | abc   | 2.600     | abc     |    
---------------------------------------------------

Here is my php code

                               locator.php

<?php
$con=mysqli_connect("your_domain.com","peter","abc123","locate");


// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT Current FROM locate
WHERE Device='katup123'");

while($row = mysqli_fetch_array($result)) {
echo $row['Current'];
echo "<br>"; 
}
?> 

Here is my arduino code :

// Include the GSM library
#include <GSM.h>
#define PINNUMBER ""


// APN data

#define GPRS_APN       "GPRS_APN" // replace your GPRS APNgpsll

#define GPRS_LOGIN     "login"    // replace with your GPRS login

#define GPRS_PASSWORD  "password" // replace with your GPRS password



// initialize the library instance

GSM gsmAccess;

GSMClient client;

GPRS gprs;



// URL, path & port (for example: arduino.cc)

char server[] = "your_domain.com";

char path[] = "/locater.php";

int port = 80; // port 80 is the default for HTTP




// Setup function


void setup()

{

// initialize serial communications and wait for port to open:

Serial.begin(9600);

Serial.println("Starting Arduino web client.");


// connection state

boolean notConnected = true;


// Start GSM shield

// If your SIM has PIN, pass it as a parameter of begin() in quotes

while(notConnected)

{

  if((gsmAccess.begin(PINNUMBER)==GSM_READY) &

  (gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD)==GPRS_READY))

  notConnected = false;

else

{

  Serial.println("Not connected");

  delay(1000);

}

}

Serial.println("GSM initialized");

Serial.println("connecting...");



}


// Loop Function


void loop()

{

  char result [20];


//***************************************************



Serial.print(" Connecting to server Database ");



if (client.connect(server, port))

{


client.print("GET /locator.php?");

Serial.print("GET /locator.php?");

client.println(" HTTP/1.1");

Serial.println(" HTTP/1.1");

client.println("Host: www.your_domain.com");

Serial.println("Host: www.your_domain.com");

client.println("User-Agent: Arduino");

Serial.println("User-Agent: Arduino");

client.println("Accept: text/html");

Serial.println("Accept: text/html");

client.println("Connection: close");

Serial.println("Connection: close");

client.println();

Serial.println();


Serial.println("\nCOMPLETE!\n");

client.stop();


}


else

{


Serial.println("connection failed");

 Serial.println("\n FAILED!\n");


}


delay(5000);

}  

Here I want to store the 'abc' value to my 'result' variable. I don't know how to do it ?

Manihatty
  • 395
  • 1
  • 5
  • 16