Inhoudsopgave:

Slimme domotica met Energenie-stopcontacten - Proximity-stopcontacten - Ajarnpa
Slimme domotica met Energenie-stopcontacten - Proximity-stopcontacten - Ajarnpa

Video: Slimme domotica met Energenie-stopcontacten - Proximity-stopcontacten - Ajarnpa

Video: Slimme domotica met Energenie-stopcontacten - Proximity-stopcontacten - Ajarnpa
Video: Domotica is logica - Een slimme woning met DOBISS domotica 2024, Juli-
Anonim
Slimme domotica met Energenie-stopcontacten - Proximity-stopcontacten
Slimme domotica met Energenie-stopcontacten - Proximity-stopcontacten
Slimme domotica met Energenie-stopcontacten - Nabijheidsstopcontacten
Slimme domotica met Energenie-stopcontacten - Nabijheidsstopcontacten
Slimme domotica met Energenie-stopcontacten - Proximity-stopcontacten
Slimme domotica met Energenie-stopcontacten - Proximity-stopcontacten

Invoering

Er zijn tal van voorbeelden van slimme domotica, maar deze is eenvoudig en heeft een jaar lang zeer effectief in mijn huis gefunctioneerd, dus ik hoop dat je het leuk vindt. Als je klaar bent, heb je een apparaat dat het netwerk kan scannen om te zien of je in huis bent, afhankelijk van welk wifi-apparaat je zelf op je hebt staan, en een set stopcontacten kan bedienen met behulp van een RF-antenne. Dus als je nu je huis binnenloopt, gaan de lichten aan en als je weggaat gaan ze uit, puur vanuit je aanwezigheid (ook kun je veel energie besparen op apparaten die niet aan hoeven te staan als je niet daar, zoals draadloze luidsprekers).

Het loopt van een Raspberry Pi 2 model B en maakt gebruik van de pi-mote van Energenie, hoewel ik er zeker van ben dat elke RF-gestuurde socket kan worden gehackt om met de juiste kit te werken. Het is gecodeerd in Python, voornamelijk met behulp van de nmap-python-bibliotheek voor het scannen van poorten op uw lokale netwerk.

Vereisten:

1. Raspberry Pi - Ik heb een 2 Model B gebruikt, maar elke zou werken (niet zeker van de betrouwbaarheid van een nul via een draadloos netwerk) - verbonden met je router (indien mogelijk ethernet).

2. Energenie Pi-mote bord en stopcontacten

3. Lengte van draad en soldeerbout indien mogelijk

4. Optionele knop en LED-opheffing:

Stap 1: Stap 1: Montage

Stap 1: Montage
Stap 1: Montage
Stap 1: Montage
Stap 1: Montage
Stap 1: Montage
Stap 1: Montage

Het is niet nodig dat ik de basisinstellingen voor het instellen hier herhaal, de Pi-mote heeft zijn eigen instructies die vrij uitgebreid zijn. U kunt de oefencode uitvoeren om te controleren of de schakelaars correct werken.

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

Terwijl het bord een antenne heeft, wordt het aanbevolen voor een groter bereik (>5m) om een draadantenne toe te voegen zoals weergegeven in de afbeelding (verticale zwarte draad). De signalen worden verzonden op 433MHz, dus de antenne moet ongeveer 1/4 * v/f ~= 15cm lang zijn.

Ik heb ook een lego-casework aan de mijne toegevoegd, ik laat je de kwaliteit van die baan beoordelen:)

Stap 2: Stap 2: Het IP-adres van uw apparaten vinden

Stap 2: Het IP-adres van uw apparaten vinden
Stap 2: Het IP-adres van uw apparaten vinden

Zoals vermeld is de belangrijkste softwaretool een bibliotheek genaamd nmap die is aangepast voor python en kan worden gedownload van hier: https://pypi.python.org/pypi/python-nmap/0.6.1 Het kan heel veel dingen doen:

We zullen in eerste instantie een brede scan van het netwerk doen om de juiste apparaten te vinden en in het hoofdprogramma een scan van het netwerk uitvoeren.

Open een python-terminal en typ:

import nmap

nm=nmap. PortScanner()

nm.scan(hosts=' netwerk IP-adresbereik', argumenten='-sP')

Het IP-adresbereik zal zoiets zijn als: '192.168.0.1/24'

Dit geeft je een lange lijst van de apparaten in je netwerk, je zult met vallen en opstaan moeten bepalen in welke apparaten je geïnteresseerd bent.

Deze stap is gemakkelijker te doen met arp-scan-opdrachten of ping buiten de python-interpreter, die je wat informatie over de apparaten geeft, maar aangezien we toch de python-nmap-bibliotheek gebruikten, dacht ik dat ik deze erin zou stoppen.

Als u eenmaal hebt gevonden welke apparaten u als aanwezigheidscontrollers wilt gebruiken, b.v. mobiele telefoons, tablets enz. Noteer hun IP-adressen. Dit werkt op zowel dynamisch als statisch gecontroleerde IP-adresnetwerken.

Om te bevestigen dat u het juiste apparaat heeft, kunt u het loskoppelen van het netwerk en de scan opnieuw uitvoeren. Het zou dan niet op uw scan moeten verschijnen.

Stap 3: Stap 3: Stel uw stopcontacten in

Stap 3: Stel uw stopcontacten in
Stap 3: Stel uw stopcontacten in

Nu u uw IP-adressen heeft, moet u uw sockets instellen. Dit doe je door de groene knop op de stopcontacten ingedrukt te houden tot het rode lampje knippert en vervolgens het gekozen signaal te versturen. De verschillende signalen worden bereikt door een set van 4 binaire schakelaars die overeenkomen met digitale uitgangen op de Pi.

Er is een voorbeeldcode in de Energenie-handleiding voor het schakelen, ik zou willen voorstellen deze te kopiëren en een kort script aan te passen waarmee je de sockets kunt instellen door een signaal te sturen wanneer je het script uitvoert.

Stap 4: Stap 4: Schrijf uw code

En op naar het definitieve programma.

Ik heb de code bijgevoegd die ik gebruikte, die werkte voor twee apparaten voor elk van de bewoners van ons huis, terwijl er een overschrijfknop was voor iemand anders.

De code werkt door te zoeken op de IP-adressen '192.168.0.10' en '192.168.0.28'. Het kijkt dan alleen naar poort 80 en 62078 om tijd te besparen, deze poorten staan vaak open voor communicatie op mobiele apparaten. Wijzig de IP-adressen in de adressen die u in de laatste stap hebt gevonden. Het controleert ook de knopinvoer, in dit geval is de knop verbonden met pin 40 in de GPIO.setup met een pull-down naar aarde. Als een van de apparaten aanwezig is, of de knop is ingeschakeld, stuurt deze een signaal naar de stopcontacten om in te schakelen.

Om mogelijke uitval te voorkomen: hoewel het apparaat bij uw aanwezigheid snel wordt ingeschakeld, omdat er geen valse positieven zijn, wordt het na een langere periode uitgeschakeld. Dit komt omdat er soms valse negatieven zijn, d.w.z. het detecteert niet bij elke scan een apparaat correct. Zoals ik al zei, hebben we geen uitval gehad in meer dan een jaar dat we deze techniek gebruiken.

Ik heb ook de foutopsporingscode erin gelaten omdat dit handig is om uit te zoeken of uw code correct werkt. Voel je vrij om vanuit deze basis te bouwen en te modificeren om heel veel sockets en heel veel apparaten te hebben die allemaal op elkaar inwerken. Bovendien wil je deze code waarschijnlijk constant op je Pi op de achtergrond uitvoeren terwijl hij andere dingen doet, bij voorkeur vanaf het opstarten. Voor informatie over hoe dit te doen, zie deze thread:

Aanbevolen: