Category Archives: Domotica

Voorbereiding voor een nieuw seizoen houtbewerken – gebaren gestuurde schemerlamp (deel 1, de elektronica)

Shoji_lamp_001Nu de lente bijna begonnen is, ben ik me aan het voorbereiden op het komende seizoen houtbewerken. Die voorbereiding bestaat uit het slijpen van de beitels en handschaven, het oliën van mijn handgereedschap en het opruimen van mijn schuur. Voor dat laatste moet ik eerst de schoenenkast afronden, want mijn werkbank ligt nog vol met onderdelen en ingesteld gereedschap voor dat project. Maar omdat ik echt weer in dat project moet komen, wil ik eerst wat kleinere projecten doen. Gewoon om het gevoel met het hout en het gereedschap weer te krijgen.

De afgelopen maanden ben ik flink bezig geweest met elektronica projecten, waarvan sommige zeker terug komen in de normale projecten.  Een van die elektronica projecten is een langgekoesterde droom. Toen ik net met de Arduino begon, wist ik al meteen dat ik een schemerlamp wilde maken, die ik met handgebaren kan besturen. En die daarnaast ook op een centraal systeem aangesloten kan worden. Toen wist ik nog niet van het bestaan van Domoticz en MySensors af, waardoor het destijds een veel te hoog gegrepen was.

Het ontwerp wat ik voor de lamp voor ogen heb, is een Japanse lamp met Shoji (rijstpapier). Ik heb nog geen volledig ontwerp, maar om je een beeld te geven heb ik een voorbeeld opgenomen.

LampDe rest van dit artikel gaat voornamelijk over de elektronica, mocht je alleen voor het houtbewerken op mijn blog komen, zul je nog even geduld moeten hebben.

Voor dit project maak ik gebruik van de APDS-9960. Dit is een zeer intelligente sensor die o.a. gebaren die je met je hand maakt begrijpt. Waarschijnlijk is hij daarom ook zo duur. Want hij kost €18,10 en ik heb hem in Nederland alleen maar bij Antatrek kunnen vinden. Nu kon je hem voor veel goedkoper krijgen bij de Chinese webwinkels, daar kost hij $15,00, maar ik heb daar ooit eens wat besteld en kreeg direct een Douane heffing.

GestureControlledLamp_bb Continue reading

De status van een Raspberry Pi tonen in Domoticz

Schermafbeelding 2015-12-08 om 23.05.27Ik heb de nodige uren besteed aan hoe ik Domoticz kan laten weten dat mijn Pi Musicbox aan of uit staat. Aan de Domoticz kant is dit heel simpel, je hoeft alleen maar een rest call naar de JSON api te sturen, aan de Pi Musicbox kant bleek dit toch wat lastiger. Het laten weten dat de Musicbox down gaat had ik vrij snel uitgezocht. Maar een bericht sturen wanneer de Musicbox aangaat een stuk bleek lastiger. Dit komt doordat je met curl een commando naar Domoticz moet sturen en dat kan pas als de netwerk verbinding gereed is. Mocht je dit ook willen, dan hoop ik dat je dit met behulp van dit artikel zo voor elkaar hebt. De basis van Linux heb je zo onder de knie, maar dit soort specifieke kennis vind je ook niet zo snel op het internet. Het was een collega, die met een flinke duw in de juiste richting gaf. Wilmar bedankt.

Dit wordt een heel technisch artikel, om het voor de geïnteresseerden zo makkelijk mogelijk te maken, gebruik ik de volgende conventies:

  1. Scripts en source code zet ik in aparte blokken zoals hier onder.
    Script of source code
  2. Commando’s die je letterlijk over moet nemen plaats ik dik gedrukt.

Ik ga er vanuit dat je de basis van de Raspberry Pi onder die knie hebt en weet hoe je met bijvoorbeeld SSH een connectie met een terminal op de Pi kunt leggen.

Wat heb je op voorhand nodig.
  1. Het ip-adres van je Domoticz server In dit document moet je op de plaatsen waar {domoticz-server} staat de tekst {domoticz-server} vervangen door dit IP-adres.
  2. Een virtual Device die je in Domoticz hebt aangemaakt, die je wilt gebruiken voor de statusindicatie van je Raspberry Pi (getest met type X10 On/Off en X10 media speler)Schermafbeelding 2015-12-08 om 23.09.58
  3. Het Idx van de in stap twee aangemaakt virtual device. In de rest van dit document moet je op de plaatsen waar {idx} staat de hele tekst {idx} vervangen door dit idx
Stap 1. Open een SSH shell met je Raspberry Pi
Stap 2. Aanmaken script voor communicatie met Domoticz

cd /usr/local/bin
sudo nano domoticz-connect

zet in dit bestand de volgende tekst (en sluit Nano af met Ctrl+X)

#!/bin/bash

domoticzServer=http://{domoticz-server}:8080
deviceIdx={idx}

if [ $1 == "on" ]; then
  curl "$domoticzServer/json.htm?type=command&param=switchlight&idx=$deviceIdx&switchcmd=On" 2>>/usr/local/bin/domoticz-connect.log >/dev/null
elif [ $1 == "off" ]; then
   curl "$domoticzServer/json.htm?type=command&param=switchlight&idx=$deviceIdx&switchcmd=Off" 2>/usr/local/bin/domoticz-connect.log  >/dev/null
fi

geef executie rechten aan dit script met:
sudo chmod +x ./domoticz-connect

Stap 3. Script voor het aanmelden van de Raspberry Pi bij Domoticz.

cd /etc/network/if-up.d
sudo nano notify-domoticz

neem het volgende script op en sla dit op met ctrl+x

#!/bin/sh

# Don't bother to do anything for lo.
if [ "$IFACE" = lo ]; then
exit 0
fi

# Only run from ifup.
if [ "$MODE" != start ]; then
exit 0
fi

# we only care about inet and inet6.
case $ADDRFAM in
inet|inet6|NetworkManager)
;;
*)
exit 0
;;
esac

echo "Notifying Domoticz MusicBox is on"
/usr/local/bin/notify-domoticz-device-up.sh on

geef het script nu executie rechten met:
sudo chmod +x notify-domoticz

Stap 4. Aanmaken script voor het afmelden van je Pi bij Domoticz

cd /etc/init.d
sudo nano domoticz-connect

neem het volgende script op en sla dit op met ctrl+x

#!/bin/bash
# /etc/init.d/domoticz-connect
### BEGIN INIT INFO
# Provides:          domoticz-connect
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Report on/off to domoticz
# Description:       This service let's domoticz know that this device is on or off
### END INIT INFO
case "$1" in
 start)
 ;;
 stop)
 echo "Disconnecting from Domoticz"
 /usr/local/bin/update-domoticz-device.sh off
 ;;
 *)
 echo "Usage: /etc/init.d/domoticz-connect start|stop"
 exit 1
 ;;
 esac
exit 0

geef dit script executie rechten met:

sudo chmod +x domoticz connect

Registreer het script in het Sys-V init systeem van Raspbian met het volgende commando:
sudo update-rc.d domoticz-connect defaults

Als je nu je systeem opnieuw opstart (of reboot), dan kun je in Domoticz zien of de Raspberry Pi aan of uit staat. Dit kun je testen met
sudo reboot

De virtuele schakelaar gaat uit als de Pi down gaat en aan als de Pi opgestart is.

Intelligente wekker – Het in- en uitschakelen van het alarm (deel 2)

schak_dubbel_witAls je mijn blog regelmatig bezoekt, dan zal het je niet ontgaan zijn dat ik mijn huishoudelijke apparaten graag op mijn Domotica aansluit. Nu is het fantastisch dat je je lichten met je telefoon kunt bedienen, maar ik merk ook dat het soms toch fijner is om het gewoon met een schakelaar te kunnen doen. Dat kan ik nu niet, maar dat is wel iets dat hoog op mijn verlanglijst staat.

De les die ik daar uitgeleerd heb, is dat ik de wekker ook aan- en uit moet kunnen zetten zonder een telefoon. Het instellen van het alarm zal wel via de telefoon gaan. Om dit te kunnen doen, heb ik een schakelaar aan de wekker toegevoegd. Dankzij AdaFruit en hun tutorials stelt dat niet veel voor, maar voor degene die dit project volgen heb ik het schema ook aangepast.

Wekker_v2_aan_uit_schakelaar_bbAdaFruit schrijft een 10K ohm weerstand voor en daar heb ik me ook aangehouden. En hiermee kreeg ik voor het eerst te maken met de GPIO pinnen van de Raspberry Pi.

Nu stelt het uitlezen van die poorten in Python echt niks voor. Je importeert de GPIO library, definieert de poort die je wilt gebruiken en je kunt hem uitlezen. Continue reading

Intelligente wekker – Het opbouwen van de elektronica (deel 1)

7-segmentIn 2016 zal ik veel meer projecten doen waarin ik elektronica met houtbewerken combineer. Voor mensen die deze projecten ook willen maken, wil ik ook het elektronica deel beschrijven. Mocht je weinig ervaring hebben met elektronica en/of het programmeren van software, geen zorgen ik ga proberen om alles zo te beschrijven dat jij het ook kan. En de software die ik programmeer stel ik op deze site beschikbaar. Voor de die-hard programmeurs zeg ik op voorhand al, dat het 10 jaar geleden is dat ik professioneel software geschreven heb. En dat mijn code vast niet de beste is en dat het waarschijnlijk allemaal nog veel beter kan. Als jij mijn site alleen voor het houtbewerken zoekt, dan is dit artikel mogelijk niet iets voor jou. Maar ik zou dan zeker dit project blijven volgen, omdat er ook het nodige houtbewerken bij komt.

Als display voor de wekker heb ik gekozen voor het 1,2 Inch 7 segment display van Adafruit. En daar komen in een keer een hoop kreten voorbij. 1,2 Inch is de hoogte van het display wat een haar groter is dan 3cm. 7 segment wil zeggen dat elke cijfer uit 7 lampjes bestaat, die je elk individueel aan- en uit kunt zetten. Door de lampen te combineren kun je elk cijfer maken. Het display heeft 4 cijfers en ook nog twee dubbele punten. Als je elke lampje afzonderlijk op een microcontroller of een Raspberry Pi aan wilt sluiten, dan heb je daarvoor 33 pinnen voor nodig. Dat is niet alleen meer dan wat de Pi en een microcontroller aan pinnen hebben. Maar het is ook nog eens een grote wirwar aan draden als je alles eenmaal hebt aangesloten.

Adafruit heeft daarom een display gemaakt, dat je met behulp van i2c aan de Pi of een microcontroller kunt koppelen. Dat klinkt vast heel moeilijk, maar i2c is een techniek die gebruikt wordt in de elektronica om met componenten te communiceren. i2c heeft – naast de voeding en de grond – slechts twee draden die je hoeft aan te sluiten. Op het volgende plaatje zie je hoe je het display op de Raspberry Pi aansluit.

7-segment

Continue reading

Nooit meer een lege elektrische tandenborstel

EurodomestIk gebruik al jaren draadloze stopcontacten, om de schemerlampen in de woonkamer aan- en uit te kunnen schakelen. Gemak dient de mens zullen we maar zeggen. De stopcontacten die ik tot nu toe gebruik zijn van het merk Impuls en tot voor kort verkrijgbaar bij de Action. Tenminste daar kwam ik afgelopen vrijdag achter, toen ik speciaal voor de impuls stopcontacten naar de Action ging.

De Action heeft de impuls contacten niet meer in het assortiment, maar als vervanger daarvoor hebben ze draadloze stopcontacten van het merk Eurodomest. Ik had geen idee of ik deze ook met de RFXtrx433E aan kon sturen, maar aangezien de Eurodomest stopcontacten net zo goedkoop zijn als de voorganger van, durfde ik die gok voor 10 euro best te wagen. Thuisgekomen, leverde een snel zoekactie op het internet al snel het antwoord. Ja dat kan gelukkig ook.

Deze week had ik willen beschrijven hoe je de impuls stopcontacten aan Domoticz toevoegt, de gebruikershandleiding van zowel RFXCOM als Domoticz zijn hier niet heel duidelijk in. Maar na wat vallen en opstaan is het me gelukt. Het heeft alleen geen zin om een artikel te schrijven over stopcontacten die niet meer te koop zijn. Maar omdat dergelijke draadloze stopcontacten je leven makkelijker kunnen maken, heb ik besloten om te beschrijven hoe je de Eurodomest stopcontacten aan Domoticz toevoegt. Uiteraard heb je hier een RFXtrx433E voor nodig.

Als eerste stop je een draadloze stopcontact in een stopcontact. Het rode lampje van de Eurodomest stopcontact gaat dan als het goed is knipperen. Dit betekent dat het stopcontact in de programmeer modus staat. Nu open je het tabblad schakelaars in Domoticz en drukt op de knop handmatig toevoegen.

Schermafbeelding 2015-12-13 om 17.30.23

Continue reading

Een nieuwe Domotica aanwinst, de RFXtrx433E

rfxtrx433eSoms vraag ik me af, of ik die schoenenkast ooit af ga krijgen. Het mag dan buitengewoon warm zijn voor de tijd van het jaar, maar het waait ook behoorlijk hard. Iets te hard om comfortabel buiten te kunnen werken. En sinterklaas en de komende feestdagen helpen ook niet echt. Maar gelukkig houd ik nu tijd over om verder te gaan met mijn Domotica opstelling.

Binnenkort wordt mijn nieuwe rolluik geleverd. De grote slaapkamer heeft een raam op het noorden, wat er in de winter voor zorgt dat het behoorlijk koud kan worden op die slaapkamer. Toen ik ontdekte dat er rolluiken zijn die ik met Domoticz aan kan sturen. Hoefde ik over de aanschaf van het rolluik niet lang na te denken. Waarom ik niet lang twijfelde, leg ik uit in het artikel waarin ik beschrijf hoe je de rolluiken met Domoticz aanstuurt. Mocht je binnenkort zelf rolluiken aan willen schaffen, die je ook met Domoticz aan wilt kunnen sturen. Dan adviseer ik je om een rolluik met een Somfy RTS motor te nemen.

Voor de aansturing van de Somfy RTS motor, heb je een RFXtrx433E nodig. Dit is een heel klein kastje – met een enorm grote antenne – die speciaal ontwikkeld is voor de aansturing van een heleboel apparaten die over de 433 Mhz radiogolf kunnen communiceren.

rfxtrx433e Continue reading

Domotica: het uithollen van de piramide (deel 3)

Het voordeel van de bouwtekening, die ik op een stukje afvalhout heb gemaakt, is dat ik exact kan bepalen tot welke diepte ik met de forstner boor moet boren.

IRSensorPiramide_79Mijn plan is, om met verschillende (steeds kleiner wordende) diameter forstner boren de binnenkant van de piramide uit te hollen. Na twee verschillende diameters zit ik al bijna diep genoeg.

IRSensorPiramide_80Ik neem de diepte van de gaten die ik boor over op mijn bouwtekening. Zo kan ik iedere keer bepalen waar ik zit. Ik zie dat het tweede gat wel heel dicht bij de buitenkant komt. Als ik iets dieper had geboord, dan was ik door de piramide heen gekomen.

Als ik de piramide diep genoeg heb uitgehold, ziet het er zo uit.

IRSensorPiramide_84Op de bouwtekening kun je goed zien, hoe dit er aan de binnenkant uit ziet. Continue reading

Domotica: Piramide voor Infrarood zender- ontvanger (deel 2)

Nu de top gelijmd is, richt ik mijn aandacht op de onderkant. Ik begin met haaks zagen van de onderkant, zodat ik hem daarna mooi tegen het hek van mijn zaagtafel kan duwen. Ik zaag eerst een van de smalle zijde haaks.

IRSensorPiramide_36Daarna zaag ik een van de langere zijde haaks.

IRSensorPiramide_38Ik verschuif het hek van de zaagtafel niet en zaag nu het blok langs de smalle kant, zodat ik een vierkant krijg.

IRSensorPiramide_41Omdat ik mijn zaagtafel nooit gebruik voor andere hoeken dan 90 graden. Probeer ik het eerst uit op een stukje afvalhout. En je ziet nu ook waarom ik liever dit met mijn zaagtafel liever niet doe – ik moet met mijn vingers dicht bij het zaagblad komen.

IRSensorPiramide_43 Continue reading

Domotica: Piramide voor Infrarood zender- ontvanger (deel 1)

Aan sommige projecten begin ik uit een impuls. Ik heb dan een idee wat ik uit wil proberen, maar het uiteindelijke doel waarvoor ik het ga gebruiken heeft zich dan nog niet aan mij ontvouwen. Vorige zomer was ik ook al bezig met het uitproberen van elektronica projecten, maar een echt doel had ik daar nog niet voor. Maar iets in mij vertelde me, dat ik een kleine piramide wilde maken waarin ik een infrarood ontvanger en -zender wilde verwerken.

Ik begon aan het project zonder dat ik wist waar ik deze piramide voor wilde gaan gebruiken. Inmiddels heb ik er al een mooie bestemming voor, want door naar mijn afstandsbedieningen te luisteren, kan ik de juiste verlichting aan- en uitschakelen met mijn Domotica controller. In de piramide stop ik ook een 3 kleuren led (een RGB lamp) in, zodat de piramide ook visuele signalen kan geven. Al kan ik op voorhand niet bepalen of die optie echt gaat werken.

IRSensorPiramide_1Uit een stuk walnoot, zaag ik twee stukken die ik op elkaar lijm.

IRSensorPiramide_3Ik laat de nerven zo goed mogelijk op elkaar aansluiten, zodat het lijkt alsof het een stuk hout is. Dat laatste had ik ook liever gehad, maar ik heb alleen planken van walnoot liggen, helaas geen balken.

Terwijl de lijm droogt, lijm ik een stukje purperhart tussen twee stukjes maple (Amerikaanse Essen). Dit wordt een deel van de top van de piramide.

IRSensorPiramide_7Omdat ik de piramide uit meerder stukken hout opbouw, en omdat ik ruimte voor de elektronica wil hebben, teken ik de piramide op ware grootte op een stuk afvalhout. Zo krijg ik een beter beeld in hoe ik hem op moet bouwen. De hoeken van de piramide zijn allen 60 graden.

IRSensorPiramide_10 Continue reading

WakeUp light – Op een natuurlijke manier en uitgerust wakker worden

WakeUpLight_609De afgelopen weken, heb ik wat geëxperimenteerd met een zelf gebouwde WakeUp – lamp. Een WakeUp lamp is een soort wekker alarm, die de zonsopkomst nabootst. Dit doet een WakeUp lamp door een half uur voordat je wakker wilt worden, de kleuren van een zonsopkomst na te bootsen. Er zijn meerdere wetenschappelijke onderzoeken die bevestigen dat we van nature wakker worden door zonsopkomst. Nu hebben we natuurlijk allemaal gordijnen voor onze ramen,  die ervoor zorgen dat we de zonsopkomst eigenlijk niet zien. En onze maatschappij houdt geen rekening met zonsopkomst, want in de winter worden we gewoon op de normale tijd op ons werk verwacht. Maar gelukkig kunnen we met wat eenvoudige elektronica, MySensors en Domoticz de zonsopkomst in onze slaapkamer halen.

Hoe ik deze WakeUp lamp heb ontwikkeld beschrijf ik in een volgend artikel, ik zal dan ook het schema en de software met jullie delen, omdat ik in mijn zoektocht weinig goed werkende voorbeelden kon vinden. In dit artikel beschrijf ik voornamelijk mijn bevindingen en hoe ik de WakeUp lamp aan mijn Domotica controller heb toegevoegd. Ik had ook een klok aan de lamp kunnen toevoegen, maar dat past niet in mijn visie over hoe je een goede Domotica opstelling maakt.

Nadat ik de WakeUp lamp een paar nachten heb gebruikt, kan ik niet anders dan heel positief zijn. Ik heb normaal enorme moeite met opstaan, vooral in de winterperiode. Ik merk nu dat ik al 10 minuten voordat mijn wekker afgaat, wakker word en dat ik ook merkbaar uitgeruster aan de dag begin.

Omdat ik al snel door had, dat ik 10 minuten voor de lamp op volle sterkte is wakker werd, besloot ik om een Lux meter in mijn slaapkamer te installeren. Een lux-meter is een sensor waarmee je de lichtsterkte kunt meten. Op de volgende foto zie je de grafiek van een dag waarop ik de wekker om 08:30 uur gezet heb.

Schermafbeelding 2015-10-11 om 16.18.50Hier zie je heel duidelijk de enorme piek aan licht die mijn WakeUp lamp produceert rond 8:30 uur. Je ziet ook dat er de vorige dag vanaf 18:30 bijna geen licht meer in mijn slaapkamer is, dat komt omdat de zon rond die tijd is ondergegaan. Vanaf een uur of 11 zie ja dat de lichtsterkte toeneemt, dat is de lichtsterkte van de zon. Als de zon echt fel schijnt, dan komt de sterkte eigenlijk niet boven de 25 lux. Nu moet ik daar wel bij zeggen dat mijn slaapkamer op het Noorden is gelegen, en dus ook weinig direct zonlicht krijgt.

Om te bepalen wat de hoeveelheid licht is waarvan ik vanzelf wakker word, heb ik de muis op het punt rond 08:20 gehouden. Ik kan dan zien dat een sterkte van 14 lux voldoende is om wakker te worden.

Schermafbeelding 2015-10-11 om 16.19.06 Continue reading