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