//Hier ist der Code den ihr kopieren könnt, und ein paar Änderungen vornehmen müsst. Darunter gehört das Wlan, und euere Thingspeak Keys.

//Wenn du ein Wlan mit einer SSID(Wlan Name) und einen Passwort sowie ein Benutzer benutzt, nehme folgenden Code:   (sonst nehme den unteren Code)
//--------------------------------------------------------------------------------------------------------------------------------------------------
#include <Arduino.h> #include <WiFi.h> //Wifi library #include "esp_wpa2.h" //wpa2 library for connections to Enterprise networks #include <ThingSpeak.h> #define EAP_ANONYMOUS_IDENTITY "BENUTZERNAME HIER EINTRAGEN" #define EAP_IDENTITY "BENUTZERNAME HIER NOCHMALS EINTRAGEN" #define EAP_PASSWORD "PASSWORT HIER EINTRAGEN" const char *ssid = "SSID HIER EINTRAGEN"; // Wlan Name const char *THINGSPEAK_API_WRITE_KEY = "API WRITE KEY HIER EINTRAGEN"; unsigned long CHANNEL_ID = CHANNEL ID HIER EINTRAGEN; unsigned long CHANNEL_NUMBER = 1; //CHANNEL NUMMER HIER EINTRAGEN WiFiClient client; const int soilMoistPin = 36; const int soilMoistLevelLow = 3387; //Dieser Wert soll von euch entsprechend angepasst werden const int soilMoistLevelHigh = 1700; //Dieser Wert soll von euch entsprechend angepasst werden void setup() { pinMode(soilMoistPin, INPUT); // Wifi-Setup Serial.begin(9600); delay(10); Serial.println(); Serial.print(F("Connecting to network: ")); Serial.println(ssid); WiFi.disconnect(true); // disconnect von Wifi um zum neuen Wifi eine verbindung aufzubauen WiFi.mode(WIFI_STA); // init wifi mode esp_wifi_sta_wpa2_ent_set_identity((uint8_t *)EAP_ANONYMOUS_IDENTITY, strlen(EAP_ANONYMOUS_IDENTITY)); esp_wifi_sta_wpa2_ent_set_username((uint8_t *)EAP_IDENTITY, strlen(EAP_IDENTITY)); esp_wifi_sta_wpa2_ent_set_password((uint8_t *)EAP_PASSWORD, strlen(EAP_PASSWORD)); esp_wifi_sta_wpa2_ent_enable(); WiFi.begin(ssid); // connect to wifi while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print(F(".")); } Serial.println(""); configTzTime("CET-1CEST,M3.5.0,M10.5.0/3", "pool.ntp.org", "time.nis.gov"); ThingSpeak.begin(client); } void loop() { int soilMoist = analogRead(soilMoistPin); Serial.print("Analog Value: "); Serial.print(soilMoist); // Auswertung der Bodenfeuchtigkeit in Prozent int percentSoilMoist = map(soilMoist, soilMoistLevelHigh, soilMoistLevelLow, 100, 0); Serial.print("\t"); Serial.print(percentSoilMoist); Serial.println(" %"); // Sensor Daten ThingSpeak.setField(2, percentSoilMoist); int data = ThingSpeak.writeFields(CHANNEL_NUMBER, THINGSPEAK_API_WRITE_KEY); delay(20000); }

//----------------------------------------------------------------------------------------------------
//Wenn du ein Wlan nur mit einer SSID(Wlan Name) und einen Passwort benutzt, nehme folgenden Code:
//-----------------------------------------------------------------------------------------------------
#include <Arduino.h>
#include <WiFi.h> //Wifi library
#include "esp_wpa2.h" //wpa2 library for connections to Enterprise networks 
#include <ThingSpeak.h>
const char* ssid = "SSID HIER EINTRAGEN";
const char* password =  "PASSWORT HIER EINTRAGEN";


const char *THINGSPEAK_API_WRITE_KEY = "API WRITE KEY HIER EINTRAGEN";
unsigned long CHANNEL_ID = CHANNEL ID HIER EINTRAGEN;
unsigned long CHANNEL_NUMBER = 1; //CHANNEL NUMMER HIER EINTRAGEN


WiFiClient client;

const int soilMoistPin = 36;
const int soilMoistLevelLow = 3387; //Dieser Wert soll von euch entsprechend angepasst werden
const int soilMoistLevelHigh = 1700; //Dieser Wert soll von euch entsprechend angepasst werden

void setup() { pinMode(soilMoistPin, INPUT); 
 // Wifi-Setup 
 Serial.begin(9600);
 delay(10);
 Serial.println();
 Serial.print(F("Connecting to network: "));
 Serial.println(ssid); WiFi.disconnect(true); // disconnect von Wifi um zum neuen Wifi eine verbindung aufzubauen
 WiFi.mode(WIFI_STA);
 WiFi.begin(ssid,passwort); // connect to wifi
 while (WiFi.status() != WL_CONNECTED) { 
 delay(500);
 Serial.print(F("."));
}

Serial.println("");  
Serial.println(F("WiFi is connected!"));
Serial.print(F("IP address set: "));
Serial.println(WiFi.localIP()); //print LAN IP
Serial.print("my mac: ");
Serial.println(WiFi.macAddress());
Serial.print("Subnetzmaske: ");
Serial.println(WiFi.subnetMask());
configTzTime("CET-1CEST,M3.5.0,M10.5.0/3", "pool.ntp.org", "time.nis.gov");

ThingSpeak.begin(client);

}

void loop() {
        int soilMoist = analogRead(soilMoistPin);
        Serial.print("Analog Value: ");
        Serial.print(soilMoist);

        // Auswertung der Bodenfeuchtigkeit in Prozent
        int percentSoilMoist = map(soilMoist, soilMoistLevelHigh, soilMoistLevelLow,          100, 0); Serial.print("\t"); Serial.print(percentSoilMoist);
         Serial.println(" %"); // Sensor Daten



         ThingSpeak.setField(2, percentSoilMoist);
         int data = ThingSpeak.writeFields(CHANNEL_NUMBER,   
         THINGSPEAK_API_WRITE_KEY);

         delay(20000);
}
Zuletzt geändert: Dienstag, 13. Juni 2023, 10:14