Görseldeki devre, bulunduğu ortamın nem ve sıcaklık bilgisini firebase veritabanına yazar. Görseldeki akıllı telefon uygulamasından bu değerler okunur. NodeMCU kartına bağlı ısıtıcı internet üzerinden kontrol edilir.
#include <ESP8266WiFi.h> // NodeMCU kurulumuyla gelir. #include <FirebaseESP8266.h> // FirebaseESP8266 Client v3.8.3 ve Firabasejson v2.6.3 #include "DHT.h" // Adafruit DHT Sensor Library v1.2.3 #define DHTpin 4 // Sensörün bağlandığı pin. NodeMCU 1.0 (ESP-12E) D2 pini. #define DHTtipi DHT11 // Sensör tipi: DHT11, DHT21, DHT22. DHT dht(DHTpin, DHTtipi); //dht isimli nesne oluşturuldu. #define WIFI_SSID "ZyXEL" // Kablosuz ağ adı. #define WIFI_PASSWORD "CK4YTTFPACTL" // Kablosuz ağ şifresi. #define DATABASE_URL "internet-d61ca-default-rtdb.firebaseio.com" // Firebase'de oluşturulan nesnenin adresi. FirebaseData veritabani; // veritabani isimli nesne oluşturuldu. FirebaseAuth auth; FirebaseConfig config; void setup() { pinMode(2, OUTPUT); // GPIO2 pini D4 pini çıkış. pinMode(4, INPUT); // GPIO4 pini D2 pini giriş. dht.begin(); WiFi.begin(WIFI_SSID, WIFI_PASSWORD); config.database_url = DATABASE_URL; config.signer.tokens.legacy_token = "3t1jLsNUxFT9uRvVPipok27rF7b25RtBQIcbn9Pn"; // Gizli anahtar (token). Firebase.begin(&config, &auth); } void loop() { int nem = dht.readHumidity(); // Nem bilgisini oku. int sicaklik = dht.readTemperature(); // Sıcaklık bilgisini oku. Firebase.setInt(veritabani, "/nem", nem); // Nem bilgisini firebase veritabınına yaz. Firebase.setInt(veritabani, "/sicaklik", sicaklik); // Sıcaklık bilgisini firebase veritabınına yaz. if (Firebase.getString(veritabani, "/isitici")) { // Isıtıcın durum bilgisini firebase veritabınından al. String metin = veritabani.to<String>(); Serial.println(metin); if (metin == "1") digitalWrite(2, LOW); else digitalWrite(2, HIGH); } }
No responses yet