Hello all,
I'm stuck on my project wondering if any of you could help
I am trying to set up my arduino/wifi101 to connect and send sensor values to mysql database with php. Arduino code will connect but when it gets to the php it returns "Error" in the serial monitor and will not enter new data to into the database.
any help is appreciated
This is my arduino code
#include <SPI.h>
#include <WiFi101.h>
char ssid[] = "MYSSID"; // your network SSID (name)
char pass[] = "MYPASS"; // your network key
int keyIndex = 0; // your network key Index number (needed only for WEP)
int status = WL_IDLE_STATUS;
// Initialize the WiFi client library
WiFiClient client;
// server address:
char server[] = "www.MYDOMAIN.com/";
unsigned long lastConnectionTime = 0; // last time you connected to the server, in milliseconds
const unsigned long postingInterval = 20L * 1000L; // delay between updates, in milliseconds
void setup() {
//Initialize serial and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
// check for the presence of the shield:
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("WiFi shield not present");
// don't continue:
while (true);
}
// attempt to connect to WiFi network:
while ( status != WL_CONNECTED) {
Serial.print("Attempting to connect to SSID: ");
Serial.println(ssid);
// Connect to WPA/WPA2 network. Change this line if using open or WEP network:
status = WiFi.begin(ssid, keyIndex, pass);
// wait 10 seconds for connection:
delay(5000);
}
// you're connected now, so print out the status:
printWiFiStatus();
}
void loop() {
// if there's incoming data from the net connection.
// send it out the serial port. This is for debugging
// purposes only:
while (client.available()) {
char c = client.read();
Serial.write(c);
}
// if ten seconds have passed since your last connection,
// then connect again and send data:
if (millis() - lastConnectionTime > postingInterval) {
httpRequest();
}
}
// this method makes a HTTP connection to the server:
void httpRequest() {
// close any connection before send a new request.
// This will free the socket on the WiFi shield
client.stop();
// if there's a successful connection:
delay(1000);
if (client.connect(server, 80)) {
Serial.println("connecting...");
// send the HTTP PUT request:
client.println("GET /write.php?fermset=");
client.print(Temp01SetPoint);
client.print("&fermcur=");
client.print(sensors.getTempFByIndex(0));
client.print("&glyset=");
client.print(GLYSetPoint);
client.print("&glycur=");
client.print(sensors.getTempFByIndex(1));
client.print("&gravity=");
client.println("HTTP/1.1");
client.println("Host: http://www.MYDOMAIN.com"); // SERVER ADDRESS
client.println( "Content-Type: text/php" );
client.println("Connection: close");
client.println();
client.println();
// note the time that the connection was made:
lastConnectionTime = millis();
}
else {
// if you couldn't make a connection:
Serial.println("connection failed");
}
delay(10000);
}
void printWiFiStatus() {
// print the SSID of the network you're attached to:
Serial.print("SSID: ");
Serial.println(WiFi.SSID());
// print your WiFi shield's IP address:
IPAddress ip = WiFi.localIP();
Serial.print("IP Address: ");
Serial.println(ip);
// print the received signal strength:
long rssi = WiFi.RSSI();
Serial.print("signal strength (RSSI):");
Serial.print(rssi);
Serial.println(" dBm");
}
when i visit www.mydomain.com/write?fermset=&fermcur=&glyset=&glycur=
in my browser it will enter the values into the database.
this is my php
<?php
$servername = "localhost";
$username = "MYUSERNAME";
$password = "MYPASSWORD";
$dbname = "MYDATABASE";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "INSERT INTO MYDATABASE (id, Time, fermset, fermcur, glyset, glycur, gravity)
VALUES (NULL, CURRENT_TIMESTAMP,'".$_GET["fermset"]."', '".$_GET["fermcur"]."', '".$_GET["glyset"]."', '".$_GET["glycur"]."','".$_GET["gravity"]."')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully ";
} else {
echo "Error: " . $sql . "
" . $conn->error;
}
?>