Inhoudsopgave:
- Stap 1: Stap 1: Montage
- Stap 2: Stap 2: Het IP-adres van uw apparaten vinden
- Stap 3: Stap 3: Stel uw stopcontacten in
- Stap 4: Stap 4: Schrijf uw code
Video: Slimme domotica met Energenie-stopcontacten - Proximity-stopcontacten - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
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
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
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
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:
Slimme bureaulamp - Slimme verlichting met Arduino - Neopixels-werkruimte: 10 stappen (met afbeeldingen)
Slimme bureaulamp | Slimme verlichting met Arduino | Neopixels-werkruimte: tegenwoordig brengen we veel tijd thuis door, studeren en werken virtueel, dus waarom zouden we onze werkruimte niet groter maken met een aangepast en slim verlichtingssysteem op Arduino en Ws2812b-leds. Hier laat ik u zien hoe u uw Smart LED bureaulamp die
Garduino – de slimme tuin met Arduino: 4 stappen (met afbeeldingen)
Garduino – de slimme tuin met Arduino: tegenwoordig is niemand onschuldig. Is er iemand die niet per ongeluk een plant heeft gedood???Het is moeilijk om je planten in leven te houden. Je koopt een nieuwe plant en in het ergste geval vergeet je hem gewoon water te geven. In het betere geval onthoud je dat het bestaat, maar je doet
DIY slimme weegschaal met wekker (met wifi, ESP8266, Arduino IDE en Adafruit.io): 10 stappen (met afbeeldingen)
DIY Slimme Weegschaal Met Wekker (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): In mijn vorige project ontwikkelde ik een slimme weegschaal met Wi-Fi. Het kan het gewicht van de gebruiker meten, het lokaal weergeven en naar de cloud sturen. U kunt hier meer informatie over krijgen op onderstaande link: https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
IoT-portemonnee (slimme portemonnee met Firebeetle ESP32, Arduino IDE en Google Spreadsheet): 13 stappen (met afbeeldingen)
IoT Wallet (slimme portemonnee met Firebeetle ESP32, Arduino IDE en Google Spreadsheet): Eerste prijs in Instructables Pocket-Sized Contest!:DAls je wat geld hebt geïnvesteerd in cryptocurrencies, weet je waarschijnlijk al dat ze zeer volatiel zijn. Ze veranderen van de ene op de andere dag en je weet maar nooit veel 'echt' geld dat je nog in je portemonnee hebt
Domotica - Slimme jaloezieën: 8 stappen
Domotica - Slimme jaloezieën: in deze instructable zullen we kijken hoe u uw eigen jaloezieën thuis kunt aanpassen met een servomotor en een aangepaste controller om uw huiszonwering om te zetten in geautomatiseerde slimme jaloezieën die kunnen worden geïntegreerd met de thuisassistent om u volledig geautomatiseerd vervolg