Code
//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