Lampen schakelen met een Raspberry Pi

Door WeeJeWel op donderdag 31 januari 2013 01:00 - Reacties (75)
Categorie: Home Automation, Views: 16.626

Home Automation is een opkomend én gaaf verschijnsel, en om het leven van jullie Tweakers wat makkelijker te maken heb ik hier een tutorial hoe je bepaalde merken stekkerdozen draadloos kan schakelen met een Raspberry Pi!

Deze tutorial werkt met de volgende merken: KlikAanKlikUit, Action, Blokker en Elro. Wellicht met meer omdat vaak dezelfde chips worden gebruikt, dus zeker het proberen waard!

Benodigdheden
  • Raspberry Pi
  • Een 433MHz/434MHz transmitter (o.a. te koop op eBay of iPrototype)
  • Wat draadjes om de transmitter aan je Raspberry Pi te verbinden. Een oude floppy kabel is in theorie voldoende, maar ik geef de voorkeur aan female jumper wires
Ik ga er van uit dat je je Raspberry Pi al werkend hebt met een degelijke linux distro, en weet hoe je met een terminal overweg kan. Ik gebruik Raspbian.

Stappenplan

Stap 1 - Sluit alles aan
  • VCC van de transmitter op pin 4 van je Pi (VCC 5V)
  • GND van de transmitter op pin 6 van je Pi (GND)
  • ATAD of DATA van de transmitter op pin 8 van je Pi (TX)
Zo moet het er uitzien:
http://i.imgur.com/QW0UqfYl.jpg

Stap 2 - Installeer WiringPi

WiringPi is een prachtige library die veel arduino functionaliteit naar de Raspberry Pi port. Omdat ik de draadloze library van een Arduino naar de Pi heb geport, heb je deze library dus ook nodig.

Als je git nog niet hebt, installeer dat dan via:

code:
1
2
3
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git-core

Daarna gaan we WiringPi downloaden en builden:

code:
1
2
3
4
5
git clone git://git.drogon.net/wiringPi
cd wiringPi
git pull origin
cd wiringPi
./build

Als alles goed gaat, heb je nu WiringPi geinstalleerd en kun je mijn code downloaden!

Stap 3 - Installeer het tooltje

Voer deze code uit:

code:
1
2
3
4
cd examples
wget -O lights.zip https://www.dropbox.com/s/nxdrkuk94w9fpqo/lights.zip?dl=1
unzip lights.zip
cd lights

Compileer nu de versie die jij nodig hebt:

KlikAanKlikUit
code:
1
g++ -o kaku kaku.cpp -I/usr/local/include -L/usr/local/lib -lwiringPi

Action
code:
1
g++ -o action action.cpp -I/usr/local/include -L/usr/local/lib -lwiringPi

Blokker
code:
1
g++ -o blokker blokker.cpp -I/usr/local/include -L/usr/local/lib -lwiringPi

Elro
code:
1
g++ -o elro elro.cpp -I/usr/local/include -L/usr/local/lib -lwiringPi

Nu kun je het zojuist gecompileerde tooltje uitvoeren om je lampen te schakelen! Bijvoorbeeld:

code:
1
sudo ./action 18 C on

Voor de andere merken, voer sudo ./merk uit voor het juiste gebruik. (sudo is nodig omdat de GPIO pin low-level zijn)

Optionele stap 4 - Tweaken

Bereik optimaliseren
Als je moeite hebt met het schakelen, is waarschijnlijk het bereik te klein. Dit heeft meestal drie oorzaken:
  • De ontvanger zit in de buurt van veel electronica: verplaats deze naar een wat 'rustigere' plek
  • Maak de antenne van de transmitter langer
  • Boost het vermogen van de transmitter naar maximaal 12V door die twee pinnen op een externe adapter aan te sluiten
Ontvanger
Ook kun je met de broncode aan de slag om de functionaliteiten uit te bouwen. Voor de originele Arduino library klik hier. Een receiver aankoppelen zou niet al te moeilijk moeten zijn!

Webserver
Koppel dit tooltje aan bijvoorbeeld een PHP of Node.js server om via je browser of smartphone je lampen te schakelen met een mobiele website, NFC tags bij de deur, Wi-Fi detectie.. you name it! :D

Update: Lampen schakelen met je smartphone & een Raspberry Pi


Reacties vind ik heel leuk! O+

Volgende: Buzzword Bingo! 16-02 Buzzword Bingo!
Volgende: ProTube 2.3 27-01 ProTube 2.3

Reacties


Door Tweakers user Pixeltje, donderdag 31 januari 2013 07:10

Leuk idee om zoiets met een PI te doen. Ik heb zelf een homewizard en gebruik het Klikaanklikuit spul om wat lampen enzo te schakelen. De HW maakt het allemaal erg makkelijk maar tegelijk ook minder tweakable.

Ik ga dit proberen in ieder geval, bedankt voor je tut!

Door Tweakers user GateKeaper, donderdag 31 januari 2013 10:07

Interessante blog, echter schakel je dus eigenlijk geen lampen, maar stekkerdozen? Voor mij wordt het pas echt handig als je laat zien hoe ik de lampen in het plafond er op aansluit.

Door Tweakers user MissileHugger, donderdag 31 januari 2013 10:45

Leuke simpele oplossing. Bevat de software ook een receiver module oid? Zodat ook andere merken (lidl setje) ermee bestuurd kunnen worden.

@GateKeaper
Er zijn inbouwmodules van KiKa, deze kun je ook met de RPi schakelen.

Door Tweakers user mawi, donderdag 31 januari 2013 11:01

Interessante blog, echter schakel je dus eigenlijk geen lampen, maar stekkerdozen? Voor mij wordt het pas echt handig als je laat zien hoe ik de lampen in het plafond er op aansluit.
Hier kun je speciale fittingen voor kopen, die kun je dan ook rechtstreeks aansturen (Dim/Aan/Uit). Kijk bv. maar eens naar de KlikAanKlikUit AFR-100

Door Tweakers user prein2, donderdag 31 januari 2013 11:32

zie ook het raspberry pi GPIO topic in het Electronica forum!

Door Tweakers user Nimrodx, donderdag 31 januari 2013 11:57

Vette shit, ik heb zelf ook een rasp gekocht en gebruik hem nu alleen als media centertje. Misschien dat ik zoiets wel ga doen binnenkort :)

Door Tweakers user naarden 4ever, donderdag 31 januari 2013 17:01

GateKeaper schreef op donderdag 31 januari 2013 @ 10:07:
Interessante blog, echter schakel je dus eigenlijk geen lampen, maar stekkerdozen? Voor mij wordt het pas echt handig als je laat zien hoe ik de lampen in het plafond er op aansluit.
Klopt, maar een stekkerdoos schakelen is niet meer dan een relais activeren. Dat is ook de mechanische 'klik' die je hoort bij het klikaanklikuit-systeem, een relais die schakelt. Dat kan ook met de RPi.

Door Tweakers user i-chat, vrijdag 01 februari 2013 12:08

ik heb naar aanleiding van je blog even zitten kijken naar kaku ... maar om eerlijk te zijn vind ik 30 euro voor een inbouwschakelaar (mini) nog wel behoorlijk aan de prijs.

en mis ik ook systemen waar je meerdere lampen (bijv 2 of 4) onafhankelijk kunt schakelen met 1 ontvanger. ook die fitting vond ik niet handig bij standaar platontlampen pas die grote bol dan al snel niet meer in z'n kap omdat je de fitting erbij plaatst in plaats van vervangt. op zich lijkt het systeem me wel zeer interessant maar veel te duur. voor wat het is (een paar lichtschakelaars)

Door Tweakers user tim427, vrijdag 01 februari 2013 13:53

Wat ik me afvraag is of dit ook werkt met de nieuwe Klik-aan-klik-uit.

Ik heb zelf namelijk de nieuwe schakelaars en probeerde destijds met mijn Arduino + 433 MHz, maar de bestaande libaries (ook die van jou) geef je een simpele "address" + "command" mee.

De nieuwe generatie heeft een handshake protocol volgens mij. De enigste manier om er achter te komen welke adressen er uitgezonden worden is met een 433 MHz recevier uit te lezen..

Correct me if i'm wrong!

Door Tweakers user WeeJeWel, vrijdag 01 februari 2013 14:09

i-chat schreef op vrijdag 01 februari 2013 @ 12:08:
ik heb naar aanleiding van je blog even zitten kijken naar kaku ... maar om eerlijk te zijn vind ik 30 euro voor een inbouwschakelaar (mini) nog wel behoorlijk aan de prijs.

en mis ik ook systemen waar je meerdere lampen (bijv 2 of 4) onafhankelijk kunt schakelen met 1 ontvanger. ook die fitting vond ik niet handig bij standaar platontlampen pas die grote bol dan al snel niet meer in z'n kap omdat je de fitting erbij plaatst in plaats van vervangt. op zich lijkt het systeem me wel zeer interessant maar veel te duur. voor wat het is (een paar lichtschakelaars)
De action verkoopt 3 sockets en 1 afstandsbediening voor een tientje :)
tim427 schreef op vrijdag 01 februari 2013 @ 13:53:
Wat ik me afvraag is of dit ook werkt met de nieuwe Klik-aan-klik-uit.

Ik heb zelf namelijk de nieuwe schakelaars en probeerde destijds met mijn Arduino + 433 MHz, maar de bestaande libaries (ook die van jou) geef je een simpele "address" + "command" mee.

De nieuwe generatie heeft een handshake protocol volgens mij. De enigste manier om er achter te komen welke adressen er uitgezonden worden is met een 433 MHz recevier uit te lezen..

Correct me if i'm wrong!
Je zet je socket gewoon op zoekmodus, stuurt een random commando en dan is dat commando gelinkt aan je socket. Really easy :)

Door jklu, zondag 03 februari 2013 19:56

Als je:
sudo chown root ./action
sudo chmod +s ./action

Doet dan kun je gewoon je ./action doen zonder sudo :-)

En als je het spul met een webbrowser wilt kunnen bedienen, kijk dan eens naar:
https://github.com/seriousme/node-switch

Door Tweakers user sypie, maandag 04 februari 2013 07:32

Halen we hier géén twee "action" door elkaar? Je krijgt van die gekke resultaten als je dat doet. :+

Ik dacht dat er in plaats van WCD's ook lampfittingen geschakeld konden worden via wifi. Als ik me niet vergis had KNX zoiets. Je zet daarbij een klein printje met wifi of RF ín de fitting waardoor 220 wordt geschakeld in het aansluitpunt van de lamp.

[Reactie gewijzigd op maandag 04 februari 2013 07:36]


Door Tweakers user LinuZZ, dinsdag 05 februari 2013 08:10

Werkt dit ook met bijvoorbeeld zoiets: http://dx.com/p/rfc-30f-1...le-w-antenna-green-154851 het bereik daarvan lijkt me beter te zijn?

voor de zekerheid maar een FS1000A besteld als het bereik tekort komt zoek ik wel verder :)

[Reactie gewijzigd op dinsdag 05 februari 2013 09:58]


Door Tweakers user gradtje, woensdag 06 februari 2013 00:07

He WeeJeWel,

Bedankt man, ik was al een tijd aan het klooien met http://www.raspberrypi.org/phpBB3/viewtopic.php?t=11159
Dit werkte in een keer... en ondersteunt bovendien de goedkope action apparaatjes... Ik heb er snel een paar opgehaald, geen geld en ze lijken een stuk degelijker te functioneren dan de Kaku`s die ik heb. De action-apparaatjes zijn HT12D/E gebaseerd en dat betekent dat 1 ontvanger eigenlijk 4 apparaten kan schakelen en heeft ook nog een VT-uitgang, deze is kort actief na een juist ontvangen code (Valid transmission) Hiermee zou je dus iets met een puls kunnen sturen.

Super !!!


Door Tweakers user i-chat, woensdag 06 februari 2013 15:04

LinuZZ schreef op dinsdag 05 februari 2013 @ 08:10:
Werkt dit ook met bijvoorbeeld zoiets: http://dx.com/p/rfc-30f-1...le-w-antenna-green-154851 het bereik daarvan lijkt me beter te zijn?

voor de zekerheid maar een FS1000A besteld als het bereik tekort komt zoek ik wel verder :)
als dat ding uit die link werkt - ben ik wel geintresseerd. zeker als die action zooi idd te vinden is hier...


Door Tweakers user alarmklok, woensdag 06 februari 2013 20:28

Super gaaf en mooie uitleg!.
Heb gelijk alles besteld om er zelf mee te gaan knutselen.
Je had het over NFC tags bij de deur, hoe had je dat in gedachten.
Ik heb namelijk een Galaxy nexus met nfc, zie het al voor me loop door de deur nfc merkt het en de lampen gaan aan.

Door Tweakers user WeeJeWel, woensdag 06 februari 2013 20:48

alarmklok schreef op woensdag 06 februari 2013 @ 20:28:
Super gaaf en mooie uitleg!.
Heb gelijk alles besteld om er zelf mee te gaan knutselen.
Je had het over NFC tags bij de deur, hoe had je dat in gedachten.
Ik heb namelijk een Galaxy nexus met nfc, zie het al voor me loop door de deur nfc merkt het en de lampen gaan aan.
Het makkelijkste is een webserver maken waarmee je de lampen kan schakelen, dus bijvoorbeeld http://jouwthuisserver.nl/lampen/A/uit. Dit kun je doen met de android apps NFC Task Launcher en Tasker (GET request). Wellicht een beetje puzzelen, maar zeker de moeite waard! :D

Door Tweakers user alarmklok, donderdag 07 februari 2013 08:27

Ja daar had ik nog niet eens over nagedacht, ik dacht alweer moeilijk om een nfc aan de raspberry te knuppen etc. etc. maar dit is veel makkelijker:)
Heb je nog meer leuke ideeen of ga je nog meer blogs hierover maken?

Door Tweakers user gradtje, vrijdag 08 februari 2013 00:09

WeeJeWel schreef op woensdag 06 februari 2013 @ 20:48:
[...]Het makkelijkste is een webserver maken waarmee je de lampen kan schakelen, dus bijvoorbeeld http://jouwthuisserver.nl/lampen/A/uit. Dit kun je doen met de android apps NFC Task Launcher en Tasker (GET request). Wellicht een beetje puzzelen, maar zeker de moeite waard! :D
Of je pingt gewoon je telefoon, op die manier weet je Pi of je thuis bent of niet...

Door Tweakers user JaZo, vrijdag 08 februari 2013 12:21

Leuke post! Ik had zelf ook al wat rond geneusd om een soort gelijk iets te maken en nu krijg ik er ook meer zin in om het ook echt te gaan doen :)

Door Tweakers user WeeJeWel, vrijdag 08 februari 2013 18:53

alarmklok schreef op donderdag 07 februari 2013 @ 08:27:
Ja daar had ik nog niet eens over nagedacht, ik dacht alweer moeilijk om een nfc aan de raspberry te knuppen etc. etc. maar dit is veel makkelijker:)
Heb je nog meer leuke ideeen of ga je nog meer blogs hierover maken?
Misschien :) Dit is wel lekker concreet, veel andere projectjes zijn denk ik te specifiek om een blog voor te maken. Maar als je graag iets wilt weten dan kan ik altijd voor je kiek'n ;)
gradtje schreef op vrijdag 08 februari 2013 @ 00:09:
[...]

Of je pingt gewoon je telefoon, op die manier weet je Pi of je thuis bent of niet...
Dit is lastiger dan je denkt! Wat als je mobiel op slaapstand gaat? Of je een film aan het kijken bent? etc.
JaZo schreef op vrijdag 08 februari 2013 @ 12:21:
Leuke post! Ik had zelf ook al wat rond geneusd om een soort gelijk iets te maken en nu krijg ik er ook meer zin in om het ook echt te gaan doen :)
Mission accomplished :D

[Reactie gewijzigd op vrijdag 08 februari 2013 18:54]


Door Tweakers user DeNater, vrijdag 08 februari 2013 22:31

Ik heb thuis geen enkele van de producten die je hier noemt, nu ben ik wel gefascineerd door dit soort oplossingen, maar is dit goedkoper dan de 100 dollar die je voor een WeMo Motion + Switch moet neerleggen?

Door Tweakers user WeeJeWel, zaterdag 09 februari 2013 10:45

Ja, maar hier zit natuurlijk geen motion sensor bij (is wel aan te sluiten voor ¤3 trouwens!)

Door Tweakers user micheltenhove, zaterdag 16 februari 2013 15:23

Dit is erg leuk! Ik ben er mee aan de slag gegaan, heb de transmitter gekocht via iPrototype tezamen met de jumper wires. Ik heb om te testen daarbij de draadloze stekkerblokken bij de Action gekocht.

Er gebeurd bij mij alleen bar weinig als ik de commando's uitvoer, vanavond maar even uitzoeken waar dat aan ligt.

Door ArkoXS, zondag 17 februari 2013 00:18

Goede beschrijving. Werkt in een keer met mijn Klik aan Klik uit schakelaars.

In de omschrijving geef je aan dat je bij het builden na het ophalen van de laatste versie met de git pull je de subdirectory wiringPi in moet gaan. Die stap moet je niet doen.

Verder een foolproof handleiding. Thx.

Door ArkoXS, zondag 17 februari 2013 00:20

Nog een foutje, je moet pin 4 van de GPIO niet gebruiken, dat is een DNC.
Kies voor pin 2 +5V.

Door Tweakers user micheltenhove, zondag 17 februari 2013 11:03

Hee Weejewel, 'k heb nu voor mijn gevoel alles goed aangesloten en geconfigureerd. Er gebeurd alleen niet veel als ik de sudo commando's stuur. Wat me wel opviel is dat de jumper wires die ik bij iPrototype heb besteld wat losjes om de 433mhz transmitter zitten, wellicht wordt het probleem daardoor veroorzaakt?

Door Tweakers user WeeJeWel, zondag 17 februari 2013 13:26

micheltenhove schreef op zondag 17 februari 2013 @ 11:03:
Hee Weejewel, 'k heb nu voor mijn gevoel alles goed aangesloten en geconfigureerd. Er gebeurd alleen niet veel als ik de sudo commando's stuur. Wat me wel opviel is dat de jumper wires die ik bij iPrototype heb besteld wat losjes om de 433mhz transmitter zitten, wellicht wordt het probleem daardoor veroorzaakt?
Je kunt de data pin en de ground even met een ledje verbinden om te kijken of er wat wordt verstuurd (dan gaat het ledje knipperen).

Welke ontvangers gebruik je dan?

Door Tweakers user micheltenhove, zondag 17 februari 2013 22:02

Ik gebruik de ontvangers van de Action. Het merk impuls staat op de ontvangers. Ik ga morgen eens even met een ledje proberen die heb ik hier zo standaard niet liggen, wellicht dat ik er even 1 uit een oude computerkast sloop.

Door Tweakers user WeeJeWel, zondag 17 februari 2013 23:27

micheltenhove schreef op zondag 17 februari 2013 @ 22:02:
Ik gebruik de ontvangers van de Action. Het merk impuls staat op de ontvangers. Ik ga morgen eens even met een ledje proberen die heb ik hier zo standaard niet liggen, wellicht dat ik er even 1 uit een oude computerkast sloop.
Dan denk ik dat je het kanaal verkeerd hebt :) Gebruik deze tool eens: http://theatrix.net/main/dip.htm

Door Tweakers user mouse86, maandag 18 februari 2013 12:45

Geweldige post. Dank u wel!

Heb de Action modulen en met jouw uitleg was het binnen een paar minuten werkend !

Door Tweakers user micheltenhove, maandag 18 februari 2013 19:24

Hoi weejewel, bedankt voor de gouden tip! Ik zit op kanaal 63, nu werkt het als een tierelier! Bedankt! :)


Door Tweakers user 64mike53, dinsdag 19 februari 2013 09:38

bedankt weejewel voor de mooie handleiding. Gisteravond ook aan de praat gekregen en de zender van iprototype werkt uitstekend. De zender komt vanaf mijn zolderkamer naar de begane grond.

De website krijg ik alleen niet aan de praat van https://github.com/seriousme/node-switch

Er is geen duidelijke handleiding wat voor de website nodig is. Misschien voor je volgende handleiding:P

Door Tweakers user micheltenhove, woensdag 20 februari 2013 00:07

Weejewel, ik heb samen met 64mike53 een website in elkaar gehengeld waarmee je de stekkerblokken en overig kaku spul kan schakelen. Als er mensen geintresseerd zijn in hoe we dit gedaan hebben:

- Apache2, PHP5 geinstalleerd
- gebruiker www-data en apache toegevoegd aan sudoers(moet nog beter beveiligd worden)
- PHP script gemaakt die het commando: sudo ./merk dipchannel on/off uitvoert

(youtube: http://youtu.be/p5-u-Z1Lg98)

't is eenvoudig, maar wel effectief! :)

Door Tweakers user WeeJeWel, woensdag 20 februari 2013 00:14

Hey cool! Anders schrijf je er een blog / tutorial voor? :D

Door Tweakers user micheltenhove, woensdag 20 februari 2013 00:29

Hey Weejewel, we zullen deze week het script nog een beetje verfijnen, daarna zal ik een tutorial incl. bijbehorende code/materiaal maken en hier posten. :) Wij hebben dit toch te danken aan jouw prachtige tweakblog. ;)

[Reactie gewijzigd op woensdag 20 februari 2013 00:29]


Door Tweakers user Dylantje2, donderdag 21 februari 2013 10:57

He strak was m,e aan het verdiepen in.de Nodo.
Maar dit lijkt vele malen makkelijker....
Is er ook zoiets als een webapp?
http://www.nodo-domotica.nl/webapp/index.html
Want dan ga ik meteen een raspberry bestellen...

En kan ik er ook commando's inzetten, zoals alles uit om ..
Of alles aan om..
enz enz enz

Zijn er ook filmpjes van de mogelijkheden.....


Iemand een adres waar ik snel een raspberry B type in huis heb.... ;) ;)

[Reactie gewijzigd op donderdag 21 februari 2013 11:38]


Door Tweakers user Dylantje2, donderdag 21 februari 2013 19:54

micheltenhove schreef op woensdag 20 februari 2013 @ 00:29:
Hey Weejewel, we zullen deze week het script nog een beetje verfijnen, daarna zal ik een tutorial incl. bijbehorende code/materiaal maken en hier posten. :) Wij hebben dit toch te danken aan jouw prachtige tweakblog. ;)
Komt dit op codeplex, of soureforge???

Door Tweakers user micheltenhove, donderdag 21 februari 2013 22:52

Ehh.. Dylantje2, is een downloadable zipje vanaf mijn eigen webserver voldoende? :) Je mag me natuurlijk altijd een PM sturen dan kan je de pruttel nu al van me krijgen. ;)

Door David, vrijdag 22 februari 2013 10:13

zou je me het zipje ook willen mailen?

b.v.d.

Door Tweakers user Pino en Tommie, vrijdag 22 februari 2013 14:25

Leuk project ! Ik heb de tutorial gevolgd en het werkt ! Ik heb de ontvangers van Impuls (action). De volgende stap moet worden; het bedienen via de webserver, draaiend op een RPI. Ik heb reeds een webserver draaiend op de RPI maar de rest is nog even abacadabra voor me. Ik blijf jullie blog volgen in de hoop dat er ook iets op komt te staan omtrent het bedienen van de impuls stekkerschakelaars via de webserver.

Door Tweakers user micheltenhove, vrijdag 22 februari 2013 16:38

Hi Pino en Tommie, ik heb de interface via web nu draaiend. Ik probeer deze zondag te uploaden en beschikbaar te maken voor jullie allen! :)

Door Tweakers user WeeJeWel, vrijdag 22 februari 2013 17:23

micheltenhove schreef op vrijdag 22 februari 2013 @ 16:38:
Hi Pino en Tommie, ik heb de interface via web nu draaiend. Ik probeer deze zondag te uploaden en beschikbaar te maken voor jullie allen! :)
Heb jij een Tweakblog? Zo niet dan wil ik 't wel voor je posten :)

Door Tweakers user Dylantje2, vrijdag 22 februari 2013 20:25

Pino en Tommie schreef op vrijdag 22 februari 2013 @ 14:25:
Leuk project ! Ik heb de tutorial gevolgd en het werkt ! Ik heb de ontvangers van Impuls (action). De volgende stap moet worden; het bedienen via de webserver, draaiend op een RPI. Ik heb reeds een webserver draaiend op de RPI maar de rest is nog even abacadabra voor me. Ik blijf jullie blog volgen in de hoop dat er ook iets op komt te staan omtrent het bedienen van de impuls stekkerschakelaars via de webserver.
Zou je mij willen vertellen hoie en wat je hebt draaien op je RPI.
Ik heb ook zo'n ding besteld om een server te bouwen.
Ook voor mijn domotica project,
Maar hoe moet ik zo'n webserver zien?
Hang je er nog een schijf aan?
Of draai je op de usb/sd de server?
Wat is de max grootte dan ??
Werkt het verder goed??

Te veel vragen, te weinig kennis/tijd...

Door Tweakers user Dylantje2, vrijdag 22 februari 2013 20:26

micheltenhove schreef op vrijdag 22 februari 2013 @ 16:38:
Hi Pino en Tommie, ik heb de interface via web nu draaiend. Ik probeer deze zondag te uploaden en beschikbaar te maken voor jullie allen! :)
.

Ik wacht met smart...

Link??

Door Tom, vrijdag 22 februari 2013 20:36

Heren, ben ook maar in de sfeer gekomen om te gaan rommelen met de raspberry pi en home automation, nou leek mij dit een simpele tut. Maar ik krijg deze error helaas:

root@domotica ~/domotica/lights # g++ -o elro.cpp -I/usr/local/include -L/usr/local/lib -lwiringPi
/usr/lib/gcc/arm-linux-gnueabihf/4.6/../../../arm-linux-gnueabihf/crt1.o: In function `_start':
(.text+0x34): undefined reference to `main'
collect2: ld returned 1 exit status

Nou moet ik erbij vertellen dat ik de RF transmitter nog niet in huis heb... maar alvast wat voorwerk doe. Wat doe ik mis?
ik heb via ./build de boel geinstalleerd, moet er nog wat gekopieerd worden of iets dergelijks?

BTW, Dylantje2, apt-get install apache2. dan ga je naar /var/www en hier zit je web root in. Zodra je dan het ipadres in je browser typt (op pc bijvoorbeeld) zie je index.html die in /var/www/ staat. Als je even iets moois wil maken kan je met JQuery Mobile een mooie webapp interface maken, ben ik tenminste van plan.

Door Tom, vrijdag 22 februari 2013 21:26

NVM het is al gelukt, had de stappen niet goed gelezen 8)7
Ik heb trouwens al een klein opzetje gemaakt voor een mobile interface.
Zie http://jsfiddle.net/AJ59H/
Niks werkt nog, alleen de grafische schil is dit. Ben benieuwd hoe dit gaat werken bij mij. Bestelling van de rf transmitter is geplaatst...

Door Pino en tommie, zaterdag 23 februari 2013 07:55

Hallo Dylantje2,

Om een webserver te installeren moet je onderstaande link eens volgen. Deze heb ik gebruikt om wat stappen verder te komen. Met googlen kom je ook een heel eind. Ik ben absoluut geen whizkit maar dankzij de vele informatie die ik via internet heb gevonden kom je een heel eind.

http://www.instructables.com/id/Raspberry-Pi-Web-Server/

Op deze website staat beschreven wat Tom hierboven verteld.
Ik heb nu nog niets extra aan mij RPI hangen. Alles draait op een 16 gb class 10 sdcard.
Ik moet daar wel bij vertellen dat ik nog geen website heb draaien op de rpi. Zover ben ik nog lang niet. Ik wacht met smart op de interface die micheltenhove gaat uploaden. Ik denk dat ik dan weer een stapje verder kan.

Succes dylantje2!!

Door Tom, zaterdag 23 februari 2013 10:25

Dat is een mooi linkje over hoe het precies moet ja.
Wat voor merk bevelen jullie aan? Dan vooral met installatiegemak, ik had gelezen dat Elro het makkelijkst is, klopt dit? Schakelen met DIPjes dat ik ergens las. :9

Wat bevelen jullie aan?


Door Richard, maandag 04 maart 2013 21:28

Werkt super (kaku)! bedankt voor de goede uitleg.

Zal proberen dit weekend de code the compileren als php library, zodat je dit rechtstreeks vanuit php kan doen, ipv sudo commando.

Door Bauke, maandag 11 maart 2013 15:40

He WeeJeWel,

Dat is een duidelijke handleiding. 433 MHz zendertje gekocht bij iPrototype en gecomplieerd voor de Kaku. Ik heb een set KaKu's van ongeveer 5 jaar geleden, die je kunt 'pairen' met de zender door op een knopje te drukken op de kontaktdoos. Dus ik op het knopje drukken en gelijk een code uitzenden: kaku C 18 on. Werkte onmiddellijk.
Echter 1 probleem: Het maakt niet uit welke code ik intik, bijvoorbeeld: kaku A 19 on, hij doet het altijd en dat lijkt me niet helemaal de bedoeling.
Heb je enig idee?
Alvast bedankt.

Door Tweakers user Codeaction, zondag 17 maart 2013 18:24

@Bauke,

Elk letter kanaal heeft slechts 16 mogelijkheden, wanneer je verder worden de cijfer kanalen herhaald
Adress device house id
A 1 31 15
A 2 15 15
A 3 31 14
A 4 15 14
A 5 31 13
A 6 15 13
A 7 31 12
A 8 15 12
A 9 31 11
A 10 15 11
A 11 31 10
A 12 15 10
A 13 31 9
A 14 15 9
A 15 31 8
A 16 15 8

Ga je verder bij 17 dan worden de house en id herhaald.
Daarnaast kun je ook een error krijgen omdat pin 15 gebruikt word:
https://projects.drogon.net/raspberry-pi/wiringpi/pins/

Deze is eigenlijk bedoeld voor constant aan te zijn, waardoor mijn pi andere afstandsbedieningen in huis blokkeerde. Pin 0 gebruik ik ipv 15.

Deze kun je aanpassen in het script voor het compileren.

Probeer anders ook het zelfde te doen met het ELRO script. Oudere KAKU van vorig jaar en langer hebben de zelfde protocol op sommige producten.

Mocht men geïnteresseerd zijn in alle mogelijke kanalen met kaku zie:
http://pastebin.com/ct0EUXJM

Deze zijn deels uitgelezen met een receiver. Na een kleine tijd viel me een patroon op. :P

[Reactie gewijzigd op zondag 17 maart 2013 18:25]


Door Bauke, donderdag 21 maart 2013 12:57

@Codeaction,
Bedankt voor je uitleg !
Werkt nu helemaal.
Groet, Bauke

Door Vincent, zondag 21 april 2013 12:05

Hallo allemaal,

Ik ben redelijk nieuw in het hele programmeren en in de Raspberry Pi. Nou probeer ik mijn nieuwe KAKU systeem te bedienen via de Raspberry. Ik heb de handleiding gevolgd maar loop naar mijn idee vast bij het compileren van de juiste versie. Zie onderstaande kopie. Kan iemand mij op weg helpen? Doe ik iets verkeerd?
Al vast bedankt.

pi@raspberrypi ~/wiringPi/examples/lights $ g++ -o kaku kaku.cpp -I/usr/local/include -L/usr/local/lib -IwiringPi
/tmp/cc53g4hm.o: In function `RemoteSwitch::RemoteSwitch(unsigned short, unsigned int, unsigned short)':
kaku.cpp:(.text+0x6c): undefined reference to `pinMode'
/tmp/cc53g4hm.o: In function `RemoteSwitch::sendTelegram(unsigned long, unsigned short)':
kaku.cpp:(.text+0x2ac): undefined reference to `delayMicroseconds'
kaku.cpp:(.text+0x2dc): undefined reference to `delayMicroseconds'
kaku.cpp:(.text+0x2fc): undefined reference to `delayMicroseconds'
kaku.cpp:(.text+0x32c): undefined reference to `delayMicroseconds'
kaku.cpp:(.text+0x360): undefined reference to `delayMicroseconds'
/tmp/cc53g4hm.o:kaku.cpp:(.text+0x380): more undefined references to `delayMicroseconds' follow
/tmp/cc53g4hm.o: In function `RemoteSwitch::sendTelegram(unsigned long, unsigned short)':
kaku.cpp:(.text+0x538): undefined reference to `digitalWrite'
/tmp/cc53g4hm.o: In function `main':
kaku.cpp:(.text+0x10f0): undefined reference to `wiringPiSetup'
kaku.cpp:(.text+0x11cc): undefined reference to `pinMode'
kaku.cpp:(.text+0x11d0): undefined reference to `digitalWrite'
collect2: ld returned 1 exit status

Door Tweakers user WeeJeWel, zondag 21 april 2013 12:38

Volgens mij heb je wiringPi nog niet goed geinstalleerd, Vincent

Door Vincent, zondag 21 april 2013 15:56

Bedankt voor je reactie @WeetJeWel,
Ik heb wiringPi opnieuw gebuild, ik begrijp niet waar het mis gaat. Ik heb alle stappen doorlopen, heb je een idee wat er dan verkeerd gaat?

(ps. heb op dit moment de RF transmitter nog niet aangesloten maar ik neem aan dat dat voor het builden en compileren nog niet uit maakt)

Door Vincent, zondag 21 april 2013 16:16

Ik heb getest of WiringPi goed is genuild. Onderstaande gegevens geven toch aan dat deze goed is? Of niet?

pi@raspberrypi ~ $ gpio readall
+----------+------+--------+------+-------+
| wiringPi | GPIO | Name | Mode | Value |
+----------+------+--------+------+-------+
| 0 | 17 | GPIO 0 | IN | Low |
| 1 | 18 | GPIO 1 | IN | Low |
| 2 | 27 | GPIO 2 | IN | Low |
| 3 | 22 | GPIO 3 | IN | Low |
| 4 | 23 | GPIO 4 | IN | Low |
| 5 | 24 | GPIO 5 | IN | Low |
| 6 | 25 | GPIO 6 | IN | Low |
| 7 | 4 | GPIO 7 | IN | Low |
| 8 | 2 | SDA | IN | High |
| 9 | 3 | SCL | IN | High |
| 10 | 8 | CE0 | IN | Low |
| 11 | 7 | CE1 | IN | Low |
| 12 | 10 | MOSI | IN | Low |
| 13 | 9 | MISO | IN | Low |
| 14 | 11 | SCLK | IN | Low |
| 15 | 14 | TxD | ALT0 | High |
| 16 | 15 | RxD | ALT0 | High |
| 17 | 28 | GPIO 8 | IN | Low |
| 18 | 29 | GPIO 9 | IN | Low |
| 19 | 30 | GPIO10 | IN | Low |
| 20 | 31 | GPIO11 | IN | Low |
+----------+------+--------+------+-------+

Door Tweakers user WeeJeWel, zondag 21 april 2013 17:20

hmm, dat ziet er goed uit. Het lijkt alsof je includes fout staan..

Door Vincent, zondag 21 april 2013 17:45

Bedoel je daarmee deze regel? Deze heb ik letterlijk overgenomen;

g++ -o kaku kaku.cpp -I/usr/local/include -L/usr/local/lib –lwiringPi

Door Vincent, zondag 21 april 2013 18:01

Heel erg bedankt, ik had bij '1wiringPi' de '1' voor een 'I' aangezien. Ga nu even raspbian helemaal opnieuw installeren. klopt het dat de 'o' van g++ -o ....' een o is en geen nul?

Ik hoop dat het zo werkt. Ik heb alleen nog één vraag. Hoe kom ik er achter wat het kanaal van mijn KAKU is? Hoe bepaal ik het kanaal adhv de dip? Ik kan het antwoord nergens vinden.

Al vast heel erg bedankt voor alle moeite.

Door Tweakers user guanowceend, zondag 28 april 2013 16:21

KAKU heeft geen standaard instelbare signalen zoals bijv. Elro-dingen.
Je moet het knopje met bijv. een pen indrukken en dan een signaal sturen.


Heeft overigens iemand enig idee hoe dit zit met Home Easy-producten?
Ik had gehoopt (omdat het van Elro is) dat het op dezelfde manier als Elro zou werken, maar ik krijg ze niet aan de praat (ook niet met mijn ab van Elro, FYI).

Door Tweakers user WeeJeWel, zondag 28 april 2013 16:26

Home-Easy is me ook nog niet gelukt

Door rick, donderdag 02 mei 2013 09:32

ik heb de software aangepast zodat het aantal keren dat een bericht wordt verstuurd per bericht kan worden bepaald. Hiervoor heb ik een commandline parameter toegevoegd. De oorspronkelijke versie zend altijd 3x om meer zekerheid te hebben dat het bericht daadwerkelijk ontvangen wordt. Het gevolg is dat het best lang duurt eer de command-prompt terug komt na het geven van het commando. Als het bericht niet vanaf de kelder naar de zolder hoeft is 2x of zelfs 1x vaak voldoende. Hoe dan ook is het een parameter die je wilt kunnen instellen. Het werkt alsvolgt: "sudo ./action 18 C 1 on" Met dit commando wordt het bericht 1 x verstuurd. "sudo ./action 18C on" doet zoals oorspronkelijk 3x (voor backward compatibility).

Door Tweakers user GNID, woensdag 08 mei 2013 00:32

Voor diegenen die meer dan 5 Action switches in huis hebben:
Het is mogelijk om 32 Action switches (eigenlijk 31... blijf lezen :-) op één huiscode aan te sturen!

Bij het instellen van je apparaatcode (mbv de dipswitches) moet je altijd eentje "omhoog" zetten. Zo wordt dit voor apparaat "A" 10000 en voor B 01000, enz.
Ik was benieuwd of de switch ook op (bv) 11000 zou kunnen reageren en ben dus aan het knutselen geslagen. Om een niet zo lang verhaal nog korter te maken: dat werkt!

Ik heb hiervoor de code omgesmurft, zodat je ook met je Pi alle 32 kunt aanspreken en wel op 2 manieren: een waarbij je nog een huiscode op moet geven en een waarbij dat niet meer hoeft (nu je 31 devices op 1 huiscode kwijt kunt...)


action32.cpp
deze is qua aanroepen het meest vergelijkbaar met de bestaande code.
Na compileren kun je deze aanroepen met de
parameters <huiscode> <apparaatcode> <on|off>, alleen is de apparaatcode nu niet meer A...E, maar 1...31. Dus bijvoorbeeld: "action32 18 29 on"

schakel32.cpp
Nu je 31 devices kunt schakelen op 1 huiscode, zal het voor de meeste mensen wel lukken om alles bij 1 huiscode onder te brengen.Waarom dan elke keer weer de huiscode invoeren?
Daarvoor is schakel32.cpp. Pas dit bestand eenmalig aan met jouw huiscode en daarna kun je je Action switches aanroepen met (bijvoorbeeld): "schakel 29 on"


Terug naar de 31 ipv 32 devices...
Mocht je Pi een keer uit de lucht zijn, wordt het lastig om je Action switches nog te benaderen met je afstandsbediening. Device A tm E (voorbeeld A = 10000 binair = 16) gaan nog wel lukken, maar daarna heb je een probleem ....

Zou je denken.
Ik heb wat zitten spelen en wat blijkt? De afstandsbediening snapt ook combinaties van knoppen!
Zo heb ik een switch ingesteld op apparaatcode 00011 (3 dus). Deze kun je met de afstandsbediening aan- en uitschakelen door toetsen D (00010) en E (00001) gelijktijdig in te drukken!
Voor de goede orde: daar heb je bovenstaande programmaatjes niet voor nodig; dat werkt sowieso.

Dat is gelijk de reden dat er maar 31 devices geschakeld kunnen worden: probeer maar eens lamp 00000 aan of uit te zetten met de afstandsbediening :-).
Gebruik je de afstandsbediening niet, kun je vanuit de programmaatjes switch 0 wel aanroepen, natuurlijk.
Nog een Tip voor de afstandsbediening: tenzij binair hoofdrekenen een hobby van je is (we zitten hier op Tweakers; ik sluit nix uit ...), kun je misschien beter met een "knoppen-logica" werken. Zelf heb ik tussen switch "A" (10000) en "B" (01000) nog een switch "AB" (11000) hangen, tussen "B" en "C" hangt "BC", enz. Zo hoef ik de codes niet te onthouden.
Voor de bediening vanaf je webinterface maakt dit allemaal niet uit, natuurlijk.


Goed, dan nu het stappenplan (op basis van het bestaande stappenplan); ik ga er van uit dat je de stappen tot en met het builden van wiringPi succesvol doorlopen hebt.
Daarna:

=== ActionSwitch32 zipfile downloaden en uitpakken

cd ~
mkdir action32
cd action32

wget -O ActionSwitch32.zip https://doc-04-24-docs.go...NMeEmWZYCtQll5MjFTS2kyUzQ


(Dat is inderdaad 1 regel. Ik had nogal moeite om rechtstreeks vanuit GoogleDrive/-Docs te kunnen kopieren. Na meer dan een uur prutsen houd ik het hier maar bij. Als iemand een goede suggestie heeft hoe dit makkelijker kan ... ik ben een en al oor)

unzip ActionSwitch32.zip

=== ACTION32 (waarbij je de huiscode nog als parameter opgeeft)

- Compileren:
g++ -o action32 action32.cpp -I/usr/local/include -L/usr/local/lib -lwiringPi

- Testen:
sudo ./action32 18 16 on // lamp "A" op huiscode 18


=== SCHAKEL32 (waarbij je de huiscode eenmalig instelt)

Als het goed is, sta je nog steeds in ~/action32, anders commando: cd ~/action32

Huiscode aanpassen

- Editor starten:
nano schakel32.cpp

- zoek naar de (15e) regel: int channel = 14;
- Pas dit aan naar jouw huiscode, bijvoorbeeld: int channel = 0;
Let op: die ";" aan het einde is belangrijk. Die moet daar blijven staan.
- Opslaan met Ctrl-o (de letter O, niet een nul), bestandsnaam bevestigen met Entertoets en daarna nano afsluiten met Ctrl-x.

- Compileren:
g++ -o schakel schakel32.cpp -I/usr/local/include -L/usr/local/lib -lwiringPi

- Testen
sudo ./schakel 16 on // lamp "A" op de eerder ingestelde huiscode


Suxes!


Door ericvrp, zondag 12 mei 2013 18:00

Heeft iemand ervaring met deze dingen van de HEMA ?

Door ericvrp, zondag 12 mei 2013 21:58

Een paar dingen"

1.
Een foutje in de code: In ElroSwitch::getTelegram is de trits array 15 shorts long terwijl in de 16e nog data geschreven wordt. (Er worden er trouwen sowieso maar 12 verstuurd)

2.
Iets anders.... De KaKu deurbellen ... zouden die gebruik moeten maken van dezelfde codes? Ik ga nu alle 256 mogelijkheden af (10 minuten) (16 adressen * 16 devices) maar ik kan mijn deurbel nog niet 'spontaan' laten afgaan.

3.
Mijn Raspberry Pi is iets geoverclockt. Zou dit de timing (periodusec in de code) in de war kunnen schoppen? De delayMicroseconds(...) functies lijken me overigens niet heel betrouwbaar op een niet realtime operating systeem als Linux. (maar het lijkt wel meestal te werken. :-) )

bedankt
Eric

Door AMWN, woensdag 15 mei 2013 00:08

Wellicht lees is er overheen, maar hoe kom ik er achter welke code ik moet zenden?
Ik heb de impuls klik-aan-uit van de action. Ik heb de DIP switch calculator gevonden.

Voorbeeld: sudo ./action 18 C on
Waar staat 18, voor een waar staat C voor?

In de afstandbediening zitten 5 schuifjes, allen omhoog.
Op klik-aan-uit adapter 1 zit een stikker A, met de eerste 6 schuifjes omhoog, de laatste vier naar beneden, volgens dip calculator = 960.

mijn logica, sudo ./action 960 A on?
Command wordt goed uitgevoerd, maar er gebeurd niks.

Daarnaast, hoe kan ik testen of ik de zender goed heb aangesloten op de GPIO pins?

hoor graag! bedankt

Door AMWN, woensdag 15 mei 2013 17:31

het is al gelukt!

Door Tweakers user larszzie, vrijdag 17 mei 2013 20:51

Beste @GNID . Zou je het zipje ActionSwitch32.zip weer beschikbaar kunnen maken. Helaas is het niet meer te benaderen.

Door haubke, zondag 19 mei 2013 18:04

hallo,

ik heb alles geinstalleerd maar krijg de code van de ontvanger niet goed denk ik. led aangesloten op data en ground. deze werkt zoals het moet. dus in theorie zal het moeten werken.

de dip calculator kan ik niet openen. dip staat ingesteld op 00011 voor cijfers. 10000 voor letters. ik gebruik een elro ontvanger. kan iemand mij een hint geven of mischien een werkende link naar de calculator.

hartelijk dank een mooi project.

groeten haubke

Reactie formulier
(verplicht)
(verplicht, maar wordt niet getoond)
(optioneel)

Voer de code van onderstaand anti-spam plaatje in: