Innehållsförteckning:

Smart hemautomation med Energenie -uttag - Närhetsuttag: 4 steg
Smart hemautomation med Energenie -uttag - Närhetsuttag: 4 steg

Video: Smart hemautomation med Energenie -uttag - Närhetsuttag: 4 steg

Video: Smart hemautomation med Energenie -uttag - Närhetsuttag: 4 steg
Video: Умный терморегулятор Moes для теплого пола - ZigBee TUYA SMART 2024, Juli
Anonim
Smart hemautomation med Energenie -uttag - Närhetsuttag
Smart hemautomation med Energenie -uttag - Närhetsuttag
Smart hemautomation med Energenie -uttag - Närhetsuttag
Smart hemautomation med Energenie -uttag - Närhetsuttag
Smart hemautomation med Energenie -uttag - Närhetsuttag
Smart hemautomation med Energenie -uttag - Närhetsuttag

Introduktion

Det finns gott om exempel på smart hemautomation där ute, men den här är enkel och har fungerat mycket effektivt i ett år i mitt hus så jag hoppas att du gillar det. När du är klar kommer du att ha en enhet som kan skanna nätverket för att se om du är i huset, beroende på vilken wi-fi-aktiverad enhet du behåller på dig själv, och kan styra en uppsättning uttag med en RF-antenn. Så nu, när du går in i ditt hem, tänds lamporna och när du lämnar kommer de att släckas, bara från din närvaro (du kan också spara mycket energi på apparater som inte behöver vara på när du är inte där, som trådlösa högtalare).

Den körs av en Raspberry Pi 2 modell B och använder pi-moten från Energenie, även om jag är säker på att alla RF-kontrollerade uttag kan hackas för att fungera med rätt kit. Den är kodad i Python, huvudsakligen med hjälp av nmap-python-biblioteket för portskanning i ditt lokala nätverk.

Krav:

1. Raspberry Pi - Jag har använt en 2 -modell B, men alla skulle fungera (inte säker på tillförlitligheten för en nolla över ett trådlöst nätverk dock) - ansluten till din router (Ethernet om möjligt).

2. Egengenie Pi-mote board och uttag

3. längd på tråd och lödkolv om möjligt

4. Valfri knapp och LED -åsidosättning

Steg 1: Steg 1: Montering

Steg 1: Montering
Steg 1: Montering
Steg 1: Montering
Steg 1: Montering
Steg 1: Montering
Steg 1: Montering

Jag behöver inte upprepa de grundläggande installationsanvisningarna här, Pi-moten har sina egna instruktioner som är ganska omfattande. Du kan köra övningskoden för att kontrollera att omkopplarna fungerar korrekt.

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

Medan kortet har en antenn på, rekommenderas det för större räckvidd (> 5 m) att lägga till en trådantenn som visas på bilden (vertikal svart tråd). Signalerna överförs vid 433MHz så antennen ska vara ungefär 1/4 * v/f ~ = 15cm lång.

Jag har också lagt till ett lego -ärende i mitt, jag låter dig vara domare av kvaliteten på jobbet:)

Steg 2: Steg 2: Hitta dina enheters IP -adress

Steg 2: Hitta dina enheters IP -adress
Steg 2: Hitta dina enheters IP -adress

Som nämnts är huvudprogramvaruverktyget ett bibliotek som heter nmap som har anpassats för python och kan laddas ner härifrån: https://pypi.python.org/pypi/python-nmap/0.6.1 Det kan göra massor av saker:

Vi kommer inledningsvis att göra en bred skanning av nätverket för att hitta rätt enheter och i huvudprogrammet köra en skanning av nätverket.

Öppna en python -terminal och skriv:

importera nmap

nm = nmap. PortScanner ()

nm.scan (värdar = 'nätverks-IP-adressintervall', argument = '-sP')

IP -adressintervallet kommer att vara ungefär: '192.168.0.1/24'

Detta kommer att ge dig en lång lista över enheterna i ditt nätverk, du måste använda trial and error för att avgöra vilka enheter du är intresserad av.

Det här steget görs lättare med arp-scan-kommandon eller ping utanför pytontolkaren, vilket ger dig lite information om enheterna, men eftersom vi ändå använde python-nmap-biblioteket trodde jag att jag skulle lägga in den här.

När du väl har hittat vilka enheter du vill använda som närvarokontroller t.ex. mobiltelefoner, surfplattor etc. Notera deras IP -adresser. Detta fungerar på både dynamiskt och statiskt styrda IP -adressnätverk.

För att bekräfta att du har rätt enhet kan du koppla bort den från nätverket och köra genomsökningen igen, den ska då inte visas i din genomsökning.

Steg 3: Steg 3: Konfigurera dina uttag

Steg 3: Konfigurera dina uttag
Steg 3: Konfigurera dina uttag

Nu när du har dina IP -adresser måste du konfigurera dina uttag. Detta görs genom att hålla den gröna knappen på uttagen tills den röda lampan blinkar och sedan skicka den valda signalen. De olika signalerna uppnås med en uppsättning av 4 binära omkopplare som motsvarar digitala utgångar på Pi.

Det finns en exempelkod i Energenie -handboken för att byta, jag föreslår att du kopierar detta och anpassar ett kort skript som gör att du kan konfigurera uttagen genom att skicka en signal när du kör skriptet.

Steg 4: Steg 4: Skriv din kod

Och vidare till det sista programmet.

Jag har bifogat koden som jag använde, som fungerade för två enheter för var och en av de boende i vårt hus, medan det fanns en överstyrningsknapp för någon annan.

Koden fungerar genom att söka i IP -adresserna '192.168.0.10' och '192.168.0.28'. Den tittar då bara på portar 80 och 62078 för att spara tid, dessa portar är ofta öppna för kommunikation på mobila enheter. Ändra IP -adresserna till de adresser som du hittade i det senaste steget. Den kontrollerar också knappinmatningen, i detta fall är knappen ansluten till stift 40 i GPIO.setup med en neddragning till marken. Om någon av enheterna finns eller knappen är på, skickar den en signal till uttagen för att slå på.

För att undvika potentiella bortfall: medan enheten slås på snabbt vid din närvaro, eftersom det inte finns några falska positiva effekter, stängs den av efter en längre period. Detta beror på att det ibland finns falska negativ, det vill säga att det inte korrekt detekterar en enhet vid varje genomsökning. Som jag nämnde har vi inte haft några avhopp under ett års drift med denna teknik.

Jag har också lämnat felsökningskoden eftersom det är användbart för att ta reda på om din kod fungerar korrekt. Känn dig fri att bygga och modifiera från denna grund för att ha massor av uttag och massor av enheter som alla interagerar. Dessutom kommer du förmodligen att vilja köra den här koden hela tiden på din Pi i bakgrunden medan den gör andra saker, helst från start. För information om hur du gör detta, se den här tråden:

Rekommenderad: