I am currently trying to establish a connection between my gsm sim900A to one of my test server. The connection seems pretty good so far, though I'm a little bit confused why there are no values retrieved by my php file. Even so, the insert query works although it insert empty value into the database. So my question is how to retrieve it properly? I already change the method in php script to POST, both of it doesn't return any good signs.
Arduino Code:
void postData()
{
sim900a.println("AT+HTTPINIT");
delay(1000);
printSerialData();
sim900a.println("AT+HTTPPARA=\"CID\",1");
delay(1000);
printSerialData();
sim900a.println("AT+HTTPPARA=\"URL\",\"test.my/demo/writedata.php\"");
delay(1000);
printSerialData();
sim900a.println("AT+HTTPDATA=12,10000");
delay(1000);
printSerialData();
sim900a.println("strBoton=999");
delay(1000);
printSerialData();
sim900a.println("AT+HTTPACTION=1");
delay(1000);
printSerialData();
sim900a.println("AT+HTTPREAD");
delay(1000);
printSerialData();
sim900a.println("AT+HTTPTERM");
delay(1000);
printSerialData();
}
PHP Code:
<?php
$servername = "test.my";
$username = "****";
$password = "****";
$dbname = "test";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$Boton = $_GET["strBoton"];
$sql = "INSERT INTO test VALUES ('$Boton')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
Output:
AT+HTTPINIT
OK
AT+HTTPPARA="CID",1
OK
AT+HTTPPARA="URL","test.my/demo/writedata.php"
OK
AT+HTTPDATA=12,10000
DOWNLOAD
OK
AT+HTTPACTION=1
OK
AT+HTTPREAD
OK
AT+HTTPTERM
+CME ERROR: operation not allowed
AT+SAPBR=0,1
OK