Disclaimer

Prestare sempre attenzione a seguire le indicazioni fornite in questo blog, soprattutto se si tratta di apparecchiature elettriche collegate alla tensione di 220V. Non mi ritengo responsabile di danni causati dall'aver seguito i consigli qui pubblicati.
Grazie

venerdì 19 gennaio 2018

Home Automation System - Antifurto ed OpenHAB - L'idea iniziale




Incredibile ma vero!!! Sono riuscito a raggiungere un piccolo traguardo, inseguito da un pò di tempo...Riuscire ad integrare in OpenHAB lo stato dell'antifurto...più precisamente dei suoi ingressi!!!

Molti di voi diranno...beh, semplice...ormai tutti gli antifurti hanno questa caratteristica...tramite centraline moderne e app mobile è possibile farlo...certo!!! Ma il mio antifurto ha 10 anni e cambiare centralina ha un costo non di poco conto...e all'epoca non era così scontato avere un sistema "online" come oggi...

Il mio obiettivo era solo quello di intercettare lo stato dei sensori e non di permettere la gestione totale dell'antifurto, anche per un discorso di sicurezza...in sostanza, nel momento in cui per qualche motivo mi arriva la telefonata dall'antifurto a fronte di allarme, al volo riesco a capire quale sensore è stato aperto (chiaramente mentre mi catapulto a casa...)...ad oggi questa cosa non la posso fare perchè il combinatore telefonico non è in grado di interfacciarsi in maniera dettagliata alla centrale per capire quale ingresso ha fatto scattare l'allarme!!!

E allora basta intercettare tutti i cablaggi provenienti dai diversi sensori radar volumetrici e contatti magnetici, in qualche modo interfacciarli con una schedina tipo Arduino o simili in modo da ottenere lo stato di "APERTO" o "CHIUSO"...alla fine i diversi sensori dell'antifurto non fanno nient'altro che questo...

Inizio allora con i miei esperimenti per capire che tipo di segnale viaggia, documentazione alla mano...e scopro che, oltre al doppino che porta corrente a tutti i sensori / magneti (a 13.5v), ci sono tutti singoli fili, per ogni contatto / sensore che interessano a me...cioè, la massa di riferimento e la tensione...quando tra i due capi non c'è tensione, il contatto è CHIUSO, quando c'è una tensione positiva il contatto è APERTO...in sostanza sono gli 0 e gli 1 logici che interessano a me...

Prima di interfacciare il tutto con OpenHAB faccio delle prove con il tester...anche perchè devo capire che valore di tensione arriva sul contatto che mi identificherà il mio 1 logico...in base anche alla schedina che andrò ad usare come interfaccia, avrò delle soglie di tensione da rispettare per non bruciare gli ingressi...

Quindi, metto i terminali del TESTER tra massa e cavetto del segnale di un contatto (ad esempio porta d'ingresso, che è vicina alla scatola di derivazione...)...tensione pari a 0...perfetto, la porta è chiusa...Apro la porta, per sicurezza verifico la tastiera dell'antifurto che mi segnala contatto aperto e quindi controllo la tensione...4.5v...chiudo la porta...torna a 0...direi che funziona...ho intercettato il segnale che mi interessa...E' così per ogni sensore / contatto...

Direi che la mia idea può funzionare...poichè ho 11 ingressi da gestire (vari sensori e contatti singoli oppure messi in serie come unico ingresso...) devo trovare una schedina che mi permetta di gestire almeno 11 ingressi digitali, che abbia una tensione compatibile con i 4.5v forniti dai contatti e che possa essere connessa in rete per trasmettere l'informazione a OpenHAB tramite MQTT...

La scelta è tra

- una schedina NodeMCU ESP8266, con wifi integrato che però da specifica accetta solo 3.3v negli ingressi digitali;


- un Arduino UNO con shield ethernet che dovrebbe accettare fino a 5v negli ingressi digitali;


La prima scelta sarebbe più comoda perchè ha il wifi integrato ed è molto più piccola...bisognerà però fare un piccolo circuito per abbassare la tensione da 4.5v a sotto i 3.3v.
Con Arduino UNO invece la tensione è già a posto ma la scheda è molto più grande e necessita anche di uno shield (una scheda) in più...

Pensa che ti ripensa mi viene un lampo di genio...


il Raspberry PI3 dove attualmente stanno girando OpenHAB e il broker MQTT ha anche una serie di GPIO digitali...se riesco a far arrivare tutti i segnali, posso usarla direttamente, così evito di sprecare un'ulteriore scheda...ed essendo lo stesso sistema su cui gira OpenHAB non ho neanche la necessità di trasmettere il dato in rete...sarà tutto in locale... Purtroppo i suoi GPIO lavorano a 3.3v quindi il nostro 4.5v sicuramente non le farà bene...Niente paura...costruirò una piccola schedina di interfaccia con una serie di partitori di tensione per abbassare proporzionalmente la tensione sotto i 3.3v...tanto resistenze ne ho in abbondanza 😎


Se riesco a fare questo, posso usare direttamente un Binding di OpenHAB (vedi https://github.com/openhab/openhab1-addons/wiki/GPIO-Binding) che permette di integrare facilmente i segnali ottenuti tramite lettura di GPIO (in sostanza permette di agganciare un item di tipo logico 1/0 di OpenHAB allo stato di un ingresso del raspberry), senza dover fare un programma esterno, ed inviarli tramite MQTT...direi ottimo...(se funziona)

Ricapitoliamo:

 - far convergere tutti i segnali degli ingressi dell'antifurto verso il Raspberry PI3
 - creare una schedina per abbassare il segnale dei sensori / contatti da 4.5v a max 3.3v
 - collegare gli ingressi di questa schedina con i cavetti degli ingressi dell'antifurto e le uscite con il Raspberry
 - installare e configurare il binding GPIO di OpenHAB (vedi https://github.com/openhab/openhab1-addons/wiki/GPIO-Binding)
 - creare una sitemap su OpenHAB per visualizzare lo stato degli ingressi

Non dovrei aver dimenticato nulla...spero...

Nel prossimo post, a breve online, descriverò la fase operativa e il risultato ottenuto!