Web üzerinden sıcaklık takibi
  • Elimde Arduino Uno, Ethernet Shield, Dht11 mevcut. Sıcaklık bilgilerini okuyup domain.com/temp.php adresinde canlı olarak izlemek istiyorum. Nette bulunan örnekleri inceledim fakat acemilikten beceremedim. Localhostta çalıştırabildim ama web adresinde gösterme olayını başaramadım. Herhangi bir veritabanı kullanmadan bu işlemi yapabilmek için hangi kodları kullanmam gerekiyor yardımcı olabilir misiniz ?
  • Merhaba

    esp8266 kullanarak wifi bağlantısı ile veya w5100 ethernet shield kullanarak internete bağlanırsın.
    İnternete bağlandıktan sonra thingspeak ' a istediğin veriyi gönderirsin. Daha sonra internet bağlı olan bir yerden o veriyi okuyabileceğin gibi, cep telefonundan o verileri grafik olarak görme imkanın bile mevcut :)

    Ben esp8266'da istediğim verimi alamadığım için w5100 ethernetshield kullandım.
    Sende internette biraz araştırırsan thingspeak ile ilgili çok sayıda örnek olduğunu göreceksin.

    İyi çalışmalar dilerim
  • Merhabalar, teşekkürler cevabınız için.
    Ben de w5100 kullanıyorum.

    Thingspeak veya thinger.io gibi yerlerdense bir yere bağlı olmadan direk kendi hostum üzerinden işi yürütmek istiyorum. Daha önce thinger.io da benzer işlemi yaptım dediğiniz gibi grafikli şekilde görebiliyorum fakat aracı kullanmak istemiyorum direk kendi web sayfamda görmem gerekiyor.

    Teşekkürler..
  • arduino ıle ilgil ideğil bu konu web tasarım forumlarına bakın. php de olsa verileri bır yerde bırıktırıp sunmanız lazım. arduino ıle ılgılı bır sorun varsa yazın bakalım.
  • şimdi arduino da ki verileri webe gönderebilirsem ordaki verileri web sayfasında gösterme işi kolay gibi görünüyor.
    ** biriktirip sunmanız lazım derken bir veritabanı zorunlu mu diyorsunuz ? üzerinde deneme yapıp başarısız olduğum bir örnek vardı yarın onun üzerinden konuşursak sanırım daha iyi olacak gibi. gerçi onda sql e kaydediyordu ama yapamıyorsak onu da kullanabilirim. yeter ki çalışsın :)

    teşekkürler, iyi akşamlar..
  • php konusunda sifir deneyim olarak soruyorum, hosta attiginiz dosya yazmaya, degistirilmeye vs karsi korumali olabilir belki dosyanin izinlerini ayarlamaniz gerekiyordur, tabi bu basit bir tahmin, ftp den bakabilirsiniz
  • merhaba,

    esp8266 ile kendi hostuma gönderiyorum.
    thnigspeak kodlarının aynısı sadece host bilgilerini değiştirdim.
    gerisi web tarafına kalıyor. kendi sayfalarını oluşturcaksın.


    define HOST "dataupdate.xxxxx.xxx"
    #define ESP8266rst 4
    String KEYstring = "GET /save.aspx?anahtar=";


    boolean updateTempHum(){
    //doLED(power,green); // connection made OK
    //doLED(conn,blue); // connection made OK
    Serial.println(F("3. Set up TCP connection "));
    String cmd = "AT+CIPSTART=\"TCP\",\""; // set up TCP connection to...
    cmd += HOST; // this IP address and...
    cmd += "\",80"; // this port
    Serial.print(F(" SEND: "));
    Serial.println(cmd); // send command
    WiFiSerial.println(cmd);

    //delay(1000); // wait for it.
    //if(!WiFiSerial.find("OK")){ // if failed to make connection, return with error

    if(!cevap_bekle(1000,"OK",true)){ // if failed to make connection, return with error
    Serial.println(F(" TCP connection error"));
    //doLED(conn,red);
    errorCnt++;
    return false;
    }
    Serial.println(F(" TCP connection OK"));
    //doLED(conn,green); // connection made OK

    //doReadSensor( DHT.read11(DHT11_PIN) ); // read sensor data (tmp and hum)
    //doLED(data,blue);
    dht_oku();

    // SEND DATA
    cmd = KEYstring; // unique key for thingspeak.com channel
    cmd +="&field1=25";
    //tempC = dtostrf("20", 4, 1, buffer);
    //cmd += tempC; // add string containing temperature (xx.x)
    cmd +="&field2=50";
    //humid = dtostrf("50", 4, 1, buffer);
    //cmd += humid; // add string containing humidity (xx.x)
    cmd += "\r\n";
    Serial.println(F("4. Report number of bytes to send"));
    WiFiSerial.print("AT+CIPSEND=");
    WiFiSerial.println(cmd.length()); // tell TCP connection how many bytes to send
    Serial.print(F(" SEND: AT+CIPSEND="));
    Serial.println(cmd.length(),DEC);
    //delay(1000); // wait for ">" ready response
    //if(WiFiSerial.find(">")){ // if ready to accept data, look for ">"

    if(cevap_bekle(1000,">",true)){ // if ready to accept data, look for ">"

    Serial.println(F("5. Ready to send"));
    WiFiSerial.println(cmd); // send data string
    Serial.print(F(" SEND: "));
    Serial.print(cmd);
    } else {
    WiFiSerial.println("AT+CIPCLOSE"); // otherwise, close connection
    }

    //if(WiFiSerial.find("OK")) { // response id "SEND OK"
    if(cevap_bekle(1000,"OK",true)) { // response id "SEND OK"
    Serial.println(F(" Data sent OK\r\n"));
    //doLED(data,green);
    errorCnt=0;
    return true;
    } else {
    Serial.println(F(" Data send Error\r\n"));
    //doLED(data,red);
    errorCnt++;
    WiFiSerial.println("AT+CIPCLOSE");
    delay(1000);
    return false;
    }
    }




Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook
Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.