This project shows you how to send data to a server with POST from an Arduino Uno with WiFi and to have the server parse the data using a PHP script.
Functional Parts in the Project:
- Arduino WiFi Rev 2 – https://store.arduino.cc/usa/arduino-uno-wifi-rev2
- Breadboard Kit – https://amzn.to/2Xih5ei
- 560 Piece Jumper Wire Kit – https://amzn.to/2MsCLjL
- Analog Temperature Sensor – https://amzn.to/2Rkkl3k
#include <WiFiNINA.h>
#define sensorPin A5
char ssid[] = "test";
char pass[] = "";
int status = WL_IDLE_STATUS;
char server[] = "www.elithecomputerguy.com";
String postData;
String postVariable = "temp=";
WiFiClient client;
void setup() {
Serial.begin(9600);
while (status != WL_CONNECTED) {
Serial.print("Attempting to connect to Network named: ");
Serial.println(ssid);
status = WiFi.begin(ssid, pass);
delay(10000);
}
Serial.print("SSID: ");
Serial.println(WiFi.SSID());
IPAddress ip = WiFi.localIP();
IPAddress gateway = WiFi.gatewayIP();
Serial.print("IP Address: ");
Serial.println(ip);
}
void loop() {
int reading = analogRead(sensorPin);
float voltage = reading * 5.0;
voltage /= 1024.0;
float temperatureC = (voltage - 0.5) * 100 ;
float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0;
postData = postVariable + temperatureF;
if (client.connect(server, 80)) {
client.println("POST /test/post.php HTTP/1.1");
client.println("Host: www.elithecomputerguy.com");
client.println("Content-Type: application/x-www-form-urlencoded");
client.print("Content-Length: ");
client.println(postData.length());
client.println();
client.print(postData);
}
if (client.connected()) {
client.stop();
}
Serial.println(postData);
delay(3000);
}
PHP Script – post.php
<?php
$time = time();
$tempF = $_POST["temp"];
$file = 'temp.html';
$data = $time." - ".$tempF;
file_put_contents($file, $data);
?>
Be the first to comment