Ak ste sa rozhodli pre ESP8266 so vstavaným USB prevodníkom stačí pripojiť ESP modul pomocou USB kábla do PC nastaviť port v Arduino IDE a nahrať program.
Ak ste sa však rozhodli pre verziu bez USB prevodníku napr. ESP8266-01 budete potrebovať ešte externý programátor.
Nižšie je uvedený kód ktorý je potrebné doplniť o nasledovné veci:
- ssid Wifi siete
- heslo Wifi siete
- API kód ktorý získate po registrácii
/**********************************************************************
*Projekt: *
*EPS8266 web tepllomer s pouzitim DHT22 a ESP8266-01 *
* *
* Kontakt: *
* http://webtemp.wz.cz/ *
* info@webtemp.wz.cz *
* *
* Vytvorene: 2020/09/08 *
* V1.0 *
* Popis verzie *
* Posielané data: *
* API *
* Value1,Value2,Value3 *
**********************************************************************/
//nacitanie kniznic
#ifdef ESP32
#include <WiFi.h>
#include <HTTPClient.h>
#else
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <WiFiClient.h>
#endif
//WIFI
const char* ssid = "xxx"; //SSID WIFI siete
const char* password_wifi = "xxx"; //Heslo WIFI siete
//api webtemp
String apiKeyValue = "xxx"; //API kod ziskate po registracii
const char* serverName1 = "http://webtemp.wz.cz/a_esp_data/api.php";
//DHT22
#include <DHT.h>
#define DHTPIN 2 // D1 pin on Nodemcu / D2 ESP8266-01
DHT dht(DHTPIN, DHT22);
//*****************************************************************
//SETUP
void setup() {
Serial.begin(115200);
delay(100);
Serial.print("Setup");
//Start WiFI
// WiFi.mode(WIFI_OFF); //vypne pristupovy bod wifi alebo WIFI_STA
WiFi.begin(ssid, password_wifi);
Serial.println("Connecting");
while(WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to WiFi network with IP Address: ");
Serial.println(WiFi.localIP());
//Start DHT
dht.begin();
}
//*****************************************************************
//LOOP
void loop() {
Serial.println("loop");
//citanie dat z DHT
float h = dht.readHumidity();
float t = dht.readTemperature();
//volny parameter
float p = 1024.0;
// float h = 23.1; //testovacie data
// float t = 24.2; //testovacie data
//Pripojenie WIFI
if(WiFi.status()== WL_CONNECTED){
HTTPClient http;
Serial.println("connect");
//adresa serveru
http.begin(serverName1);
//Nastavenie sposobu pripojenoia
http.addHeader("Content-Type", "application/x-www-form-urlencoded");
//Odosielanie dat
String httpRequestData = "api_key=" + apiKeyValue +
"&value1=" + String(t) +
"&value2=" + String(h) +
"&value3=" + String(p) + "";
// Zobrazenie odoslanych dat na serialmonitor
Serial.print("httpRequestData: ");
Serial.println(httpRequestData);
int httpResponseCode = http.POST(httpRequestData);
// zobrazenie odpovedi po odoslani dat na serialmonitore
if (httpResponseCode>0) {
Serial.print("HTTP Response code: ");
Serial.println(httpResponseCode);
}
else {
Serial.print("Error code: ");
Serial.println(httpResponseCode);
}
// Free resources
http.end();
//300 000 ms ->5min cas cakania pred dalsim posielanim
delay(300000);
}
}