Stap 5: Codigo
Una vez preparado todo es hora de programar nuestro ESP8266por medio del Arduino IDE y el plugin para ESP8266, nl el programa habrá que hacer los cambios alleen afhankelijk de tu SSID tu contraseña sus sleutel de e-ID generadas anteriormente.
Zodra preparated haar allertijden te programmeren van onze ESP8266 door de Arduino IDE en de plugin van de ESP8266, in het programma dat zal u om te veranderen wat informatie zoals uw SSID wachtwoord uw sleutel en ID eerder gegenereerd.
Github:
https://github.com/wero1414/ESPWeatherStation/blob...
#include #include "DHT.h" #define DHTPIN 2 //Pin hechten van de DHT #define DHTTYPE DHT11 //type van DTH const char * ssid = "Uw SSID"; const char * wachtwoord = "Uw wachtwoord"; const int sleepTimeS = 600; //18000 voor Half uur, 300 voor 5 minuten enz.
Weer / / / char server [] = "weatherstation.wunderground.com"; char [webpagina] = "GET weatherstation/updateweatherstation.php?"; char [ID] = "YourWeatherID"; [wachtwoord] char = "YourPasswordOfWunderground";
/////////////IFTTT///////////////////////
const char * host = "maker.ifttt.com";//dont changeconst String IFTTT_Event = "YourEventName"; Const int puertoHost = 80; const String Maker_Key = "YourMakerKey"; ConexionIF koord = "POST /trigger/" + IFTTT_Event + "/ met/toets /" + Maker_Key + "HTTP/1.1\r\n" + "Host:" host + "\r\n" + "Content-Type: application/x-1-800-www-Dell-vorm-urlencoded \r\n\r\n";
//////////////////////////////////////////
DHT dht (DHTPIN, DHTTYPE);
void setup {Serial.begin(115200); dht.begin(); delay(1000); Serial.println(); Serial.Print ("verbinden met"); Serial.println(SSID); WiFi.begin (ssid, wachtwoord); terwijl (WiFi.status()! = WL_CONNECTED) {delay(500); Serial.Print("."); }} ongeldig loop {batterijniveau int //Check = analogRead(A0); niveau = kaart (niveau 0, 1024, 0, 100); if(level<50) {mandarNot(); //Send IFTT Serial.println("Low batter"); delay(500);} //Get sensorgegevens zweven tempc = dht.readTemperature(); tempf zweven = (tempc * 9.0) / 5.0 + 32,0; float vochtigheid = dht.readHumidity(); dewptf zweven = (dauwpunt (tempf, dht.readHumidity())); //check sensorgegevens Serial.println("+++"); Serial.Print ("tempF ="); Serial.Print(tempf); Serial.println ("* F"); Serial.Print ("tempC ="); Serial.Print(tempc); Serial.println ("* C"); Serial.Print ("dauwpunt ="); Serial.println(dewptf); Serial.Print ("vochtigheid ="); Serial.println(Humidity); Gegevens verzenden weer ondergrondse Serial.print("connecting to"); Serial.println(Server); WiFiClient de klant; Als (! client.connect (server, 80)) {Serial.println ("Conection Fail"); terugkeer;} client.print(WEBPAGE); client.Print("ID="); client.Print(id); client.Print ("& wachtwoord ="); client.Print(Password); client.Print ("& dateutc ="); client.Print("Now"); client.Print ("& tempf ="); client.Print(tempf); client.Print ("& dewptf ="); client.Print(dewptf); client.Print ("& vochtigheid ="); client.Print(Humidity); client.Print ("& softwaretype = ESP % 208266O % 20version1 & action = updateraw & realtime = 1 & rtfreq = 2.5"); client.println(); delay(2500); sleepMode(); }
dubbele dauwpunt (dubbele tempf, het dubbele van vochtigheid) //Calculate-dauwpunt {double A0 = 373.15 / (273.15 + tempf); dubbele som =-7.90298 * (A0-1); SOM += 5.02808 * log10(A0); SOM +=-1.3816e-7 * (pow (10, (11.344*(1-1/A0)))-1); SOM += 8.1328e-3 * (pow(10,(-3.49149*(A0-1)))-1); SOM += log10(1013.246); dubbele VP = pow (10, som-3) * vochtigheid; dubbele T = log(VP/0.61078); retourneren (241.88 * T) / (17.558-T);} VOID mandarNot() {WiFiClient client; als (! client.connect (host, puertoHost)) //Check verbinding {Serial.println ("verbinding mislukt"); terugkeer;} client.print (conexionIF); //Send informatie delay(10) while(client.available()) {String regel = client.readStringUntil('\r'); Serial.Print(line); ongeldig sleepMode()}} {Serial.print(F("Sleeping...")); ESP.deepSleep(sleepTimeS * 1000000);}