Egyesek kutyát tartanak, mások inkább a macskákat szeretik. Nekem akváriumi halaim vannak. Néha sajnos előfordul, hogy úgy megyek el reggel otthonról, hogy elfelejtem őket megetetni. Mi lehetne erre a megoldás?
Azért, hogy ne éhezzenek a halaim, vásároltam egy automata akváriumi haletetőt. Nem volt szükség semmiféle flancos tudásra és funkcióra. Egyedül arra ügyeltem, hogy a választott modell a lehető legegyszerűbb legyen elektronikai szempontból, mivel a használat előtt először mindenképp át akartam alakítani.
A terv az volt, hogy az etető eredeti áramkörét lecserélem egy saját fejlesztésűre, amely támogat WiFi csatlakozást. Tehát a megoldás végső soron egy olyan online haletető lett, amely egy weboldalon keresztül működésbe hozható távolról bármely olyan eszközről, amely internethez csatlakozik és fut rajta böngésző.
Belső |
Eredeti áramkör |
Nyomógomb az azonnali etetésre és egy kapcsoló a 12/24 órás periódus kiválasztásához |
A saját áramkör fejlesztése egy PIC24FJ64GA002 típusú, 16-bites mikrovezérlőn alapult. Első lépésként az újonnan létrehozott projekthez hozzáadtam a használt WiFi modulhoz általam fejlesztett szoftveres (beágyazott) HTTP szerver függvénykönyvtárat, utána pedig megírtam a kezelőfelületként szolgáló HTML+JavaScript kódokat.
Mikrovezérlő |
A nagyon olcsó WiFi modul :) |
Az első tesztelések során bebizonyosodott, hogy a régi-új etető jól működik, ennek ellenére egy idő után a rendszer leáll. Ez abban nyilvánult meg, hogy innentől kezdve megszűnt a böngésző HTTP kéréseinek a kiszolgálása. A logikai analizátoros mérések megmutatták, hogy a probléma forrása az alkalmazott mikrovezérlő sebességéből adódik: A WiFi modul által küldött bájtok (soros busz) túlcsordulást idéznek elő a periféria vételi pufferében. Így hát a hibát a soros busz bitsebességének a csökkentésével javítottam ki, amely így 115200-ról 38400 bit/másodpercre változott.
Angol és magyar nyelvű főoldal |
A létrehozott HTML oldal fő képessége az etető állapotának a folyamatos nyomonkövetése. Ez azt jelenti, hogy az aktuális állapot "valós időben" látható, ami az 500ms-os frissítési gyakoriságból következik, és a felhasználó csak abban az esetben kattinthat az Etetés gombra, ha az etető tétlen (Kész) állapotban van, tehát nincs etetés éppen folyamatban. Máskülönben a gomb le van tiltva. Másrészről az etetés befejezéséről is az állapotból kapunk visszajelzést. A Kijelentkezés oldal értelemszerűen kijelentkezésre szolgál, amely védelmet nyújt az esetleges troll barátok ellen :-)
Ha majd elkészül a haletető végleges változata, akkor a következő bejegyzésben bemutatom, hogy hogyan is működik a rendszer élesben.
Le a kalappal, nagyon menő kis projekt!
VálaszTörlésÉn is ezt szeretném megvalósítani, csak pár helyen még egyszerűbben.
Pl. A weboldal nekem nem kéne, sajna nem értek hozzá. Inkább VPN es RDP-s aktiválást használnék. Gondoltam rá, hogy veszek egy wifis táp kapcsolót és a haletető (most etess gombját) állandóra rakom. Már csak azt kéne beállítanom ha lehet ilyet a wifis kapcsolónál, hogy egy aktiválásra csak x másodpercig adja neki az áramot és utána szakítsa meg.
Persze, ez nem annyira profi megoldás mint a tied de a célnak megfelelne nekem.
Szerinted működhet? Tudnál tanácsot adni az ötletemhez?
Köszönettel,
Kovi