C/C++ ESP-32S ile ThingSpeak'e veri aktarırken "HTTP hata kodu: -210" hatası

Emirpnr

Yoctopat
Katılım
11 Mayıs 2024
Mesajlar
1
Daha fazla  
Cinsiyet
Erkek
Projemizde ESP-32S ile ThingSpeak'e veri atarken "veri gönderme hatası, HTTP hata kodu: -210" hatası ile karşılaşıyoruz, internette araştırdık fakat bir sonuç alamadık. Sadece sıcaklık verisi yükleyebiliyoruz diğer verilerimizi siteye yollayamıyoruz. Veriler serial portta gözüküyor.

Kullandığımız kod:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#include <ESP32Servo.h>
#include <WiFiClient.h>
#include <ThingSpeak.h>
#include <Wifi.h>
#define DHTPIN 33
#define DHTTYPE DHT11
// Pin bağlantıları
#define SERVO_PIN 27
#define LDR_PIN 32
#define GAS_SENSOR_PIN 34
#define BUZZER_PIN 32
#define LED_PIN 14

// LCD I2C bağlantısı
LiquidCrystal_I2C lcd(0x27, 16, 2);
// DHT11 sensörü
DHT dht(DHTPIN, DHTTYPE);
// Servo motor
Servo myServo;
// WiFi bilgileri
const char* ssid = "ag adi";
const char* password = "sifre";
// ThingSpeak ayarları
unsigned long channelID = CHANEL ID;
const char* writeAPIKey = "API KEY";
WiFiClient client;
void setup() {
touchAttachInterrupt(33, NULL, 0);
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Akilli Ev");
lcd.setCursor(0, 1);
lcd.print("Otomasyonu");
delay(5000);
lcd.clear();
// WiFi bağlantısı
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi..");
}
Serial.println("Connected to WiFi.");
ThingSpeak.begin(client); // ThingSpeak başlat
myServo.attach(SERVO_PIN); // Servo motoru başlat
pinMode(LED_PIN, OUTPUT); // LED pinini çıkış olarak ayarla
digitalWrite(LED_PIN, LOW); // LED'i başlangıçta söndür
pinMode(BUZZER_PIN, OUTPUT);
dht.begin(); // DHT sensörünü başlat
}
void loop() {
// Sıcaklık ve nem okuma
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
// LDR değeri okuma
int ldrValue = digitalRead(LDR_PIN);
// Gaz sensöründen değer okuma
int gasValue = analogRead(GAS_SENSOR_PIN);
// LCD'ye sıcaklık ve nem değerlerini yazdırma
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Sicaklik: ");
lcd.print(temperature);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Nem: ");
lcd.print(humidity);
lcd.print(" %");
delay(5000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Light:");
lcd.print(ldrValue);
lcd.setCursor(0, 1);
lcd.print("Gaz Degeri:");
lcd.print(gasValue);
delay(2000);
// Seri porta veri yazdırma
Serial.print("Sıcaklık: ");
Serial.print(temperature);
Serial.print(" C, Nem: ");
Serial.print(humidity);
Serial.print(" %, Işık: ");
Serial.print(ldrValue);
Serial.print(", Gas: ");
Serial.println(gasValue);
// ThingSpeak'e veri gönderme
ThingSpeak.writeField(channelID, 1, temperature, writeAPIKey);
delay(500);
ThingSpeak.writeField(channelID, 2, humidity, writeAPIKey);
delay(500);
ThingSpeak.writeField(channelID, 3, ldrValue, writeAPIKey);
delay(500);
ThingSpeak.writeField(channelID, 4, gasValue, writeAPIKey);
delay(500);
// ThingSpeak işlem sonucunu kontrol etme
int writeResult = ThingSpeak.writeFields(channelID, writeAPIKey);
if (writeResult == 200) {
Serial.println("Veri başarıyla Thingspeak'e gönderildi!");
} else {
Serial.print("Veri gönderme hatası, HTTP Hata Kodu: ");
Serial.println(writeResult);
}



// Servo motoru kontrol etme
myServo.write(120); // Servo motoru 90 dereceye dönsün
delay(15000); // 15 saniye bekle
myServo.write(0); // Servo motoru 0 dereceye dönsün
delay(1000); // 1 saniye bekle
// LED kontrolü
digitalWrite(LED_PIN, HIGH); // LED'i yak
delay(1000); // 1 saniye bekle
digitalWrite(LED_PIN, LOW); // LED'i söndür
delay(1000); // 1 saniye bekle
// Buzzer kontrolü
digitalWrite(BUZZER_PIN, HIGH); // Buzzer çalıştır
delay(500); // 0.5 saniye bekle
digitalWrite(BUZZER_PIN, LOW); // Buzzer durdur
delay(2000); // 2 saniye bekle
}
 

Yeni konular

Geri
Yukarı