Hirdetés

Új hozzászólás Aktív témák

  • vargalex

    félisten

    Sziasztok!

    Kis ötletelésre / tapasztalatra lenne szükségem.
    Úgy gondoltam, hogy ledobok (még) néhány ESP8266-ot DS18B20-al a lakás különböző pontjaira. Ezek nem feltétlenül olyan helyen lennének, ahol elérhető valamilyen konnektor, így akkus táplálásra gondoltam. Ezt 18650-es cellákkal, HT7333-al fogom megvalósítani. Hőmérséklet olvasás percenként történik (akku feszültséggel együtt). A minél hosszabb akkuidő biztosítása miatt az ESP-t 2 mérés között deep sleep-be teszem, a wifi kapcsolatot csak 10 mérésenként építem fel, így a közben mért eredményeket RTC memóriában tárolom. A kódot megírtam, szépen működik minden.
    Egyetlen problémám van, amivel úgy tűnik, hogy senki nem foglalkozik (legalábbis, amilyen deep sleep megoldásokat találtam). Ez pedig az, hogy az összes megvalósításban egyszerűen fix időtartamig küldik deep sleep-be az eszközt. Nekem viszont az kellene, hogy fix időközönként történjen meg a mérés és küldje a post-ot a szerverre. Ezt próbáltam megoldani úgy, hogy a szükséges deep sleep időből levonom az indulás óta eltelt időt (a micros() függvénnyel). Több kevesebb sikerrel megy, de úgy tűnik, hogy a deep sleep időzítése sem teljesen korrekt (mintha kevesebb idő telne el, mint kellene). Most éppen valamilyen korrekciós tényezővel próbálom még szorozni, de ugye a kód futása sem mindig pontosan azonos ideig tart (jellemzően a DS18B20 inicializálása és kiolvasási ideje ingadozik valamennyit).
    Be lehetne még kavarni az NTP-t, de ahhoz vagy minden kiolvasásnál mégis csatlakoznom kell a wifi-hez, vagy csak 10 percenként a post-ot tudom szinkronizálni valamilyen egzakt időponthoz. Viszont a wifi folyamatos felébresztése nyilván növeli a fogyasztást (a wifi modul bekapcsolása és a nem deep sleep-ben töltött idő jelentős növekedése miatt is).

    Bármilyen ötletet várok.

    Alex

Új hozzászólás Aktív témák