ZG Droid

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

Arduino i ja

WiFi Serial Transceiver Module ESP8266Krećem polako s Arduinom. Znam, nije striktno vezano uz mobitele i tablete, no home automation me već jako dugo zanima. Arduino je jedan od jeftinijih načina za izradu “pametne kuće”, no za to je potrebno znanje programiranja koje ja nemam. I nisam baš siguran jesam li sposoban to usvojiti. I na tome bi ostalo, Arduinom se ne bih bavio da nisam, sasvim slučajno, naletio na Visuino, alat za vizualno uređivanje Arduino sketcheva.

Ovaj tekst nije reklama za Visuino, iako se na prvi pogled možda tako čini. Ovo je reklama za Arduino i svijet samogradnje, robotike i programiranja. Svijet u koji sam ušao na mala vrata, a koji nudi jako, jako puno.

Kako sam već spomenuo, ne znam programirati za Arduino, i oslanjam se na Visuino IDE. I baš zbog tog alata sam se u ovo i upustio. A što je ovo? Velik, težak i jako zanimljiv zalogaj. Opremiti kuću raznim senzorima (nevjerojatno, ali ovo je lako), pametnim prekidačima i utičnicama (ovo ne toliko, ali još uvijek ok). I centralnim sustavom koji to sve kontrolira. Nadam se jednom Raspberry-ju koji će vrtiti moju vrlo, vrlo custom PHP aplikaciju. Svaka “pametna” utičnica, prekidač, senzor postaju jedan IoT-node u mojem stanu.

Zahvat u stanu neće biti malen. Imam 14 grupa utičnica, od jedne do 8 u grupi, 12 prekidača, 8 grupa senzora i stavku OSTALO. Po mojoj slobodnoj procjeni, za svaku grupu utičnica cijena materijala je između 40 i 70 kn, naravno, ovisno o veličini grupe. Svaki prekidač je cca 50 kn, ali taj dio još moram izvidjeti, jer postoje dva načina kako mogu spajati releje i prekidače… Napravit ću – bolje. Možda osobi poput mene neće nužno biti lakše, no želim dobro rješenje. Senzori su, nevjerojatno, najjednostavnija stavka. Ima ih u skoro svakoj većoj ili bitnijoj prostoriji stana, a pod to računam i balkon. WC ne.

Najteža će biti stavka OSTALO. Tu će biti svega, senzora, motora, releja…. svašta. I tu će mi biti teško neke stvarni napraviti, poput automatskog navodnjavanja žardinjere na balkonu, postavljanje i umrežavanje senzora za otvorena vrata i prozore, a nadam se da bih mogao složiti i automatsko spuštanje roleta i zatvaranje prozora… Ovo zadnje trenutno zvuči kao znanstvena fantastika, no pred godinu-dvije mi je i Arduino tako zvučao.

Sve se temelji na dvije osnovne komponente: NodeMCU i ESP8266-01 (ili po potrebi ESP8266-07). Za sve što traži analogni signal za sad, kako nisam dovoljno iskusan, koristit ću NodeMCU, odličnu pločicu koja ima integrirani WiFi, i to ESP8266-12. Kasnije, ako dovoljno dobro shvatim kako stvari rade, tu bi pločicu mogao zamijeniti ESP8266-07, koji također ima mogućnost, kao uostalom i svi ESP8266 moduli, raditi samostalno.

Ideja je sljedeća: ESP-01 služi kao osnova za sve senzore i utičnice i prekidače. Senzori (digitalni) su grupa koja nema dvosmjernu komunikaciju, i time su najjednostavniji za rad. Sastoje se od ESP-01, senzora, mini AC-DC konvertera i DC-DC step downa. ESP-01 radi na 3.3 V, dok većina senzora radi na 5 V. AC-DC konverter spušta 220 V na 5 V, a DC-DC step down služi za napajanje “mozga”. U taj se mozak pretoči jedna već pripremljena lua skripta, koju nisam izradio ja, nego robokits.com – ja sam je modificirao za svoje potrebe. Roj takvih će biti postavljeno za sve utičnice koje treba kontrolirati, no problem ESP-01 je u malom broju konektora – samo dva digitalna. Za sve utičnice koje će biti u nizu većem od dvije, bit će potrebna neki drugi “mozak”, poput NodeMCU (malo prevelika) ili ESP-07 (koja nema pravi analog, nego ADC – Analog Digital Converter – no, poslužit će).

Svi senzori koji bi trebali imati display će biti uglavnom napravljeni s NodeMCU, jer kod njih je veličina određena LCD-om – 16 stupaca, 2 reda – dovoljno prostora za informacije o temperaturi i vlažnosti zraka u prostoriji. Ostali senzori koji ne trebaju display biti će vjerojatno temeljeni na ESP-07 modulu, ponajprije zbog veličine, ali i zbog ADC-a.

Centralni server biti će, nadam se, Raspberry Pi, nadam se nekoj dvojki, trojku mogu sanjati, ali neću se buniti niti na B+. Na to “čudo” stavljam Raspbian, Apache, PHP, MySQL i svoju PHP skriptu, koju ću pokušati napraviti što lakše konfigurabilnom i modularnom. Pokušat ću izvesti samopronalaženje senzora na UDP-u, te podešavanje utičnica i prekidača putem CSV datoteke negdje na SD kartici.

Centralna konzola u kući biti će stara Motorola Xoom. Iako nije više brza kao prije, neke stvari rade dobro – Kiosk mod. Samo jedna stranica, upravo ona s centralnog servera, na kojoj će se nalaziti sve infromacije sa senzora i sve kontrole prekidača, utičnica i motora. U kućnoj varijanti neće biti autentikacije, a kako sve ovo radim i zato da iz bilo kojeg dijela svijeta mogu pregledati što radi, vanjski će pristup zahtijevati autentikaciju bez obzira na pristup preko VPN-a. Xoom će biti na dostupnom mjestu u dnevnoj sobi, na zidu i raditi će stalno – po noći će, zahvaljujući dobrim Android programima, svjetlinu ekrana smanjiti na minimum, čak dosta niže od defaultnih vrijednosti, do čega će doći senzorom za osvjetljenje.

Sigurnost je bitna. Iako u stanu već imam wireless, postavit ću novi access point, koji će imati skriveni SSID, i biti će namijenjen isključivo IoT-nodovima, utičnicama, prekidačima, senzorima… Naravno da je ideja ovoga da bude dostupno s Interneta, no neće svaki IoT-node biti izravno dostupan – upravo to i jest jedna od funkcija centralnog servera, koji će ujediniti dvije mreže i istovremeno služiti kao zaštiti i kontrola svih IoT-nodova koje planiram napraviti.

Postoji i nekoliko stvari koje neću dirati i mijenjati – čisto iz razloga što neke smatram nepotrebnim u svijetu IoT-a, a neke i da želim promijeniti i povezati, jednostavno ne znam. Moje znanje nije dovoljno da bih takve stvari znao izvesti – barem za sad. Možda se to promijeni, makar čisto sumnjam. Neću mijenjati hladnjak, mikrovalnu, klimu. Pećnica će dobiti pametnu utičnicu, kao i ploča za kuhanje – čisto sigurnosti radi. Hladnjak je novi i nemam ga namjeru modificirati iz obijesti, a i nema neke realne potrebe za time, mikrovalnu isto tako, a klimu jednostavno ne znam (i nisam uvjeren da je trebam kontrolirati preko Interneta, imajući na umu da se voda iz nje ne odvodi van stana, nego u kanister koji mi se nalazi u dnevnoj sobi. Da izbjegnem eventualne poplave, klima ostaje “diskonektirana”).

Tako će moja kuća u sljedećih dvije godine, koliko sam si zadao za ovaj projekt, postati puna “pametnih” stvari. Nadam se da ću ovime naučiti još dosta i o Arduinu, i o mrežama, struji, sklopovima, PHP-u, protokolima, ali i da ću smisliti još dobrih primjena ovog, po meni doista korisnog svijeta Arduina.

Oglasi

Single Post Navigation

Komentiraj

Popunite niže tražene podatke ili kliknite na neku od ikona za prijavu:

WordPress.com Logo

Ovaj komentar pišete koristeći vaš WordPress.com račun. Odjava / Izmijeni )

Twitter picture

Ovaj komentar pišete koristeći vaš Twitter račun. Odjava / Izmijeni )

Facebook slika

Ovaj komentar pišete koristeći vaš Facebook račun. Odjava / Izmijeni )

Google+ photo

Ovaj komentar pišete koristeći vaš Google+ račun. Odjava / Izmijeni )

Spajanje na %s