folder Tahribat.com Forumları
linefolder C - C++
linefolder ESP32 - Firebase RTDB Bağlantısı Bir Süre Sonra Kopuyor



ESP32 - Firebase RTDB Bağlantısı Bir Süre Sonra Kopuyor

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    GodKlaus
    GodKlaus's avatar
    Kayıt Tarihi: 13/Ocak/2014
    Erkek

    Selamlar herkese.

     

    ESP32 kullandığım ve şerit led yönettiğim bir projem var, Firebase RTDB'den bir alanı okuyorum ve o değere göre ledleri yakıp söndürüyorum. En özet hali bu, iç işler çok daha karmaşık, efektler hesaplamalar loglamalar cartlar curtlar falan var.

    Ne yazıkki manuel polling yapamıyorum, her 10 saniyede bir git Firebase'e şu veriyi çek bu veriyi yükle diyemiyorum çünkü LOOP içerisindeki bazı sayaç işlemlerine göre Led'deki efekler hazırlanıyor, her 10 saniyede git dediğimde efekler akıcılığını tamamen  kaybediyor.

    Bu yüzden Stream özelliğini kullanıyorum, başlarda çok güzel çalışıyor, Firebase'de bir değer değiştiğinde ESP32 tarafında bu yakalanıyor, gelen komuta göre işlem yaptırıyorum ancak bir süre sonra firebase'de bir şeyi değiştirsem bile ledlerim etkilenmiyor, Serial.println ile log yazdırıyorum ama hiç o methodlara düşmüyor bile.

     

    DeepSeek ve ChatGPT ile 20 gündür akşamlar bir iki saaat bakıp tonlarca kod denedim ama bir türlü şu bağlantı sorununu çözemedim. Wifi bağlantısında da sorun yok gibi duruyor, orada da loglarım var ve bağlantı kopsa falan bir mesaj görmem lazım ama görmüyorum, bağlantım var gibi duruyor.

     

    Kullanıcı bu ledleri fişe takacak, 6 ay sonra aklına gelecek, diycek ki gideyim de ledlerin rengini değiştireyim. Firebase'den değeri değiştirecek ve ESP32'nin halen Firebase'i dinliyor olması lazım, dinleyip değişime göre ledlerin rengini değiştirmeli.

     

    Çok karmaşık anlattım özür dilerim ama artık canım sıkılmaya başladı, son çare buraya yazayım dedim.

    Destek için teşekkürler (:


    3D Printing Studio | Anahtarlık • Figür • Kişiye Özel Tasarım | Instagram : @geekbaski
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    baristbt
    baristbt's avatar
    Kayıt Tarihi: 20/Nisan/2011
    Erkek

    826x serisi kullansaydın daha problemliydi ama esp32 de böyle şeyler yaşamaman lazım hocam.

    ev lokalimde esp'ler ile 5dk veri okuyup yine lokal influxdb ye yazıp grafana ile izliyorum. bu sürede pil için deepsleep ve rtc kullanıyorum. core0 sürekli zaman check ederken core1 data yığını oluşturup db'ye atıyor.

    https://randomnerdtutorials.com/esp32-dual-core-arduino-ide/

    şu örnekleri incelemende fayda var. anlattığın zor şeyler değil gibi çünkü :D fastled filan kullanıyorsan güzel proje olur. ara ara heap kontrolü yapmanda fayda var watchdog girmeden.

    edit:imla

     

    baristbt tarafından 07/Eyl/25 23:57 tarihinde düzenlenmiştir

    http://www.leyladansonra.com/
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fikibok
    KaptaN
    KaptaN's avatar
    Üstün Hizmet Madalyası
    Kayıt Tarihi: 30/Ağustos/2005
    Erkek

    hocam her işlemden önce cihazı yeniden başlatma komutu versen belki hafızası  yetmiyor yada saçmalıyor  , şimdi bide   nodemcu başka esp 32 s2 başka   hafıza mevzusu var bildigim kadarıyla onada bakmak lazım @baristbt  daha bilgili bu konuda

     

    not : ben yazana kadar adam bende önce yazmış :D 

     

    KaptaN tarafından 08/Eyl/25 00:15 tarihinde düzenlenmiştir
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    GodKlaus
    GodKlaus's avatar
    Kayıt Tarihi: 13/Ocak/2014
    Erkek
    baristbt bunu yazdı

    826x serisi kullansaydın daha problemliydi ama esp32 de böyle şeyler yaşamaman lazım hocam.

    ev lokalimde esp'ler ile 5dk veri okuyup yine lokal influxdb ye yazıp grafana ile izliyorum. bu sürede pil için deepsleep ve rtc kullanıyorum. core0 sürekli zaman check ederken core1 data yığını oluşturup db'ye atıyor.

    https://randomnerdtutorials.com/esp32-dual-core-arduino-ide/

    şu örnekleri incelemende fayda var. anlattığın zor şeyler değil gibi çünkü :D fastled filan kullanıyorsan güzel proje olur. ara ara heap kontrolü yapmanda fayda var watchdog girmeden.

    edit:imla

     

    Evet, FastLED kullanıyorum, Firebase tarafında bir ayar var mı yapmam gereken ? mail ve password ile token alıp veri okuyorum sadece ama işte bir şekilde bağlantım kopuyor haberim olmadan...

    Eğer senin için iş çıkartmayacaksa basit bir firebase'e bağlanıp Stream ile veri okuyan bir kodu paylaşman mümkün mü ? Sadece Firebase'e basitçe bağlansın ve eğer bağlantı falan koparsa otomatik yeniden bağlansın. Benim kodda bir sorun var galiba...

    Çok teşekkürler cevabın için, heap ve watchdog olaylarına bakıcam yarın, hiç bilmiyorum bunları ben


    3D Printing Studio | Anahtarlık • Figür • Kişiye Özel Tasarım | Instagram : @geekbaski
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    baristbt
    baristbt's avatar
    Kayıt Tarihi: 20/Nisan/2011
    Erkek
    GodKlaus bunu yazdı
    baristbt bunu yazdı

    826x serisi kullansaydın daha problemliydi ama esp32 de böyle şeyler yaşamaman lazım hocam.

    ev lokalimde esp'ler ile 5dk veri okuyup yine lokal influxdb ye yazıp grafana ile izliyorum. bu sürede pil için deepsleep ve rtc kullanıyorum. core0 sürekli zaman check ederken core1 data yığını oluşturup db'ye atıyor.

    https://randomnerdtutorials.com/esp32-dual-core-arduino-ide/

    şu örnekleri incelemende fayda var. anlattığın zor şeyler değil gibi çünkü :D fastled filan kullanıyorsan güzel proje olur. ara ara heap kontrolü yapmanda fayda var watchdog girmeden.

    edit:imla

     

    Evet, FastLED kullanıyorum, Firebase tarafında bir ayar var mı yapmam gereken ? mail ve password ile token alıp veri okuyorum sadece ama işte bir şekilde bağlantım kopuyor haberim olmadan...

    Eğer senin için iş çıkartmayacaksa basit bir firebase'e bağlanıp Stream ile veri okuyan bir kodu paylaşman mümkün mü ? Sadece Firebase'e basitçe bağlansın ve eğer bağlantı falan koparsa otomatik yeniden bağlansın. Benim kodda bir sorun var galiba...

    Çok teşekkürler cevabın için, heap ve watchdog olaylarına bakıcam yarın, hiç bilmiyorum bunları ben

    %90 cihaz şişiyor , birde zaman kavramını eğer manuel milis ile filan yapıyorsan bir süre sonra delay filan gördümü kodun şirezesi kayıyor :D 10 saniye yerine bir süre sonra 11 oluyor , her işlem süresinde +hesap süresi ekleniyor vs.vs.

    yarın gün içinde dm'leşelim firebase yok ama normal bir thingspeak veya herhangi bir uzak adresten dosya/veri okuyup işleyecek şekilde hallederiz.


    http://www.leyladansonra.com/
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    majestiquo
    majestiquo's avatar
    Kayıt Tarihi: 24/Eylül/2005
    Erkek

    Hocam arkadaşında dediği gibi büyük ihtimalle buffer in doluyor ve bir süre sonra esp32 cevap veremeyecek duruma geliyor. 10sn de bir gidip alan değiştimi diye kontrol etmek yerine mqtt broker ve firebase cloud functions kullanarak değişiklikleri firebase tarafında kontrol edip eğer değişiklik olduysa mqtt ile cloud functions kullanarak esp32 ye göndermek daha sağlıklı olacaktır. Bu sayede esp32 yi 10sn de bir alan değiştimi diye kontrol ettirmek zorunda kalmazsın. 

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    end
    end's avatar
    Kayıt Tarihi: 16/Ekim/2016
    Erkek

    Evet, muhtemelen cihaz brick oluyor bir noktada :)

    Hesaplamaları vs serverda yaptırıp son değerleri verebiliyor musun acaba?

    Ya da, ESP ile ekrana yazıyı verecek olan arkadaşı update edip, ara ara espyi restartlayabilirsin?


    0x0480 takilin madem ﷽﷽﷽
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    JpnTr
    JpnTr's avatar
    Kayıt Tarihi: 12/Kasım/2015
    Erkek

    Anladığım kadarıyla mobil uygulama veya web arayüz üzerinden firebase veritabanına bir şeyler yazdırıp bunun anında yansımasını istiyorsun. Firebase yerine https://supabase.com/docs/guides/realtime kullanabilirsin, MQTT ile halledebilisin veya websocket için sunucuya node-red kurup kullanabilirsin. 

    Supabase avantajı hem ücretsiz versiyonu var hem de websocket ile bağlanabiliyorsun. Veriyi istediğin yerden alıp EEPROM kaydettikten sonra kullanıcı cihazı kapatıp açsa da internete bağlanmaya gerek kalmadan son veriyle LED yanmaya devam eder. İnternete bağlanınca da değişiklik varsa onu yansıtırsın


    Bir cinayet işleniyorsa tek suçlu katil değildir
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    GodKlaus
    GodKlaus's avatar
    Kayıt Tarihi: 13/Ocak/2014
    Erkek
    baristbt bunu yazdı
    GodKlaus bunu yazdı
    baristbt bunu yazdı

    826x serisi kullansaydın daha problemliydi ama esp32 de böyle şeyler yaşamaman lazım hocam.

    ev lokalimde esp'ler ile 5dk veri okuyup yine lokal influxdb ye yazıp grafana ile izliyorum. bu sürede pil için deepsleep ve rtc kullanıyorum. core0 sürekli zaman check ederken core1 data yığını oluşturup db'ye atıyor.

    https://randomnerdtutorials.com/esp32-dual-core-arduino-ide/

    şu örnekleri incelemende fayda var. anlattığın zor şeyler değil gibi çünkü :D fastled filan kullanıyorsan güzel proje olur. ara ara heap kontrolü yapmanda fayda var watchdog girmeden.

    edit:imla

     

    Evet, FastLED kullanıyorum, Firebase tarafında bir ayar var mı yapmam gereken ? mail ve password ile token alıp veri okuyorum sadece ama işte bir şekilde bağlantım kopuyor haberim olmadan...

    Eğer senin için iş çıkartmayacaksa basit bir firebase'e bağlanıp Stream ile veri okuyan bir kodu paylaşman mümkün mü ? Sadece Firebase'e basitçe bağlansın ve eğer bağlantı falan koparsa otomatik yeniden bağlansın. Benim kodda bir sorun var galiba...

    Çok teşekkürler cevabın için, heap ve watchdog olaylarına bakıcam yarın, hiç bilmiyorum bunları ben

    %90 cihaz şişiyor , birde zaman kavramını eğer manuel milis ile filan yapıyorsan bir süre sonra delay filan gördümü kodun şirezesi kayıyor :D 10 saniye yerine bir süre sonra 11 oluyor , her işlem süresinde +hesap süresi ekleniyor vs.vs.

    yarın gün içinde dm'leşelim firebase yok ama normal bir thingspeak veya herhangi bir uzak adresten dosya/veri okuyup işleyecek şekilde hallederiz.

    Evet, milis kodları var içeride, delay'da var içeride :D Dün müsait olamadım, bugün de evde değilim ama dediğim gibi basit bir github reposu falan varsa ilk başta ben kendi hatamı bulmayı deneyeyim, sonrasında çözemezsem zamanını ayırmanı isteyebilirim :>



    @JpnTr hocamın dediği gibi bir arayüzden Firebase'e veri yazıyorum ve ESP32'nin sürekli olarak dinlemesini sağlamak istiyorum. N anında firebase'de bir veri değişirse, FastLed ledlerim ona göre tepki versin istiyorum.

     

    @majestiquo hocam senin dediğin gibi her 10 saniyede bir gidip güncel veriyi okumuyorum ama Buffer falan hakkında bilgim yoktu, C#'taki gibi GarbageCollector yok mu burada yaw :D

     


    3D Printing Studio | Anahtarlık • Figür • Kişiye Özel Tasarım | Instagram : @geekbaski
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    GodKlaus
    GodKlaus's avatar
    Kayıt Tarihi: 13/Ocak/2014
    Erkek
    end bunu yazdı

    Evet, muhtemelen cihaz brick oluyor bir noktada :)

    Hesaplamaları vs serverda yaptırıp son değerleri verebiliyor musun acaba?

    Ya da, ESP ile ekrana yazıyı verecek olan arkadaşı update edip, ara ara espyi restartlayabilirsin?

    maalesef, hesaplamaları mecbur cihazda yapmam lazım. Bir server'ım yok bu arada, sadece 1 web sitem, 1 firebase rtdb, 1 tane esp32 cihazım var.

     


    3D Printing Studio | Anahtarlık • Figür • Kişiye Özel Tasarım | Instagram : @geekbaski
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    hipokondriyak
    hipokondriyak's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek

    cihaz asırı ısınıp kapanıyor olabılır mı ? ya da guc kaynagı yetersız gelıyor olabılır kablloyu kontrol et yoksa yapmaz hayvan gıbı ıslem yaptırtıyoruz sorun olmuyor esp32 de 

     


    Homo sapiens, yaşamak için, diğer canlıların yaşamasına muhtaç; obligat parazit türüdür. "Sen olursan boş bardak , sana olur koyan çok su. a.g."
Toplam Hit: 1337 Toplam Mesaj: 18
session lost firebase connection esp32 rtdb