[Ringrazio Silvio Sicurani che ha sponsorizzato il progetto]
In questo articolo viene spiegato come accendere o spegnere una centralina di allarme da una pagina web. In questo modo puoi accendere l’allarme da remoto.
Realizzando questo progetto potrai comandare l’attivazione e lo spegnimento del tuo allarme di casa, accedendo ad una pagina web. La pagina sarà visibile con la tua wifi, o anche dall’esterno di casa, utilizzando funzioni del tuo router (NAT).
Bisogna prestare attenzione al fatto che questa pagina venga resa accessibile tramite password, altrimenti chi accede al tuo wifi può accendere o spegnere il tuo allarme.
Cosa serve
- Un minimo di conoscenza informatica e di impianti elettrici
- Il manuale di istruzioni della centralina di allarme
- Connessione a Internet in casa che abbia un indirizzo ip pubblico (anche se non statico)
- Un PC
La centralina di allarme deve avere la possibilità di attivare l’allarme attraverso la chiusura di un contatto.
Inoltre deve segnalare esternamente che l’allarme è attivo, chiudendo un contatto.
Il progetto prevede la gestione fino a 4 modalità:
- Fuori casa: allarme completamente attivo
- In casa: solo una parte dei sensori dell’allarme sono considerati attivi, di solito i sensori perimetrali. Quelli interni alla casa sono disabilitati perchè ci sono persone all’interno dell’abitazione.
- Notte: solo una parte dei sensori dell’allarme sono considerati attivi, di solito i sensori perimetrali, e quelli di alcuni locali, tipo la soffitta ed il garage. Nelle stanze da letto i sensori sono disabilitati.
- Non attivo: l’allarme non considera attivo nessun sensore.
Di solito le 4 modalità possono essere attive una alla volta.
Schema elettrico
Di seguito viene mostrato lo schema elettrico per gestire queste 4 modalità. Se se ne ha solo una basta non eseguire i collegamenti corrispondenti.
Cosa serve
- Raspberry
- Scheda SD
- Arduino
- Interfaccia relè
- Scheda SD
- Arduino
- Software per raspberry e Arduino
Il materiale è acquistabile tramite questa pagina:
https://www.domoticachepassione.it/wp/lista-della-spesa/
Il software è acquistabile qui:
Per installare il software si può seguire le seguenti istruzioni.
Installazione del Raspberry
- Prendere un PC o Mac dotato di lettore di schede SD
- Comprare il software
- Dalla schermata di conferma dell’avvenuto pagamento, eseguire il download dell’immagine della scheda SD
- Puoi usare il seguente programma per scrivere l’immagine su SD: https://etcher.io/
- Installare Etcher.
- Collegare il lettore di schede SD nel PC e inserire la scheda SD nel lettore di schede.
- Seleziona l’immagine ed esegui il flash sulla scheda.
- Estrarre la scheda.
- Inserirla nel Raspberry
- Collegare il Raspberry con il cavo di rete.
- Collegare l’alimentazione del Raspberry
Installare lo sketch su Arduino
- Accedere via VNC a Raspberry.
- Per fare questo bisogna aver installato VNC sul proprio computer o tablet ed essere collegati alla stessa rete del Raspberry.
- Aprire VNC sul computer.
- Scrivere come host l’indirizzo ip 192.168.1.103.
- Eseguire il login come
- username pi
- password egomania
Fermare Nodered
- Cliccare su Strumenti di sistema/LXTerminal
- digitare
sudo systemctl stop nodered.service
Upload su Arduino
- Inserire Arduino in Raspberry via cavo usb
- Cliccare su elettronica/arduino
- Cliccare su file/apri
- Scegliere /home/pi/sketchbook/EgoAlarm/egoalarm.ino
- cliccare su strumenti/tipo di arduino/Arduino UNO
- premere File/Carica
- attendere il caricamento dello sketch
Verifica del funzionamento
- Cliccare Strumenti/Monitor seriale
- Nella finestra che appare, in basso a destra selezionare 9600 baud e A capo (NL)
- Digitare status e premere invio
- Se tutto ok dovrebbe apparire qualcosa del tipo
status: reply to status: Box chiuso1 status: aperto2 status: aperto3 status: aperto4 status: out0 high status: out1 high status: out2 high status: out3 high status: Allarme spento status: Sirena spenta status: end
- chiudere il monitor seriale
- chiudere la finestra Arduino
Avviare nodered
- Da una finestra terminale, far ripartire nodered con
sudo systemctl start nodered.service
Effettuare i collegamenti
- collegare il modulo relè ad arduino, i 2 pin di alimentazione e i 3 pin per comandare i primi 3 relè.
- collegare il pin per la segnalazione dell’allarme acceso
- collegare il pin per la segnalazione dell’allarme attivo
Provare
Da un browser aprire la pagina:
192.168.1.103:1880/allarme
Da questa pagina si può accendere o spegnere l’allarme.
In pratica se si esce di casa e si vuole che tutti i sensori collegati alla centralina, se sollecitati, facciano scattare la segnalazione (sirena, lampeggiante), premere “Accendi” sulla riga Allarme.
Se si sta in casa e si vuole che tutti i sensori esterni a casa collegati alla centralina, se sollecitati, facciano scattare la segnalazione (sirena, lampeggiante), premere “Accendi” sulla riga In Casa.
Se si sta in casa a dormire, e ci si muove solo nel piano delle camere da letto, ma non in sala o in soffitta, o in cantina, e si vuole che tutti i sensori esterni a casa collegati alla centralina, se sollecitati, facciano scattare la segnalazione (sirena, lampeggiante), premere “Accendi” sulla riga Notte.
Nela caso si faccia scattare l’allarme inavvertitamente, e si vuole spegnere la sirena, si avrà la segnalazione accesa. Per spegnerla, premere sull’apposito bottone che apparirà per l’occasione.
Personalizzare
Ecco alcune funzioni che si possono modificare:
- Rimuovere la modalità “In Casa”
- Rimuovere la modalità “Notte”
- Per attivare l’allarme si può scegliere uno dei seguenti modi:
- alto basso (normalmente il relè è non attivo e si attiva per un periodo)
- basso alto (al contrario)
- alto (quando non attivo il relè si accende l’allarme)
- basso (quando attivo il relè si accende l’allarme)
- Modificare la durata dell’impulso
- ecc.
Per personalizzare il comportamento di EgoAlarm, seguire le seguenti istruzioni:
- su un PC o Mac, collegato alla stessa rete del Raspberry, installare VNC
- aprire VNC
- scegliere File, New connection
- impostare come VNC server 192.168.1.103:5900
- impostare il nome come EgoAlarm
- Premere OK
- Doppio click sulla connessione EgoAlarm
- Viene richiesto utente e password
- digitare come utente: pi
- come password: egomania
- premere ok
- apparirà una schermata di questo tipo:
- aprire il terminale cliccando sull’icona indicata
- nel terminale digitare
sudo nano /boot/impostazioni.json
- premere enter. Appare il file di impostazioni:
- muovendosi con i tasti cursore si possono modificare i vari parametri
- salvare il file premendo CTRL+X
- rispondere Sì quando chiede di sovrascrivere
- per rendere effettive le impostazioni, riavviare, digitando:
sudo reboot
Possibili personalizzazioni
Di seguito vengono descritti i parametri che si possono modificare. E’ importante segnarsi quali sono le impostazioni che funzionano con il proprio sistema di allarme, specialmente se si vuole aggiornare il software.
accendi
Descrive il comportamento dei relè per far attivare l’allarme.
Questo parametro influenza il comportamento dei primi 3 relè del modulo.
Valore “alto”: il relè non è attivo quando va attivato l’allarme e torna attivo quando deve essere disattivato.
Valore “basso”: il relè è attivo quando va attivato l’allarme e torna non attivo quando deve essere disattivato.
Valore “alto_basso”: il relè passa da non attivo ad attivo per un certo periodo di tempo (impulso) e poi ritorna non attivo, questo quando deve attivare l’allarme, ma anche quando lo deve disattivare. Simula in pratica il comportamento di un telecomando.
Valore “basso_alto”: il relè passa da attivo a non attivo per un certo periodo di tempo (impulso) e poi ritorna attivo, questo quando deve attivare l’allarme, ma anche quando lo deve disattivare. Simula in pratica il comportamento di un telecomando.
quando_accendi_spegni_altri_stati
se impostato a “true”, nel momento che si attiva uno degli stati “Notte”, “In casa”, “Fuori casa”, gli altri stati vengono disabilitati, cioè viene mandato un comando di disattivazione ai relè.
Se impostato a “false”, questo comportamento non si verifica.
durata
è un valore numerico in secondi. Nel caso che il parametro accendi sia impostato su un impulso (alto_basso o basso_alto), questo imposta quanti secondi deve durare l’impulso. In pradica dice quanti secondi viene premuto il telecomando.
acceso_se
può valere 0 o 1 e condiziona il modo di leggere gli ingressi dell’arduino collegati all’uscita della centralina. Dice a quale valore in ingresso deve considerare la modalità accesa (“Notte, “In casa”, “Fuori casa/allarme”.
segnalazione_attiva_se
può valere 0 o 1 e condiziona il modo di leggere l’ingressio dell’arduino collegati all’uscita della centralina che indica che la sirena è attiva.
in_casa
se impostato a “true”, considera che l’allarme può gestire la modalità “In casa”, cioè vengono attivate le zone che fanno capo ai sensori perimetrali. Se impostato a “false” il controllo non appare nella pagina web.
fuori_casa
se impostato a “true”, considera che l’allarme può gestire la modalità “Fuori casa”, cioè vengono attivate tutte le zone della centralina di allarme. Se impostato a “false” il controllo non appare nella pagina web.
notte
se impostato a “true”, considera che l’allarme può gestire la modalità “Notte”, cioè vengono attivate tutte le zone che fanno capo ai sensori perimetrali più le zone che non vengono utilizzate di notte (es: cantina e soffitta). Se impostato a “false” il controllo non appare nella pagina web.
Se qualcosa non funziona
Aprire la pagina:
http://192.168.1.103:1880/assistenza
appare la seguente:
la Funzioni hanno il seguente significato:
Demo: fa apparire i tasti sulla pagina allarme anche se il raspberry non è collegato ad Arduino. Ha semplice scopo dimostrativo.
Utente domotica: crea un utente per accedere al sistema da remoto, di cui l’assistenza conosce la password. Premendo disabilita, viene cancellato l’utente per l’accesso dell’assistenza.
Assistenza: bisogna prima aver contattato l’assistenza. Premendo Abilita, l’assistenza si può collegare per risolvere il problema da remoto. Il Raspberry deve essere collegato alla rete di casa, abilitata a navigare su Internet.
Backup: premendo Esegui si effettua una copia di backup dei file importanti di sistema. Viene copiato anche il file impostazioni.json, in cui ci sono le personalizzazioni al proprio sistema. Cliccando sul link Backup, il file di backup può essere scaricato in locale.
Controlla aggiornamenti: da eseguire solo in caso di necessità. Scarica dal sito l’ultima versione, e il file di impostazioni standard. Sovrascrive la versione e le impostazioni. Per rendere effettiva la modifica, va riavviato il Raspberry.
Ripristina Backup: nel caso si abbia avuto problemi nel controllare gli aggiornamenti, si può ripristinare l’ultimo backup effettuato.
Riavvia: premendo Avvia, si riavvia il raspberry, per esempio per rendere attivo un aggiornamento.
Spegni: premendo Avvia, si spegne il Raspberry.
Quasi tutti questi comandi mostrano in basso quello che stanno eseguendo.
Molti di questi comandi attendono 20 secondi prima di iniziare, in modo da perrmettere all’utente di fermare il comando, attraverso il bottone.
Buona domotica!