Instalare FHEM pe Raspberry PI in doar 5 minute

FHEM
FHEM-home

Pentru ca Raspberry Pi 3B+ sau Raspberry PI Zero sa poata controla pe viitor diferite componente pe care le vom interconecta, avem nevoie de un software de automatizare. Pentru asta vom folosi FHEM, un server scris in Perl. Suna complicat insa este chiar simplu pentru ca serverul nostru ofera o interfata grafica prin intermediul careia vom putea adauga, edita, grupa, automatiza componentele sistemului nostru de Smart Home. Instalarea este similara pe oricare dintre ele cele doua Raspberry am utiliza, pentru ca in acest tutorial vom folosi cea mai simpla imagine a sistemului de operare, si anume Raspbian Lite.

FHEM este foarte bine sustinut de comunitate si practic ofera module si protocoale aproape pentru tot ceea e exista in momentul de fata in materie de Smart Home, pornind de la prize radio controlate sau WI-FI, termostate de caldura, becuri smart etc.

Cateva din protocoalele suportate de FHEM sunt:

  • eQ3 specifice instalatiilor termice: HomeMatic, MAX!, FS20, EM1000, FHT80b, HMS, S300;
  • ESA2000 KNX, ZWave, EnOcean, Philipps HUE, FRITZ!Dect, Intertechno;
  • HomeEasy, X10 1Wire, Firmata, webio, panStamp, LIRC, JeeLink;
  • RFXCOM/RFXTRX, Wireless M-Bus Davis VantagePro2, Oregon Scientific;
  • TV- LG, Panasonic, Philips, Samsung, Sony, Bose;
  • Sonos, Squeezebox, Denon, Onkyo, Pioneer, YAMAHA;
  • iTunes/AppleTV, Enigma2, XBMC/Kodi, MediaPortal, Plex, Alexa, HomeKit;
  • HomeBridge, MQTT (server intern sau extern)

Update OS Raspberry Pi

Vom avea nevoie ca softul de pe Raspberry PI sa fie up to date. Pentru aceasta vom stabili o noua conexiune prin SSH fie prin PuTTY (daca folosim Windows) fie prin terminal (daca folosesti MacOS sau Linux-Ubuntu) asa cum am aratat in tutorialul anterior.

sudo apt-get update && sudo apt-get upgrade -y

Un restart nu este absolut necesar, insa este recomandat.

Putem restarta cu comanda:

sudo reboot

Instalare FHEM

Dupa ce avem sistemul adus la zi, putem incepe cu instalarea serverului de Smart Home. Pentru aceasta avem nevoie sa adaugam cateva pachete software cu urmatoarea comanda:

sudo apt-get -y install perl-base libdevice-serialport-perl libwww-perl libio-socket-ssl-perl libcgi-pm-perl libjson-perl sqlite3 libdbd-sqlite3-perl libtext-diff-perl libtimedate-perl libmail-imapclient-perl libgd-graph-perl libtext-csv-perl libxml-simple-perl liblist-moreutils-perl libimage-librsvg-perl libgd-text-perl libsocket6-perl libio-socket-inet6-perl libmime-base64-perl libimage-info-perl libusb-1.0-0-dev libnet-server-perl libssl-dev libjson-perl libdigest-md5-perl libcrypt-cbc-perl libcryptx-perl libcryptx-perl libcrypt-ecb-perl libcrypt-rijndael-perl libssl-dev libdevice-usb-perl libxml-libxml-perl libio-socket-ssl-perl libconvert-base32-perl libauthen-oath-perl libcrypt-urandom-perl avrdude libjson-perl libio-socket-multicast-perl libwww-perl nmap libnmap-parser-perl libjson-perl libmime-lite-perl libmime-lite-perl libsys-statistics-linux-perl libjson-perl libxml-treebuilder-perl libhtml-treebuilder-xpath-perl libjson-perl bluez libjson-perl libdigest-md5-perl libcrypt-cbc-perl libcrypt-ecb-perl libmodule-pluggable-perl

Aceasta operatiune dureaza de regula aproximativ 3 – 4 minute, functie de rapiditatea conexiunii.

La momentul la care scriu acest tutorial, FHEM este la versiunea 6.0 si cu urmatoarea comanda vom descarca si instala FHEM:

wget http://fhem.de/fhem-6.0.deb && sudo dpkg -i fhem-6.0.deb

Dupa ce vom vedea urmatoarele confirmari: Setting up fhem (6.0.) / creating user fhem suntem gata cu instalarea si deja putem sa accesam serverul nostru.

Inainte de a accesa serverul mai avem inca un pas, si anume trenuie sa acordam drepturile de acces:

cd /opt
sudo chmod -R a+w fhem && sudo usermod -a -G tty pi && sudo usermod -a -G tty fhem

Deschidem o pagina de browser unde vom scrie direct IP-ul serverului nostru urmat de portul prin care comunicam. Daca nu stii IP-ul Serverului atunci il poti afla cu comanda:

ifconfig

Iar raspunsul serverului va fi:

pi@raspberrypi:~ $ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.142  netmask 255.255.255.0  broadcast 192.168.1.255

Unde eth0 va fi conexiunea la router prin cablu si inet: 192.168.1.142 este IP-ul serverului.

Accesare FHEM

Vom accesa serverul scriind in browser: 192.168.1.142:8083 sau accesand http://raspberrypi:8083/fhem

Securizare FHEM

Dupa cum se poate observa ni se solicita sa alocam o parola pentru dispozitivul nostru. Este important sa facem acest lucru atata vreme cat planuim sa accesam sistemul nostru de Smart Home si din exteriorul retelei. Pentru a realiza aceasta ne intoarcem la terminal unde vom scrie urmatoarea comada:

echo -n fhem:test | base64

unde fhem este numele de utilizator si test este parola. Este important sa retinem datele de logare, altfel mai tarziu nu ne vom mai putea loga la server.

Vom primi un raspuns de genul

ZmhlbTprZXN0

Ne intoarcem inapoi la browser si navigam in stanga in meniul Unsorted/WEB

In partea de jos, in dreptul attr WEB vom selecta basicAuth si in casuta libera vom pune codul din consola. In cazul meu: ZmhlbTprZXN0

Imediat ce vom apasa pe butonul attr ne va aparea fereastra de cominicare in care ni se va cere sa introducem User Name-ul si Password.

Totodata vom observa ca in stanga sus in dreptul lui Save config a aparut in semn de intrebare (?). Apasand pe el vom obtine informatii despre schimbarile din sistem si apasand pe Save config vom salva configuratia actuala.

Si iata cum in momentul de fata avem instalat pe Raspberry PI 3B+ sau Raspberry PI Zero un server pentru a ne face singuri casa smart. In tutorialul urmator va voi explica cum sa obtinem un certificat SSL, astfel incat sa sporim gradul de siguranta al serverului de Smart Home.

Acum ca avem instalat si asigurat cu parola serverul putem sa deschidem din router portul 8083, pentru IP-ul dedicat, astfel incat serverul sa fie accesibil si din exteriorul retelei atunci cand nu suntem acasa.

De Iulian Susnea

Pasionat de tehnologie, gadgeturi smart home si automatizari si am pornit la drum in crearea acestui site cu tutoriale pentru cele mai importante sisteme Smart Home ale momentului din dorinta de a-i ajuta pe cei la inceput de drum.

Lasă un comentariu

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *