Sommario:

Automazione domestica intelligente con prese Energenie - Prese di prossimità: 4 passaggi
Automazione domestica intelligente con prese Energenie - Prese di prossimità: 4 passaggi

Video: Automazione domestica intelligente con prese Energenie - Prese di prossimità: 4 passaggi

Video: Automazione domestica intelligente con prese Energenie - Prese di prossimità: 4 passaggi
Video: Build A Complete Smart Home For £255 2024, Novembre
Anonim
Automazione domestica intelligente con prese Energenie - Prese di prossimità
Automazione domestica intelligente con prese Energenie - Prese di prossimità
Automazione domestica intelligente con prese Energenie - Prese di prossimità
Automazione domestica intelligente con prese Energenie - Prese di prossimità
Automazione domestica intelligente con prese Energenie - Prese di prossimità
Automazione domestica intelligente con prese Energenie - Prese di prossimità

introduzione

Ci sono molti esempi di domotica intelligente là fuori, ma questo è semplice e ha funzionato in modo molto efficace per un anno a casa mia, quindi spero che ti piaccia. Quando hai finito avrai un dispositivo in grado di scansionare la rete per vedere se sei in casa, a seconda del dispositivo abilitato Wi-Fi che tieni addosso, e può controllare una serie di prese utilizzando un'antenna RF. Quindi ora, quando entri in casa, le luci si accendono e quando esci si spengono, puramente dalla tua presenza (inoltre puoi risparmiare molta energia sugli elettrodomestici che non hanno bisogno di essere accesi quando sei non lì, come gli altoparlanti wireless).

Funziona con un Raspberry Pi 2 modello B e utilizza il pi-mote di Energenie, anche se sono sicuro che qualsiasi presa controllata da RF potrebbe essere hackerata per funzionare con il kit giusto. È codificato in Python, principalmente utilizzando la libreria nmap-python per la scansione delle porte sulla rete locale.

Requisiti:

1. Raspberry Pi - Ho usato un modello 2 B, ma qualsiasi funzionerebbe (non sono sicuro dell'affidabilità di uno zero su una rete wireless) - collegato al router (ethernet se possibile).

2. Scheda e prese Energenie Pi-Mote

3. Lunghezza del filo e del saldatore se possibile

4. Pulsante opzionale e LED override

Passaggio 1: Passaggio 1: assemblaggio

Passaggio 1: assemblaggio
Passaggio 1: assemblaggio
Passaggio 1: assemblaggio
Passaggio 1: assemblaggio
Passaggio 1: assemblaggio
Passaggio 1: assemblaggio

Non c'è bisogno che io ripeta qui le istruzioni di configurazione di base, il Pi-mote ha le sue istruzioni che sono abbastanza complete. Puoi eseguire il codice di pratica per verificare che gli interruttori funzionino correttamente.

energenie4u.co.uk/res/pdfs/ENER314%20UM.pd…

Sebbene la scheda abbia un'antenna accesa, si consiglia per una portata maggiore (>5 m) di aggiungere un'antenna a filo come mostrato nell'immagine (filo nero verticale). I segnali vengono trasmessi a 433 MHz, quindi l'antenna dovrebbe essere lunga circa 1/4 * v/f ~= 15 cm.

Ho anche aggiunto un casework lego al mio, lascio a te il giudice della qualità di quel lavoro:)

Passaggio 2: Passaggio 2: Trovare l'indirizzo IP dei tuoi dispositivi

Passaggio 2: trovare l'indirizzo IP dei dispositivi
Passaggio 2: trovare l'indirizzo IP dei dispositivi

Come accennato, lo strumento software principale è una libreria chiamata nmap che è stata adattata per python e può essere scaricata da qui: https://pypi.python.org/pypi/python-nmap/0.6.1 Può fare un sacco di cose:

Inizialmente faremo un'ampia scansione della rete per trovare i dispositivi giusti e nel programma principale eseguiremo una scansione della rete.

Apri un terminale Python e digita:

importa nmap

nm=nmap. PortScanner()

nm.scan(hosts='intervallo di indirizzi IP di rete', argomenti='-sP')

L'intervallo di indirizzi IP sarà qualcosa del tipo: '192.168.0.1/24'

Questo ti darà un lungo elenco dei dispositivi sulla tua rete, dovrai usare tentativi ed errori per determinare a quali dispositivi sei interessato.

Questo passaggio è più facile da eseguire con i comandi arp-scan o ping al di fuori dell'interprete python, che forniscono alcune informazioni sui dispositivi, ma dal momento che stavamo usando comunque la libreria python-nmap ho pensato di inserire questo.

Una volta individuati i dispositivi che si desidera utilizzare come controller di presenza, ad es. telefoni cellulari, tablet, ecc. Annotare i loro indirizzi IP. Funziona su reti di indirizzi IP controllate sia dinamicamente che staticamente.

Per confermare di avere il dispositivo corretto, puoi disconnetterlo dalla rete e rieseguire la scansione, quindi non dovrebbe apparire sulla tua scansione.

Passaggio 3: Passaggio 3: Imposta le tue prese

Passaggio 3: imposta le tue prese
Passaggio 3: imposta le tue prese

Ora che hai i tuoi indirizzi IP, dovrai configurare i tuoi socket. Questo viene fatto tenendo premuto il pulsante verde sulle prese fino a quando la luce rossa non lampeggia e quindi inviando il segnale prescelto. I diversi segnali sono ottenuti da un insieme di 4 interruttori binari corrispondenti alle uscite digitali sul Pi.

C'è un codice di esempio nel manuale Energenie per la commutazione, suggerirei di copiarlo e adattare un breve script che ti permetta di impostare i socket inviando un segnale quando esegui lo script.

Passaggio 4: Passaggio 4: scrivi il tuo codice

E al programma definitivo.

Ho allegato il codice che ho usato, che ha funzionato per due dispositivi per ciascuno degli occupanti della nostra casa, mentre c'era un pulsante di esclusione per chiunque altro.

Il codice funziona cercando gli indirizzi IP "192.168.0.10" e "192.168.0.28". Quindi esamina solo le porte 80 e 62078 per risparmiare tempo, queste porte sono spesso aperte per le comunicazioni su dispositivi mobili. Cambia gli indirizzi IP con gli indirizzi che hai trovato nell'ultimo passaggio. Controlla anche l'ingresso del pulsante, in questo caso il pulsante è collegato al pin 40 nel GPIO.setup con un pull down to ground. Se uno dei dispositivi è presente, o il pulsante è acceso, invia un segnale alle prese per l'accensione.

Per evitare potenziali interruzioni: mentre il dispositivo si accenderà rapidamente in tua presenza, poiché non ci sono falsi positivi, si spegnerà dopo un periodo più lungo. Questo perché a volte ci sono falsi negativi, cioè non rileva correttamente un dispositivo ad ogni scansione. Come ho già detto, non abbiamo avuto abbandoni in oltre un anno di funzionamento con questa tecnica.

Ho anche lasciato il codice di debug in quanto è utile per capire se il tuo codice funziona correttamente. Sentiti libero di costruire e modificare da questa base per avere un sacco di socket e un sacco di dispositivi che interagiscono. Inoltre, probabilmente vorrai eseguire questo codice costantemente sul tuo Pi in background mentre sta facendo altre cose, preferibilmente dall'avvio. Per informazioni su come eseguire questa operazione, vedere questo thread:

Consigliato: