Noțiuni introductive despre OpenHAB Home Automation pe Raspberry Pi

Noțiuni introductive despre OpenHAB Home Automation pe Raspberry Pi
Acest ghid este disponibil pentru descărcare în format PDF gratuit. Descărcați acest fișier acum . Simțiți-vă liber să copiați și să partajați acest lucru cu prietenii și familia.

OpenHAB este o platformă maturizată de automatizare a sursei deschise care rulează pe o varietate de hardware și este protocol agnostic, ceea ce înseamnă că se poate conecta la aproape orice hardware de automatizare a casei de pe piață astăzi. Dacă ați fost frustrat de numărul de aplicații specifice producătorului pe care trebuie să le rulați doar pentru a vă controla luminile, atunci am vești minunate pentru dvs.: OpenHAB este soluția pe care ați căutat-o ​​- este cea mai flexibilă casă inteligentă hub veți găsi vreodată.





Din păcate, este cât de cât poți obține de la un consumator ușor - dar ca întotdeauna, aici intervine MakeUseOf: vă vom arăta cum să începeți să funcționați cu sistemul de casă inteligent suprem pe care nu trebuie să-l cumpărați banii (pentru că OpenHAB este 100% gratuit - furnizați doar hardware-ul).





Prima parte a acestui ghid se concentrează în special pe modul de configurare OpenHAB cu un Raspberry Pi 2 , dar mai departe, tutorialele și sfaturile pot fi aplicate oriunde este instalat OpenHAB.





Acest ghid acoperă trei subiecte introductive și unul puțin mai avansat.

  • Punerea în funcțiune a OpenHAB pe Pi și instalarea configurației demo house pentru a verifica dacă sistemele de bază funcționează.
  • Cum se adaugă legături și profiluri pentru dispozitive. Voi lucra cu Philips Hue.
  • Activarea accesului la distanță și conectarea la IFTTT.
  • Adăugarea unui senzor de prezență DIY utilizând Bluetooth și o introducere la interfața REST.
  • Configurarea aplicației mobile OpenHAB.

De ce veți avea nevoie

Cel puțin, veți avea nevoie de un Raspberry Pi (v2, de preferință) și un adaptor Ethernet sau wireless (Ethernet preferat, acest ghid nu va include instrucțiuni pentru a face ca adaptorul dvs. Wi-Fi să funcționeze). Orice altceva este opțional. Rețineți că OpenHAB va rula și pe Raspberry Pi original, dar există o problemă cunoscută cu procesarea mai lentă și dispozitivele Z-Wave. Dacă nu aveți nevoie de Z-Wave, puteți ignora în siguranță acest avertisment și puteți continua cu un model Raspberry Pi B sau B +, deoarece orice altceva pare să funcționeze bine. Puteți face oricând upgrade la cel mai recent Pi dacă și când adăugați Z-Wave.



Acest lucru mic poate fi cel mai bun hub inteligent pe care l-ați avut vreodată!

La momentul scrierii, ultima versiune stabilă a OpenHAB este versiunea 1.71; versiunea 1.8 este așteptată în curând și totul din acest ghid ar trebui să fie în continuare relevant, deși anumite legături pot avea mai multe caracteristici. Versiunea 2 este, de asemenea, disponibilă în prezent ca o previzualizare alpha foarte timpurie, dar adoptă o arhitectură dramatic diferită de seria OpenHAB 1: acest ghid nu este compatibil cu versiunea 2.





Vă sugerez cu tărie să urmați acest ghid încet și metodic - nu încercați să intrați la capătul adânc și să adăugați totul dintr-o dată. Da, este un ghid lung - OpenHAB este un sistem dificil care deseori necesită modificări pentru nevoile dvs. și cel mai bun mod de a vă asigura succesul este să lucrați încet și să completați câte o piesă la un moment dat.

Vestea bună este că, odată ce funcționează, este o experiență solidă și incredibil de plină de satisfacții.





Instalarea OpenHAB

Nu există nicio imagine preconfigurată pentru OpenHAB, așa că instalarea se face la modul vechi printr-o linie de comandă. Vă sugerez să lucrați fără cap la RPi - cheltuielile generale de gestionare a unei interfețe grafice pe care le veți folosi rar nu merită.

Începeți cu cea mai recentă (completă) imagine Raspbian SD (nu versiunea „lite”, acestea nu includ mașina virtuală Java). Conectați-vă cablul de rețea, apoi porniți-l și navigați prin SSH. Alerga:

sudo raspi-config

Extindeți sistemul de fișiere; și din meniul avansat, schimbați împărțirea memoriei la 16. Când ați terminat, reporniți și, ca bună practică, rulați o actualizare completă

sudo apt-get update
sudo apt-get upgrade

Cel mai simplu mod de a instala runtime-ul OpenHAB este prin apt-get , dar mai întâi trebuie să adăugăm o cheie sigură și noul depozit:

wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' |sudo apt-key add -
echo 'deb http://dl.bintray.com/openhab/apt-repo stable main' | sudo tee /etc/apt/sources.list.d/openhab.list
sudo apt-get update
sudo apt-get install openhab-runtime
sudo update-rc.d openhab defaults

În mod curios, totul a fost instalat ca fiind deținut de „root”. Trebuie să remediem acest lucru cu următoarele comenzi.

sudo chown -hR openhab:openhab /etc/openhab
sudo chown -hR openhab:openhab /usr/share/openhab

Apoi, vom instala Samba și vom partaja configurația și folderele de utilizator - acest lucru va facilita instalarea suplimentelor și schimbarea sitemap-ului de la distanță.

sudo apt-get install samba samba-common-bin
sudo nano /etc/samba/smb.conf

Schimbați numele grupului de lucru dacă este necesar, dar activați suportul WINS:

wins support = yes

(va trebui să decomentați linia și să schimbați nu în da)

apoi adăugați următoarele la secțiunea de definiții de partajare (derulați până la partea de jos a fișierului lung):

[OpenHAB Home]
comment= OpenHAB Home
path=/usr/share/openhab
browseable=Yes
writeable=Yes
only guest=no
create mask=0777
directory mask=0777
public=no
[OpenHAB Config]
comment= OpenHAB Site Config
path=/etc/openhab
browseable=Yes
writeable=Yes
only guest=no
create mask=0777
directory mask=0777
public=no

Am comentat și secțiunea Imprimante. Am făcut două partajări, deoarece fișierele de configurare sunt de fapt stocate separat pentru programe de completare.

Salvează și ieși. În cele din urmă, trebuie să setăm o parolă Samba pentru utilizatorul openhab:

sudo smbpasswd -a openhab

Aș sugera „openhab” ca parolă doar pentru ușurință în utilizare, dar nu contează cu adevărat.

Mulțumită cititorului David L - se pare că metoda de repornire Samba s-a schimbat în ultimul Raspian. Iată instrucțiunile actualizate:

sudo update-rc.d smbd enable
sudo update-rc.d nmbd enable
sudo service smbd restart

După repornirea Samba (se utilizează instalările mai vechi sudo service samba restart ), testați că puteți accesa unitatea partajată. Este posibil să nu fie descoperit automat pe un Mac; dar poți folosi Căutător -> Merge -> Conectați-vă la server și adresa

smb://openhab@raspberrypi.local

Autentificați-vă cu numele de utilizator openhab și parola aleasă, apoi deschideți ambele acțiuni pentru a arunca o privire în jur. Ar trebui chiar să puteți deschide http: //raspberrypi.local: 8080 / în browserul dvs. web, dar veți întâlni o eroare deoarece nu am creat încă un sitemap. E normal.

Acum ar fi un moment bun pentru a învăța comanda pentru a obține jurnalul OpenHAB, astfel încât să puteți urmări erorile.

tail -f /var/log/openhab/openhab.log

Păstrați acest lucru în funcțiune și deschideți-l în orice moment într-o fereastră SSH separată, în timp ce continuați cu ghidul.

Instalați Demo House

Înainte să ne adâncim în complexitatea fișierelor de configurare, adăugând dispozitive și legături etc; să verificăm dacă totul funcționează adăugând conținutul demonstrativ. Veți găsi „Demo Setup” în secțiunea de descărcări din OpenHAB.org.

După ce l-ați dezarhivat, există două dosare: addons și configurații .

Folosind partajările de rețea, copiați configurații la Configurare OpenHAB partajați și suprascrieți folderul existent. Copie addons către celălalt OpenHAB Home partajați, din nou, suprascrierea folderelor existente. Dacă nu vi se solicită să suprascrieți ceva, faceți greșit. Dacă vă uitați la fișierul jurnal de depanare, ar trebui să vedeți o mișcare de activitate, deoarece observă noile legături și whirs în acțiune. Deschideți raspberrypi.local: 8080 / openhab.app? Sitemap = demo pentru a vedea demonstrația.

În momentul de față este puțin de bază, însă natura deschisă a OpenHAB înseamnă că putem instala mai târziu o nouă temă minunată sau o interfață alternativă. Deocamdată, trebuia doar să știm că totul funcționează. Rețineți că ceea ce privim se numește a sitemap (nimic de-a face cu o hartă a site-ului web). Un sitemap descrie interfața cu utilizatorul - nu dispozitivele reale din rețea sau senzori - doar interfața pentru a le vizualiza. Fiecare parte a acestuia este complet personalizabilă. Pentru a arunca o privire asupra modului în care acesta a fost creat, deschideți fișierul sitemaps / demo.sitemap fișier pe partajarea OpenHAB Config.

Este destul de descurajant, dar, în cea mai mare parte, veți copia lipirea fragmentelor de cod din exemple din alte părți pentru a vă crea propria interfață personalizată. Iată prezentare tehnică dintre toate elementele posibile ale sitemap-ului, dar deocamdată va fi suficient doar să începeți să vă gândiți la ce tip de interfață doriți să creați și ce informații doriți să afișați.

În timp ce ești acolo, deschide-te items / demo.items de asemenea. Din nou, arată înfricoșător, dar aici creați elemente pentru a controla și defini senzori de urmărit.

Deci, cum funcționează OpenHAB?

Acum, că ați analizat rapid dosarul sitemap și articole, să prezentăm exact ce sunt aceste fișiere și celelalte componente principale ale OpenHAB care se combină pentru a vă crea casa inteligentă completă. Veți găsi subdirectoare pentru fiecare dintre acestea în folderul partajat OpenHAB Config.

Elemente este un inventar al fiecărui dispozitiv de control, senzor sau element de informație pe care îl doriți în sistemul dvs. Nici nu trebuie să fie un dispozitiv fizic - s-ar putea să definiți o sursă web, cum ar fi vremea sau prețurile acțiunilor. Fiecare articol poate fi numit, atribuit mai multe grupuri (sau niciunul) și conectat la o legare specifică. (Sfat pentru începători: scrierea cu majuscule este importantă atunci când vine vorba de legături. Am petrecut mult timp încercând să aflu de ce becurile mele „Hue” nu funcționau; a fost pentru că ar fi trebuit să fie „nuanță” în schimb).

Sitemap-uri este preocupat doar de interfața pe care o veți vedea când deschideți aplicația mobilă sau web OpenHAB. Puteți controla cu exactitate modul în care doriți ca butoanele să fie așezate și informațiile prezentate. Ai putea defini grupuri de nivel superior pentru fiecare cameră a casei tale; dacă faceți clic pe fiecare, veți afișa o listă cu fiecare dispozitiv din camera respectivă. Sau s-ar putea să preferați să afișați grupuri pentru fiecare tip de dispozitiv: un buton pentru lumini, altul pentru prize electrice. Ar putea exista unele dispozitive pe care le utilizați atât de des încât doriți doar un comutator pentru ele chiar pe ecranul de pornire.

Reguli aici intră în joc aspectul de automatizare a locuinței, unde puteți defini programări sau condiții pentru ca o acțiune să se întâmple. Evenimente simple, cum ar fi aprinderea luminilor dormitorului la 22:00 la o culoare roșie caldă; sau logică mai complexă, cum ar fi pornirea unui încălzitor de spațiu dacă temperatura este mai mică de 0 și cineva este prezent în camera respectivă. Veți găsi, de asemenea, un scripturi folder, care oferă funcționalități similare cu regulile, dar la un nivel mai complex de logică programabilă.

Persistenţă este un subiect avansat pe care nu îl vom aborda în acest ghid, dar persistența definește datele despre care doriți să țineți o evidență. În mod implicit, OpenHAB va afișa doar starea curentă a ceva; dacă doriți să urmăriți această valoare în timp, trebuie să configurați o definiție de persistență pentru sursa de date respectivă. În aceasta veți specifica lucruri precum frecvența cu care ar trebui măsurat un punct de date sau când trebuie să aruncați punctele de date vechi - va trebui, de asemenea, să-i spuneți ce tip de motor de persistență să utilizați, cum ar fi MySQL sau înregistrarea simplă într-un fișier .

Transforma conține mapări pentru valorile datelor la etichete. De exemplu, humidex.scale fișierul definește o gamă de valori ale indicelui de umiditate și modul în care acestea trebuie afișate în limba engleză: 29-38 este „oarecare disconfort”.

The sitemap și obiecte fișierele sunt esențiale pentru a rula OpenHAB; restul sunt opționale. Puteți avea mai multe sitemap-uri și articole, astfel încât să puteți păstra conținutul demonstrativ și să îl consultați în orice moment sau să încercați un nou aspect pentru interfața de control de acasă. Nu vă faceți griji dacă totul pare un pic copleșitor în acest moment, îl vom împărți în bucăți ușor de gestionat și vă promit până la sfârșitul acestui ghid că veți avea încredere pentru a vă crea propria configurație OpenHAB.

În continuare, vă vom ajuta să adăugați câteva truse comune pentru casă inteligentă, începând de la zero într-un nou sitemap. Fiecare va introduce câteva concepte de bază, cum ar fi modul de instalare a legărilor și definițiilor articolelor, așa că vă încurajăm să citiți aceste instrucțiuni chiar dacă nu dețineți dispozitivele respective .

Începeți prin crearea unui nou (gol) home.items fișier și un nou acasă.sitemap fișier în directoarele relevante. Deschide acasă.sitemap și lipiți în următorul cod. Aceasta acționează doar ca un schelet de bază la care vom adăuga biți mai târziu.

sitemap home label='My Home'
{

}

Ar trebui să vedeți o notificare pentru a raporta că OpenHAB a identificat un nou sitemap și un fișier de articole.

aligncenter size-large wp-image-496593

Activați modul de depanare

În timp ce încă încercați să faceți ca OpenHAB să funcționeze corect, poate fi util să activați un jurnal de depanare mai detaliat care să enumere totul, și nu doar lucrurile importante. Pentru a activa acest mod, deschideți folderul partajat OpenHAB Config și editați logback.xml . Pe linia 40, schimbați următoarea linie pentru a citi DEBUG în loc de INFO. Va trebui să reporniți după ce schimbați acest lucru.

Aceasta este o schimbare globală, așa că veți primi mai multe informații odată ce ați terminat fișierul jurnal.

Adăugarea Philips Hue

Voi începe cu Philips Hue. Ca majoritatea lucrurilor cu care doriți să interacționați în OpenHAB, becurile Hue necesită instalarea unui legare - gândiți-vă la legături ca la un driver de dispozitiv. La momentul scrierii, există aproximativ 160 de legături disponibile pentru OpenHAB 1, motiv pentru care OpenHAB este un sistem atât de puternic - poate interfața cu orice, combinând toate aceste sisteme de control disparate într-o singură interfață unificată. Iată o demonstrație și o prezentare rapidă a pașilor implicați.

Legăturile trebuie mai întâi descărcate și cel mai simplu mod de a face acest lucru pe Pi este folosirea apt-get , apoi forțați proprietatea către utilizatorul openhab.

sudo apt-get install openhab-addon-binding-hue
sudo chown -hR openhab:openhab /usr/share/openhab

Apoi, trebuie să spuneți OpenHAB să se încarce în acea legare și să configureze orice variabilă necesară. Navigați la folderul de configurații și faceți o copie a acestuia openhab-default.cfg , denumindu-l openhab.cfg . Deschideți-l, căutați NUANŢĂ și înlocuiți întreaga secțiune cu următorul cod. Singurul lucru pe care trebuie să-l modificați este valoarea IP a podului dvs. - dacă nu o cunoașteți deja, încercați instrumentul de descoperire online. Valoarea secretă nu contează cu adevărat, este doar un fel de nume de utilizator pe care OpenHAB îl va folosi pentru a se identifica la pod.

Sfat rapid : pentru a activa o linie, trebuie doar să eliminați # de la început. În mod implicit, linia care specifică adresa IP a podului este dezactivată (sau tehnic, „comentată”). De asemenea, dacă încercați o configurație alternativă, poate fi util să copiați doar linia existentă și să puneți un # la început pentru a o marca ca un comentariu, astfel încât să puteți reveni cu ușurință dacă lucrurile nu merg bine.

################################ HUE Binding ######################################### # IP of the Hue bridge
hue:ip=192.168.1.216
hue:secret=makeuseofdotcom
hue:refresh=10000

Salvează și ieși. Ca orice aplicație Hue terță parte, va trebui să aprobați OpenHAB pe Hue Bridge apăsând butonul din partea din față - trebuie să faceți acest lucru o singură dată. Veți vedea un mesaj despre așteptând să fie împerecheați dacă urmăriți fișierul jurnal, dar dacă ați uitat sau ați pierdut numărătoarea inversă, doar resetați Pi - veți primi un temporizator de 100 de secunde de la inițierea legării Hue. Asigurați-vă că v-ați împerecheat cu succes înainte de a continua.

Apoi, deschideți fișierul home.items fișier, la care vom adăuga niște becuri Hue. Iată un exemplu de definiție a articolului:

Color Bedroom_Hue 'Bedroom Hue' (Bedroom) {hue='1'}
  • The Culoare cuvântul specifică ce fel de control avem asupra acestui element. Becurile RGB Hue sunt „Color”, deoarece avem controlul complet al culorii lor. Alte lumini pot fi doar un comutator.
  • Următorul este numele de cod al articolului: Am ales Bedroom_Hue , dar literalmente orice este în regulă - doar ceva descriptiv care vă pare natural, deoarece va trebui să vă amintiți mai târziu atunci când creați sitemap-ul. Numele de cod nu ar trebui să aibă spații.
  • Între ghilimele se află eticheta. Al nostru este simplu în acest caz, dar pentru unele elemente, cum ar fi temperatura sau ceva care raportează o valoare, veți adăuga un cod special care îi spune cum să afișeze acea valoare sau folosind ce transforma. Eticheta este pentru interfață și poate avea spații.
  • Între paranteze unghiulare se află numele pictogramei. Veți găsi toate pictogramele disponibile în cota OpenHAB, sub webapps / imagini director. Există de fapt o gamă întreagă de pictograme de nuanță care reprezintă luminozități diferite sau pornite / oprite. Doar specificați numele pictogramei de bază - OpenHAB va ști să caute automat diferitele pictograme pornite / oprite dacă acesta este un element comutat. Acest lucru este opțional.
  • În parantezele rotunde, îi spunem din ce grupuri să facă parte - în acest caz, doar Dormitor grup.
  • În cele din urmă și crucial, conectăm elementul la legătura corespunzătoare cu orice variabilă necesară. În acest caz, nuanţă obligatoriu, iar numărul becului este 1. Puteți găsi numărul deschizând aplicația oficială Hue și uitându-vă la fila lumini. Fiecare bec are un număr unic.

Am adăugat un total de patru becuri, precum și o simplă declarație a grupurilor pe care le vom extinde mai târziu. Iată completarea mea home.items in acest punct:

Group Bedroom
Group Office
Group Kai
Group Living_Room
Group Cinema
Group Secret
Group Lights /* Lights */
Color Bedroom_Hue 'Bedroom Hue' (Bedroom,Lights) {hue='1'}
Color Office_Hue 'Office Hue' (Office, Lights) {hue='2'}
Color Secret_Hue 'Secret Hue' (Secret, Lights) {hue='3'}
Color Kai_Hue 'Kai's Hue' (Kai, Lights) {hue='4'}

The /* Lumini */ textul este doar un comentariu, nu are altă funcție decât să ne ajute să scanăm fișierul mai târziu, când acesta devine mai mare. Acum avem dispozitivele adăugate, dar deschiderea http: //raspberrypi.local: 8080 /? Sitemap = home rezultă într-o interfață goală - bineînțeles, deoarece încă nu am creat elemente de interfață în sitemap. Să începem foarte simplu deocamdată. Deschide acasă.sitemap .

Codul folosit pentru a descrie interfața este diferit de elemente, dar deocamdată vom crea un nou „cadru” și vom adăuga câteva controale de grup împreună cu câteva pictograme.

sitemap home label='My Home'
{
Frame {
Group item=Lights label='All lighting' icon='hue'
Group item=Bedroom label='Bedroom' icon='bedroom'
Group item=Office label='Office' icon='desk'
}
}

Grupurile sunt un instrument util pentru testarea rapidă, dar în realitate veți dori mai mult control asupra modului în care sunt afișate articolele. Deocamdată, acest lucru va fi suficient. Salvați și reîncărcați sitemap-ul de acasă în browser. Ar trebui să vedeți acest lucru (sau orice grupuri ați adăugat).

Click pe Toate luminile pentru a vedea fiecare lumină Hue, deoarece le-am definit pe toate ca aparținând acelui grup de lumini generale.

Observați că elementul Office Hue este afișat cu o pictogramă diferită - asta pentru că lumina mea de birou este deja aprinsă și OpenHAB știe acest lucru când a vorbit cu podul Hue și a fost suficient de inteligent pentru a regla pictograma versiunea „pe” a fișierului. Din păcate, nu reflectă culoarea, dar dacă aveți instalată o aplicație mobilă, aceasta va reflecta culoarea curentă.

Dacă vedeți mai multe articole decât credeați că ați definit sau primiți erori cu privire la mai multe definiții, știți că, deși puteți încărca un singur sitemap la rând pe pagină toate sitemap-urile vor extrage elemente din toate fișierele .item , deci dacă ați lăsat acolo fișierul cu elementele demonstrative, este posibil să apară și câteva elemente suplimentare în grupurile dvs. Aș sugera în acest moment să faceți o copie de rezervă a conținutului elementelor demo și să o mutați din folder pentru a evita erorile de duplicare.

Acces la distanță și IFTTT cu My.OpenHAB

În acest moment, trebuie să vă aflați în aceeași rețea locală pentru a vă accesa sistemul OpenHAB, dar ce se întâmplă dacă doriți să vă controlați dispozitivele și să verificați senzorii când nu vă aflați în raza de acces Wi-Fi? Pentru aceasta, va trebui să configurăm accesul de la distanță - și o vom face într-un mod ușor, cu serviciul web My.OpenHAB [Broken URL Removed], care ocolește nevoia de a vă deranja cu redirecționarea porturilor și configurațiile routerului. Ca bonus, serviciul My.OpenHAB are și un canal IFTTT, oferindu-vă posibilități infinite de control de la distanță și automatizare.

Mai întâi: instalați legarea. Sfat rapid: dacă nu știți numele exact al unui anumit pachet de instalare, încercați să îl căutați cu apt-cache.

sudo apt-get install openhab-addon-io-myopenhab
sudo chown -hR openhab:openhab /usr/share/openhab

Înainte de a vă putea înregistra pe site-ul My.OpenHAB, va trebui să creați o cheie secretă și să găsiți UUID-ul dvs., care vă identifică în mod unic instalarea. Verificați sub Partajare OpenHAB Home -> webapps -> static și ar trebui să găsiți un fișier UUID care conține identificatorul dvs. unic. În acest moment am descoperit că Pi-ul meu folosea o versiune mai veche de Java care nu creează corect cheia secretă. Tip

java -version

a verifica. Dacă nu scrie 1.7 sau o versiune ulterioară, aveți o versiune greșită. În mod ciudat, cea mai recentă versiune a Raspbian vine cu Oracle Java 8 instalat, dar nu este setat ca implicit.

sudo update-alternatives --config java

cum să descărcați muzică gratuit

Alegeți opțiunea care indică jdk-8-oracle , apoi reporniți OpenHAB. Bonus: Oracle Java 8 este mai rapid decât OpenJDK implicit!

Acum ar trebui să găsiți și un fișier secret în webapps / static pliant. Deschideți ambele secret și uuid și fiți gata să copiați pasta.

Acum creați un cont My.OpenHAB, folosind acele detalii, apoi reveniți - va trebui, de asemenea, să vă confirmați e-mailul înainte ca orice să funcționeze. Mai sunt câțiva pași până la acesta. În primul rând, trebuie să setăm motorul de persistență implicit la myopenhab (persistența este ceva pentru un ghid ulterior, dar indiferent, trebuie să configurăm ceva de bază pentru a „exporta” datele noastre în serviciul online și a le face vizibile pentru IFTTT) . Pentru a face acest lucru, deschideți openhab.cfg și găsiți variabila care spune persistenta: implicit = și schimbați-l în persistenta: implicit = miopenhab . Salvați.

În cele din urmă, creați un fișier nou în configurații / persistență dosar numit miopenhab.persistă și lipiți următoarea regulă.

Strategies {
default = everyChange
}
Items {
* : strategy = everyChange
}

Nu trebuie să înțelegeți acest lucru deocamdată, dar să știți că scrie „salvați fiecare stare a articolului când se schimbă”.

Pentru a vă conecta cu IFTTT, mergeți la Canal OpenHAB - va trebui să vă autentificați și să îi acordați acces la contul dvs. MyOpenHAB. Rețineți, de asemenea, că până când articolele dvs. nu s-au schimbat cel puțin o dată, ele nu vor fi vizibile în lista de articole de pe IFTTT, deci dacă nu este vizibil, comutați și dezactivați ceva, apoi reîncărcați. Felicitări, aveți acum acces IFTTT complet la tot ce există în sistemul dvs. OpenHAB!

Senzor de prezență Bluetooth utilizând REST

Cu puțin timp în urmă v-am arătat cum să faceți o blocare automată a ușii de birou folosind scanarea Bluetooth pentru a detecta prezența utilizatorului - am vrut să aduc așa ceva în OpenHAB.

Pe orice altă platformă decât Raspberry Pi, acest lucru ar fi simplu datorită unei legături Bluetooth gata făcute; din păcate, nu funcționează pe Pi datorită unui fișier Java crucial care ar trebui recompilat pentru arhitectura ARM, adăugat la legare și apoi reconstruirea legării. Este suficient să spun, am încercat asta și a fost oribil de complicat și nu a funcționat. Există totuși o soluție mult mai ușoară, care servește și ca o bună introducere în extensibilitatea simplă a OpenHAB: vom adapta pur și simplu scriptul nostru Python anterior pentru a-l raporta direct la interfața OpenHAB RESTful.

În afară de aceasta: o interfață RESTful înseamnă că puteți interacționa cu un sistem utilizând serverul web încorporat, pur și simplu apelând adrese URL și transmiterea sau preluarea datelor. Puteți vizita această adresă URL pentru a vedea un exemplu simplu de acest lucru pe propriul dvs. server: http: //raspberrypi.local: 8080 / rest / items - care afișează o listă codificată cu toate elementele definite. Acest lucru este incredibil de puternic, deoarece expune întregul potențial al OpenHAB și vă permite să scrieți interfețe personalizate; sau în sens invers utilizat, pentru a raporta starea senzorilor fără a avea o legare specifică. Vom folosi această capacitate pentru a raporta prezența unui anumit dispozitiv Bluetooth fără a recurge la legarea Bluetooth.

Începeți prin adăugarea unui nou Intrerupator element pentru dvs. home.items fişier. L-am numit pe al meu „JamesInOffice” și l-am transformat într-un comutator mai degrabă decât într-un simplu contact de pornire / oprire, astfel încât să-mi pot controla manual prezența în caz că telefonul meu moare.

Switch JamesInOffice 'James in Office' (Office)

Observați că nu am definit o pictogramă și nici nu am asociat o legătură specifică. Este doar un comutator generic.

Apoi, introduceți un dongle Bluetooth USB compatibil și instalați câteva instrumente de bază pentru interacțiunea cu acesta.

sudo apt-get install bluez python-bluez python-pip
sudo pip install requests
hcitool dev

Ultima comandă ar trebui să afișeze adaptorul Bluetooth. Dacă nimic nu este listat, încercați un alt adaptor, al dvs. nu este compatibil cu Linux. Următorul pas este să găsiți adresa hardware Bluetooth a dispozitivului dvs.

wget https://pybluez.googlecode.com/svn/trunk/examples/simple/inquiry.py
python inquiry.py

Asigurați-vă că telefonul dvs. este deschis pe pagina de setări Bluetooth (care îl pune în modul de asociere / public) și, evident, că Bluetooth este activat. Ar trebui să găsiți o adresă hardware hexazecimală listată.

Din directorul de acasă al utilizatorului Pi, creați un nou script Python și lipiți în acest cod .

Există câteva lucruri pe care va trebui să le editați, începând cu adresa dispozitivului dvs.:

result = bluetooth.lookup_name('78:7F:70:38:51:1B', timeout=5)

La fel ca și această linie, care se află în două locuri (da, probabil că aceasta ar putea fi structurată mai bine). Schimbați JamesInOffice cu numele de cod al comutatorului pe care l-ați definit.

r = requests.put('http://localhost:8080/rest/items/JamesInOffice/state',data=payload)

Ultimul pas este să spuneți acestui script să se lanseze la momentul pornirii.

sudo nano /etc/rc.local

Derulați în jos și chiar înainte de ieșirea 0, adăugați următoarele linii:

python /home/pi/detect.py &

Semnul & înseamnă „faceți acest lucru în fundal”. Continuați și rulați scriptul dacă nu ați făcut-o deja și deschideți interfața OpenHAB. Dacă l-ați adăugat la un grup, faceți clic pe acesta. Actualizarea durează aproximativ 10 secunde, dar veți vedea că pictograma implicită a becului se aprinde sau se stinge în funcție de faptul dacă telefonul dvs. este detectat sau nu. Verificați fișierul jurnal dacă nu se întâmplă nimic, s-ar putea să fi folosit un nume de articol greșit.

Aplicația mobilă OpenHAB

Deși, desigur, puteți utiliza interfața web de pe un dispozitiv mobil, OpenHAB are aplicații native pentru ambele ios și Android - și arată un lot mai frumoasă decât interfața implicită a browserului. Pe ecranul de setări, introduceți adresa URL locală ca IP intern pe care l-ați folosit până acum, inclusiv numărul portului. Pentru adresa URL la distanță, introduceți https://my.openhab.org , și numele dvs. de utilizator (e-mail) și parola pe care le-ați introdus când v-ați înscris. Dacă nu v-ați înscris încă la MyOpenHAB, lăsați necompletate autentificarea și adresa URL de la distanță, dar veți accesa sistemul dvs. numai din Wi-Fi-ul dvs. local.

Mergând înainte și obținând ajutor

Cantitatea de caracteristici personalizate și îngrijite pe care le puteți adăuga la controlerul dvs. OpenHAB este într-adevăr un fel de epic. Pe lângă lista vastă de dispozitive acceptate cu legături, puteți utiliza interfața RESTful, extensiile HTTP și IFTTT pentru a citi sau a controla literalmente orice tip de dispozitiv IoT și apoi câteva (încercați câteva dintre ideile noastre creative de iluminare). Da, este absolut dificil de instalat, dar niciun singur sistem comercial nu se poate apropia de puterea unui sistem OpenHAB personalizat.

Acestea fiind spuse, călătoria nu mi-a fost deloc ușoară, tocmai de aceea am scris acest ghid, pentru a vă ușura procesul. Și dacă vi se pare covârșitor sistemul OpenHAB, există alte opțiuni atunci când vine vorba de automatizarea caselor Raspberry --- cum ar fi utilizarea Raspberry Pi pentru a vă automatiza ușa de garaj, de exemplu.

Rămâneți la curent cu MakeUseOf pentru un ghid avansat care acoperă Z-Wave și alte trucuri interesante pe care le puteți configura.

Dacă aveți nevoie de ajutor cu o parte specifică a acestui ghid, vă rugăm să întrebați comentariile. Dacă doriți ajutor cu o altă legare sau cu unele subiecte avansate pe care nu le-am tratat încă, forumuri oficiale OpenHAB sunt un loc primitor.

Acțiune Acțiune Tweet E-mail 5 sfaturi pentru a vă supraîncărca mașinile VirtualBox Linux

V-ați săturat de slaba performanță oferită de mașinile virtuale? Iată ce ar trebui să faceți pentru a vă îmbunătăți performanța VirtualBox.

Citiți în continuare
Subiecte asemănătoare
  • DIY
  • Casa inteligentă
  • Domotică
  • Forma lungă
  • Ghid Longform
  • Huburi inteligente
Despre autor James Bruce(707 articole publicate)

James are o licență în inteligență artificială și este certificat CompTIA A + și Network +. Când nu este ocupat ca editor de recenzii hardware, îi place LEGO, VR și jocurile de societate. Înainte de a se alătura MakeUseOf, a fost tehnician în iluminat, profesor de engleză și inginer de date.

Mai multe de la James Bruce

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Faceți clic aici pentru a vă abona