Introducción a OpenHAB Home Automation en Raspberry Pi
OpenHAB es una plataforma de automatización del hogar de código abierto y madura que se ejecuta en una variedad de hardware y es independiente del protocolo, lo que significa que puede conectarse a casi cualquier hardware de automatización del hogar en el mercado actual. Si está frustrado con la cantidad de aplicaciones específicas del fabricante que necesita para controlar sus luces, entonces tengo una gran noticia para usted: OpenHAB es la solución que ha estado buscando, es la casa inteligente más flexible. hub ¿Qué Smart Hub para automatización del hogar es el mejor para usted? ¿Qué Smart Hub para automatización del hogar es el mejor para usted? Por un tiempo, la gente pensó que la idea no era más que un truco, pero los últimos lanzamientos de productos han demostrado que la automatización inteligente del hogar está comenzando a cumplir sus promesas. Leer más que encontrarás.
Esta guía está disponible para descargar como un PDF gratuito.. Descargar Comenzar con OpenHAB Home Automation en Raspberry Pi ahora. Siéntase libre de copiar y compartir esto con sus amigos y familiares.Desafortunadamente, es lo más lejos que puede obtener de un consumidor amigable, pero como siempre, es donde entra en juego MakeUseOf: le mostraremos cómo ponerse en marcha con el mejor sistema de hogar inteligente que el dinero no necesita comprar (porque OpenHAB es 100% gratis - solo suministra el hardware).
La primera parte de esta guía se centra específicamente en cómo configurar OpenHAB con una Raspberry Pi 2, pero más adelante, los tutoriales y consejos se pueden aplicar a cualquier lugar donde se instale OpenHAB.
Esta guía cubre tres temas introductorios y un poco más avanzado..
- Poner en funcionamiento OpenHAB en el Pi, e instalar la configuración de la casa de demostración para comprobar que los sistemas centrales están funcionando.
- Cómo agregar enlaces, y perfiles para dispositivos. Estaré trabajando con Philips Hue.
- Habilitar el acceso remoto y conectarse a IFTTT.
- Agregar un sensor de presencia de bricolaje mediante Bluetooth y una introducción a la interfaz REST.
- Configurando la aplicación móvil OpenHAB.
Lo que necesitarás
Como mínimo, necesitará una Raspberry Pi (v2, de preferencia) y un adaptador Ethernet o inalámbrico (de preferencia Ethernet, esta guía no incluirá instrucciones para hacer que su adaptador Wi-Fi funcione. Configuración de redes inalámbricas en su Raspberry Pi Configuración de redes inalámbricas en su Raspberry Pi Prácticamente todos los proyectos de Raspberry Pi requerirán una conexión de red, y se puede obtener una flexibilidad considerable al ignorar el puerto Ethernet a favor de un dongle USB inalámbrico. Leer más). Todo lo demás es opcional. Tenga en cuenta que OpenHAB también se ejecutará en la Raspberry Pi original, pero existe un problema conocido con el procesamiento más lento y los dispositivos Z-Wave. Si no necesita Z-Wave, puede ignorar esta advertencia y seguir adelante con una Raspberry Pi modelo B o B +, porque todo lo demás parece funcionar bien. Siempre puedes actualizar a la última Pi si y cuando agregas Z-Wave.
Al momento de escribir, la última versión estable de OpenHAB es la versión 1.71; la versión 1.8 se espera pronto, y todo en esta guía debería seguir siendo relevante, aunque ciertos enlaces pueden tener más características. La versión 2 también está disponible actualmente como una versión preliminar alfa muy temprana, pero adopta una arquitectura muy diferente a la serie OpenHAB 1: esta guía no es compatible con la versión 2.
Le sugiero que siga esta guía de forma lenta y metódica. - No intente saltar al final profundo y agregue todo a la vez. Sí, es una guía larga: OpenHAB es un sistema difícil que a menudo requiere ajustes para sus necesidades, y la mejor manera de asegurar el éxito es trabajar lentamente y completar una pieza a la vez..
La buena noticia es que una vez que está funcionando, es una experiencia sólida e increíblemente gratificante..
Instalación de OpenHAB
No hay una imagen preconfigurada para OpenHAB, por lo que la instalación se realiza a la antigua usanza a través de una línea de comando. Le sugiero que trabaje sin cabeza en el RPi: la sobrecarga de administrar una GUI que rara vez usará no vale la pena.
Comience con la última (completa) imagen SD de Raspbian (no la “lite” versión, estos no incluyen la máquina virtual de Java). Conecte su cable de red, luego arranque y navegue a través de SSH. Correr:
sudo raspi-config
Expandir el sistema de archivos; y desde el menú avanzado, cambie la división de memoria a 16. Cuando termine, reinicie y, como buena práctica, ejecute una actualización completa
sudo apt-get update sudo apt-get upgrade
La forma más fácil de instalar el tiempo de ejecución de OpenHAB es a través de apt-get, pero primero necesitamos agregar una clave segura y el nuevo repositorio:
wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add - echo "deb http://dl.bintray.com/openhab/apt-repo estable 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
Curiosamente, todo fue instalado como propiedad de “raíz”. Necesitamos arreglar eso con los siguientes comandos..
sudo chown -hR openhab: openhab / etc / openhab sudo chown -hR openhab: openhab / usr / share / openhab
A continuación, instalaremos Samba y compartiremos la configuración y las carpetas de usuario. Esto facilitará la instalación de complementos y cambiará el mapa del sitio de forma remota..
sudo apt-get install samba samba-common-bin sudo nano /etc/samba/smb.conf
Cambie el nombre del grupo de trabajo si es necesario, pero de lo contrario habilite el soporte WINS:
gana soporte = si
(deberá descomentar la línea y cambiar no a sí)
luego agregue lo siguiente a la sección de definiciones de recursos compartidos (desplácese hasta el final del archivo largo):
[OpenHAB Home] comment = OpenHAB Home path = / usr / share / openhab browseable = Yes se puede escribir = Sí solo guest = no create mask = 0777 directory mask = 0777 public = no [OpenHAB Config] comment = OpenHAB Site Config path = / etc / openhab browseable = Sí se puede escribir = Sí solo guest = no create mask = 0777 directory mask = 0777 public = no
También comenté en la sección de Impresoras. He hecho dos recursos compartidos, ya que los archivos de configuración en realidad se almacenan por separado a los complementos.
Guardar y Salir. Finalmente necesitamos establecer una contraseña de Samba para el usuario de openhab:
sudo smbpasswd -un openhab
Sugeriría “openhab” como la contraseña solo para facilitar su uso, pero en realidad no importa.
Gracias al lector David L, parece que el método de reinicio de Samba ha cambiado en el último Raspian. Aquí están las instrucciones actualizadas:
sudo update-rc.d smbd habilita sudo update-rc.d nmbd habilita sudo service smbd restart
Después de reiniciar Samba (las instalaciones más antiguas usan servicio de sudo samba reinicio), prueba puedes acceder al disco compartido. Puede que no sea auto-descubierto en una Mac; pero puedes usar el Descubridor -> Ir -> Conectar al servidor y la dirección
smb: //[email protected]
Autentíquese con el nombre de usuario openhab y su contraseña elegida, luego abra ambos recursos compartidos para echar un vistazo. Incluso deberías poder abrir http: //raspberrypi.local: 8080 / en tu navegador web, pero recibirás un error porque aún no hemos creado un mapa del sitio. Eso es normal.
Ahora sería un buen momento para aprender el comando de seguimiento del registro de OpenHAB para que pueda vigilar los errores.
cola -f /var/log/openhab/openhab.log
Manténgalo en funcionamiento y ábralo en una ventana SSH independiente en todo momento mientras continúa con la guía..
Instalar la casa de demostración
Antes de ahondar en las complejidades de los archivos de configuración, agregar dispositivos y enlaces, etc. Vamos a comprobar que todo está funcionando agregando el contenido de demostración. Encontrarás “Configuración de demostración” en la sección de descargas de OpenHAB.org.
Una vez que lo hayas descomprimido, hay dos carpetas: addons y configuraciones.
Usando los recursos compartidos de red, copia configuraciones al OpenHAB Config compartir y sobrescribir la carpeta existente. Dupdo addons para el otro OpenHAB Inicio compartir, de nuevo, sobrescribiendo las carpetas existentes. Si no se te pide que sobrescribas algo, lo estás haciendo mal. Si tiene el ojo puesto en el archivo de registro de depuración, debería ver un alboroto de actividad, ya que advierte los nuevos enlaces y zumba en acción. Abra raspberrypi.local: 8080 / openhab.app? Sitemap = demo para ver la demo.
Es un poco básico en este momento, pero la naturaleza abierta de OpenHAB significa que podemos instalar un nuevo tema encantador más tarde o una interfaz alternativa por completo. Por ahora, solo necesitamos saber que todo está funcionando. Tenga en cuenta que lo que estamos viendo se llama mapa del sitio (nada que ver con un mapa del sitio web). Un mapa del sitio describe la interfaz de usuario, no los dispositivos reales en su red o sensores, solo la interfaz para verlos. Cada parte de ella es completamente personalizable. Para ver cómo se ha creado éste, abre el sitemaps / demo.sitemap archivo en la configuración de OpenHAB.
Es bastante desalentador, pero en su mayor parte copiará pegando fragmentos de código de ejemplos en otros lugares para crear su propia interfaz personalizada. Aquí está la descripción técnica de todos los elementos posibles del mapa del sitio, pero por ahora será suficiente solo para comenzar a pensar qué tipo de interfaz desea construir y qué información desea mostrar..
Mientras estás allí, abre artículos / demo.items también. Una vez más, parece aterrador, pero aquí es donde se crean elementos para controlar y definir sensores para rastrear.
Entonces, ¿cómo funciona OpenHAB??
Ahora que ha leído rápidamente el mapa del sitio y la carpeta de elementos, analicemos exactamente qué son estos archivos y los otros componentes principales de OpenHAB que se combinan para crear su hogar inteligente completo. Encontrará subdirectorios para cada uno de estos en la carpeta compartida de OpenHAB Config..
Artículos es un inventario de cada dispositivo de control, sensor o elemento de información que desea en su sistema. Tampoco es necesario que sea un dispositivo físico: puede definir una fuente web como el clima o los precios de las acciones. Cada elemento se puede nombrar, asignar múltiples grupos (o ninguno) y conectarse a un enlace específico. (Consejo para principiantes: el uso de mayúsculas es importante cuando se trata de encuadernaciones. Pasé mucho tiempo tratando de averiguar por qué mi “Matiz” bombillas no funcionaban; fue porque debieron haber sido “matiz” en lugar).
Sitemaps solo se preocupa por la interfaz que verá cuando abra la aplicación móvil o web OpenHAB. Puede controlar con precisión cómo desea que se distribuyan los botones y la información presentada. Podrías definir grupos de nivel superior para cada habitación de tu casa; Al hacer clic en cada uno de ellos, se mostrará una lista de todos los dispositivos en esa sala. O quizás prefiera mostrar grupos para cada tipo de dispositivo: un botón para luces y otro para tomas de corriente. Puede haber algunos dispositivos que usa con tanta frecuencia que solo desea un interruptor para ellos directamente en la pantalla de inicio.
Reglas es donde el aspecto de la automatización del hogar entra en juego, donde puede definir horarios o condiciones para que ocurra una acción. Eventos simples como encender las luces del dormitorio a las 10 p. M. A un color rojo cálido; o lógica más compleja como encender un calentador de espacio si la temperatura es inferior a 0 y hay alguien presente en esa habitación. También encontrarás un guiones carpeta, que ofrece una funcionalidad similar a las reglas pero a un nivel más complejo de lógica programable.
Persistencia es un tema avanzado que no cubriremos en esta guía, pero la persistencia define los datos que desea mantener un registro. Por defecto, OpenHAB solo mostrará el estado actual de algo; Si desea realizar un seguimiento de ese valor a lo largo del tiempo, debe configurar una definición de persistencia para esa fuente de datos. En esto, especificará cosas como la frecuencia con la que se debe medir un punto de datos o cuándo descartar los puntos de datos antiguos. También deberá decirle qué tipo de motor de persistencia debe utilizar, como MySQL o el registro simple en un archivo..
Transformar Contiene mapeos para valores de datos a etiquetas. Por ejemplo, el humidex.scala El archivo define un rango de valores de índice de humedad y cómo deben mostrarse en inglés: 29-38 es “algo de incomodidad”.
los mapa del sitio y artículos los archivos son esenciales para que se ejecute OpenHAB; el resto son opcionales. Puede tener múltiples mapas de sitio y elementos, por lo que puede mantener el contenido de la demostración y volver a consultarlos en cualquier momento, o probar un nuevo diseño para la interfaz de control de su hogar. No se preocupe si todo esto parece un poco abrumador en este momento, lo dividiremos en partes manejables y prometo que al final de esta guía, tendrá confianza para crear su propia configuración de OpenHAB.
A continuación, lo guiaremos a través de la adición de un kit de casa inteligente común, comenzando desde cero en un nuevo mapa del sitio. Cada uno introducirá algunos conceptos básicos, como la instalación de enlaces y las definiciones de elementos, por lo que le recomiendo que lea estas instrucciones. incluso si usted no posee esos dispositivos particulares.
Comience creando un nuevo (en blanco) home.items archivo, y un nuevo home.sitemap archivo en los directorios pertinentes. Abrir home.sitemap y pegar en el siguiente código. Esto solo actúa como un esqueleto básico al que agregaremos bits más adelante..
sitemap home label = "My Home"
Debería ver un aviso para informar que OpenHAB ha identificado un nuevo mapa del sitio y un archivo de elementos..
Habilitar el modo de depuración
Mientras aún intenta que OpenHAB funcione correctamente, puede ser útil habilitar un registro de depuración más detallado que incluya todo, y no solo las cosas importantes. Para habilitar este modo, abra la carpeta compartida OpenHAB Config y edite el logback.xml. En la línea 40, cambie la siguiente línea para leer DEBUG en lugar de INFO. Tendrás que reiniciar después de cambiar esto..
Este es un cambio global, por lo que obtendrá mucha más información una vez que haya seguido el archivo de registro.
Añadiendo Philips Hue
Voy a empezar con Philips Hue. Como con la mayoría de las cosas con las que querrá interactuar en OpenHAB, las bombillas Hue requieren que instale un Unión - Piense en los enlaces como un controlador de dispositivo. Al momento de escribir, hay alrededor de 160 enlaces disponibles para OpenHAB 1, razón por la cual OpenHAB es un sistema tan poderoso: puede interactuar con cualquier cosa, combinando todos esos sistemas de control dispares en una sola interfaz unificada. Aquí hay una demostración y una descripción general rápida de los pasos involucrados..
Primero se deben descargar los enlaces, y la forma más fácil de hacer esto en el Pi es usando apt-get, A continuación, forzar la propiedad al usuario abierto.
sudo apt-get install openhab-addon-binding-hue sudo chown -hR openhab: openhab / usr / share / openhab
A continuación, debe indicar a OpenHAB que cargue ese enlace y que configure las variables necesarias. Vaya a la carpeta de configuraciones y haga una copia de openhab-default.cfg, nombrarlo openhab.cfg. Abre eso, busca MATIZ y reemplazar toda la sección con el siguiente código. Lo único que necesita cambiar es el valor de IP de su puente: si aún no lo sabe, pruebe la herramienta de descubrimiento en línea. El valor secreto no importa en realidad, es solo un tipo de nombre de usuario que OpenHAB usará para identificarse en el puente.
Consejo rapido: para habilitar una línea, simplemente quite el # desde el principio. De forma predeterminada, la línea que especifica la dirección IP del puente está deshabilitada (o técnicamente, “Comentado”). Además, si está probando una configuración alternativa, puede ser útil simplemente copiar la línea existente y poner un # al principio para marcarla como un comentario, para que pueda revertir fácilmente si las cosas salen mal..
################################ HUE Binding ################ #########################
# IP del tono Hue bridge: ip = 192.168.1.216 hue: secret = makeuseofdotcom hue: refresh = 10000
Guardar y Salir. Al igual que cualquier aplicación de Hue de terceros, deberá aprobar OpenHAB en el Puente de Hue presionando el botón en la parte frontal, solo debe hacerlo una vez. Verás un mensaje sobre esperando ser emparejados si está siguiendo el archivo de registro, pero si olvidó o perdió la cuenta regresiva, simplemente reinicie el Pi: obtendrá un temporizador de 100 segundos desde el inicio de la vinculación de Hue. Asegúrate de haber emparejado correctamente antes de continuar.
A continuación, abre la home.items Archivo, al que añadiremos unas bombillas de tono. Aquí hay un ejemplo de definición de elemento:
Color Dormitorio_Hue "Dormitorio Hue" (Dormitorio) hue = "1"
- los Color La palabra especifica qué tipo de control tenemos sobre este elemento. Las bombillas RGB Hue son “Color”, Ya que tenemos el control total del color de ellos. Otras luces pueden ser solo un interruptor.
- El siguiente es el nombre en clave del artículo: elegí Dormitorio_Hue, pero, literalmente, todo está bien, solo algo descriptivo que te parezca natural, porque tendrás que recordarlo más adelante al crear el mapa del sitio. El nombre en clave no debe tener espacios..
- Entre las comillas está la etiqueta. El nuestro es simple en este caso, pero para algunos elementos como la temperatura o algo que informa un valor, agregará un código especial que le indicará cómo mostrar ese valor o usar qué transformar. La etiqueta es para la interfaz, y puede tener espacios..
- Entre los corchetes angulares está el nombre del icono. Encontrará todos los iconos disponibles en el recurso compartido de OpenHAB, bajo la webapps / imagenes directorio. En realidad, hay toda una gama de iconos de tonos que representan diferentes brillos o de encendido / apagado. Solo especifique el nombre del icono base: OpenHAB sabrá buscar automáticamente los diferentes iconos de encendido / apagado si este es un elemento cambiado. Esto es opcional.
- En los paréntesis, le decimos de qué grupos forman parte, en este caso, solo el Habitación grupo.
- Finalmente y de manera crucial, conectamos el elemento a la unión apropiada con cualquier variable necesaria. En este caso, la matiz enlace, y el número de la bombilla es 1. Puede encontrar el número abriendo la aplicación oficial de Hue y mirando la pestaña de luces. Cada bombilla tiene un número único..
He agregado un total de cuatro bombillas, así como una simple declaración de los grupos que ampliaremos más adelante. Aquí está mi completa home.items en este punto:
Grupo Dormitorio Dormitorio Oficina Grupo Kai Grupo Living_Room Grupo Cine Grupo Secreto
Luces de grupo
/ * Luces * / Color Dormitorio_Hue "Dormitorio Hue" (Dormitorio, luces) hue = "1" Color Office_Hue "Office Hue" (Oficina, Luces) hue = "2" Color Secret_Hue "Tono secreto" (Secreto, luces) hue = "3" Color Kai_Hue "Tono de Kai" (Kai, luces) hue = "4"
los / * Luces * / el texto es solo un comentario, no tiene otra función que nos ayude a analizar el archivo más adelante cuando sea más grande. Ahora hemos agregado los dispositivos, pero abrir http: //raspberrypi.local: 8080 /? Sitemap = home da como resultado una interfaz en blanco, por supuesto, porque aún no hemos creado elementos de interfaz en el sitemap. Vamos a empezar realmente simple por ahora. Abrir home.sitemap.
El código utilizado para describir la interfaz es diferente a los elementos, pero por ahora crearemos una nueva “cuadro” y agrega un par de controles de grupo junto con algunos iconos.
sitemap home label = "Mi hogar" Marco Elemento de grupo = Luces etiqueta = "Todo iluminación" icon = "color" Elemento de grupo = Dormitorio etiqueta = "Dormitorio" icon = "dormitorio" Elemento de grupo = Oficina etiqueta = "Oficina" = "escritorio"
Los grupos son una herramienta útil para realizar pruebas rápidas, pero en realidad querrá tener más control sobre cómo se muestran los elementos. Por ahora, esto será suficiente. Guarda y vuelve a cargar el sitemap de tu casa en el navegador. Deberías ver esto (o cualquier grupo que hayas agregado).
Haga clic en Toda la iluminación para ver todas las luces de Hue, ya que las hemos definido como pertenecientes a ese grupo de luces generales.
Observe que el elemento Office Hue se muestra con un ícono diferente; eso se debe a que la luz de mi oficina ya está encendida, y OpenHAB lo sabe cuando habló al puente de Hue y fue lo suficientemente inteligente como para ajustar el ícono “en” Versión del archivo. Desafortunadamente, no refleja el color, pero si tienes una aplicación móvil instalada, eso reflejará el color actual.
Si ve más elementos de los que pensaba que había definido o recibe errores sobre varias definiciones, tenga en cuenta que aunque solo puede cargar un mapa del sitio a la vez en la página todos los sitemaps extraerán elementos de todos los archivos .item, por lo tanto, si ha dejado el archivo de elementos de demostración allí, es posible que también muestre algunos elementos adicionales en sus grupos. En este punto, sugiero hacer una copia de seguridad del contenido de los elementos de demostración y moverlo fuera de la carpeta para evitar errores de duplicación..
Acceso remoto e IFTTT con My.OpenHAB
En este momento, necesita estar en la misma red local para acceder a su sistema OpenHAB, pero ¿qué sucede si desea controlar sus dispositivos y verificar los sensores cuando está fuera del alcance de su Wi-Fi? Para eso tendremos que configurar el acceso remoto, y lo haremos de la manera más fácil, con el servicio web My.OpenHAB, que evita la necesidad de alterar la configuración del enrutamiento y el reenvío de puertos. Como beneficio adicional, el servicio My.OpenHAB también tiene un canal IFTTT, que le brinda infinitas posibilidades para el control remoto y la automatización..
En primer lugar: instalar el enlace. Consejo rápido: si no conoce el nombre exacto de un paquete de instalación en particular, intente buscarlo con apt-cache.
sudo apt-get install openhab-addon-io-myopenhab sudo chown -hR openhab: openhab / usr / share / openhab
Antes de que pueda registrarse en el sitio My.OpenHAB, deberá crear una clave secreta y encontrar su UUID, que identifica de forma única su instalación. Compruebe debajo del OpenHAB Inicio compartir -> aplicaciones web -> estático y debería encontrar un archivo UUID que contenga su identificador único. En este punto, descubrí que mi Pi estaba usando una versión anterior de Java que no crea correctamente la clave secreta. Tipo
java -version
verificar. Si no dice 1.7 o superior, tienes la versión incorrecta. Curiosamente, la última versión de Raspbian viene con Oracle Java 8 instalado, pero no configurado como predeterminado.
sudo actualización-alternativas --config java
Elige la opción que indique. jdk-8-oracle, a continuación, reinicie OpenHAB. Bono: Oracle Java 8 es más rápido que el OpenJDK predeterminado!
Ahora también deberías encontrar un archivo secreto en el aplicaciones web / estáticas carpeta. Abrir tanto el secreto y uuid, y prepárate para copiar pegar.
Ahora vaya a crear una cuenta My.OpenHAB, usando esos detalles, luego regrese, también deberá confirmar su correo electrónico antes de que algo funcione. Hay un par de pasos más para este. Primero, debemos configurar el motor de persistencia predeterminado en myopenhab (la persistencia es algo para una guía posterior, pero a pesar de eso, necesitamos configurar algo básico para “exportar” nuestros datos al servicio en línea y hacerlos visibles para IFTTT). Para hacer esto, abre openhab.cfg y encuentra la variable que dice persistencia: por defecto = y cambiarlo a persistencia: por defecto = myopenhab. Salvar.
Por último, crea un nuevo archivo en el configuraciones / persistencia carpeta llamada myopenhab.persist, y pegar en la siguiente regla.
Estrategias default = everyChange Items *: strategy = everyChange
No necesitas entender esto por ahora, pero debes saber que dice “Guardar cada estado del artículo cuando cambia”.
Para conectarse con IFTTT, diríjase al canal OpenHAB; tendrá que autenticarse y darle acceso a su cuenta MyOpenHAB. También tenga en cuenta que hasta que sus elementos hayan cambiado al menos una vez, no serán visibles en la lista de elementos en IFTTT, así que si no está visible, active y desactive algo, luego vuelva a cargar. Enhorabuena, ahora tiene acceso completo a IFTTT a todo en su sistema OpenHAB!
Sensor de presencia Bluetooth usando REST
Hace poco le mostré cómo hacer un cierre automático de la puerta de la oficina usando Bluetooth. Hacer una puerta de la oficina con bloqueo automático con un sensor de proximidad para el teléfono inteligente. Hacer una puerta de la oficina con bloqueo automático con un sensor de proximidad para el teléfono inteligente. Estaremos configurando una Raspberry Pi con un El adaptador Bluetooth estará atento cuando su teléfono inteligente esté fuera del alcance, y active un relé para bloquear la puerta. Lea más Escaneo para detectar la presencia del usuario: quería introducir algo así en OpenHAB.
En cualquier plataforma que no sea Raspberry Pi, esto sería simple gracias a un enlace Bluetooth ya hecho; desafortunadamente, no funciona en Pi debido a un archivo Java crucial que tendría que volver a compilarse para la arquitectura ARM, agregarse al enlace y luego reconstruir el enlace. Basta con decir que lo intenté, y fue horriblemente complicado y no funcionó. Sin embargo, hay una solución mucho más sencilla que también sirve como una buena introducción a la amplia capacidad de OpenHAB: simplemente adaptaremos nuestro script Python anterior para que informe directamente a la interfaz RESTful de OpenHAB.
Aparte: una interfaz REST significa que puedes interactuar con un sistema usando el servidor web incorporado, simplemente llamando a las URL y pasando o buscando datos. Puede visitar esta URL para ver un ejemplo sencillo de esto en su propio servidor: http: //raspberrypi.local: 8080 / rest / items, que genera una lista codificada de todos los elementos definidos. Esto es increíblemente poderoso, ya que expone todo el potencial de OpenHAB y le permite escribir interfaces personalizadas; o en reversa utilizada, para informar el estado de los sensores sin tener un enlace específico. Utilizaremos esta capacidad para informar la presencia de un dispositivo Bluetooth específico sin tener que recurrir al enlace de Bluetooth.
Comience agregando un nuevo Cambiar artículo a su home.items expediente. He llamado al mio “JamesInOffice”, y lo he hecho un interruptor en lugar de un simple contacto de encendido / apagado para que pueda controlar manualmente mi presencia en caso de que mi teléfono muera.
Cambiar JamesInOffice "James en la oficina" (Oficina)
Tenga en cuenta que no he definido un icono o asociado un enlace específico. Es solo un interruptor genérico..
A continuación, inserte un adaptador USB compatible con Bluetooth e instale algunas herramientas básicas para interactuar con él..
sudo apt-get install bluez python-bluez python-pip sudo pip solicitudes de instalación hcitool dev
El último comando debe mostrar su adaptador Bluetooth. Si no hay nada en la lista, pruebe con otro adaptador, el suyo no es compatible con Linux. El siguiente paso es encontrar la dirección de hardware Bluetooth de su dispositivo.
wget https://pybluez.googlecode.com/svn/trunk/examples/simple/inquiry.py python inquiry.py
Asegúrese de que su teléfono esté abierto en la página de configuración de Bluetooth (que lo pone en modo público / emparejamiento) y, obviamente, que Bluetooth esté activado. Debes encontrar una dirección de hardware hexadecimal en la lista.
Desde el directorio de inicio de su usuario Pi, cree un nuevo script de Python y péguelo en este código.
Hay algunas cosas que necesitarás editar, comenzando con la dirección de tu dispositivo en particular:
resultado = bluetooth.lookup_name ('78: 7F: 70: 38: 51: 1B ', tiempo de espera = 5)
Además de esta línea, que está en dos lugares (sí, probablemente podría estructurarse mejor). Cambie JamesInOffice al nombre en clave del conmutador que definió.
r = requests.put ("http: // localhost: 8080 / rest / items / JamesInOffice / state", data = payload)
El último paso es decirle a este script que se inicie en el momento del arranque.
sudo nano /etc/rc.local
Desplácese hacia abajo hasta la parte inferior y justo antes de la salida 0, agregue las siguientes líneas:
python /home/pi/detect.py &
El signo & significa “haz esto en el fondo”. Continúe y ejecute el script si aún no lo ha hecho, y abra su interfaz OpenHAB. Si lo has agregado a un grupo, haz clic en ese grupo. La actualización demora aproximadamente 10 segundos, pero verá que el ícono de bombilla predeterminado se enciende o apaga dependiendo de si su teléfono se detectó o no. Verifique el archivo de registro si no sucede nada, podría ser que haya usado el nombre del artículo incorrecto.
Aplicación móvil OpenHAB
Aunque, por supuesto, puede utilizar la interfaz web desde un dispositivo móvil, OpenHAB tiene aplicaciones nativas para iOS y Android, y tienen un aspecto mucho mejor que la interfaz del navegador por defecto. En la pantalla de configuración, ingrese la URL local como la IP interna que ha estado usando hasta ahora, incluido el número de puerto. Para URL remota, ingrese https://my.openhab.org, y su nombre de usuario (correo electrónico) y la contraseña que ingresó al registrarse. Si aún no se ha registrado en MyOpenHAB, deje la autenticación y la URL remota en blanco, pero solo podrá acceder a su sistema desde su Wi-Fi local.
Avanzando y obteniendo ayuda
La cantidad de características personalizadas y nítidas que puede agregar a su controlador OpenHAB es realmente una especie de épica. Además de la amplia lista de dispositivos admitidos con enlaces, puede usar la interfaz REST, las extensiones HTTP y IFTTT para leer o controlar literalmente cualquier tipo de dispositivo IoT y, a continuación, algunos (pruebe algunas de nuestras ideas creativas de iluminación) 7 Usos creativos para la iluminación de automatización del hogar con LED de color 7 Usos creativos para la iluminación de automatización del hogar con LED de color Encender las luces automáticamente es genial, pero no aprovecha el espectro completo de colores disponibles con la iluminación RGB. Para eso, debemos ser creativos . Lee mas ). Sí, es una molestia absoluta para instalar, pero ni un solo sistema comercial puede acercarse a la potencia de un sistema OpenHAB personalizado.
Dicho esto, el viaje no fue nada fácil para mí, que es precisamente el motivo por el que escribí esta guía, para facilitarle el proceso. Y si encuentra que el sistema OpenHAB es abrumador, hay otras opciones cuando se trata de la automatización del hogar Raspberry, como usar Raspberry Pi para automatizar la puerta de su garaje Cómo automatizar la puerta de su garaje con IFTTT y Raspberry Pi Cómo automatizar la puerta de su garaje con IFTTT y Raspberry Pi En este tutorial, le mostraremos cómo automatizar la puerta de su garaje usando nada más que una Raspberry Pi e IFTTT. Leer más por ejemplo.
Manténgase sintonizado con MakeUseOf para obtener una guía avanzada que cubre Z-Wave y otros trucos geniales que puede configurar.
Si necesita ayuda con una parte específica de esta guía, pregunte en los comentarios. Si desea ayuda con otro enlace o algunos temas avanzados que aún no hemos cubierto, los foros oficiales de OpenHAB son un lugar acogedor.
Obtenga más información sobre: Automatización del hogar, Guía de forma larga, Smart Hubs.