Indholdsfortegnelse:

Smart hjemmeautomatisering med Energenie -stik - Nærhedsstik: 4 trin
Smart hjemmeautomatisering med Energenie -stik - Nærhedsstik: 4 trin

Video: Smart hjemmeautomatisering med Energenie -stik - Nærhedsstik: 4 trin

Video: Smart hjemmeautomatisering med Energenie -stik - Nærhedsstik: 4 trin
Video: Homey Pro #SmartHome Hub 2024, Juli
Anonim
Smart hjemmeautomatisering med Energenie -stik - Nærhedsstik
Smart hjemmeautomatisering med Energenie -stik - Nærhedsstik
Smart hjemmeautomatisering med Energenie -stik - Nærhedsstik
Smart hjemmeautomatisering med Energenie -stik - Nærhedsstik
Smart hjemmeautomatisering med Energenie -stik - Nærhedsstik
Smart hjemmeautomatisering med Energenie -stik - Nærhedsstik

Introduktion

Der er masser af eksempler på smart hjemmeautomatisering derude, men denne er enkel og har fungeret meget effektivt i et år i mit hus, så jeg håber, at du kan lide den. Når du er færdig, vil du have en enhed, der kan scanne netværket for at se, om du er i huset, alt efter hvilken wi-fi-aktiveret enhed du beholder på dig selv, og kan styre et sæt stikkontakter ved hjælp af en RF-antenne. Så nu, når du går ind i dit hjem, lyser lysene, og når du går, slukker de, udelukkende fra din tilstedeværelse (også kan du spare en masse energi på apparater, der ikke behøver at være tændt, når du er ikke der, som trådløse højttalere).

Den kører fra en Raspberry Pi 2 model B og anvender pi-moten fra Energenie, selvom jeg er sikker på, at enhver RF-kontrolleret stikkontakt kan hackes for at fungere med det rigtige kit. Det er kodet i Python, hovedsageligt ved hjælp af nmap-python-biblioteket til portscanning på dit lokale netværk.

Krav:

1. Raspberry Pi - Jeg har brugt en 2 Model B, men enhver ville fungere (er dog ikke sikker på pålideligheden af et nul over et trådløst netværk) - tilsluttet din router (om muligt ethernet).

2. Egengenie Pi-mote board og stikkontakter

3. længde på wire og loddejern, hvis det er muligt

4. Valgfri knap og LED -tilsidesættelse

Trin 1: Trin 1: Montering

Trin 1: Montering
Trin 1: Montering
Trin 1: Montering
Trin 1: Montering
Trin 1: Montering
Trin 1: Montering

Det er ikke nødvendigt for mig at gentage de grundlæggende opsætningsinstruktioner her, Pi-moten har sine egne instruktioner, som er ret omfattende. Du kan køre øvelseskoden for at kontrollere, at kontakterne fungerer korrekt.

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

Selvom kortet har en antenne på, anbefales det for større rækkevidde (> 5 m) at tilføje en trådantenne som vist på billedet (lodret sort ledning). Signalerne transmitteres ved 433MHz, så antennen skal være omtrent 1/4 * v/f ~ = 15cm lang.

Jeg har også tilføjet et lego -sager til mit, jeg lader dig være dommer over kvaliteten af det job:)

Trin 2: Trin 2: Find din enheds IP -adresse

Trin 2: Find din enheds IP -adresse
Trin 2: Find din enheds IP -adresse

Som nævnt er det vigtigste softwareværktøj et bibliotek kaldet nmap, der er blevet tilpasset til python og kan downloades herfra: https://pypi.python.org/pypi/python-nmap/0.6.1 Det kan gøre masser af ting:

Vi vil i første omgang lave en bred scanning af netværket for at finde de rigtige enheder og i hovedprogrammet køre en scanning af netværket.

Åbn en python -terminal, og skriv:

import nmap

nm = nmap. PortScanner ()

nm.scan (hosts = 'netværks-IP-adresseinterval', argumenter = '-sP')

IP -adresseintervallet vil være noget i retning af: '192.168.0.1/24'

Dette vil give dig en lang liste over enhederne på dit netværk. Du skal bruge trial and error til at afgøre, hvilke enheder du er interesseret i.

Dette trin udføres lettere med arp-scan-kommandoer eller ping uden for python-tolken, som giver dig nogle oplysninger om enhederne, men da vi alligevel brugte python-nmap-biblioteket, tænkte jeg, at jeg ville sætte denne ind.

Når du har fundet, hvilke enheder du vil bruge som tilstedeværelseskontrollere f.eks. mobiltelefoner, tablets osv. Bemærk deres IP -adresser. Dette fungerer på både dynamisk og statisk kontrollerede IP -adressenetværk.

For at bekræfte, at du har den korrekte enhed, kan du afbryde forbindelsen til netværket og køre scanningen igen, den skulle derefter ikke blive vist på din scanning.

Trin 3: Trin 3: Konfigurer dine stik

Trin 3: Konfigurer dine stik
Trin 3: Konfigurer dine stik

Nu hvor du har dine IP -adresser, skal du konfigurere dine stikkontakter. Dette gøres ved at holde den grønne knap på stikkontakterne nede, indtil det røde lys blinker og derefter sende det valgte signal. De forskellige signaler opnås med et sæt på 4 binære switche svarende til digitale udgange på Pi.

Der er en eksempelkode i Energenie -manualen til skift, jeg vil foreslå at kopiere dette og tilpasse et kort script, som giver dig mulighed for at opsætte stikkene ved at sende et signal, når du kører scriptet.

Trin 4: Trin 4: Skriv din kode

Og så videre til det endelige program.

Jeg har vedhæftet den kode, jeg brugte, som fungerede for to enheder for hver af beboerne i vores hus, mens der var en overstyringsknap for alle andre.

Koden fungerer ved at søge i IP -adresserne '192.168.0.10' og '192.168.0.28'. Det ser derefter kun på porte 80 og 62078 for at spare tid, disse porte er ofte åbne for kommunikation på mobile enheder. Skift IP -adresserne til de adresser, som du fandt i det sidste trin. Det kontrollerer også knapindgangen, i dette tilfælde er knappen forbundet til pin 40 i GPIO.setup med et træk ned til jorden. Hvis nogen af enhederne er til stede, eller knappen er tændt, sender den et signal til stikkontakterne for at tænde.

For at undgå potentielle frafald: Selvom enheden tændes hurtigt ved din tilstedeværelse, da der ikke er falske positive, slukker den efter en længere periode. Dette skyldes, at der undertiden er falske negativer, det vil sige, at det ikke korrekt registrerer en enhed ved hver scanning. Som jeg nævnte, har vi ikke haft frafald i over et års drift ved hjælp af denne teknik.

Jeg har også efterladt fejlretningskoden, da dette er nyttigt til at finde ud af, om din kode kører korrekt. Du er velkommen til at bygge og modificere fra dette grundlag for at have masser af stikkontakter og masser af enheder, der alle interagerer. Derudover vil du sandsynligvis gerne køre denne kode konstant på din Pi i baggrunden, mens den laver andre ting, helst fra opstart. For information om hvordan du gør dette, se denne tråd:

Anbefalede: