Keresés

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

  • inf3rno

    nagyúr

    válasz s3toraph #14194 üzenetére

    Ami még eszembe jutott, hogy érdemes lenne az előző hőmérséklet adatot a memóriában tartani, és csak a változásokat menteni. Így ha nem sok tizedesjegy pontossággal méri a szenzor (vagy ha esetleg kerekítesz), akkor sokkal tömörebben elfér, és a grafikon kirajzolása is gyorsabb lesz.

  • Sk8erPeter

    nagyúr

    válasz s3toraph #14194 üzenetére

    "Adatbázisra jó lenne sql-es, vagy a txt-s vesszővel elválasztott adattárolás is."
    SQLite használatával is (ez csak egy példa a sok lehetőség közül, épp ez ugrott be) írhatod egy darab fájlba az adatokat, és mégis relációs adatbázisról van szó, már ha arra szükség van, nem pedig egy CSV-ről (akkor már .csv kiterjesztése legyen, ha már vesszővel elválasztott értékek...). Persze kérdés, hogy mennyire akarsz utólag visszakeresgélni az adatok között, különböző szempontok szerint azokat lekérdezni, beszúrni, nagyjából mennyi adatot is akarsz eltárolni, stb.
    Konkrét tapasztalatom nincs az Arduino erőforrásaival kapcsolatban, lehet, hogy necces mondjuk relációs adatbázis-kezelő motor használatára (ez is esetfüggő, milyen mértékben használod, lehet, hogy ilyesmit még elbír), fogalmam sincs, Raspberry Pi 2 ilyenre tuti elég. De egy sima CSV vagy akár JSON-fájl írogatására nyilván elég egy Arduino is.
    Lehet, hogy túl van lihegve a dolog, és tök egyszerű műveleteket akarsz csak végezni, nem is akarsz mindenféle szempont szerint szűrni és megjeleníteni adatokat, így minimális erőforrást igénylő megoldás is elég, ezt neked kell eldönteni.

    Akár "távoli" adatbázisba is írkálhatsz (a távolit csak azért tettem adatbázisba, mert most nem felhőtechnológiáról beszélünk, de a lényeg, hogy fizikailag nem kell, hogy ugyanazon az eszközön legyen az adatbázis is), és akkor a weboldaladon pedig ebből az adatbázisból kérdezgetsz le, minden egy helyen van. Hátránya, hogy élő hálózati kapcsolat kell hozzá (ha azonos hálózaton vagytok, akkor nem kell feltétlenül internet).

    Szerk.:
    Most látom, hogy ezt írod:
    "Kezdésnek mondjuk 3 hónapra visszamenőleg lehetne visszanézni az adatokat. Itt lehetne választani, hogy mekkora időszakot mutasson, pl. beállítani nap és óra szerint, mettől meddig."
    Mivel több szempont szerint is szeretnél lekérdezni adatokat, ráadásul 3 hónapra visszamenőleg, igencsak kényelmetlen lenne egy szöveges fájlba csak bedobálni az adatokat, aztán azt parse-olni és megfelelően megjeleníteni minden lekérdezés során. Én inkább használnék valami kicsi, egyszerű adatbázist, de Te tudod.

    (#14195) inf3rno:
    "Ehhez sztem nem kell adatbázis, elég ha txt fájlba mentesz file append-el. Ha minden napot külön fájlba teszel, meg csinálsz külön havi összesítős fájlt, amibe több perc átlaga megy, akkor annyi bőven elég. Így lehetne a kütyün a webszerver is, ami átadná a napi fájlokat a böngészőnek, a számítás igényes részt, pl fájlok parsolása meg a javascript csinálná a böngészőben, és nem terhelnéd ezzel a kütyüt."
    Tehát akkor 3 hónapnyi adat a Te javaslatod alapján mondjuk 31+30+31 napos hónapokkal számolva már 92 darab különálló fájlt jelentene. És akkor azt mondod, hogy amikor a felhasználó a böngészőben szűrni és keresni szeretne az adatok között, akkor ezt a 92 fájlt kellene feldolgozgatni (hogy hol, az most mindegy). Hát szerintem ez borzasztó igénytelen így. Egy szakdolgozatról van szó, szerintem elvárható egy rugalmasabb megoldás.

  • inf3rno

    nagyúr

    válasz s3toraph #14194 üzenetére

    Ez a csak páratlan számú szenzor jó, ez micsoda? Még nem hallottam róla, pedig tanultam statisztikát. (Na jó csak átcsúsztam rajta. :D )

  • arnd

    senior tag

    válasz s3toraph #14194 üzenetére

    Az 5 átlagolandó mérés elfér az arduino RAM-jában, és csak az átlagolt értéket kellene kiírni SD-re.
    A grafikus megjelenítésről nincs infóm, hogy mennyire menne ez az arduino lapnak. Lehet, hogy valami fapados grafikont meg lehet vele oldani. Ahhoz a Pi biztosan jobb, ügyesebb lenne. Még akár valami régebbi olcsóbb is megfelelő. Az érzékelő kezelést azzal is meg lehet oldani szépen.
    Esetleg energia megtakarítás, meg a kivitelezés csinosítása miatt egy Pi+arduino megoldás? A Pi-t időnként felébreszti az arduino, legenerálja a grafikai elemeket, amiket aztán az arduino megjelenít web-esen. De ez már csak tényleg a poén kedvéért, vagy ha az arduinos mellett döntesz és még sem sikerül 100%-osan akkor nem kell kidobni a beleölt munkát...

    Ha lesz belőle publikus megoldás, nem sértődök meg ha megosztod. :)

  • layerke

    aktív tag

    válasz s3toraph #14194 üzenetére

    Nem tudjuk, hogy gyári arduinot akarsz venni vagy kínai verziót, mert nagyban függ ettől az egy dologtól a megoldásod.
    Ha gyári arduinoval csinálod, akkor kell egy ethernet shield vagy wifi modul és már ott is vagy egy PI2 áránál, amin viszont a gpio portokat nyugodtan használhatod ilyesmi hőméréses dologra gond nélkül, mondjuk egy ds18b20-al onewire módon.
    Ha kínai arduinot veszel, akkor az az olcsóbb megoldás. Mindkettő megoldásra létezik példaprogram is és segítség is sok oldalon.

  • inf3rno

    nagyúr

    válasz s3toraph #14194 üzenetére

    Ehhez sztem nem kell adatbázis, elég ha txt fájlba mentesz file append-el. Ha minden napot külön fájlba teszel, meg csinálsz külön havi összesítős fájlt, amibe több perc átlaga megy, akkor annyi bőven elég. Így lehetne a kütyün a webszerver is, ami átadná a napi fájlokat a böngészőnek, a számítás igényes részt, pl fájlok parsolása meg a javascript csinálná a böngészőben, és nem terhelnéd ezzel a kütyüt. A realtime adatküldéshez vagy server sent events kell vagy websocket. Ha támogatja az sse-t a webszerver, akkor erre bőven elég az is, fölösleges még egy websocket server-t is felküldeni. A lényeg, hogy ezek memóriából szolgáljanak ki, ne a fájlokat parsolják, és keressék ki az új adatokat, mert az feleslegesen terheli a gépet. Szerintem így összerakva elég egy arduino, felesleges rpi-t venni, de várd meg mások véleményét is, ők jobban értenek hozzá.

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

Hirdetés