Introducció a la domòtica OpenHAB a Raspberry Pi

Introducció a la domòtica OpenHAB a Raspberry Pi
Aquesta guia es pot descarregar en format PDF gratuït. Descarregueu aquest fitxer ara . No dubteu a copiar i compartir això amb els vostres amics i familiars.

OpenHAB és una plataforma domòtica de font oberta de font oberta que funciona amb una gran varietat de maquinari i que és protocol agnòstic, és a dir, que es pot connectar a gairebé qualsevol maquinari domòtic del mercat actual. Si us ha frustrat el nombre d’aplicacions específiques del fabricant que necessiteu executar només per controlar els llums, tinc bones notícies: OpenHAB és la solució que esteu buscant: és la casa intel·ligent més flexible. hub que trobareu mai.





Malauradament, és gaire lluny del que podeu obtenir per al consumidor, però com sempre, aquí és on entra MakeUseOf: us mostrarem com posar-vos en marxa amb el sistema intel·ligent per a la llar que els diners no necessiten comprar (perquè OpenHAB és 100% gratuït: només heu de subministrar el maquinari).





La primera part d'aquesta guia se centra específicament en com configurar OpenHAB amb un Raspberry Pi 2 , però més endavant, els tutorials i consells es poden aplicar a qualsevol lloc que estigui instal·lat OpenHAB.





Aquesta guia inclou tres temes introductoris i un de més avançat.

  • Posar en marxa OpenHAB al Pi i instal·lar la configuració de la casa de demostració per comprovar que els sistemes bàsics funcionen.
  • Com afegir enllaços i perfils per a dispositius. Treballaré amb Philips Hue.
  • Habilitació de l'accés remot i connexió a IFTTT.
  • Afegir un sensor de presència de bricolatge mitjançant Bluetooth i una introducció a la interfície REST.
  • Configuració de l’aplicació mòbil OpenHAB.

El que necessiteu

Com a mínim, necessitareu un Raspberry Pi (v2, preferiblement) i un adaptador Ethernet o sense fils (preferiu Ethernet, aquesta guia no inclourà instruccions per fer funcionar l’adaptador Wi-Fi). Tota la resta és opcional. Tingueu en compte que OpenHAB també funcionarà al Raspberry Pi original, però hi ha un problema conegut amb processament més lent i dispositius Z-Wave. Si no necessiteu Z-Wave, podeu ignorar amb seguretat aquest advertiment i continuar amb un model Raspberry Pi B o B +, perquè tota la resta sembla funcionar bé. Sempre podeu actualitzar a la versió Pi més recent i si afegiu Z-Wave.



Aquesta petita cosa pot ser el millor centre de llar intel·ligent que heu tingut mai.

En el moment de l’escriptura, l’última versió estable d’OpenHAB és la versió 1.71; la versió 1.8 s’espera aviat i tot el que conté aquesta guia hauria de ser encara rellevant, tot i que certes vinculacions poden tenir més funcions. La versió 2 també està disponible actualment com a previsualització alfa molt primerenca, però adopta una arquitectura molt diferent a la sèrie OpenHAB 1: aquesta guia no és compatible amb la versió 2.





Us recomano que seguiu aquesta guia lentament i metòdicament - No intenteu entrar cap a l'extrem profund i afegir-ho tot alhora. Sí, és una guia llarga: OpenHAB és un sistema difícil que sovint requereix modificacions per a les vostres necessitats i la millor manera d’assegurar-vos l’èxit és treballar lentament i completar una peça a la vegada.

La bona notícia és que, un cop funciona, és una experiència sòlida i molt gratificant.





Instal·lació d’OpenHAB

No hi ha cap imatge preconfigurada per a OpenHAB, de manera que la instal·lació es fa a l’antiga mitjançant una línia d’ordres. Us suggereixo que treballeu sense cap a l’RPi; la sobrecàrrega de gestionar una interfície gràfica d’usuari que rarament utilitzeu no val la pena.

Comenceu amb el fitxer darrera imatge SD completa de Raspbian (no la versió 'lite', no inclou la màquina virtual de Java). Connecteu el cable de xarxa i arrenceu-lo i navegueu per SSH. Correr:

sudo raspi-config

Amplieu el sistema de fitxers; i des del menú avançat, canvieu la divisió de memòria a 16. Quan hàgiu acabat, reinicieu i, com a bona pràctica, executeu una actualització completa

sudo apt-get update
sudo apt-get upgrade

La manera més senzilla d’instal·lar el temps d’execució d’OpenHAB és mitjançant apt-get , però primer hem d'afegir una clau segura i el nou dipòsit:

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

Curiosament, tot es va instal·lar com a propietari de 'root'. Hem de solucionar-ho amb les ordres següents.

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

A continuació, instal·larem Samba i compartirem la configuració i les carpetes d'usuari; això facilitarà la instal·lació de complements i canviarà el mapa del lloc de forma remota.

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

Canvieu el nom del grup de treball si cal, però si no, activeu el suport WINS:

wins support = yes

(haureu de descommentar la línia i canviar el no a sí)

a continuació, afegiu el següent a la secció de definicions de compartició (desplaceu-vos fins a la part inferior del fitxer llarg):

[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

També he comentat la secció Impressores. He fet dos recursos compartits, ja que els fitxers de configuració s’emmagatzemen de manera separada als complements.

Guardar i sortir. Finalment, hem d’establir una contrasenya Samba per a l’usuari openhab:

sudo smbpasswd -a openhab

Suggeriria 'openhab' com a contrasenya per facilitar-ne l'ús, però realment no importa.

Gràcies al lector David L: sembla que el mètode de reinici de Samba ha canviat a l'última versió de Raspian. Aquí teniu les instruccions actualitzades:

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

Després de reiniciar Samba (utilitzeu les instal·lacions anteriors reinici del servei sudo samba ), prova que pots accedir a la unitat compartida. És possible que no es descobreixi automàticament en un Mac; però podeu utilitzar el fitxer Cercador -> Vaja -> Connecteu-vos al servidor i l'adreça

smb://openhab@raspberrypi.local

Autentifiqueu-vos amb el nom d’usuari openhab i la contrasenya escollida i, a continuació, obriu els dos recursos compartits per fer una ullada al voltant. Fins i tot hauríeu de poder obrir http: //raspberrypi.local: 8080 / al navegador web, però apareixerà un error perquè encara no hem creat un mapa del lloc. Això és normal.

Ara seria un bon moment per aprendre l’ordre per afegir el registre d’OpenHAB per poder vigilar els errors.

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

Mantingueu això en execució i obriu-lo en una finestra SSH independent en tot moment mentre continueu amb la guia.

Instal·leu la Demo House

Abans d’endinsar-nos en les complexitats dels fitxers de configuració, afegir dispositius i enllaços, etc. comprovem que tot funcioni afegint el contingut de demostració. Trobareu 'Configuració de demostració' a la secció de descàrregues d'OpenHAB.org.

Un cop l'heu descomprimit, hi ha dues carpetes: addons i configuracions .

Utilitzant els recursos compartits de xarxa, copieu configuracions fins al Configuració OpenHAB compartir i sobreescriure la carpeta existent. Copia addons a l’altre OpenHAB Home compartiu, de nou, sobreescrivint les carpetes existents. Si no se us demana que sobreescriviu alguna cosa, ho feu malament. Si teniu la mirada posada en el fitxer de registre de depuració, hauríeu de veure un seguit d'activitat, ja que es fixen en les noves vinculacions i accions. Obriu raspberrypi.local: 8080 / openhab.app? Sitemap = demo per veure la demostració.

En aquest moment és una mica bàsic, però la naturalesa oberta d’OpenHAB significa que podem instal·lar un nou tema encantador més endavant o una interfície alternativa completament. De moment, només necessitàvem saber que tot funciona. Tingueu en compte que el que estem mirant es diu a mapa del lloc (res a veure amb un mapa del lloc web). Un mapa del lloc descriu la interfície d'usuari, no els dispositius reals de la xarxa o els sensors, només la interfície per visualitzar-los. Totes les parts són completament personalitzables. Per veure com s'ha creat aquest, obriu el fitxer mapes del lloc / demo.sitemap del fitxer compartit OpenHAB Config.

És força descoratjador, però, en la seva major part, copiarà enganxant fragments de codi d’exemples d’altres llocs per crear la vostra pròpia interfície personalitzada. Aquí teniu el visió tècnica de tots els elements possibles del mapa del lloc, però per ara n’hi haurà prou amb començar a pensar quin tipus d’interfície voleu crear i quina informació voleu mostrar.

Mentre hi sigui, obriu-vos articles / demo.items també. Una vegada més, sembla aterridor, però aquí és on creeu elements per controlar i definir els sensors a seguir.

Llavors, com funciona OpenHAB?

Ara que ja heu revisat ràpidament el mapa del lloc i la carpeta d’elements, descrivim exactament què són aquests fitxers i els altres components principals d’OpenHAB que es combinen per crear la vostra llar intel·ligent completa. Trobareu subdirectoris per a cadascun d’aquests a la carpeta compartida OpenHAB Config.

Articles és un inventari de tots els dispositius de control, sensor o element d'informació que desitgeu al vostre sistema. Tampoc no ha de ser un dispositiu físic; és possible que definiu una font web com ara el temps o els preus de les accions. Es pot anomenar cada element, assignar-li diversos grups (o cap) i connectar-lo a un enllaç específic. (Consell per a principiants: les majúscules són importants quan es tracta d’enquadernacions. Vaig passar molt de temps intentant esbrinar per què no funcionaven les meves bombetes 'Hue'; era perquè haurien d'haver estat 'tonalitats').

Mapes del lloc només es preocupa per la interfície que veureu quan obriu l’aplicació web o mòbil OpenHAB. Podeu controlar amb precisió com voleu que es presentin els botons i que es presenti la informació. Podeu definir grups de primer nivell per a cada habitació de casa; en fer clic a cadascun, es mostrarà una llista de tots els dispositius d’aquesta sala. O preferiu mostrar grups per a cada tipus de dispositiu: un botó per a llums i un altre per a preses de corrent. És possible que hi hagi alguns dispositius que utilitzeu tan sovint que només vulgueu canviar-los a la pantalla inicial.

Normes és on entra en joc l’aspecte domòtic, on podeu definir horaris o condicions perquè es produeixi una acció. Esdeveniments senzills com encendre els llums de l'habitació a les 22:00 a un color vermell càlid; o una lògica més complexa, com encendre un escalfador si la temperatura és inferior a 0 i hi ha algú present en aquesta habitació. També hi trobareu un scripts carpeta, que ofereix una funcionalitat similar a les regles però a un nivell més complex de lògica programable.

Persistència és un tema avançat que no tractarem en aquesta guia, però la persistència defineix les dades de les quals voleu tenir un registre. Per defecte, OpenHAB només mostrarà l'estat actual d'alguna cosa; si voleu fer un seguiment d'aquest valor al llarg del temps, heu de configurar una definició de persistència per a aquesta font de dades. En això especifiqueu coses com la freqüència amb què s’ha de mesurar un punt de dades o quan es descarten els punts de dades antics; també haureu d’indicar-li quin tipus de motor de persistència s’ha d’utilitzar, com ara MySQL o el registre senzill d’un fitxer. .

Transformar conté assignacions de valors de dades a etiquetes. Per exemple, el fitxer humidex.scale El fitxer defineix un interval de valors d'índex d'humitat i com s'han de mostrar en anglès: 29-38 és 'una mica de disconfort'.

El mapa del lloc i articles els fitxers són essencials perquè s’executi OpenHAB; la resta són opcionals. Podeu tenir diversos mapes del lloc i elements, de manera que podeu conservar el contingut de la demostració i tornar-hi a consultar en qualsevol moment o provar un nou disseny per a la vostra interfície de control domèstic. No us preocupeu si tot això sembla una mica aclaparador ara mateix, ho dividirem en trossos manejables i us prometo que al final d'aquesta guia tindreu confiança per crear la vostra pròpia configuració OpenHAB.

A continuació, us guiarem per afegir algun kit de casa intel·ligent comú, començant de zero en un nou mapa del lloc. Cadascun introduirà alguns conceptes bàsics com ara com instal·lar enllaços i definicions d’elements, així que us recomanaria que llegiu aquestes instruccions. fins i tot si no sou propietari d'aquests dispositius en particular .

Comenceu creant-ne un de nou (en blanc) home.items i un nou fitxer home.sitemap al directori corresponent. Obrir home.sitemap i enganxeu el codi següent. Això només actua com un esquelet bàsic al qual afegirem bits més endavant.

sitemap home label='My Home'
{

}

Hauríeu de veure un avís per informar que OpenHAB ha identificat un nou mapa del lloc i un fitxer d’elements.

aligncenter size-large wp-image-496593

Activeu el mode de depuració

Tot i que encara intenteu que OpenHAB funcioni correctament, pot ser útil habilitar un registre de depuració més detallat que enumeri tot, i no només les coses importants. Per habilitar aquest mode, obriu la carpeta compartida OpenHAB Config i editeu el fitxer logback.xml . A la línia 40, canvieu la línia següent per llegir DEBUG en lloc d’INFO. Haureu de reiniciar després de canviar-ho.

Es tracta d’un canvi global, de manera que obtindreu molta més informació un cop hàgiu acabat el fitxer de registre.

Addició de Philips Hue

Començaré per Philips Hue. Com la majoria de coses amb les quals voldreu interactuar a OpenHAB, les bombetes Hue requereixen que instal·leu un fitxer enquadernació - Penseu en les vinculacions com en un controlador de dispositiu. En el moment de l’escriptura, hi ha al voltant de 160 enllaços disponibles per a OpenHAB 1, raó per la qual OpenHAB és un sistema tan potent: pot interactuar amb qualsevol cosa, combinant tots aquests sistemes de control diferents en una única interfície unificada. Aquí teniu una demostració i una descripció ràpida dels passos implicats.

Els enllaços primer s’han de descarregar i la manera més senzilla de fer-ho al Pi és fer servir apt-get i, a continuació, forçeu la propietat a l'usuari openhab.

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

A continuació, haureu de dir a OpenHAB que es carregui en aquest enllaç i que configureu les variables necessàries. Aneu a la carpeta de configuracions i feu-ne una còpia openhab-default.cfg , donant-li nom openhab.cfg . Obriu-lo, cerqueu-lo Tonalitat i substituïu tota la secció pel codi següent. L'únic que heu de canviar és el valor IP del vostre pont; si encara no ho sabeu, proveu l'eina de descobriment en línia. El valor secret realment no importa, és només una mena de nom d’usuari que OpenHAB utilitzarà per identificar-se al pont.

Consell ràpid : per habilitar una línia, només cal eliminar el # des del principi. Per defecte, la línia que especifica l'adreça IP del pont està desactivada (o tècnicament, 'comentada'). A més, si proveu una configuració alternativa, pot ser útil simplement copiar la línia existent i posar un # al començament per marcar-la com a comentari, de manera que pugueu revertir fàcilment si les coses van malament.

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

Guardar i sortir. Com qualsevol aplicació de tercers de Hue, haureu d’aprovar OpenHAB al pont de Hue prement el botó de la part frontal; només cal fer-ho una vegada. Veureu un missatge sobre esperant a aparellar-se si esteu restringint el fitxer de registre, però si heu oblidat o heu perdut el compte enrere, restableix el Pi; obtindreu un temporitzador de 100 segons des que s'iniciï la vinculació Hue. Assegureu-vos que heu emparellat correctament abans de continuar.

A continuació, obriu el fitxer home.items , al qual afegirem algunes bombetes Hue. Aquí teniu un exemple de definició d'ítem:

Color Bedroom_Hue 'Bedroom Hue' (Bedroom) {hue='1'}
  • El color word especifica quin tipus de control tenim sobre aquest element. Les bombetes RGB Hue són 'Color', ja que en tenim un control complet. Pot ser que altres llums siguin només un interruptor.
  • El següent és el nom en clau de l’ítem: he triat Dormitori_Tonalitat , però, literalment, tot està bé, només és una cosa descriptiva que us sembli natural, perquè caldrà recordar-ho més endavant en fer el mapa del lloc. El nom en clau no hauria de tenir espais.
  • Entre les cometes hi ha l'etiqueta. El nostre és senzill en aquest cas, però per a alguns elements com la temperatura o alguna cosa que reporti un valor, afegirà algun codi especial que li indiqui com mostrar aquest valor o amb què transformar. L'etiqueta és per a la interfície i pot tenir espais.
  • Entre els claudàtors angulars hi ha el nom de la icona. Trobareu totes les icones disponibles al recurs compartit OpenHAB, a la secció webapps / imatges directori. En realitat, hi ha tota una gamma d’icones de tonalitat que representen diferents brillants o activats / desactivats. Només cal que especifiqueu el nom de la icona base: OpenHAB sabrà buscar automàticament les diferents icones d'activació / desactivació si es tracta d'un element canviat. Això és opcional.
  • Entre claudàtors, li indiquem de quins grups formen part, en aquest cas només Dormitori grup.
  • Finalment i de manera crucial, connectem l’element a l’enllaç adequat amb les variables necessàries. En aquest cas, el fitxer tonalitat d'enquadernació i el número de la bombeta és 1. Podeu trobar el número obrint l'aplicació oficial Hue i mirant la pestanya Llums. Cada bombeta té un número únic.

He afegit un total de quatre bombetes, així com una simple declaració dels grups que ampliarem més endavant. Aquí teniu el meu complet home.items en aquest punt:

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'}

El / * Llums * / text només és un comentari, no té cap altra funció que ajudar-nos a escanejar el fitxer més endavant quan es faci més gran. Ara tenim els dispositius afegits, però l'obertura de http: //raspberrypi.local: 8080 /? Sitemap = home dóna lloc a una interfície en blanc, és clar, perquè encara no hem creat elements d'interfície al mapa del lloc. Comencem realment senzill per ara. Obrir home.sitemap .

El codi utilitzat per descriure la interfície és diferent dels elements, però de moment crearem un nou 'marc' i afegirem un parell de controls de grup juntament amb algunes icones.

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'
}
}

Els grups són una eina útil per fer proves ràpides, però en realitat voldreu més control sobre com es mostren els elements. De moment, això n'hi haurà prou. Deseu i torneu a carregar el mapa del lloc de casa al navegador. Hauríeu de veure això (o qualsevol grup que hàgiu afegit).

Fer clic a Tota la il·luminació per veure cada llum Hue, ja que les hem definit totes com a pertanyents a aquest grup de llums generals.

Tingueu en compte que l’element d’Office Hue es mostra amb una icona diferent; això és perquè la llum de la meva oficina ja està engegada i OpenHAB ho sap quan va parlar amb el pont Hue i era prou intel·ligent per ajustar la icona a la versió “on” del fitxer. Malauradament, no reflecteix el color, però si teniu instal·lada una aplicació mòbil, reflectirà el color actual.

Si veieu més elements dels que creieu que havíeu definit o que rebeu errors sobre diverses definicions, sabeu que, tot i que només podeu carregar un mapa del lloc a la vegada a la pàgina tots els mapes del lloc extreuran els elements de tots els fitxers .item , de manera que si hi heu deixat el fitxer d'elements de demostració, és possible que també apareguin alguns elements addicionals als vostres grups. En aquest moment, suggeriria fer una còpia de seguretat del contingut dels elements de demostració i treure'l de la carpeta per evitar errors de duplicació.

Accés remot i IFTTT amb My.OpenHAB

Ara mateix, heu d’estar a la mateixa xarxa local per accedir al vostre sistema OpenHAB, però, i si voleu controlar els vostres dispositius i comprovar els sensors quan estigueu fora de l’abast del vostre Wi-Fi? Per a això, haurem de configurar l’accés remot, i ho farem de la manera més senzilla, amb el servei web My.OpenHAB [URL trencat eliminat], que evita la necessitat d’enredar amb el reenviament de ports i les configuracions del router. Com a bonificació, el servei My.OpenHAB també disposa d’un canal IFTTT, que us ofereix infinites possibilitats de control remot i automatització.

Primer: instal·leu l’enquadernació. Consell ràpid: si no sabeu el nom exacte d'un paquet d'instal·lació concret, proveu de cercar-lo amb apt-cache.

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

Abans de registrar-vos al lloc My.OpenHAB, haureu de crear una clau secreta i trobar el vostre UUID, que identifica de manera única la vostra instal·lació. Marqueu a la secció Comparteix OpenHAB Home -> webapps -> estàtic i hauríeu de trobar un fitxer UUID que contingui el vostre identificador únic. En aquest moment vaig descobrir que el meu Pi feia servir una versió anterior de Java que no crea correctament la clau secreta. Tipus

java -version

comprovar. Si no diu 1.7 o superior, teniu la versió incorrecta. Curiosament, l'última versió de Raspbian ve amb Oracle Java 8 instal·lat, però no està definit com a predeterminat.

sudo update-alternatives --config java

com ajuntar 2 fotos a l'iPhone

Trieu l'opció que indica jdk-8-oracle i reinicieu OpenHAB. Bonificació: Oracle Java 8 és més ràpid que l'OpenJDK per defecte.

Ara també hauríeu de trobar un fitxer secret al fitxer webapps / estàtic carpeta. Obriu tant el fitxer secret i uuid i estigueu a punt per copiar i enganxar.

Ara, creeu un compte My.OpenHAB, utilitzant aquests detalls, i després torneu, també haureu de confirmar el vostre correu electrònic abans que res funcioni. Hi ha un parell de passos més en aquest. En primer lloc, hem d’establir el motor de persistència per defecte a miopenhab (la persistència és alguna cosa per a una guia posterior, però, independentment, hem de configurar alguna cosa bàsica per tal d’exportar les nostres dades al servei en línia i fer-les visibles a IFTTT) . Per fer-ho, obriu openhab.cfg i cerqueu la variable que diu persistència: per defecte = i canvieu-lo per persistència: per defecte = miopenhab . Desa.

Finalment, creeu un fitxer nou al fitxer configuracions / persistència carpeta anomenada myopenhab.persist i enganxeu-la a la regla següent.

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

No cal que ho entengueu per ara, però sabeu que diu 'desa l'estat de cada element quan canvia'.

Per connectar-vos amb IFTTT, aneu a Canal OpenHAB - haureu d’autenticar-vos i donar-li accés al vostre compte MyOpenHAB. Tingueu en compte també que fins que els vostres articles no hagin canviat almenys una vegada, no seran visibles a la llista d’elements d’IFTTT, de manera que, si no és visible, activeu i desactiveu alguna cosa i torneu a carregar-la. Enhorabona, ara teniu accés IFTTT complet a tot el vostre sistema OpenHAB.

Sensor de presència Bluetooth mitjançant REST

Fa poc vaig mostrar-vos com fer un pany automàtic de la porta de l’oficina mitjançant l’escaneig Bluetooth per detectar la presència de l’usuari; volia introduir alguna cosa així a OpenHAB.

A qualsevol plataforma que no sigui Raspberry Pi, això seria senzill gràcies a una connexió Bluetooth ja feta; malauradament, no funciona a Pi a causa d’un fitxer Java crucial que hauria de tornar a compilar-se per a l’arquitectura ARM, afegir-lo a la vinculació i després reconstruir-la. N’hi ha prou amb dir-ho, ho vaig provar i era horrible i no funcionava. No obstant això, hi ha una solució molt més senzilla que també serveix com a bona introducció a la gran extensibilitat d'OpenHAB: simplement adaptarem el nostre script Python anterior perquè el reporti directament a la interfície OpenHAB RESTful.

A part: una interfície RESTful significa que podeu interactuar amb un sistema mitjançant el servidor web integrat, simplement trucant a URL i passant o recuperant dades. Podeu visitar aquest URL per veure'n un exemple senzill al vostre propi servidor: http: //raspberrypi.local: 8080 / rest / items, que mostra una llista codificada de tots els elements definits. Això és increïblement potent, ja que exposa tot el potencial d'OpenHAB i us permet escriure interfícies personalitzades; o al revés utilitzat, per informar de l'estat dels sensors sense tenir una unió específica. Utilitzarem aquesta capacitat per informar de la presència d’un dispositiu Bluetooth específic sense recórrer a l’enllaç Bluetooth.

Comenceu afegint-ne un de nou Interruptor article al vostre home.items dossier. He anomenat el meu 'JamesInOffice' i l'he convertit en un canvi en lloc d'un simple contacte d'encesa / apagada per poder controlar manualment la meva presència en cas que el meu telèfon mor.

Switch JamesInOffice 'James in Office' (Office)

Tingueu en compte que no he definit cap icona ni he associat cap enllaç específic. És només un commutador genèric.

A continuació, inseriu un dongle Bluetooth USB compatible i instal·leu algunes eines bàsiques per interactuar amb ell.

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

L'última ordre hauria de mostrar l'adaptador Bluetooth. Si no hi apareix res, proveu un altre adaptador, el vostre no és compatible amb Linux. El següent pas és trobar l'adreça de maquinari Bluetooth del dispositiu.

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

Assegureu-vos que el telèfon estigui obert a la pàgina de configuració de Bluetooth (que el posa en mode de sincronització / públic) i, òbviament, que el Bluetooth estigui activat. Heu de trobar una adreça de maquinari hexadecimal a la llista.

Des del directori inicial de l'usuari Pi, creeu un nou script Python i enganxa en aquest codi .

Hi ha algunes coses que haureu d'editar, començant per l'adreça del dispositiu en particular:

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

A més de la línia, que es troba en dos llocs (sí, probablement es podria estructurar millor). Canvieu JamesInOffice pel nom de codi del commutador que heu definit.

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

El darrer pas és indicar a aquest script que s'iniciï al moment de l'arrencada.

sudo nano /etc/rc.local

Desplaceu-vos cap avall fins a la part inferior i, just abans de la sortida 0, afegiu les línies següents:

python /home/pi/detect.py &

El signe & significa 'fer això en segon pla'. Seguiu endavant i executeu l'script si encara no ho heu fet, i obriu la vostra interfície OpenHAB. Si l'heu afegit a un grup, feu clic a aquest grup. L'actualització triga uns 10 segons, però veureu que la icona de bombeta predeterminada s'encén o s'apaga en funció de si es detecta o no el vostre telèfon. Comproveu el fitxer de registre si no passa res, pot ser que hagueu utilitzat un nom d’element incorrecte.

Aplicació mòbil OpenHAB

Tot i que, per descomptat, podeu utilitzar la interfície web des d’un dispositiu mòbil, OpenHAB té aplicacions natives per a tots dos iOS i Android - i semblen un molt millor que la interfície predeterminada del navegador. A la pantalla de configuració, introduïu l'URL local com a IP interna que utilitzeu fins ara, inclòs el número de port. Introduïu l'URL remot https://my.openhab.org , i el vostre nom d'usuari (correu electrònic) i contrasenya que heu introduït en registrar-vos. Si encara no us heu registrat a MyOpenHAB, només heu de deixar en blanc l'autenticació i l'URL remot, però només accedireu al vostre sistema des del vostre Wi-Fi local.

Avançar i obtenir ajuda

La quantitat de funcions de personalització i de qualitat que podeu afegir al controlador OpenHAB són realment èpiques. A més de la vasta llista de dispositius compatibles amb enllaços, podeu utilitzar la interfície RESTful, les extensions HTTP i IFTTT per llegir o controlar literalment qualsevol tipus de dispositiu IoT i, a continuació, alguns (proveu algunes de les nostres idees creatives d’il·luminació). Sí, és absolutament complicat instal·lar-lo, però ni un sol sistema comercial pot apropar-se a la potència d’un sistema OpenHAB personalitzat.

Dit això, el viatge no va ser gens fàcil per a mi, justament per això vaig escriure aquesta guia per facilitar-vos el procés. I si trobeu el sistema OpenHAB aclaparador, hi ha altres opcions pel que fa a la domòtica de Raspberry, com ara utilitzar Raspberry Pi per automatitzar la porta del garatge, per exemple.

Estigueu atents a MakeUseOf per obtenir una guia avançada que cobreixi Z-Wave i altres trucs divertits que pugueu configurar.

Si necessiteu ajuda amb una part específica d’aquesta guia, pregunteu als comentaris. Si voleu ajuda amb un altre enllaç o alguns temes avançats que encara no hem tractat, el fòrums oficials d’OpenHAB són un lloc acollidor.

Compartir Compartir Tweet Correu electrònic 5 consells per sobrecarregar les vostres màquines Linux de VirtualBox

Cansat del baix rendiment que ofereixen les màquines virtuals? Això és el que heu de fer per millorar el rendiment del VirtualBox.

Llegiu a continuació
Temes relacionats
  • Bricolatge
  • Smart Home
  • Domòtica
  • Forma llarga
  • Guia de forma llarga
  • Smart Hubs
Sobre l'autor James Bruce(707 articles publicats)

James té un BSc en Intel·ligència Artificial i està certificat CompTIA A + i Network +. Quan no està ocupat com a editor de ressenyes de maquinari, li agrada LEGO, VR i els jocs de taula. Abans d'unir-se a MakeUseOf, era tècnic d'il·luminació, professor d'anglès i enginyer de centres de dades.

Més de James Bruce

Subscriu-te al nostre butlletí

Uniu-vos al nostre butlletí per obtenir consells tècnics, ressenyes, llibres electrònics gratuïts i ofertes exclusives.

Feu clic aquí per subscriure-us