ZG Droid

Malo o mobitelima, tabletima, Androidu, iOS-u…

Archive for the month “Veljača, 2017”

Jednostavan kućni server

Kad-tad informatizirane kuće razviju potrebu za malim, jednostavnim i jeftinim serverom. Je li riječ o datotečnom, print, web, database ili nekoj petoj vrsti, sasvim je svejedno. Jedna od najjeftinijih opcija je kupiti neko rabljeno računalo na Njuškalu ili Oglasniku, ali takva su računala često nepouzdana, a potrošnja struje im sasvim sigurno nije malena. Pa kakve opcije imamo za napraviti mali kućni poslužitelj, uz malu potrošnju struje ali i skromniji kućni budžet? Pročitaj više…

Oglasi

Pametna kuća

Moje bavljenje Arduinom i Pijevima (Raspberry, Orange…) stavilo me u poziciju da mogu napraviti svoju pametnu kuću, svoju dugogodišnju želju jednog lijenčine. Pod pametnom kućom smatram niz senzora i sklopki koje rade zajedno, umjesto svaki za sebe i kontrolirano samo od strane korisnika (mene). Kako bih to napravio potrebno je izraditi cijeli niz senzora, što vanjskih, što unutarnjih, kao i niz sklopki ali i upravljačkih sklopova za motore. Neke već imam, mnoge još moram napraviti prema nacrtima koje sam već napravio, ili ih tek trebam osmisliti i shvatiti kako napraviti.


Postojeći (a i budući) senzori i aktuatori objedinjeni su u cloud platformi Cayenne (cayenne.mydevices.com), koja omogućava kontrolu uređaja putem web sučelja i Android aplikacije. Kako bi se ta platforma mogla koristiti, potrebno je u Arduino uređaj postaviti skriptu koja koristi periferiju (senzore, aktuatore) i povezuje ga s Cayenne platformom. Skripte su uglavnom vrlo jednostavne, svode se na čitanje senzora i “push” vrijednosti u oblak, te čitanje instrukcija iz oblaka i aktivaciju aktuatora. Čak i za početnika poput mene, ovo nije (pre)veliki problem.

WiFi senzor za temperaturu/vlagu

WiFi senzor za temperaturu/vlagu

Iako nisam nešto vičan izradi Arduino skripti, ove sam napravio potpuno sâm, čak mogu reći da su mi tutorijali s Cayenna odmogli. Malo veće mozganje, i napravio sam prvu, skromnu i jednostavnu skriptu. Nastavak mozganja, i skripta je unaprijeđena s funkcijama koje nisam primijetio da je itko prikazao na Cayennu – ne zato jer ne bi znali (sasvim je sigurno da tu platformu koristi veliki broj korisnika kojima je Arduino u malom prstu i moje znanje pojedu za doručak), nego zato što im se jednostavno ne da prikazivati i objašnjavati. A možda i jer žele imati nešto što mogu pokazivati (kao ja, npr.).

Skripta je za sad iznimno primitivna, samo prikuplja podatke sa senzora (ili prima i šalje status pina, po potrebi/naredbi mijenja – što kontrolira relej) i šalje ih na Cayenne (a može i na ThingSpeak), dok naprednijih funkcija nema. Postoje tri funkcije koje želim ugraditi, a za koje sam čak i našao library-je koji mi u tome mogu uvelike pomoći. To su odabir bežične mreže izravnim spajanjem na uređaj, upisivanje Cayenne tokena (taj token je jedinstven za svaki uređaj koji se spaja) i/ili ThingSpeak kanala, te uspostava mesh mreže.

Najbitnija funkcija mi je spajanje na WiFi, koja radi tako da se uređaj ponaša kao hotspot s malim web serverom. Kad se korisnik spoji na taj hotspot, može se spojiti i na jednostavnu web stranicu koja omogućava upis WiFi SSID-ja i lozinke mreže. Koliko znam, ESP8266 podržava WEP, WPA i WPA2, dok mi nije poznato podržava li spajanja na mreže poput eduroama, koji koriste TTLS i PAP (no, kako za sad nemam namjeru spajati ove svoje proizvode na eduroam, ovo i nije trenutno jako bitno).

Druga je funkcija upis Cayenne tokena, a po potrebi i ThingSpeak kanal(e). Ovisno o konfiguraciji samog uređaja (koliko se stvari na njemu koristi, jedna, dvije ili tri) potrebno je omogućiti i broj upisa tih kanala, ali i za Cayenne predvidjeti i prikazati virtualne pinove (Cayenne koristi virtualni pin za komunikaciju s uređajima, koji se u Ardiunu jednostavno podesi).  Kako izrazito volim Wemos D1 mini pločicu a više od tri stvari mi nije potrebno spajati, nemam potrebe izrađivati skriptu koja bi radila s više njih. Usostalom, to komplicira stvari na više razina, a meni je cilj napraviti stvari što jednostavnijima i sebi i eventualnim kasnijim korisnicima.

Treća funkcija, mesh mreža, omogućava spajanje više uređaja na WiFi tako da se spajaju jedan na drugi, odnosno, da se radi mreža na kojoj nije nužno da se svi uređaji spoje na access point nego je dovoljno da jedan bude spojen i služi kao pristupna točka za pstale kojima je  WiFi mreža preslaba ili nedovoljno pouzdana.

S ove tri funkcije, i uz dobro složen uređaj s kutijom (što još trebam usavršiti ili čak nabaviti neki manji 3D printer), sve što radim mogu možda i komercijalizirati. Vjerujem da postoji dosta ljudi koji bi dali 100-injak kuna za WiFi termometar, ili 150-ak kuna za WiFi utičnicu. No, moj plan nije takva komercijalizacija komadne prodaje (no nije isključena), nego bih više volio opremiti cijeli stan odjednom. Ovo je relativno lako izvesti, s napomenom da neke senzore i aktuatore još nisam napravio.

Ideje za senzore i aktuatore imam, poput neinvazivnog senzora rada veš-mašine koji radi na principu senzora pokreta same mašine, pa uređaj za detekciju otvorenog prozora/vrata, uređaj za podizanje i spuštanje roleta, senzora za puštanje vode, daljinski upravljanog ventila za vodu i/ili plin, senzora osvjetljenosti, UV zračenja, vlažnosti zemlje neke biljke (sa ili bez pumpe za zalijevanje) itd. Ideja imam mnogo, i jednu po jednu ću izrađivati u svojem stanu, koliko mi vrijeme i financije dopuste. Samo ću spomenuti da postoje i neki uređaji koje mi je vrlo nepotrebno spajati na oblak, poput hladnjaka (što će mi hladnjak na netu? Da naručuje salatu, patliđane i rabarbaru dok mene nema doma???), upravljanje mašinom za pranje veša i onom za suđe (obje moram napuniti nekako, time mi spajanje na oblak potpuno gubi ikakav smisao), kao i mikrovalnom i običnom pećnicom. Upravljanje za njih nije bitno, no tzv. dead-switch je zgodna stvar (mogućnost isključivanja struje za svaki uređaj zasebno).

Post Navigation