Arduino Ethernet ile MYSQL Haberleşme
  • Merhaba arkadaşlar.
    Ben arduino ethernet ile serverdeki mysql veritabanına veri yazmak istiyorum. Ama bu işi bilgisayarsız yapmak istiyorum.
    Örnek verecek olursam arduino her 10 sn de bir analog değer okuyup mysql deki bir analog tablosunun içine bunları kayıt edecek.
    Bu işlemi yaparken arduino herhangibir bilgisayar ile iletişimde olmayacak.
  • arduino ethernet zaten direk internete bağlanarak veri okumayı yazmayı yapmak için geliştirilmiştir.

    http://arduino.cc/en/Reference/Ethernet

    ethernetclient aşağıdaki gibi basitçe bir web sitesine bağlanabilmekte parametre aktarabilmekte sonucunu alıp değerlendirebilmektedir.

    #include -Ethernet.h-
    #include -SPI.h-


    byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
    byte ip[] = { 10, 0, 0, 177 };
    byte server[] = { 64, 233, 187, 99 }; // Google

    EthernetClient client;

    void setup()
    {
    Ethernet.begin(mac, ip);
    Serial.begin(9600);

    delay(1000);

    Serial.println("connecting...");

    if (client.connect(server, 80)) {
    Serial.println("connected");
    client.println("GET /search?q=arduino HTTP/1.0");
    client.println();
    } else {
    Serial.println("connection failed");
    }
    }

    void loop()
    {
    if (client.available()) {
    char c = client.read();
    Serial.print(c);
    }

    if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();
    for(;;)
    ;
    }
    }


    yukarıdaki setup bölümündeki
    client.println("GET /search?q=arduino HTTP/1.0");
    satırını basit bir değişiklikle aşağıdaki gibi değiştirirseniz
    client.println("GET /analog?val1=512 HTTP/1.0");
    web sunucudaki analog sayfasına val1=512 değerini aktarmış/yazmış olursunuz.
    web sunucu kodunu burada göstermiyorum ama özel birşey yapmıyorsunuz sitede normal olarak verileri nasıl mysql e yazıyorsanız değişiklik olmadan devam edin...

    şurada http://arduinoturkiye.com/?s=ethernet arkadaşlarımızın yaptığı ethernet çalışmalarına da göz atın.

    Acaba arduinonuz var mı led yakıp söndürme örneğini yaptınız mı?
    http://arduinoturkiye.com/sifirdan-baslamak/
    http://arduinoturkiye.com/blog-blog-blog-iste-butun-mesele/
    http://arduinoturkiye.com/bilgiyi-kullanma-klavuzu/


  • dediğiniz gibi yaptım.
    Şu ayarları güncelledim.
    char server[] = "www.xxxxxx.net"; // şeklinde yaptım.
    ve
    client.println("GET /deneme2.php?veri=512 HTTP/1.0"); // dedim.
    ama olmadı. serialden şöyle bir mesaj alıyorum.

    connecting...
    connected
    HTTP/1.1 404 Not Found
    Date: Sun, 17 Mar 2013 15:52:42 GMT
    Server: Apache
    Last-Modified: Wed, 18 Apr 2012 14:28:12 GMT
    ETag: "8f2038-3bf-4bdf4dd75d700"
    Accept-Ranges: bytes
    Content-Length: 959
    Vary: Accept-Encoding
    Connection: close
    Content-Type: text/html



    404 Not Found


    Not Found


    The requested document was not found on this server.





    Web Server at @domain_name@






    disconnecting.

    acaba nerede hata yaptım?
    adresi tarayıcıya
    http://xxxxxx.net/deneme2.php?veri=1115
    yazarak mysql'e veri gönderebiliyorum. ama arduino ile gerçekleştiremedim.

  • sayfayı bulamıyor deneme2.php yerine direk root dizinden dene parametre geçirme şimdilik. yada direk örneği deneyince ne alıyorsun ?
  • ethernetshiled kütüphanesi dns i çözemiyor olabilir web sitenizin ip adresinden bağlanmayı deneyin ama büyük ihtimal servis sağlayıcınız tek ip den 5bin tane web server host ettiğinden sizin (xxx. ler ip adresiniz) xxx.xxx.xxx.xxx/websitesi/deneme2.php gibi bir url den bağlanma imkanınız olabilir bunu onlara sorun ip den ulaşmak istersek adres nedir diye sorun size söylerler.
  • merhaba,

    ben kayan yazı uygulması yapıyorum. Ethernet Shield kullanılarak verileri çekiyorum ancak ethernet Shield digital çıkışlardaki sinyalleri bozuyor. Karakterler geçmiyor ledler rastgele karışık kaymadan yanıp sönüyor. nasıl çözebilirim bu problemi
  • ethernetten verileri alırken sistem çok yavaşlıyordur yazıları kaydıran rutininde bu geçikmeden dolayı performansı düşüyordur. ethernetten veri çekme işini led matrixi temizlediğin anda yap onun dışında yaptığında yazı kaydırma kalitesi bozulur.

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.