Introduzione a OpenHAB Home Automation su Raspberry Pi
OpenHAB è una piattaforma di automazione domestica matura e open source che funziona su una varietà di hardware ed è indipendente dal protocollo, il che significa che può connettersi a quasi tutti gli hardware di automazione domestica presenti oggi sul mercato. Se sei stato frustrato dal numero di app specifiche del produttore che devi eseguire solo per controllare le luci, allora ho delle ottime notizie per te: OpenHAB è la soluzione che stavi cercando: è la casa intelligente più flessibile hub Quale Smart Hub per la domotica è la cosa migliore per te? Quale Smart Hub per la domotica è la cosa migliore per te? Per un po 'la gente pensò che l'idea non fosse altro che un trucco, ma le recenti versioni del prodotto hanno dimostrato che la domotica intelligente sta iniziando a essere all'altezza delle sue promesse. Leggi di più che troverai mai.
Questa guida è disponibile per il download come PDF gratuito. Scarica Inizia subito con OpenHAB Home Automation su Raspberry Pi ora. Sentiti libero di copiare e condividere questo con i tuoi amici e familiari.Sfortunatamente, è più lontano che puoi ottenere dal consumer-friendly, ma come sempre, è qui che entra in gioco MakeUseOf: ti mostreremo come farlo funzionare con il massimo del sistema di casa intelligente che i soldi non devono comprare (perché OpenHAB è 100% gratuito - basta fornire l'hardware).
La prima parte di questa guida si concentra in particolare su come ottenere l'installazione di OpenHAB con un Raspberry Pi 2, ma più avanti, le esercitazioni e i consigli possono essere applicati ovunque sia installato OpenHAB.
Questa guida copre tre argomenti introduttivi e uno leggermente più avanzato.
- Ottenere OpenHAB attivo e funzionante sul Pi e installare la configurazione della demo house per controllare che i sistemi di base funzionino.
- Come aggiungere collegamenti e profili per i dispositivi. Lavorerò con Philips Hue.
- Abilitazione dell'accesso remoto e connessione a IFTTT.
- Aggiunta di un sensore di presenza fai-da-te tramite Bluetooth e un'introduzione all'interfaccia REST.
- Configurazione dell'app mobile OpenHAB.
Cosa ti serve
Per lo meno, avrai bisogno di un Raspberry Pi (v2, preferibilmente), e di un adattatore Ethernet o wireless (preferibilmente Ethernet, questa guida non includerà le istruzioni per far funzionare la tua scheda Wi-Fi Impostazione della rete wireless sul tuo Raspberry Pi Configurazione di reti wireless sul tuo Raspberry Pi Praticamente ogni progetto Raspberry Pi richiede una connessione di rete e si può ottenere una notevole flessibilità ignorando la porta Ethernet a favore di un dongle USB wireless. Tutto il resto è facoltativo. Nota che OpenHAB verrà eseguito anche sul Raspberry Pi originale, ma c'è un problema noto con l'elaborazione più lenta e i dispositivi Z-Wave. Se non hai bisogno di Z-Wave, puoi tranquillamente ignorare questo avviso e andare avanti con un modello Raspberry Pi B o B +, perché tutto il resto sembra funzionare bene. È sempre possibile eseguire l'aggiornamento all'ultima Pi se e quando si aggiunge Z-Wave.
Al momento della scrittura, l'ultima versione stabile di OpenHAB è la versione 1.71; la versione 1.8 è attesa a breve, e tutto in questa guida dovrebbe essere ancora pertinente, anche se alcuni binding potrebbero avere più funzionalità. La versione 2 è attualmente disponibile come anteprima alpha molto precoce, ma adotta un'architettura radicalmente diversa dalla serie OpenHAB 1: questa guida non è compatibile con la versione 2.
Vi consiglio caldamente di seguire questa guida lentamente e metodicamente - non tentare di saltare alla fine profonda e aggiungere tutto in una volta. Sì, è una guida lunga: OpenHAB è un sistema difficile che spesso richiede una messa a punto per le tue esigenze e il modo migliore per garantire il successo è lavorare lentamente e completare un pezzo alla volta.
La buona notizia è che una volta che funziona, è un'esperienza solida e incredibilmente gratificante.
Installare OpenHAB
Non esiste un'immagine preconfigurata per OpenHAB, quindi l'installazione viene eseguita alla vecchia maniera tramite una riga di comando. Vi suggerisco di lavorare senza headless sul RPi - il sovraccarico di gestione di una GUI che userete raramente non vale la pena.
Inizia con l'ultima immagine (completa) di Raspbian SD (non la “Light” versione, questi non includono la Java Virtual Machine). Inserisci il cavo di rete collegato, quindi avvia il sistema e naviga attraverso SSH. Correre:
sudo raspi-config
Espandi il filesystem; e dal menu avanzato, cambia la suddivisione della memoria in 16. Una volta terminato, riavvia, e come buona pratica, esegui un aggiornamento completo
sudo apt-get update sudo apt-get upgrade
Il modo più semplice per installare il runtime di OpenHAB è tramite apt-get, ma prima dobbiamo aggiungere una chiave sicura e il nuovo repository:
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 valori predefiniti di openhab
Curiosamente, tutto è stato installato come di proprietà di “radice”. Dobbiamo sistemarlo con i seguenti comandi.
sudo chown -hR openhab: openhab / etc / openhab sudo chown -hR openhab: openhab / usr / share / openhab
Successivamente, installeremo Samba e condivideremo la configurazione e le cartelle utente: ciò faciliterà l'installazione dei componenti aggiuntivi e la modifica della Sitemap da remoto.
sudo apt-get install samba samba-common-bin sudo nano /etc/samba/smb.conf
Modificare il nome del gruppo di lavoro, se necessario, ma in caso contrario abilitare il supporto WINS:
vince il supporto = si
(dovrai togliere il commento dalla riga e cambiare no a yes)
quindi aggiungi quanto segue alla sezione delle definizioni di condivisione (scorri fino alla fine del file lungo):
[OpenHAB Home] comment = OpenHAB Percorso home = / usr / share / openhab browseable = Sì scrivibile = Sì solo guest = no create mask = 0777 directory mask = 0777 public = no [OpenHAB Config] comment = OpenHAB Site Config path = / etc / openhab browseable = Sì scrivibile = Sì solo ospite = no crea maschera = 0777 maschera directory = 0777 pubblico = no
Ho anche commentato la sezione Stampanti. Ho effettuato due condivisioni, poiché i file di configurazione sono in realtà archiviati separatamente nei componenti aggiuntivi.
Salva ed esci. Abbiamo finalmente bisogno di impostare una password Samba per l'utente di openhab:
sudo smbpasswd -a openhab
Suggerirei “openhab” come la password solo per facilità d'uso, ma non importa.
Grazie al lettore David L - sembra che il metodo di riavvio di Samba sia cambiato nell'ultimo Raspian. Ecco le istruzioni aggiornate:
sudo update-rc.d smbd abilita sudo update-rc.d nmbd abilita il servizio sudo smbd restart
Dopo aver riavviato Samba (uso delle installazioni precedenti riavvio del servizio sudo sudo), prova a poter accedere all'unità condivisa. Potrebbe non essere rilevato automaticamente su un Mac; ma puoi usare il mirino -> Partire -> Connetti al server e l'indirizzo
smb: //[email protected]
Autenticati con nome utente openhab e la tua password scelta, quindi apri entrambe le tue condivisioni per dare un'occhiata in giro. Dovresti anche poter aprire http: //raspberrypi.local: 8080 / nel tuo browser web, ma ti verrà riscontrato un errore perché non abbiamo ancora creato una Sitemap. È normale.
Ora sarebbe il momento giusto per imparare il comando per eseguire il log di OpenHAB in modo da poter tenere d'occhio gli errori.
tail -f /var/log/openhab/openhab.log
Continuate a farlo funzionare e apritelo in una finestra SSH separata in ogni momento mentre continuate con la guida.
Installa la Demo House
Prima di approfondire la complessità dei file di configurazione, aggiungendo dispositivi e associazioni ecc; controlliamo tutto funziona aggiungendo il contenuto della demo. Lo troverai “Configurazione Demo” sotto la sezione download di OpenHAB.org.
Dopo averlo decompresso, ci sono due cartelle: addons e configurazioni.
Utilizzando le condivisioni di rete, copia configurazioni al OpenHAB Config condividere e sovrascrivere la cartella esistente. copia addons all'altro OpenHAB Home condividere, ancora una volta, sovrascrivere le cartelle esistenti. Se non ti viene chiesto di sovrascrivere qualcosa, stai sbagliando. Se hai il tuo occhio sul file di log di debug, dovresti vedere una vibrazione di attività mentre nota i nuovi binding e i whirl in azione. Apri raspberrypi.local: 8080 / openhab.app? Sitemap = demo per vedere la demo.
È un po 'semplice al momento, ma la natura aperta di OpenHAB significa che possiamo installare un nuovo tema adorabile in seguito o un'interfaccia alternativa interamente. Per ora, dovevamo solo sapere che tutto funziona. Nota che ciò che stiamo guardando è chiamato a Mappa del sito (niente a che fare con una mappa del sito web). Una mappa del sito descrive l'interfaccia utente, non i dispositivi reali sulla rete o i sensori, solo l'interfaccia per visualizzarli. Ogni parte di esso è completamente personalizzabile. Per dare un'occhiata a come è stato creato questo, apri il Sitemap / demo.sitemap file sulla condivisione di OpenHAB Config.
È piuttosto scoraggiante, ma per la maggior parte dei casi dovrai copiare i frammenti di codice incollati da altri esempi per creare la tua interfaccia personalizzata. Ecco la panoramica tecnica di tutti i possibili elementi della Sitemap, ma per ora basterà solo iniziare a pensare a quale tipo di interfaccia vuoi costruire e quali informazioni vuoi mostrare.
Mentre sei lì, apri articoli / demo.items pure. Di nuovo, sembra spaventoso, ma qui è dove crei gli oggetti per controllare e definire i sensori da tracciare.
Quindi come funziona OpenHAB?
Ora che hai avuto una breve panoramica della sitemap e della cartella degli articoli, analizziamo esattamente quali sono questi file e gli altri componenti principali di OpenHAB che si combinano per creare la tua casa intelligente completa. Troverai sottodirectory per ognuno di questi nella cartella condivisa di OpenHAB Config.
Elementi è un inventario di ogni dispositivo di controllo, sensore o elemento informativo che desideri nel tuo sistema. Neanche è necessario un dispositivo fisico: potresti definire una fonte web come il tempo o i prezzi delle azioni. Ogni voce può essere nominata, assegnata a più gruppi (o nessuno) e collegata a un'associazione specifica. (Suggerimento per principianti: la capitalizzazione è importante quando si tratta di attacchi. Ho passato molto tempo a cercare di capire perché il mio “colore” le lampadine non funzionavano; era perché avrebbero dovuto essere “colore” anziché).
Sitemaps riguarda solo l'interfaccia che vedrai quando apri l'app mobile o web di OpenHAB. È possibile controllare esattamente come si desidera che i pulsanti siano disposti e le informazioni presentate. Puoi definire gruppi di livello superiore per ogni stanza della tua casa; facendo clic su ognuno di essi viene visualizzato un elenco di tutti i dispositivi in quella stanza. Oppure potresti preferire mostrare i gruppi per ciascun tipo di dispositivo: un pulsante per le luci, un altro per le prese elettriche. Potrebbero esserci alcuni dispositivi che utilizzi così spesso che desideri semplicemente un interruttore per loro direttamente nella schermata iniziale.
Regole è qui che entra in gioco l'aspetto domotico, in cui è possibile definire gli orari o le condizioni per l'azione. Eventi semplici come accendere le luci della camera da letto alle 22:00 con un caldo colore rosso; o una logica più complessa come accendere uno scaldabagno se la temperatura è inferiore a 0 e qualcuno è presente in quella stanza. Troverete anche a script cartella, che offre funzionalità simili alle regole ma a un livello più complesso di logica programmabile.
Persistenza è un argomento avanzato che non tratteremo in questa guida, ma la persistenza definisce i dati di cui vuoi tenere traccia. Per impostazione predefinita, OpenHAB mostrerà solo lo stato corrente di qualcosa; se si desidera tracciare quel valore nel tempo, è necessario impostare una definizione di persistenza per tale origine dati. In questo dovrai specificare cose come la frequenza con cui un punto dati deve essere misurato, o quando scartare i vecchi punti dati - dovrai anche dirgli che tipo di motore di persistenza usare, come MySQL o semplice registrazione in un file.
Trasformare contiene mappature per i valori dei dati alle etichette. Ad esempio, il humidex.scale file definisce un intervallo di valori di indice di umidità e come dovrebbero essere mostrati in inglese: 29-38 è “un po 'di disagio”.
Il Mappa del sito e elementi i file sono essenziali per l'esecuzione di OpenHAB; il resto è facoltativo. Puoi avere più Sitemap e articoli, in modo da poter conservare il contenuto della demo e rinviarlo in qualsiasi momento, oppure provare un nuovo layout per l'interfaccia di controllo domestica. Non preoccuparti se tutto questo sembra un po 'travolgente in questo momento, lo scomporremo in parti gestibili e prometto che alla fine di questa guida avrai la certezza di creare la tua configurazione OpenHAB.
Successivamente, ti guideremo attraverso l'aggiunta di alcuni kit smart home, partendo da zero in una nuova sitemap. Ognuno introdurrà alcuni concetti chiave come come installare i binding e le definizioni degli item, quindi ti incoraggio vivamente a leggere queste istruzioni anche se non possiedi quei particolari dispositivi.
Inizia creando un nuovo (vuoto) home.items file e un nuovo home.sitemap file nelle directory pertinenti. Aprire home.sitemap e incollare nel seguente codice. Questo funziona come uno scheletro di base al quale aggiungeremo bit in seguito.
sitemap home label = "La mia casa"
Dovresti visualizzare un avviso per segnalare che OpenHAB ha identificato una nuova Sitemap e un file di elementi.
Abilita la modalità di debug
Mentre stai ancora cercando di far funzionare correttamente OpenHAB, può essere utile abilitare un registro di debug più dettagliato che elenchi tutto, e non solo le cose importanti. Per abilitare questa modalità, aprire la cartella condivisa di OpenHAB Config e modificare il file logback.xml. Alla riga 40, modificare la seguente riga per leggere DEBUG anziché INFO. Avrai bisogno di riavviare dopo aver cambiato questo.
Questo è un cambiamento globale, quindi riceverai molte più informazioni una volta che avrai completato il file di registro.
Aggiunta di Philips Hue
Inizierò con Philips Hue. Come la maggior parte delle cose con cui vorresti interagire con OpenHAB, le lampadine Hue richiedono l'installazione di a rilegatura - pensa ai binding come un driver di dispositivo. Al momento della scrittura, sono disponibili circa 160 associazioni per OpenHAB 1, motivo per cui OpenHAB è un sistema così potente: può interfacciarsi con qualsiasi cosa, combinando tutti questi diversi sistemi di controllo in un'unica interfaccia unificata. Ecco una demo e una rapida panoramica dei passaggi coinvolti.
I collegamenti devono essere prima scaricati e il modo più semplice per farlo sul Pi è l'utilizzo apt-get, quindi forzare la proprietà all'utente di openhab.
sudo apt-get install openhab-addon-binding-hue sudo chown -hR openhab: openhab / usr / share / openhab
Quindi devi dire a OpenHAB di caricare quel legame e configurare le variabili necessarie. Passare alla cartella delle configurazioni e fare una copia di openhab-default.cfg, nominandolo openhab.cfg. Apri quello, cerca HUE e sostituire l'intera sezione con il seguente codice. L'unica cosa che devi modificare è il valore IP del tuo bridge: se non lo conosci, prova lo strumento di ricerca online. Il valore segreto non ha molta importanza, è solo una sorta di nome utente che OpenHAB utilizzerà per identificarsi al bridge.
Consiglio rapido: per abilitare una linea, basta rimuovere il # dall'inizio. Per impostazione predefinita, la linea che specifica l'indirizzo IP del bridge è disabilitata (o tecnicamente, “commentata”). Inoltre, se stai provando una configurazione alternativa, può essere utile copiare semplicemente la linea esistente e inserire un # all'inizio per contrassegnarlo come un commento, in modo che tu possa tornare facilmente se le cose vanno male.
################################ HUE Binding ################# #########################
# IP della tonalità del bridge Hue: ip = 192.168.1.216 tonalità: secret = makeuseofdotcom hue: refresh = 10000
Salva ed esci. Come qualsiasi altra applicazione Hue di terze parti, è necessario approvare OpenHAB su Hue Bridge premendo il pulsante sul lato anteriore - è sufficiente farlo una sola volta. Vedrai un messaggio su in attesa di essere accoppiato se stai tagliando il file di log, ma se hai dimenticato o perso il conto alla rovescia, resetta il Pi - riceverai un timer di 100 secondi da quando viene avviato il binding di tonalità. Assicurati di aver eseguito correttamente l'associazione prima di continuare.
Quindi, apri il home.items file, a cui aggiungeremo alcune lampadine Hue. Ecco una definizione di un articolo di esempio:
Colore Bedroom_Hue "Bedroom Hue" (Camera da letto) hue = "1"
- Il Colore parola specifica che tipo di controllo abbiamo su questo elemento. Le lampadine RGB sono colorate “Colore”, dal momento che abbiamo il pieno controllo del colore su di loro. Altre luci potrebbero essere solo un interruttore.
- Il prossimo è il nome in codice dell'articolo: ho scelto Bedroom_Hue, ma letteralmente tutto è a posto - solo qualcosa di descrittivo che ti sembra naturale, perché dovrai ricordarlo più tardi quando crei la mappa del sito. Il nome in codice non dovrebbe contenere spazi.
- Tra le virgolette c'è l'etichetta. La nostra è semplice in questo caso, ma per alcuni articoli come la temperatura o qualcosa che riporta un valore, aggiungerai del codice speciale che ti dice come mostrare quel valore o usare cosa trasformare. L'etichetta è per l'interfaccia e può avere spazi.
- Tra parentesi angolari c'è il nome dell'icona. Troverai tutte le icone disponibili nella condivisione OpenHAB, sotto webapps / immagini directory. C'è in realtà un'intera gamma di icone di tonalità che rappresentano diverse luminosità o on / off. Basta specificare il nome dell'icona di base - OpenHAB saprà di cercare automaticamente le diverse icone on / off se si tratta di un oggetto commutato. Questo è opzionale.
- Tra parentesi tonde, diciamo di quali gruppi far parte - in questo caso, solo il Camera da letto gruppo.
- Infine, e in modo cruciale, colleghiamo l'articolo al binding appropriato con tutte le variabili necessarie. In questo caso, il colore vincolante, e il numero del bulbo è 1. È possibile trovare il numero aprendo l'applicazione di tonalità ufficiale e guardando la scheda luci. Ogni lampadina ha un numero univoco.
Ho aggiunto un totale di quattro lampadine, oltre a una semplice dichiarazione dei gruppi che approfondiremo in seguito. Ecco il mio completo home.items a questo punto:
Gruppo Camera Gruppo Ufficio Gruppo Gruppo Kai Living_Room Gruppo Cinema Gruppo Segreto
Luci di gruppo
/ * Luci * / Colore Bedroom_Hue "Bedroom Hue" (Camera da letto, Luci) hue = "1" Colore Office_Hue "Office Hue" (Ufficio, Luci) hue = "2" Colore Secret_Hue "Secret Hue" (Secret, Lights) hue = "3" Color Kai_Hue "Kai's Hue" (Kai, Luci) hue = "4"
Il /* Luci */ il testo è solo un commento, non ha altra funzione che aiutarci a scannerizzare il file più tardi quando diventa più grande. Ora abbiamo aggiunto i dispositivi, ma aprendo http: //raspberrypi.local: 8080 /? Sitemap = home risulta un'interfaccia vuota - ovviamente, perché non abbiamo ancora creato elementi di interfaccia nella mappa del sito. Iniziamo davvero semplice per ora. Aprire home.sitemap.
Il codice utilizzato per descrivere l'interfaccia è diverso dagli articoli, ma per ora ne creeremo uno nuovo “telaio” e aggiungi un paio di controlli di gruppo insieme ad alcune icone.
sitemap home label = "Casa mia" Frame Voce gruppo = Etichetta luci = "Tutte le luci" icon = "hue" Voce gruppo = Etichetta camera = "Camera" icon = "camera" Voce gruppo = Etichetta ufficio = "Ufficio" icona = "desk"
I gruppi sono uno strumento utile per test rapidi, ma in realtà è necessario un maggiore controllo su come vengono visualizzati gli oggetti. Per ora, questo sarà sufficiente. Salva e ricarica la sitemap di casa nel browser. Dovresti vedere questo (o, qualunque gruppo tu abbia aggiunto).
Clicca su Tutta l'illuminazione per vedere ogni luce della tonalità, dal momento che li abbiamo definiti tutti come appartenenti a quel gruppo di luci sovrastanti.
Si noti che l'elemento Hue Office viene visualizzato con un'icona diversa, perché la luce dell'ufficio è già accesa e OpenHAB lo sa quando parlava al bridge Hue ed era abbastanza intelligente da regolare l'icona “sopra” versione del file. Sfortunatamente, non riflette il colore, ma se hai installato un'app mobile, questo rifletterà il colore corrente.
Se visualizzi più elementi di quanti pensavi avessi definito o ricevessi errori in merito a più definizioni, sappi che, sebbene sia possibile caricare una sola Sitemap alla volta nella pagina tutte le sitemap rimuovono gli elementi da tutti i file .item, quindi se hai lasciato il file degli articoli demo lì, potresti avere alcuni elementi aggiuntivi visualizzati anche nei tuoi gruppi. Suggerirei a questo punto di eseguire il backup del contenuto degli elementi demo e di spostarlo fuori dalla cartella per evitare errori di duplicazione.
Accesso remoto e IFTTT con My.OpenHAB
Al momento, è necessario essere sulla stessa rete locale per accedere al sistema OpenHAB, ma cosa succede se si desidera controllare i dispositivi e controllare i sensori quando sono fuori dalla portata del Wi-Fi? Per questo avremo bisogno di impostare l'accesso remoto - e lo faremo in modo semplice, con il servizio web My.OpenHAB, che evita la necessità di fare confusione con il port forwarding e le configurazioni del router. Come bonus, il servizio My.OpenHAB ha anche un canale IFTTT, che ti offre infinite possibilità di controllo remoto e automazione.
Primo: installa il binding. Suggerimento: se non conosci il nome esatto di un particolare pacchetto di installazione, prova a cercarlo con apt-cache.
sudo apt-get install openhab-addon-io-myopenhab sudo chown -hR openhab: openhab / usr / share / openhab
Prima di poterti registrare sul sito My.OpenHAB, dovrai creare una chiave segreta e trovare il tuo UUID, che identifica in modo univoco la tua installazione. Controlla sotto Condividi casa OpenHAB -> webapps -> statico e dovresti trovare un file UUID contenente il tuo identificatore univoco. È a questo punto che ho scoperto che il mio Pi stava usando una versione precedente di Java che non creava correttamente la chiave segreta. genere
java -version
controllare. Se non dice 1.7 o superiore, hai la versione sbagliata. Stranamente, l'ultima versione di Raspbian viene fornita con Oracle Java 8 installato, ma non impostato come predefinito.
sudo update-alternatives --config java
Scegli l'opzione che indica jdk-8-oracolo, quindi riavviare OpenHAB. Bonus: Oracle Java 8 è più veloce di OpenJDK predefinito!
Ora dovresti trovare anche un file segreto nel webapps / static cartella. Aprire entrambi segreto e uuid, ed essere pronti a copiare pasta.
Ora vai a creare un account My.OpenHAB, utilizzando questi dettagli, quindi torna indietro - dovrai anche confermare la tua email prima che tutto funzioni. Ci sono ancora un paio di passaggi per questo. Innanzitutto, è necessario impostare il motore di persistenza predefinito su myopenhab (la persistenza è qualcosa per una guida successiva, ma a prescindere, è necessario impostare qualcosa di base per “esportare” i nostri dati al servizio online e renderli visibili a IFTTT). Per fare ciò, apri openhab.cfg e trova la variabile che dice la persistenza: default = e cambiarlo in la persistenza: default = myopenhab. Salvare.
Infine, crea un nuovo file nel configurazioni / persistenza cartella chiamata myopenhab.persist, e incollare nella seguente regola.
Strategies default = everyChange Articoli *: strategy = everyChange
Non hai bisogno di capirlo per ora, ma sappi che dice “salva ogni stato dell'articolo quando cambia”.
Per connetterti con IFTTT, accedi al canale OpenHAB: dovrai autenticarti e accedere al tuo account MyOpenHAB. Inoltre, fino a quando i tuoi articoli non saranno cambiati almeno una volta, non saranno visibili nell'elenco degli elementi su IFTTT, quindi se non è visibile, attiva e disattiva qualcosa, quindi ricarica. Congratulazioni, ora hai accesso IFTTT completo a tutto il tuo sistema OpenHAB!
Sensore di presenza Bluetooth usando REST
Poco fa ti ho mostrato come realizzare una serratura automatica per l'ufficio usando il Bluetooth Fai una porta da ufficio con chiusura automatica con sensore di prossimità per smartphone Fai una porta da ufficio con chiusura automatica con sensore di prossimità per smartphone Creeremo un Raspberry Pi con un Adattatore Bluetooth da tenere sotto controllo quando lo smartphone è fuori portata e inserire un relè in azione per bloccare la porta. Per saperne di più scansione per rilevare la presenza dell'utente - Volevo portare qualcosa di simile in OpenHAB.
Su qualsiasi piattaforma diversa da Raspberry Pi, questo sarebbe semplice grazie a un binding Bluetooth già pronto; sfortunatamente, non funziona su Pi a causa di un file Java cruciale che dovrebbe essere ricompilato per l'architettura ARM, aggiunto al binding e quindi ricostruito il binding. Basti dire che ci ho provato, ed è stato terribilmente complicato e non ha funzionato. Esiste tuttavia una soluzione molto più semplice che funge anche da buona introduzione alla completa estensibilità di OpenHAB: semplicemente adatteremo il nostro precedente script Python per farlo riportare direttamente all'interfaccia OpenHAB RESTful.
A parte: un'interfaccia RESTful significa che puoi interagire con un sistema usando il suo web server integrato, semplicemente chiamando gli URL e passando o recuperando dati. Puoi visitare questo URL per vedere un semplice esempio di questo sul tuo server: http: //raspberrypi.local: 8080 / rest / items - che genera un elenco codificato di tutti gli elementi definiti. Questo in modo incredibilmente potente, in quanto espone tutto il potenziale di OpenHAB e consente di scrivere interfacce personalizzate; o in reverse usato, per riportare lo stato dei sensori senza avere un legame specifico. Utilizzeremo questa funzionalità per segnalare la presenza di un dispositivo Bluetooth specifico senza ricorrere all'associazione Bluetooth.
Inizia aggiungendo un nuovo Interruttore oggetto al tuo home.items file. Ho chiamato il mio “JamesInOffice”, e ho fatto un interruttore piuttosto che un semplice contatto on / off in modo da poter controllare manualmente la mia presenza nel caso in cui il mio telefono muoia.
Passa a JamesInOffice "James in Office" (Office)
Si noti che non ho definito un'icona o associato un'associazione specifica. È solo un interruttore generico.
Quindi, inserire un dongle Bluetooth USB compatibile e installare alcuni strumenti di base per interagire con esso.
sudo apt-get install bluez python-bluez python-pip sudo pip installa richieste hcitool dev
L'ultimo comando dovrebbe mostrare il tuo adattatore Bluetooth. Se nulla è elencato, prova un altro adattatore, il tuo non è compatibile con Linux. Il prossimo passo è trovare l'indirizzo hardware Bluetooth del tuo dispositivo.
wget https://pybluez.googlecode.com/svn/trunk/examples/simple/inquiry.py python inquiry.py
Assicurati che il tuo telefono sia aperto sulla pagina delle impostazioni Bluetooth (che lo mette in modalità accoppiamento / pubblico), e ovviamente che il Bluetooth sia attivato. Dovresti trovare un indirizzo hardware esadecimale elencato.
Dalla tua directory home dell'utente Pi, crea un nuovo script Python e incolla questo codice.
Ci sono alcune cose che devi modificare, a partire dal tuo particolare indirizzo del dispositivo:
risultato = bluetooth.lookup_name ('78: 7F: 70: 38: 51: 1B ', timeout = 5)
Così come questa linea, che è in due punti (sì, questo potrebbe probabilmente essere strutturato meglio). Cambia JamesInOffice con il nome in codice dello switch che hai definito.
r = requests.put ("http: // localhost: 8080 / rest / items / JamesInOffice / state", data = payload)
Il passo finale è dire a questo script di avviarsi al momento dell'avvio.
sudo nano /etc/rc.local
Scorri verso il basso e subito prima dell'uscita 0, aggiungi le seguenti linee:
python /home/pi/detect.py &
Il segno & significa “fallo in background”. Vai avanti ed esegui lo script se non lo hai già fatto, e apri la tua interfaccia OpenHAB. Se lo hai aggiunto a un gruppo, fai clic su quel gruppo. Ci vogliono circa 10 secondi per l'aggiornamento, ma vedrai l'icona della lampadina di default accesa o spenta a seconda che il tuo telefono sia rilevato o meno. Controlla il file di log se non succede nulla, potrebbe essere che tu abbia usato il nome errato dell'oggetto.
OpenHAB Mobile App
Sebbene tu possa ovviamente utilizzare l'interfaccia web da un dispositivo mobile, OpenHAB ha app native sia per iOS che per Android - e sembrano un lotto più bello dell'interfaccia del browser predefinita. Nella schermata delle impostazioni, inserisci l'URL locale come l'IP interno che hai utilizzato fino ad ora, incluso il numero di porta. Per l'URL remoto, immettere https://my.openhab.org, e tu username (email) e password che hai inserito al momento della registrazione. Se non hai ancora effettuato la registrazione a MyOpenHAB, lascia vuoto l'autenticazione e l'URL remoto, ma accederai al tuo sistema solo dal tuo Wi-Fi locale.
Andare avanti e ottenere aiuto
La quantità di personalizzazione e le caratteristiche chiare che puoi aggiungere al tuo controller OpenHAB sono davvero epiche. Oltre al vasto elenco di dispositivi supportati con associazioni, puoi utilizzare l'interfaccia RESTful, le estensioni HTTP e IFTTT per leggere o controllare letteralmente qualsiasi tipo di dispositivo IoT, e poi alcuni (prova alcune delle nostre idee di illuminazione creativa 7 Usi creativi per l'illuminazione della domotica a LED colorata 7 Usi creativi per l'illuminazione della domotica a LED colorata Accendere le luci automaticamente è sicuramente interessante, ma non sfrutta l'intero spettro di colori disponibile con l'illuminazione RGB. Per questo, abbiamo bisogno di essere creativi . Leggi di più ). Sì, è un problema assoluto da installare, ma non un singolo sistema commerciale può avvicinarsi alla potenza di un sistema OpenHAB personalizzato.
Detto questo, il viaggio non è stato affatto facile per me, ed è proprio il motivo per cui ho scritto questa guida, per facilitare il processo per te. E se trovi il sistema OpenHAB travolgente, ci sono altre opzioni quando si tratta della domotica del Raspberry - come usare Raspberry Pi per automatizzare la porta del garage Come automatizzare la porta del garage con IFTTT e Raspberry Pi Come automatizzare la porta del garage con IFTTT e Raspberry Pi In questo tutorial ti mostreremo come automatizzare la tua porta del garage usando nient'altro che un Raspberry Pi e IFTTT. Leggi di più per esempio.
Resta sintonizzato su MakeUseOf per una guida avanzata che copre Z-Wave e altri fantastici trucchi che puoi configurare.
Se hai bisogno di aiuto con una parte specifica di questa guida, ti preghiamo di chiedere via nei commenti. Se vuoi aiuto con un altro bind o alcuni argomenti avanzati che non abbiamo ancora affrontato, i forum ufficiali di OpenHAB sono un luogo accogliente.
Scopri di più su: Home Automation, Guida lunga, Smart Hub.