#include <WiFi.h>
#include <HTTPClient.h>
const char* ssid = "YourWiFiSSID";
const char* password = "YourWiFiPassword";
const char* server = "api.thingspeak.com";
const String apiKey = "YourThingSpeakAPIKey";
const int sensorPin = 0; // Analog pin for sensor
void setup() {
Serial.begin(115200);
connectToWiFi();
}
void loop() {
float sensorValue = readSensor();
sendToThingSpeak(sensorValue);
delay(15000); // Send data every 15 seconds
}
void connectToWiFi() {
Serial.print("Connecting to WiFi...");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println("Connected!");
}
float readSensor() {
int sensorReading = analogRead(sensorPin);
float voltage = sensorReading * (3.3 / 4095.0); // Convert analog reading to voltage
float sensorValue = voltage * 100; // Example: Convert voltage to temperature (assuming a
temperature sensor)
Serial.print("Sensor Value: ");
Serial.println(sensorValue);
return sensorValue;
}
void sendToThingSpeak(float data) {
HTTPClient http;
String dataStr = String("field1=") + String(data);
String url = "http://" + String(server) + "/update?api_key=" + apiKey + "&" + dataStr;
Serial.print("Sending data to ThingSpeak: ");
Serial.println(dataStr);
if (http.begin(url)) {
int httpCode = http.GET();
if (httpCode > 0) {
Serial.printf("HTTP Response code: %d\n", httpCode);
} else {
Serial.println("Error in HTTP request");
}
http.end();
} else {
Serial.println("Unable to connect to ThingSpeak");
}
}