#include SoftwareSerial wifiBaglantisi(10, 11); //wifiConnection #include #include dht11 DHT11; #define DHT11_PIN 2 // DHT11 is attached to pin 2 const String wifiAdi = "CHANGE HERE WITH YOUR WIFI SSID"; const String wifiSifresi = "CHANGE HERE WITH YOUR WIFI PASSWORD"; void setup() { Serial.begin(9600); wifiBaglantisi.begin(9600); //wifiConnection delay(1000); if(!interneteBaglan()){ Serial.println("internete baglanilamadi"); //Can't access to internet } else { Serial.println("Modul internete baglandi"); //Yes, accessed to internet now } } void loop() { Serial.print("DHT11, \t"); int chk = DHT11.read(DHT11_PIN); // DISPLAY DATA Serial.print(DHT11.humidity, 1); Serial.print(",\t"); Serial.println(DHT11.temperature, 1); float sicaklikDegeri = (float)DHT11.temperature; Serial.print("sicaklik degeri: "); //Temperature value is... Serial.print(sicaklikDegeri); //The temperature value Serial.println(" C olarak olculmustur."); //measured as celcius unit delay(2000); int i = (int)DHT11.humidity; yolla(sicaklikDegeri,i); delay(30000); /* 30 saniye bekleme */ /*wait for 30 seconds*/ } void yolla(float sicaklik, int sayi){ //sicaklik = temperature sayi = number String istek; //istek=request /* veriler = "field1=100&field2=30"; örnek veri */ char buf[16]; String veri1 = dtostrf(sicaklik, 4, 1, buf); //sicaklik=temperature String veri2 = String(sayi); String veriler = "field1="+ veri1 +"&field2=" + veri2; istek = "POST /update HTTP/1.0\r\nConnection: close\r\nHost: api.thingspeak.com\r\nX-THINGSPEAKAPIKEY: XXXXCHANGEHEREXX\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: "+String(veriler.length())+ "\r\n\r\n"; wifiBaglantisi.print("AT+CIPSTART=\"TCP\",\"api.thingspeak.com\",80\r\n"); wifiBaglantisi.find("OK"); Serial.println("Baglanti istegi yollandi"); //wifi request has been sent delay(1000); wifiBaglantisi.print("AT+CIPSEND="); wifiBaglantisi.find(">"); wifiBaglantisi.println(String(istek.length() + veriler.length())); Serial.println("HTTP istegi yollandi"); //Http get request has been sent delay(1000); wifiBaglantisi.print(istek); //request wifiBaglantisi.print(veriler); //datas wifiBaglantisi.find("SEND OK"); Serial.println("Baglanti kuruldu"); //connection is OK String alinanVeri = ""; //getting datas char k; long zaman = millis(); while(alinanVeri.indexOf("CLOSED") == -1){ if(millis() - zaman > 3000){ break; } while(wifiBaglantisi.available()) { k = wifiBaglantisi.read();// modülden gelen cevaplar kaydediliyor //incoming datas from the module is recording/saving alinanVeri+=k; } } Serial.println("Gelen veriler:"); //incoming datas Serial.println(alinanVeri); //incoming datas } String ATKomuduYolla(String ATKomudu, int zamanAsimi, boolean debug) { wifiBaglantisi.print(ATKomudu); // AT komudu modüle gönderildi //AT command is sent to the module long int zaman = millis(); String cevap = ""; //answer while( (zaman+zamanAsimi) > millis()) // Zaman aşımına kadar bekle //wait for delay { while(wifiBaglantisi.available()) { char k = wifiBaglantisi.read(); // modülden gelen cevaplar kaydediliyor //the datas coming from the module is saving now cevap+=k; } if(cevap.indexOf("OK") != -1) break; } if(debug) Serial.print(cevap); // modülden gelen cevaplar ekrana yazdırılıyor // the values from the module is coming in order to put to the display's screen. return cevap; //answer } boolean interneteBaglan(){ ATKomuduYolla("AT+CWMODE=1\r\n",1000,true); // internete bağlanacağımız için 1. moda alıyoruz // we are changing our mode into mode 1 ATKomuduYolla("AT+CWJAP=\"" + wifiAdi + "\",\""+ wifiSifresi + "\"\r\n",10000,true); // wifi bağlantısı yapılıyor //wifi connections are building String durum = ""; durum = ATKomuduYolla("AT+CIFSR\r\n",8000,true); // bağlantı bilgileri // connection informations if(durum.indexOf("FAIL") != -1 ){ // bağlantı başarı durumu test ediliyor //connection success status has been tested. return false; } return true; }