Raspi Project

Ezen a hétvégén kellemes kánikula segítette a lángos tészta kelését. Ilyen időben az átlag ember két dolgot tehet: vagy elmegy hidegebb helyre, például valamilyen vízpartra vagy megpróbál védekezni és kizárja a szikrázó napsütést a szobából. Elsötétít mindent és mozdulatlanul szuszog az ágyában, várva az éjszakai fagyokat.

A magamfajta senkiházi gyakran a rosszabb verziót választja ilyen esetben és bezárkózik a sötétbe, előveszi a notebookot, majd azt csinál vele, amit csak tud.

A héten néhány apróságot rendeltem a Raspberryhez amik beüzemeléséhez kiváló környezetet biztosított a forró sötétség. Alapvetően semmit sem értek az elektronikához, így ez a folyamat igen lassan halad, viszont legalább egy alkatrész elkezdett működni: mozgásérzékelő.

A kamera és az érzékelő adta a teljesen magától értetődő ötletet, hogy biztonsági kameraként üzemeljen: ha mozgást érzékel a rendszer, akkor csináljon egy képet és kész. Ezt a részét nem is volt bonyolult megcsinálni, viszont ki az, aki itt megáll?

Az első fejleszteni való, hogy valahogy meg is lehessen nézni azokat a képeket. Egyelőre a kevésbé userfriendly megoldás az volt, hogy ssh-val belépek, megnézem, hogy van-e újabb kép, majd scp-vel letöltöttem, s már kész is! Ehelyett gondoltam valami webes felület mégis jobb volna.
Nodejs, expressjs, bootstrap lettek az összetevők.
Később socket.io is bekerült a rendszerbe, mert így megteszi, hogy ha új kép készül, akkor automatikusan szól a kliensnek, ami így rögtön meg is mutatja azt.

Aztán elgondolkodtam, hogy milyen szép volna ha képet nem csak a mozgásérzékelővel lehetne csináltatni, hanem bárhogy.
Ezt úgy képzeltem el, hogy ha már használok websocketet, akkor ezt erre is fel lehetne használni. Lenne egyrészt az a daemon, ami a képet készíti. Lenne a daemon, ami a mozgásérzékelőt figyeli és lenne valami, ami a kettőt összeköti. Itt arra gondoltam, hogy az EventHub kiváló közvetítő lenne. A koncepció szerint, az eventhub egy takepicture eseményt lőne ki, ha képet kell készíteni. Ezt a kép készítő daemon figyelné és csinálná is szépen a képeket. A többi kliens is az eventhubbal kommunikálna és azok csak parancsokat osztogatnának kép készítésre.

Sajnos viszont egy olyan problémába ütköztem, amit képtelen voltam megoldani:
A mozgásérzékelőt Python3 kóddal lehet vezérelni ezért szükségem lett volna egy olyan python3 library-ra, ami képes kommunikálni socket.io serverrel (az eventhub ezt használja). Ezt teljes kudarcba fulladt. Képtelen voltam egy működő megoldást összekalapálni. Emiatt viszont a bárhonnan vezérelhető biztonsági kamera megépítése jelenleg megállt.

Így újabb múzsa csókig és pihenős hétvégéig a project egyelőre jegelve lesz.

Természetesen az eddig elkészült kódok fellelhetőek az interneten:
Ez a python kód, ami a mozgásérzékelőt és a kamerát vezérli: https://github.com/Ajnasz/seccampi
Emitt pedig a képek nézegetésére készült expressjs app van: https://github.com/Ajnasz/campic

Hozzászóláshoz a Disqus szolgáltatását használom, korábbi vélemények elovlasásához és új hozzászólás írásához engedélyezd a Disqus-tól származó JavaScripteteket.