//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 <OneWire.h> #include <DallasTemperature.h> #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"; // eduroam SSID 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 // GPIO where the DS18B20 is connected to const int oneWireBus = 4; // Setup a oneWire instance to communicate with any OneWire devices OneWire oneWire(oneWireBus); // Pass our oneWire reference to Dallas Temperature sensor DallasTemperature sensors(&oneWire); WiFiClient client; 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 form wifi to set new wifi connection 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(""); /* 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"); // Temp-Setup // Start the DS18B20 sensor sensors.begin(); ThingSpeak.begin(client); } void loop() { // Sensor Daten sensors.requestTemperatures(); float temperatureC = sensors.getTempCByIndex(0); Serial.print(temperatureC); Serial.println("ºC"); ThingSpeak.setField(1, temperatureC); int data = ThingSpeak.writeFields(CHANNEL_NUMBER, THINGSPEAK_API_WRITE_KEY); if (data == 200) { Serial.println("Upload erfolgreich"); } else { Serial.println("Upload fehlerhaft"); } 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 <OneWire.h>
#include <DallasTemperature.h>
#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

// GPIO where the DS18B20 is connected to
const int oneWireBus = 4;
// Setup a oneWire instance to communicate with any OneWire devices
OneWire oneWire(oneWireBus);
// Pass our oneWire reference to Dallas Temperature sensor
DallasTemperature sensors(&oneWire);

WiFiClient client;


void setup()
{
  // 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");
  // Temp-Setup
  // Start the DS18B20 sensor
  sensors.begin();
  ThingSpeak.begin(client);

}

void loop()
{
 
  // Sensor Daten

  sensors.requestTemperatures();
  float temperatureC = sensors.getTempCByIndex(0);

  Serial.print(temperatureC);
  Serial.println("ºC");

  ThingSpeak.setField(1, temperatureC);
  int data = ThingSpeak.writeFields(CHANNEL_NUMBER, THINGSPEAK_API_WRITE_KEY);
 

  if (data == 200)
  {
    Serial.println("Upload erfolgreich");
  }
  else
  {
    Serial.println("Upload fehlerhaft");
  }

  delay(20000);

}
Zuletzt geändert: Dienstag, 13. Juni 2023, 10:12