Lampen schakelen met een Raspberry Pi
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!

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:
Daarna gaan we WiringPi downloaden en builden:
code:
Als alles goed gaat, heb je nu WiringPi geinstalleerd en kun je mijn code downloaden!
Voer deze code uit:
code:
Compileer nu de versie die jij nodig hebt:
KlikAanKlikUit
code:
Action
code:
Blokker
code:
Elro
code:
Nu kun je het zojuist gecompileerde tooltje uitvoeren om je lampen te schakelen! Bijvoorbeeld:
code:
Voor de andere merken, voer sudo ./merk uit voor het juiste gebruik. (sudo is nodig omdat de GPIO pin low-level zijn)

Update: Lampen schakelen met je smartphone & een Raspberry Pi
Reacties vind ik heel leuk!
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
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)

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!Update: Lampen schakelen met je smartphone & een Raspberry Pi
Reacties vind ik heel leuk!
16-02 Buzzword Bingo!
27-01 ProTube 2.3
Reacties
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!
Ik ga dit proberen in ieder geval, bedankt voor je tut!
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.
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.
@GateKeaper
Er zijn inbouwmodules van KiKa, deze kun je ook met de RPi schakelen.
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-100Interessante 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.
zie ook het raspberry pi GPIO topic in het Electronica forum!
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 
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.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.
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)
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)
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!
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!
De action verkoopt 3 sockets en 1 afstandsbediening voor een tientjei-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)
Je zet je socket gewoon op zoekmodus, stuurt een random commando en dan is dat commando gelinkt aan je socket. Really easytim427 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!
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
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
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.
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]
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
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]
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 !!!
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 !!!
als dat ding uit die link werkt - ben ik wel geintresseerd. zeker als die action zooi idd te vinden is hier...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
Die kastjes zijn toch veel te duur man. Dit is veel leuker
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.
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!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.
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?
Heb je nog meer leuke ideeen of ga je nog meer blogs hierover maken?
Of je pingt gewoon je telefoon, op die manier weet je Pi of je thuis bent of niet...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!
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 
Misschienalarmklok 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?
Dit is lastiger dan je denkt! Wat als je mobiel op slaapstand gaat? Of je een film aan het kijken bent? etc.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...
Mission accomplishedJaZo 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
[Reactie gewijzigd op vrijdag 08 februari 2013 18:54]
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?
Ja, maar hier zit natuurlijk geen motion sensor bij (is wel aan te sluiten voor ¤3 trouwens!)
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.
Er gebeurd bij mij alleen bar weinig als ik de commando's uitvoer, vanavond maar even uitzoeken waar dat aan ligt.
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.
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.
Nog een foutje, je moet pin 4 van de GPIO niet gebruiken, dat is een DNC.
Kies voor pin 2 +5V.
Kies voor pin 2 +5V.
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).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?
Welke ontvangers gebruik je dan?
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 hebtmicheltenhove 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.
Geweldige post. Dank u wel!
Heb de Action modulen en met jouw uitleg was het binnen een paar minuten werkend !
Heb de Action modulen en met jouw uitleg was het binnen een paar minuten werkend !
Hoi weejewel, bedankt voor de gouden tip! Ik zit op kanaal 63, nu werkt het als een tierelier! Bedankt! 
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
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
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!
- 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!
Hey cool! Anders schrijf je er een blog / tutorial voor? 
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]
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....

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]
Komt dit op codeplex, of soureforge???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.
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. 
zou je me het zipje ook willen mailen?
b.v.d.
b.v.d.
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.
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 postenmicheltenhove 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!
Zou je mij willen vertellen hoie en wat je hebt draaien op je RPI.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.
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...
.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??
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.
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.
NVM het is al gelukt, had de stappen niet goed gelezen
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...
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...
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!!
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!!
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.
Wat bevelen jullie aan?
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.
Wat bevelen jullie aan?
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.
Zal proberen dit weekend de code the compileren als php library, zodat je dit rechtstreeks vanuit php kan doen, ipv sudo commando.
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.
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.
@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.
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.
[Reactie gewijzigd op zondag 17 maart 2013 18:25]
@Codeaction,
Bedankt voor je uitleg !
Werkt nu helemaal.
Groet, Bauke
Bedankt voor je uitleg !
Werkt nu helemaal.
Groet, Bauke
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
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
Volgens mij heb je wiringPi nog niet goed geinstalleerd, Vincent
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)
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)
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 |
+----------+------+--------+------+-------+
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 |
+----------+------+--------+------+-------+
hmm, dat ziet er goed uit. Het lijkt alsof je includes fout staan..
Bedoel je daarmee deze regel? Deze heb ik letterlijk overgenomen;
g++ -o kaku kaku.cpp -I/usr/local/include -L/usr/local/lib –lwiringPi
g++ -o kaku kaku.cpp -I/usr/local/include -L/usr/local/lib –lwiringPi
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.
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.
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).
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).
Home-Easy is me ook nog niet gelukt
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).
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!
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!
Hulde!!
Heeft iemand ervaring met deze dingen van de HEMA ?
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
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
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
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
het is al gelukt!
Beste @GNID . Zou je het zipje ActionSwitch32.zip weer beschikbaar kunnen maken. Helaas is het niet meer te benaderen.
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
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