Lampen schakelen met je smartphone & een Raspberry Pi

Door WeeJeWel op zondag 24 februari 2013 16:06 - Reacties (106)
Categorie: Home Automation, Views: 6.663

Michel ten Hove heeft een tutorial geschreven die aansluit op mijn vorige blog Lampen schakelen met een Raspberry Pi. Hij heeft een webinterface gemaakt zodat je met je smartphone of computer je lampen kan schakelen.

Ik post dit hier voor hem omdat hij zelf geen tweakblog heeft en ik dit soort acties alleen maar leuk vind :) Voor support en reacties mag je dus ook bij hem terecht!

Download de tutorial en bestanden: https://www.dropbox.com/s...ject%20Klikaanklikuit.zip

Volgende: Kamer vrij in Enschede 06-03 Kamer vrij in Enschede
Volgende: ProTube 2.4 19-02 ProTube 2.4

Reacties


Door Tweakers user gradtje, zondag 24 februari 2013 23:14

Elektrische deken... :p

Goed werk man !

Door Tweakers user gradtje, maandag 25 februari 2013 00:05

Het werkt !
Wel had ik even mijn sudoers-file om zeep geholpen (ondanks dat ik toch strak je tutorial aan had gehouden)
Voor de mensen die dat ook van plan zijn: Voordat je visudo doet, zet eerst even een wachtwoord op root middels sudo passwd root. Mocht je je sudoers file toch versjteerd hebben, middels pkexec visudo kun je dat weer rechtbreien (pffff)

Door Tweakers user PuceTundra, maandag 25 februari 2013 14:28

Leuke tip! Ga dit zeker even uitproberen binnenkort.

Door Tom, maandag 25 februari 2013 17:21

@gradtje: Welke schakelaars gebruik jij? Die van kaku?
Ben verder ook benieuwd hoe ver je kan schakelen?
Mijn RF Transmitter is onderweg, kan niet wachten.... :*)

Door Tweakers user micheltenhove, maandag 25 februari 2013 20:16

Ik kom hier bijna mijn hele huis door met het zendertje van iPrototype.. :) Daar zit zelfs nog een antenne aansluiting aan die ik niet gebruik op dit moment..

Door Gijs de Vries, maandag 25 februari 2013 22:05

Hoi mensen.
als het goed is word morgen mijn zender verstuurd dus heb hem woensdag binnen,
als dit dan allemaal werkt dan, heb ik eigenlijk al weer een volgende uitdaging.

zou het mogelijk zijn om 2 of meer draadloze Temperatuur sensors te laten loggen op de Mqsl db van de Raspberry Pi?

kan iemand daar zich verder in verdiepen met programeren en daar een uitleg van schrijven.
heb zelf geen ervaring met code taal linux enz. maar via een uitleg lukt het wel.

alvast hartelijk dank voor deze uitleg. :)

Door Tom, maandag 25 februari 2013 22:24

Erg leuk. ik heb ook een temperatuur sensor gekocht, zou inderdaad wel leuk zijn om dat ook werkend te krijgen.
Mijn bestelling wordt hopelijk morgen ook verzonden... Laten wij hopen... heb er wel zin in om ermee aan de gang te gaan..

Door Tom, maandag 25 februari 2013 22:37

Mag ik wel even vragen aan iedereen die dit al heeft nu. Welke stopcontacten gebruik jij?
Vooral tegen micheltenhove, omdat die een erg groot bereik heeft.

Door Gijs de Vries, maandag 25 februari 2013 22:37

ik heb hier een link gevonden maar kom er niet uit.
miss iemand hier die het kan uitleggen wat ze bedoelen?

http://nathan.chantrell.net/tinytx-wireless-sensor/

gr Gijs

Door Tweakers user micheltenhove, maandag 25 februari 2013 22:55

Tom, ik maak gebruik van de impuls stekkerblokken van de Action. Deze kosten wél 10 euro per set van 3.. ;) !

Door Tweakers user WeeJeWel, dinsdag 26 februari 2013 00:00

Gijs de Vries schreef op maandag 25 februari 2013 @ 22:05:
Hoi mensen.
als het goed is word morgen mijn zender verstuurd dus heb hem woensdag binnen,
als dit dan allemaal werkt dan, heb ik eigenlijk al weer een volgende uitdaging.

zou het mogelijk zijn om 2 of meer draadloze Temperatuur sensors te laten loggen op de Mqsl db van de Raspberry Pi?

kan iemand daar zich verder in verdiepen met programeren en daar een uitleg van schrijven.
heb zelf geen ervaring met code taal linux enz. maar via een uitleg lukt het wel.

alvast hartelijk dank voor deze uitleg. :)
't is niet echt een uitdaging als iemand het al voor je uitzoekt he ;)

Door Tweakers user micheltenhove, dinsdag 26 februari 2013 00:08

Ik heb zojuist een kleine update gedaan van de index.php file, deze praat nu met een MySQL database zodat de laatst doorgegeven status van de schakelaars wordt onthouden in de database. Deze status echo ik op de site zodat je kan zien of een schakelaar aanstaat of niet. Ik post dit stuk code dit weekend denk ik.. :)

Edit: Een groot nadeel van deze optie is dat je de meegeleverde afstandsbediening niet moet gebruiken, de Raspberry pikt namelijk geen signaal van je afstandsbediening op. Volgens WeeJeWel is het wellicht een optie om een 433/434MHz ontvanger op je raspberry te plaatsen zodat de wijzigingen via de afstandsbediening ook opgepikt worden. Die klus is mij alleen een beetje té uitdagend.. ;)

[Reactie gewijzigd op dinsdag 26 februari 2013 00:14]


Door Tweakers user gradtje, dinsdag 26 februari 2013 00:25

@Tom en iedereen: Ik gebruik kaku`s maar heb ook een setje van de action gehaald. Die van de action lijken een stuk gevoeliger, ik kan ze met gemak door het hele huis schakelen.

@Tom @GijsdeVries: Ik heb ook een tempsensor, een DS18b20, dit is een onewire sensor aangesloten via een (USB) DS9490. Voordeel van de onewire is dat je meerdere onewire sensoren/IO/AD aan 1 draad kunt hangen. Dus meerdere sensoren op een draad is zonder meer mogelijk. Overigens laat ik de temperatuur loggen in rrdtool.

Door gijs de vries, dinsdag 26 februari 2013 07:29

@grandtje

Ok dan kan je er wel een paar achter elkaar hangen. Alleen hoe krijg ik dat draadloos?
Gr gijs

Door Tweakers user i-chat, dinsdag 26 februari 2013 09:21

micheltenhove schreef op dinsdag 26 februari 2013 @ 00:08:
Ik heb zojuist een kleine update gedaan van de index.php file, deze praat nu met een MySQL database zodat de laatst doorgegeven status van de schakelaars wordt onthouden in de database. Deze status echo ik op de site zodat je kan zien of een schakelaar aanstaat of niet. Ik post dit stuk code dit weekend denk ik.. :)
tip: waarom gebruik je voor zo iets simpels in goden's naam een mysql server, terwijl je enkel een lijst met statussen wilt kunnen onthouden ... het zou natuurlijk al wat mooier zijn als je ook je 'schakelaars' en andere config in die db opslaat zodat het php bestand in het geheel niet meer hoeft te worden gewijzigd ....

maar zelfs dan nog... is mysql overbodig zware load... mijn suggestie zou dan ook zijn... OF op een simpel data.txt te gebruiken, OF (als je dat zo graag wilt), je code om te zetten naar sqlite (die standaard al in php5 verwerkt is)...
Edit: Een groot nadeel van deze optie is dat je de meegeleverde afstandsbediening niet moet gebruiken, de Raspberry pikt namelijk geen signaal van je afstandsbediening op. Volgens WeeJeWel is het wellicht een optie om een 433/434MHz ontvanger op je raspberry te plaatsen zodat de wijzigingen via de afstandsbediening ook opgepikt worden. Die klus is mij alleen een beetje té uitdagend.. ;)
er schijnen al redelijk wat topics over te bestaan ... en lirc moet dat soort recievers gewoon kunnen uitlezen... een veel interessanter verhaal zou zijn of zo'n protocol ook voorziet in een status melding... van KAKU zou ik dat in ieder geval wel verwachten omdat ze ook zo'n home-station bieden, stilletjes hoop ik dus ook dat er iemand is die hier meer over weet...

maar ik begin wel heel nieuwsgierig te worden, zou zo iets als dit ook als plugin in nas4free te intergeren zijn... de meesten mensen die dit pakket gebruiken laten hun pc al dag en nacht aan staan, en hebben dus eigenlijk geen rasbPI nodig,

[Reactie gewijzigd op dinsdag 26 februari 2013 09:24]


Door Tom, dinsdag 26 februari 2013 09:50

Ben het hier helemaal mee eens. MySQL op raspberry pi is erg zwaar.
Ik ga ook gewoon een bestandje gebruiken. Rock hard .txt!

Door Tweakers user micheltenhove, dinsdag 26 februari 2013 13:45

Misschien is een MySQL inderdaad wat overkill, maar het enige waar ik wat meer ervaring mee heb. Misschien toch eens kijken naar een .TXT bestand inderdaad, dat is minstens zo effectief! :)

Door Tweakers user WeeJeWel, dinsdag 26 februari 2013 13:56

Opvragen:
$lights = json_decode( file_get_contents( 'status.txt') );

Opslaan:
file_put_contents( json_encode('status.txt'), $lights );

Zoiets is wel simpel :P

Door Tweakers user TerrorKiwi, dinsdag 26 februari 2013 19:49

Geweldig dat je dit hebt gemaakt, ik ga het morgen zelf proberen werkend te krijgen! :)

Ook wil ik proberen om een Android app te maken voor hierbij, maar ik zou niet weten hoe ik dan vanaf de telefoon de actie van die button kan aanroepen. Heeft iemand een idee daarvoor? :p

[Reactie gewijzigd op dinsdag 26 februari 2013 19:49]


Door Tweakers user WeeJeWel, dinsdag 26 februari 2013 19:57

TerrorKiwi schreef op dinsdag 26 februari 2013 @ 19:49:
Geweldig dat je dit hebt gemaakt, ik ga het morgen zelf proberen werkend te krijgen! :)

Ook wil ik proberen om een Android app te maken voor hierbij, maar ik zou niet weten hoe ik dan vanaf de telefoon de actie van die button kan aanroepen. Heeft iemand een idee daarvoor? :p
https://www.dropbox.com/s/z95ovutaojt5efq/LightsRemote.zip

Wel ff de url enzo aanpassen :)

Door Tom, dinsdag 26 februari 2013 20:22

WeeJeWel schreef op dinsdag 26 februari 2013 @ 13:56:
Opvragen:
$lights = json_decode( file_get_contents( 'status.txt') );

Opslaan:
file_put_contents( json_encode('status.txt'), $lights );

Zoiets is wel simpel :P
Correctie:
Opslaan:
file_put_contents('status.txt', json_encode($lights) );

Ik ga dit gebruiken voor mijn remote. Ik heb die van action vanmiddag gekocht, koopje. 10 Euro. manmanman, kaku is ruim 30 euro.

Door Tweakers user micheltenhove, dinsdag 26 februari 2013 22:38

Tom en Weejewel, maak je dan voor ieder stekkerblok een aparte txt aan o.i.d.? Kan je uit een txt bestand bepaalde resultaten halen en die ergens neerzetten?

Door Tweakers user i-chat, woensdag 27 februari 2013 01:09

@tom, ik wil ook nog graag naar de action mare hebben ze daar alleen stekkerblokken of ook iets van fittings... ik zie mezelf nog geen tekkerblok aan het plafont schroeven maar wil eigenlijk mijn plaffont-lampen ook op afstand kunnen schakelen

veiligheid voor bezit en huisdieren, evenals extra licht voor bewakings systemen...

Door Tom, woensdag 27 februari 2013 07:35

@i-chat. Ze hebben alleen stopcontact adapters. Zowel een setje voor binnen als voor buiten. Max. 1

Door Tom, woensdag 27 februari 2013 07:37

Max 10 euro. Excuses. Mobiel posten is lastig :)
Ik krijg vanmiddag de spullen binnen.

Door Gijs de Vries, woensdag 27 februari 2013 15:31

Hoi

ik heb helemaal geen kaas gegeten van ++C , maar doe mijn best het te snappen en leren.
vandaag mijn zender binnen en meteen aan de slag maar
nu heb ik het stappenplan gevolgd en loop ik vast bij stap :
12. Versie compileren met het merk dat jij gebruikt:

ik gebruik KAKU,

wat moet ik nu precies in de comand line type ?

als iemand mij wilt helpen graag ( liefst telefoisch 0616298485 )

Gr Gijs

Door Tweakers user micheltenhove, woensdag 27 februari 2013 17:36

Gijs, wat probeer je nu precies te doen? Gewoon de KAKU's aan de gang helpen via je CLI?

Door Gijs de Vries, woensdag 27 februari 2013 19:06

ik heb het nu wel werkend via de CLI alleen via de webinterface krijg ik het niet werkend.

Gr gijs

Door Tweakers user micheltenhove, woensdag 27 februari 2013 20:05

https://drive.google.com/...BeTQNH0dIgTl9mZjNSVlBMX3c

i-Chat, is er met een .txt file of sqlite database te realiseren wat ik in bovenstaand bestand heb gerealiseerd?

Door Tom, woensdag 27 februari 2013 20:32

Nou heren. Ik heb het werkend gekregen. En ziet er via web app perfect uit. Moet je nagaan. Wat je bij homewizard voor 200 euro koopt heb je zo binnen 60 euro voor elkaar!! En nog leuk ook. Bedankt iedereen!! (en bereik is super, nog meer dan originele afstandsbediening van de set, action)

Door Pino en Tommie, woensdag 27 februari 2013 22:04

Ik heb het ook werken met een action setje. Ik wil nu proberen om alle stopkontakten te schakelen met 1 knop (Nu gaat elk stopkontakt met een eigen knop). Het commando voor het aanzetten van 1 stopkontakt is "sudo ./action 1 A on" Wat nou als ik meerdere stopkontakten wil schakelen. Kun je meerdere dipchannels tegelijk ingeven. bijvoorbeeld:
"sudo ./action 0,1,255 A on" of bijvoorbeeld "sudo ./action ALL A on". Als jullie me hier mee kunnen helpen ben ik weer een stapje verder.

Bedankt !!!

Door Tom, woensdag 27 februari 2013 22:07

Als je PHP gebruikt kan je door een array met dipchannels lopen en uitvoeren, maar er moet wel vertraging in zitten omdat er anders een collusion optreed in de lucht.
PHP Arrays
PHP Foreach
Als je er niet uitkomt hoor ik het wel..

Door Tweakers user sebastiaanwezen, donderdag 28 februari 2013 11:27

Gisteren een Klik Aan Klik Uit starterspakket (APA3-1500R http://www.klikaanklikuit.nl/shop/apa3-1500r/) gekocht. Met 20% korting bij de Karwei, 15 euro :)

Getest en werkend gekregen met Raspberry Pi (Raspbmc) en RF ontvanger (ook in combinatie met Boblight). http://img407.imageshack.us/img407/7847/imag0249u.jpg

Hopelijk ook werkend te krijgen met een dimmer van Klik Aan Klik Uit.

Nu bezig met een webinterface http://img20.imageshack.us/img20/1421/interfacem.png

Door Tweakers user i-chat, donderdag 28 februari 2013 12:41

is er trouwens geen mogelijkheid om sudo uit de vergelijking te trappen, ik geef niet graag rechten aan zoiets als apache met php.... daar komt gedonder van... (was pas nog een blog over)...

welicht door de rechte op die com interface in een eigen groep te zetten, eentje waar user www ook aan kan zitten????

dat een vervelende hacker je lichten uit kan zetten is nog tot daar aan toe, maar verder moet toch niet kunnen...

Door Tweakers user micheltenhove, donderdag 28 februari 2013 15:23

momenteel mag de www-data toch alleen maar in je lights map een commando uitvoeren? Of kan de www-data user daar alles doen?

Door Tweakers user WeeJeWel, donderdag 28 februari 2013 23:53

sebastiaanwezen schreef op donderdag 28 februari 2013 @ 11:27:
Gisteren een Klik Aan Klik Uit starterspakket (APA3-1500R http://www.klikaanklikuit.nl/shop/apa3-1500r/) gekocht. Met 20% korting bij de Karwei, 15 euro :)

Getest en werkend gekregen met Raspberry Pi (Raspbmc) en RF ontvanger (ook in combinatie met Boblight). http://img407.imageshack.us/img407/7847/imag0249u.jpg

Hopelijk ook werkend te krijgen met een dimmer van Klik Aan Klik Uit.

Nu bezig met een webinterface http://img20.imageshack.us/img20/1421/interfacem.png
Dan moet je zelf even de RemoteSwitchNew library porten, is niet al te veel werk ;)

https://bitbucket.org/fuz...wiki/Home#NewRemoteSwitch

Door Tweakers user TheLostSonOfGod, vrijdag 01 maart 2013 05:30

Ik krijg de pi niet werkend zover dat hij mijn Elro AB440S. Tijdens het solderen heb ik per ongeluk eerst de draden verwisselt, zou ik daarmee de TX-module kunnen hebben verprutst?

Ik heb namelijk nu geen idee waarom hij het niet doet, aangezien er zoveel punten zijn waarop het fout kan gaan.

Software installatie verliep zonder problemen, maar als ik nu het commando geef gebeurt er niets:

sudo ~/wiringPi/examples/lights/elro 15 A on

Door Tweakers user WeeJeWel, vrijdag 01 maart 2013 08:52

check ff met een ledje of er wel wat wordt geoutput :)

Door mwil, vrijdag 01 maart 2013 16:02

TOP!
Thnx, goeie handleiding!

Werkt meteen :)

Door mwil, vrijdag 01 maart 2013 21:14

Wat ik me nog afvraag: als ik de aansluiting van pin 8 (TX) zou splitsen, kan je dan een tweede zender (met eigen stroom uiteraard) aansluiten (die natuurlijk hetzelfde zenden)?
Zit nu met het probleem dat m'n muren te dik/gewapend zijn om ook boven aan te kunnen sturen.

Door Tweakers user WeeJeWel, vrijdag 01 maart 2013 21:23

mwil schreef op vrijdag 01 maart 2013 @ 21:14:
Wat ik me nog afvraag: als ik de aansluiting van pin 8 (TX) zou splitsen, kan je dan een tweede zender (met eigen stroom uiteraard) aansluiten (die natuurlijk hetzelfde zenden)?
Zit nu met het probleem dat m'n muren te dik/gewapend zijn om ook boven aan te kunnen sturen.
ofcourse :)

Door Tweakers user micheltenhove, vrijdag 01 maart 2013 23:39

Volgens mij heeft de transmitter van iPrototype ook een antenne aansluiting, misschien dat die nog een boost geeft?

Door Tweakers user mwil, vrijdag 01 maart 2013 23:45

i know, heb de iPrototype in gebruik (wachten op ebay ? nah! geen geduld) , met een cm of 10 antenne ...Wat ik nog kan proberen is om er 12V op te zetten ipv de 5 van nu.

Door Tweakers user mwil, vrijdag 01 maart 2013 23:54

Nog een mogelijkheid voor mensen die groepen willen kunnen schakelen of meerdere type ontvangers willen combineren.

Maak een bash-script aan (mijne heet unified) met de volgende inhoud:

#!/bin/bash
program=$1

if [ $program = "action" ]
then
#usage: ./action dipchannel socket state
dipchannel=$2
socket=$3
state=$4
./action $dipchannel $socket $state
fi

if [ $program = "alles" ]
then
state=$2
#usage: ./action dipchannel socket state
./action 3 A $state
./action 3 B $state
./action 3 C $state
#./kaku M 10 $state
fi

if [ $program = "kaku" ]
then
#usage: ./kaku address device state
address=$2
device=$3
state=$4
./kaku $address $device $state
fi


Nu het script uitvoerbaar maken uiteraard (chmod +x unified)

Vervolgens pas je de verwijzing naar het progje in je index.php aan:

shell_exec('cd /wiringPi/examples/lights; sudo ./unified '.$_POST["button"].'');


Om nu bv. "alles" te gebruiken vul je bij de button-value "alles on" of "alles off" in.

Om een ontvanger van de Action aan te sturen moet je button-value "action 3 A on" in (of off) hebben.

Om een ontvanger van kaku aan te sturen moet je button-value "kaku M 10 on" hebben.

Door Tweakers user micheltenhove, zaterdag 02 maart 2013 00:41

Bedankt voor je fijne toevoeging mwil! :) Ik ga 'm zeker opnemen in mijn tutorial als je dit niet erg vindt? :)

Edit: Ik heb mijn raspberry nu bijna klaar, ik kan nu ook de status van de lampen zien, alhoewel dit helaas niet 100% betrouwbaar is en ook niet te maken is denk ik.

http://oi49.tinypic.com/35alis6.jpg

[Reactie gewijzigd op zaterdag 02 maart 2013 00:52]


Door Tweakers user mwil, zaterdag 02 maart 2013 00:57

Aangezien je het wil toevoegen, heb ik het script maar even universeel gemaakt:


#!/bin/bash
program=$1

if [ $program = "action" ]
then
#usage: ./action dipchannel socket state
dipchannel=$2
socket=$3
state=$4
./action $dipchannel $socket $state
fi

if [ $program = "kaku" ]
then
#usage: ./kaku address device state
address=$2
device=$3
state=$4
./kaku $address $device $state
fi

if [ $program = "blokker" ]
then
#usage: ./blokker device state
device=$2
state=$3
./blokker $device $state
fi

if [ $program = "elro" ]
then
#usage: ./elro systemcode socket state
systemcode=$2
socket=$3
state=$4
./elro $systemcode $socket $state
fi

if [ $program = "groep1" ]
then
state=$2
./action 3 A $state
./action 3 B $state
./action 3 C $state
./kaku M 10 on
fi


maareuh .. status uitlezen.. nice, kan niet wachten op de uitleg ;-)

Door Tweakers user i-chat, zaterdag 02 maart 2013 16:38

ik heb eens bij de action gekeken - maar het nadeel van die dingen lijkt dat het allemaal stekker blokken zijn... voor individuele lampen en sfeer lichtjes etc lijkt me dat geen probleem,
maar ik wil graag mijn plafond lampen ook op deze manier kunnen schaken,


nu weet ik dat kaku wel wat mini schakelingen heeft, maar die zijn met 20 tot 30 euro per stuk veeel te duur, dus als iemand toevallig een goedkopere meerkanaals doosje kent waar je de draden uit het plafond in kunt prikken houd ik me zeer aanbevolen, ik zie het niet echt zetten om die stekkerblokken van bijv de action uit elkaar te trekken...

een van de problemen die ik tegen kom is dat ik werkelijk geen idee heb wat voor zoektermen (bijv merken) nog enig resultaat zouden kunnen geven...

Door Tweakers user WeeJeWel, zaterdag 02 maart 2013 16:41

Je kunt toch de kabels in de plafond verbinden met stekkers, als dat fysiek past :)

Door Tweakers user i-chat, zaterdag 02 maart 2013 21:12

@weetjewel, niet echt, ik heb in het midden van de huiskamer bijv 1 doos zitten waar ooit een hotel schakeling in zat, echter is die al lang in onbruik geraakt, en heb ik tijdens het behang trekken die andere doos niet eens terug-gevonden :P wat ik dus gedaan heb is de 2e schakeldraad met een 2e lam verbonden en op de muur een dubben scahkelaar... dit is wel leuk maar hiermee kan ik lampen niet automagisch aan laten gaan, iets wat ik eigenlijk heel graag zou willen bijv door als ik thuis ben .. het licht automagisch aan te laten springen rond zons ondergang of als de weerst verwachting aangeeft dat er bewolking is...

maar bijv ook op gezette tijden als ik niet thuis ben dat schijnt inbrekers af te weren (tot op zekere hoogte / heb ik wel eens gehoord...

ik had eigenlijk gehoopt dat er schakel dozen zouden hebben bestaan waar je behalve 2 schakelaars ook een ir ontvanger had... zodat je behalve op de muur niets hoeft aan te passen

Door Tweakers user micheltenhove, zondag 03 maart 2013 17:16

Bij deze alvast een stukje extra handleiding om ook de actuele status van een lamp te zien. Er kunnen hier en daar wat foutjes instaan.

Ik zie jullie feedback graag tegemoet! :)

edit: nieuwe link: https://docs.google.com/f...H0dIgeklNUVVxNk4wdlU/edit

[Reactie gewijzigd op zondag 03 maart 2013 23:01]


Door Tom, zondag 03 maart 2013 17:52

Timers kan je zetten met cronjobs (zie google).
Met PHP kan je het tijdstip van zonsondergang opkomst berekenen (date_sunset en date_sunset).
Waar ik nog een oplossing voor zoek is het beheren van cronjobs in PHP.. Iemand een oplossing hiervoor? Of gebruik maken van een PHP script die als daemon draait?

Door Rik1980, zondag 03 maart 2013 19:56

Echt geweldig dit! Al heel lang naar opzoek....
En gewoon leuk om zelf van alles in elkaar te zetten.

Maar mis ik iets in de handleiding V2?

Basis Configuratie plakken:
(zie smbconfig.txt)

Door Tweakers user micheltenhove, zondag 03 maart 2013 23:01

Rik1980, heb het voor je aangepast, vergeten bestand toe te voegen.

Door Tweakers user micheltenhove, zondag 03 maart 2013 23:10

Tom schreef op zondag 03 maart 2013 @ 17:52:
Timers kan je zetten met cronjobs (zie google).
Met PHP kan je het tijdstip van zonsondergang opkomst berekenen (date_sunset en date_sunset).
Waar ik nog een oplossing voor zoek is het beheren van cronjobs in PHP.. Iemand een oplossing hiervoor? Of gebruik maken van een PHP script die als daemon draait?
Google:
http://net.tutsplus.com/t...ing-cron-jobs-with-php-2/

Door Richard, maandag 04 maart 2013 13:32

super mooie tutorial, ik heb helaas alleen problemen met punt 16 voor de visudo aanpassing. Kan iemand mij vertellen hoe hij dit gedaan heeft?

Door Richard, maandag 04 maart 2013 14:21

helemaa ik heb in de terminal het volgende getypt:
'sudo visduo'

dan heb ik het volgende helemaal onderaan geplaatst:
www-data ALL=(ALL) NOPASSWD: /wiringPi/examples/lights/./

in de terminal kan ik mijn klikaanklikuitschakelaars omzetten, maar niet via de webinterface.

ik heb de frequenties ook al aangepast in de index.php (in 1 M en bij een andere knop M 1)

Door Richard, maandag 04 maart 2013 14:23

ook heb ik bovenaan ipv sudo ./action nu sudo ./kaku gedaan

Door Tweakers user micheltenhove, maandag 04 maart 2013 14:37

Richard, kijk je PHP bestand goed na, een spatie té weinig in het shell_exec commando leverde bij mij al op dat het niet werkte zonder dat er een fout gegenereerd werd.

Je ingevoerde visudo regel ziet er goed uit namelijk.

Door Richard, maandag 04 maart 2013 15:54

Heel raar maar ik zie geen fouten, ik heb hel volgende:

index.php
<?php
if ( isset($_POST['button']) ) {
shell_exec('cd /wiringPi/examples/lights; sudo ./kaku '.$_POST["button"].'');
}
?>

<!DOCTYPE html>
<!--[if lt IE 7 ]><html class="ie ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]><html class="ie ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--><html lang="en"> <!--<![endif]-->
<head>

<!-- Basic Page Needs
================================================== -->
<meta charset="utf-8">
<title>Licau</title>
<meta name="description" content="">
<meta name="author" content="">

<!-- Mobile Specific Metas
================================================== -->
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">

<!-- CSS
================================================== -->
<link rel="stylesheet" href="stylesheets/base.css">
<link rel="stylesheet" href="stylesheets/skeleton.css">
<link rel="stylesheet" href="stylesheets/layout.css">

<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

<!-- Favicons
================================================== -->
<link rel="shortcut icon" href="images/favicon.ico">
<link rel="apple-touch-icon" href="images/light.png">
<link rel="apple-touch-icon" sizes="72x72" href="images/light.png">
<link rel="apple-touch-icon" sizes="114x114" href="images/light.png">

</head>
<body>


<!-- Primary Page Layout
================================================== -->

<!-- Delete everything in this .container and get started on your own site! -->

<div class="container">
<div class="sixteen columns">
<h1 class="remove-bottom" style="margin-top: 40px"><img src="./images/light.png"> Licau</h1>
<h5>Version 0.1</h5>
<hr/>
<h3>Beneden</h3>
<legend>Woonkamer</legend>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<button class="button" type="submit" name="button" value="1 M on" />aan</button>
<button class="button" type="submit" name="button" value="1 M off" />uit</button>
</form>
<hr/>

<h3>Boven</h3>
<legend>Hal</legend>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<button class="button" type="submit" name="button" value=" 1 M on" />aan</button>
<button class="button" type="submit" name="button" value=" 1 M off" />uit</button>
</form>

<hr/>
</div>


</div><!-- container -->


<!-- End Document
================================================== -->
</body>
</html>
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification


# User alias specification


# Cmnd alias specification


# User privilege specification
root ALL=(ALL:ALL) ALL


# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL


# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d
pi ALL=(ALL) NOPASSWD: ALL
www-data ALL=(ALL) NOPASSWD: /wiringPi/examples/lights/./

Door Rik1980, maandag 04 maart 2013 16:09

Hier lijkt alles te werken.
Kan alleen nog niet controleren of thuis het licht aan en/of uit gaat.

@ micheltenhove; bedankt voor het bijwerken van het bestand.
Ik heb alleen de marge van de knop (breedte 40px) aangepast zodat. Op mijn mobiel alles op één regel past.

Door Tweakers user micheltenhove, maandag 04 maart 2013 21:45

Richard, doe maar eens tussen kaku en '.$_POST een extra spatie, dat wil soms nog wel eens uitmaken. :)

Rik1980, fijn dat het werkt! :) Op sommige toestellen zal de button wel té breed zijn inderdaad.

Ik heb er inmiddels ook een login op gebouwd, deze werkt perfect. Mensen nog geintresseerd?

[Reactie gewijzigd op maandag 04 maart 2013 21:47]


Door Tweakers user svenvv2, dinsdag 05 maart 2013 14:26

Pino en Tommie schreef op woensdag 27 februari 2013 @ 22:04:
Ik heb het ook werken met een action setje. Ik wil nu proberen om alle stopkontakten te schakelen met 1 knop (Nu gaat elk stopkontakt met een eigen knop). Het commando voor het aanzetten van 1 stopkontakt is "sudo ./action 1 A on" Wat nou als ik meerdere stopkontakten wil schakelen. Kun je meerdere dipchannels tegelijk ingeven. bijvoorbeeld:
"sudo ./action 0,1,255 A on" of bijvoorbeeld "sudo ./action ALL A on". Als jullie me hier mee kunnen helpen ben ik weer een stapje verder.

Bedankt !!!
Ik weet dat het wat laat is, maar je kan met de dipswitches meerdere schakelaars 1 kanaal geven. Ik heb echter de code wat aangepast om ook het commando 'master' als code te accepteren(om wat meer opties met schakelen te hebben)

#include <wiringPi.h>
#include <stdio.h>
#include <stdlib.h>
#include <getopt.h>
#include <unistd.h>
#include <ctype.h>
#include <iostream>
#include "RemoteSwitch.cpp"

using namespace std;

int main(int argc, char **argv)
{
int pin_out = 15; // Pin out using wiringPi pin numbering scheme (15 = TxD / BCM GPIO 14, see https://projects.drogon.net/raspberry-pi/wiringpi/pins/)
int channel = 0;
char socket = 'A';
bool state = false;
bool master = false;
int x = 0;
//declare the five different sockets used in the master mode.
char A = 'A';
char B = 'B';
char C = 'C';
char D = 'D';
char E = 'E';


if( argc != 4 ) { // not enough arguments
std::cout << "usage: " << argv[0] << " dipchannel socket state" << std::endl;
std::cout << "example: " << argv[0] << " 0 A on" << std::endl;
return 0;
} else {
channel = atol(argv[1]);
string socketstr = argv[2];
string statestr = argv[3];

if( socketstr.compare("master") == 0 ) { //See if master has been specified.
master = true;
} else {
master = false;
socket = *argv[2]; // no master specified, proceed as normal.
}

if( statestr.compare("on") == 0 ) {
state = true;
} else {
state = false;
}


}

// load wiringPi, Very inportant!
if(wiringPiSetup() == -1)
{
printf("WiringPi setup failed. Maybe you haven't installed it yet?");
exit(1);
}

// setup pin and make it low, without making it low first it won't always work.
pinMode(pin_out, OUTPUT);
digitalWrite(pin_out, LOW);
ActionSwitch actionSwitch(pin_out);

// for (x = 0; x <= 2; x++) { //The switches are a bit unresponsive over longer distances. repeating the signal a few times might help.

if (master == true) {


//send command for each socket
actionSwitch.sendSignal(channel, 'A', state);
actionSwitch.sendSignal(channel, 'B', state);
actionSwitch.sendSignal(channel, 'C', state);
actionSwitch.sendSignal(channel, 'D', state);
actionSwitch.sendSignal(channel, 'E', state);

}
else {
//send command for single socket
actionSwitch.sendSignal(channel, socket, state);
}
// }

}

[Reactie gewijzigd op dinsdag 05 maart 2013 14:28]


Door Rik1980, dinsdag 05 maart 2013 15:03

Ik dacht dat ik alles wel draaiend had maar toen ik gister thuis kwam zag ik dat om de één of andere rede de link met het web niet werkt. Via shh terminal kan ik alles bedienen en ingeven. Maar verder luistert hij niet naar de command's van de web interface.
Kan niet bespeuren waar het mis gaat... iemand een idee?

Door Richard, dinsdag 05 maart 2013 16:25

Rik1980 schreef op dinsdag 05 maart 2013 @ 15:03:
Ik dacht dat ik alles wel draaiend had maar toen ik gister thuis kwam zag ik dat om de één of andere rede de link met het web niet werkt. Via shh terminal kan ik alles bedienen en ingeven. Maar verder luistert hij niet naar de command's van de web interface.
Kan niet bespeuren waar het mis gaat... iemand een idee?
Ik heb hetzelfde probleem, ik denk dat het met de visudo te maken heeft dat ik dat niet goed doe, en dat de webinterface de rechten niet heeft om een sudo command uit te voeren. Kan iemand een voorbeeld van zijn visudo bestand laten zien (en wellicht vertellen voor dummies hoe hij de gebruiker heeft toegevoegd? de HandleidingV2 heeft bij mij helaas ook niet geholpen (ik ben met een clien RPI installatie gestart zoals de tutorial)

Verder heb ik een index pagina geschreven daar werkt het ook niet wellicht ziet iemand de fout:

[quote[
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="submit" name="test" value="test">
</form>
<?php if(isset($_POST['test'])) {
edit();
}
function edit()
{
shell_exec('sudo /home/pi/wiringPi/examples/lights/./kaku 1 m on');
}
?>

[/quote]

Door Tweakers user svenvv2, dinsdag 05 maart 2013 19:39

Ik had het zelfde probleem en werdt het uiteindelijk zat. Heb daarom maar voor de onveilige oplossing gekozen:

in visudo:
www-data ALL=NOPASSWD: ALL


Wil je dit risico niet nemen denk ik dat je de bestaande regel wat moet aanpassen.
De regel die in de handleiding staat klopt namelijk niet. Er staat:
www-data ALL=(ALL) NOPASSWD: /wiringPi/examples/lights/./

Maar het programma staat standaard in:
www-data ALL=(ALL) NOPASSWD: /home/pi/wiringPi/examples/lights/./


Die laatste regel zou (als het goed is) je problemen moeten verhelpen.

(ALL is best grappig, dan kan je met een webinterface de hele pi beheren mocht je dit willen (denk aan updaten, rebooten, programma's installeren etc.)

[Reactie gewijzigd op dinsdag 05 maart 2013 19:41]


Door Richard, dinsdag 05 maart 2013 20:38

svenvv2 schreef op dinsdag 05 maart 2013 @ 19:39:
Ik had het zelfde probleem en werdt het uiteindelijk zat. Heb daarom maar voor de onveilige oplossing gekozen:

in visudo:
www-data ALL=NOPASSWD: ALL


Wil je dit risico niet nemen denk ik dat je de bestaande regel wat moet aanpassen.
De regel die in de handleiding staat klopt namelijk niet. Er staat:
www-data ALL=(ALL) NOPASSWD: /wiringPi/examples/lights/./

Maar het programma staat standaard in:
www-data ALL=(ALL) NOPASSWD: /home/pi/wiringPi/examples/lights/./


Die laatste regel zou (als het goed is) je problemen moeten verhelpen.

(ALL is best grappig, dan kan je met een webinterface de hele pi beheren mocht je dit willen (denk aan updaten, rebooten, programma's installeren etc.)
Dankjewel. wat een toestand was dat zeg, het werk nu als een tierelier. helaas niet echt veilig, maar het werkt :P

Door Rik1980, dinsdag 05 maart 2013 21:28

Sooow, ik had het bijna op gegeven 8)7
Idd op ALL gezet... en toen nog niet.... Toen in index ook maar /home/pi/... toegevoegd.
En wat denk je :)

Toppie.
Nu maar even nagaan of ik niet teveel verbouwd heb, HAHAHAH
Ow en die login, ik hou me aanbevolen hoor!

Door Tweakers user svenvv2, dinsdag 05 maart 2013 21:38

Achja, ik neem aan dat je geen bedrijfskritische zaken wilt gaan draaien op je RaspberryPi. :+

Ik begin nu met de installatie op mijn 'werk' Pi. Deze staat 24/7 te draaien als mediaspeler/nas/downloadbox en een schakelaartje moet erbij kunnen...

Wat ik ook tegenkwam en een leuke toevoeging is aan het systeem is de functie om lampen te schakelen naar zonsondergang. Momenteel gebruik ik nog mechanische timers hiervoor.

http://scruss.com/blog/20...cron-on-the-raspberry-pi/

Ik denk eraan om dagelijks een cron in te stellen die de kamerlampen een half uurtje na zonsondergang aanzet en een paar uur later weer uitzet. Handig voor op vakanties ed. :)

Door Tom, dinsdag 05 maart 2013 21:50

Wat ik nu gebruik is een PHP daemon die elke minuut kijkt of (het in het geheugen geladen) bestand een schakeling bevat op dat tijdstip. Na een bepaalde tijd ververst hij die gegevens uit het bestand (om zo onnodige schade aan SD te voorkomen).
Ik gebruik hiervoor PEAR System_Daemon en werkt perfect! Heb nu ook zonsondergang gedaan. Nog even goed testen..

Door Rik1980, dinsdag 05 maart 2013 21:55

Nee het is thuis situatie, maar hou er niet zo van als anderen er toch in kunnen.

Cron wil ik idd ook eens gaan bestuderen voor bv vakanties.
Zodat je willekeurige tijden in kan stellen en geen home alone timing krijgt. ;)

Wat ik nog heel graag voor elkaar wil krijgen is kamer afzonderlijke thermostaat aansturing van de CV. Heb al paar thermosensors besteld...... ben benieuwd.

Door Tweakers user svenvv2, dinsdag 05 maart 2013 22:36

Kleine update van mijn vorige post: Probeer dit dus niet op Raspbmc, het gaat fout op het moment dat je apache2 probeert te installeren en daarna gaat zo ongeveer alles fout :'(

Door Rik1980, dinsdag 05 maart 2013 22:59

Raspbmc moet je volgens mij afzonderlijk draaien.
1x geprobeerd, maar vond het niet spannend genoeg.
Vind mn PlayonHD beter werken. Heb je tenminste ook 5.1 geluid ;)

Door Tweakers user svenvv2, woensdag 06 maart 2013 15:00

Achja, met xbian werkt het wel. Ik merk dat dat veel vloeiender draait en het is heel makkelijk om er nog nzbget ed. naast te installeren.

Door Tweakers user DeathTrail, woensdag 06 maart 2013 21:52

Thanks Michel ten Hove, heb het ook werkend!

Door Tweakers user micheltenhove, woensdag 06 maart 2013 22:29

Mooizo! Ik ben nu aan de stoei gegaan met Cronjobs. Nog nooit mee gewerkt dus wel leuk om uit te pluizen! :)

Door Smartwebdesign.nl, woensdag 06 maart 2013 22:36

Michel ten Hove en Weetjewel,

Ik was al even bezig met testen van je update van Lampen schakelen met je smartphone & een Raspberry Pi.
Het is me echter nog niet gelukt is het mogelijk dat je een iso maakt ?
Zo dat ik hem op mij SD kan plaatsen?
Hierbij nog een voorbeeld gevonden wat misschien ook handig is ? Om te programeren :-) >

Misschien wat om tijdsintervals aan te maken aan de hand van google agenda ?

Door Tweakers user micheltenhove, donderdag 07 maart 2013 11:50

Ik ben niet van plan om hier een ISO van te maken, alle middelen om dit systeem draaiend te krijgen zijn te vinden op deze tweakblog.

Dat linkje is wel interessant, al in een veel verder stadium. :)

Door Rik1980, donderdag 07 maart 2013 16:11

@Michel; misschien een rare vraag hoor maar waarom 2x aan/uit indicatie plaatjes?

Door Tweakers user TerrorKiwi, donderdag 07 maart 2013 16:17

Ik heb het eindelijk ook werkend gekregen hoor, ik moest inderdaad nog /home/pi toevoegen aan de index.php. :)

Ik heb wel nog een probleempje, ik heb 2 verschillende kaku systemen. De ene werkt met A1-D4, maar de andere van I1-IVG, weet iemand welk commando ik voor die stekkerblokken moet sturen? Ik heb de oplossing gevonden, dit systeem werkt met een zoekmodus, en je kan dus elk commando toewijzen. :)

[Reactie gewijzigd op donderdag 07 maart 2013 21:04]


Door Jaap, zaterdag 09 maart 2013 04:15

Is het ook mogelijk om op deze manier de dimmers aan te besturen? Hoe zou dat kunnen?

Door Tweakers user mwil, zaterdag 09 maart 2013 09:04

KaKu-dimmers werken ook;
1 keer on schakelen -> licht aan in vorige dim-stand
2 keer on schakelen -> licht gaat van zwak naar vol en weer terug. Moment dat je weer on schakelt blijft die dim-stand actief.
(Alleen jammer dat het programma wat traag is i.v.m. de remote)

[Reactie gewijzigd op zaterdag 09 maart 2013 09:05]


Door Tweakers user buldogwtf, zondag 10 maart 2013 14:06

micheltenhove schreef op woensdag 06 maart 2013 @ 22:29:
Mooizo! Ik ben nu aan de stoei gegaan met Cronjobs. Nog nooit mee gewerkt dus wel leuk om uit te pluizen! :)
Gelukt? Zo ja, hoe? Mij nog niet.

Google agenda gebruiken lijkt me ook super.

Door Tweakers user micheltenhove, maandag 11 maart 2013 00:03

't Is me nog niet gelukt. Ik ben aan het onderzoeken hoe je cronjobs het beste kan toevoegen en verwijderen met PHP.

Door Tweakers user TerrorKiwi, dinsdag 12 maart 2013 15:09

Voor de mensen die de lampen willen schakelen met behulp van de Android app Tasker:

Voeg deze regel code toe aan je index.php:
if ( isset($_GET['value']) ) {
shell_exec('cd /home/pi/wiringPi/examples/lights; sudo ./eigen systeem '.urldecode($_GET["value"]).'');
}

Maak een action in Tasker aan met HttpPost/Get en voer de url in naar je index.php bestand.

Voeg achter index.php het volgende toe en pas de waarden aan:
?value=A+1+on

Ik heb het zelf heel handig werken, dus bedankt Weejewel en Michel!

Door Tweakers user svenvv2, dinsdag 12 maart 2013 19:23

Ik kreeg nogal wat reacties over de veiligheid omdat je door simpelweg de post aan te passen (chrome -> inspect element) ieder willekeurig commando kan uitvoeren door gebruik te maken van && [ander commando]. Daarom maar een regex gemaakt om het geheel wat te beveiligen vanaf die weg.


if ( isset($_POST['button']) ) {
if (preg_match("/^[0-9]{1,2} [A-Z] [onf]{2,3}$/",$_POST["button"])){
shell_exec('sudo ./action '.$_POST["button"]);
}else{
echo "Gij zult niet hacken.";
}
}


Voor kaku's moet dit natuurlijk enigsinds aangeast worden, maar het is een begin.

@TerrorKiwi slimme opmerking over tasker. Daar moet ik misschien ook eens naar gaan kijken.

Door Smartwebdesign, zaterdag 16 maart 2013 09:56

Ik heb een 433mhz aangesloten op de Raspberry pi echter werkt het nog niet!
Multimeter aangesloten op de aarde en de VCC ik voer de volgende commando uit
sudo ~/wiringPi/examples/lights/elro 15 B on me multimeter geeft voor korte tijd 1volt.

Dus de commando schakelt !

Ik vraag me alleen af ik wil een elro module stopcontact schakelen alle 5 systeem PIN staan omhoog welke code is dit ? Volgens het flash programma 992 en staat op letter B.

Alvast bedankt,
Klaas

Door Tweakers user svenvv2, zaterdag 16 maart 2013 12:53

Alle 5 pinnen is uit m'n hoofd kanaal 31.

Door Smartwebdesign, zaterdag 16 maart 2013 23:05

Bedankt Svvenvv2,

Het klopt inderdaad dat kanaal 31. DIP switch software is net andersom tussen ON en OFF aanduiding van daar dat ik code 992 kreeg :-)

Echter kan ik hem nog niet schakelen?
Heeft dit te maken met rechten?

Via de afstandbeiding werkt het zonder problemen !

Alvast bedankt

Klaas

Door lxz, vrijdag 22 maart 2013 10:42

Jaap schreef op zaterdag 09 maart 2013 @ 04:15:
Is het ook mogelijk om op deze manier de dimmers aan te besturen? Hoe zou dat kunnen?
De dimmers rechtstreeks aansturen doe ik m.b.v. het programmeerwerk van CurlyMoo. Omdat hij een andere GPIO-pin gebruikt moet je wel even de variabele pin_out in de send.cpp naar:

code:
1
int pin_out = 15;


voordat je deze gaat compilen.

Vervolgens kun je de dimmer in zoek-modus zetten en pairen d.m.v. zoiets als

code:
1
./send -u 1 -i 2648170 -t

Door Tweakers user Codeaction, maandag 25 maart 2013 22:02

Bedankt svenvv2 en TerrorKiwi,

De code voor het beter veiligstellen van code implementatie heb ik het kaku systeem toegepast en het begin ziet er zo uit:


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if ( isset($_POST['button']) ) {
if (preg_match("/^[A-P] [0-9]{1,2} [onf]{1,2}$/",$_POST["button"])){
shell_exec('cd /kaku; sudo ./kaku  '.$_POST["button"].'');
}

else{

    echo "Gij zult niet hacken.";
}
}


if ( isset($_GET['value']) ) {
shell_exec('cd /kaku; sudo ./kaku '.urldecode($_GET["value"]).'');
}

?>


Voor apparaten uit te zetten gebruik ik simpel alleen de 'o'.
Bij het testen om iets uit te zetten scheelt dat weer een teken :9

Nu met de app tasker er bij, wat zeer goed werkt gaat alle apparatuur aan in huis zodra ik thuis ben en zodra de wekker in de ochtend afgaat.

Ook dagelijks valt helaas me router er uit, maar dankzij de Pi wordt deze gereset bij het falen van google waarna wiki ping.

[Reactie gewijzigd op maandag 25 maart 2013 22:03]


Door Vickynick, vrijdag 29 maart 2013 20:07

micheltenhove schreef op maandag 11 maart 2013 @ 00:03:
't Is me nog niet gelukt. Ik ben aan het onderzoeken hoe je cronjobs het beste kan toevoegen en verwijderen met PHP.
Hier heb ik zelf ook wat tijd aan besteed. Er zijn wat sjieke oplossingen met een standaard cronjob php scriptje die je kunt gebruiken. Ik gebruik zelf een simpel tekstbestandje waarin ik de cronjobs aanmaak (met nu nog simpele buttons). Wil straks iets met een jquery mobile timepicker inbakken zodat het geheel wat dynamischer is. Dit is mijn functie om een timer van een electrische deken toe te voegen:

"
$cronwoonkamer = "40 18 * * * php /var/www/phpscripts/Enable_Woonkamer.php";

$croneneldeken = "45 21 * * * php /var/www/phpscripts/Enable_EL_Deken.php";

$crondiseldeken = "00 15 * * * php /var/www/phpscripts/Disable_EL_Deken.php";


if (isset($_POST["cron"]))

{

// $output = shell_exec('crontab -l'); Crontab output

file_put_contents('/tmp/crontab.txt',$_POST["cron"]."\n".$cronwoonkamer."\n".$crondiseldeken.PHP_EOL);

echo exec('crontab /tmp/crontab.txt');

}

if (isset($_POST["cronoff"]))

{

// Remove cronjobs

echo exec('crontab -r');


// Add cron van woonkamer aan cronjobs en voer uit.

file_put_contents('/tmp/crontab.txt',$cronwoonkamer.PHP_EOL);

echo exec('crontab /tmp/crontab.txt');

}
"

Met de andere button die ik heb aangemaakt verwijder ik de cronjob. Daarna voeg ik de job weer toe om de verlichting in de woonkamer te schakelen (die moet het gewoon weer doen). Ik begin net ervaring op te doen met php. Ik gebruik een mapje met losse php scriptjes voor het uitvoeren van meerdere acties achter elkaar. Die roep ik dan aan met de cronjobs. Zal vast wel efficiënter kunnen maar zo werkt het ook:)

Voorbeeld van de inhoud van zo'n .php scriptje:

<?php
shell_exec('cd /wiringPi/examples/lights; sudo ./action 63 A on');
shell_exec('cd /wiringPi/examples/lights; sudo ./action 63 B on');
?>

Misschien heb je hier wat aan;)

Door B, zondag 07 april 2013 09:13

Een hele goedemorgen allen,

De afgelopen week is mijn tweede Raspberry eindelijk binnengekomen. Mijn eerste Raspberry Pi gebruik ik als mediaspeler. De andere zou ik graag in willen zetten voor Domotica doeleinden. Daarom ik de tutorial gevolgd en tot zoverre heb ik het zaakje draaien. Raspbian geïnstalleerd en de benodigde tools en compilatie. Alleen het belangrijkste stukje ontbreekt nu nog en dat is natuurlijk het schakelen zelf.

Mijn vraag is nu op welke manier ik achter het DIP kanaal kan komen. Ik maak gebruik van de zelflerende KAKU setjes en heb alleen de transmitter module aangesloten. Een receiver heb ik niet gekocht, dit naar aanleiding van bovengenoemd tutorial waarbij enkel wordt aangegeven dat de 433/434 transmitter, naast de RPI en jumper wires uiteraard, voldoende is.

Zou iemand zo vriendelijk willen zijn om mij in de juiste richting te sturen?

Door Tweakers user WeeJeWel, zondag 07 april 2013 15:21

Voer gewoon een willekeurige code in terwijl je ontvanger in pairmodus staat. Dan kun je vanaf dan die zelf bedachte code gebruiken voor doe lamp.

Door B, zondag 07 april 2013 16:39

WeeJeWel schreef op zondag 07 april 2013 @ 15:21:
Voer gewoon een willekeurige code in terwijl je ontvanger in pairmodus staat. Dan kun je vanaf dan die zelf bedachte code gebruiken voor doe lamp.
Het leven kan soms ook zo simpel zijn he :) THX!

Door R.Joling, maandag 08 april 2013 15:25

Hallo mensen.

Ik ben nieuw hier en bezig met men Pi.

Heb in middels het project Lampen schakelen met een Raspberry Pi werkende.

En ben vervolgens begonnen met de webtool te installeren. Volgens Handleiding V2.

Ik loop hier echter vast bij de enelaatste stap: Aanpassen Index.php.

Ik heb namelijk geen flauw idee waar ik deze file ergens kan vinden. en ook de laatste stap van het document. database aanmaken en vullen krijg ik niet voor elkaar.

Is er iemand die me dit middels een berichtje uit kan leggen zodat ik verder kan.

Hoop van jullie te horen, Alvast bedankt.

Mvg R Joling

Ps: wat ik me nog afvroeg, wat is de url link oid van deze applicatie en is dit ook te benaderen van uit een ander netwerk. (als je port forwarding aanzet op porrt. xxxxxx)?

Door R.Joling, woensdag 10 april 2013 12:23

Hallo,

Het is me inmiddels gelukt. (Voorgaand bericht)

Michel ten hove: je had er inmiddels een Inlog opgebouwd las ik.

Zou je hier een uitleg van kunnen geven waar en hoe je dit hebt gedaan (code)

Bedankt.

Super mooi project btw

Mvg R.Joling

Door Tweakers user guanowceend, woensdag 10 april 2013 20:59

Ik heb besloten dat ik Apache (en evt. MySQL) te zwaar vind.
Daarom ben ik begonnen met NodeJS en heb ik dat werkend gekregen.

Naast de webinterface, heb ik dan ook vrij simpel een app weten te bouwen voor m'n telefoon en Windows8.
Mijn plan is om binnenkort hier tutorials van te maken.

Door Smartwebdesign, donderdag 11 april 2013 22:21

guanowceend,

Das een prima plan,

Ik hou me aanbevolen !

Ik had al eens eerder wat informatie geplaatst maar mischien dat jij dit nog niet gezien had.

Het leek mij namelijk erg leuk om het via google agenda te laten schakelen ;-)

hierbij nog wat extra informatie van een eerder post:
?

http://pihome.harkemedia.de/ deze kerel heeft het al klaar. Alleen gebruikt hij een gemodificeerde afstandbediening. En dat is natuurlijk niet handig ;-)

Foto agenda:
http://4.bp.blogspot.com/...shot+-+LampAanLampUit.png

Extra informatie
http://eva-quirinius.blog...pberry-pi-and-lights.html


Met vriendelijke groeten,
klaas van der Horst

Door Tweakers user guanowceend, maandag 15 april 2013 21:12

Hoi Klaas,


Dat ziet er inderdaad ook tof uit.
Toch wil ik liever zoiets doen icm zonsondergang en dergelijke.

Op dit moment ben ik eerst bezig met m'n blog op te zetten, daarna zal ik verder gaan experimenteren.

Door Tweakers user TerrorKiwi, maandag 15 april 2013 22:29

Heeft iemand enig idee of er RGB led strips of iets dergelijks bestaan die je met een van deze systemen kan bedienen? Zoiets als dit bijvoorbeeld: http://www.ledaanbieding....r-1-tot-10-meter-met.html

Door Tweakers user gabn88, donderdag 25 april 2013 08:11

Super vet project! Mijn RPi komt volgende week (counting days...). Dan wil ik er ook mee bezig gaan.

Wat betreft de zonsondergang en opkomst, dit kan je waarschijnlijk direct uit de google calendar halen, want daar is een standaard kalendar voor die voor jou plaats deze informatie bepaald. Zie ook http://support.google.com/calendar/answer/37098?hl=en

Door Tweakers user guanowceend, zondag 28 april 2013 20:59

Het is nog niet heel mooi weggewerkt, maar hieronder twee voorbeelden:
http://www.youtube.com/watch?v=fJCHTKAkIGQ
(KUKA met vaste lamp)

http://www.youtube.com/watch?v=VpT6ZDfhjjU
(ELRO met stekker)

Door Tweakers user remcoXP, zondag 28 april 2013 22:33

wow: http://pihome.harkemedia.de/pihome-software/ ziet er echt supermooi en uitgebreid uit.
(databaseje, webserver enz op kant en klare image.)

iemand dit al in gebruikt?

Door Vincent, woensdag 01 mei 2013 19:07

Hallo allemaal,

Het lukt helaas nog steeds niet om hetgeen omschreven staat in de handleiding V2 werkend te krijgen op mijn Raspberry Pi. Het gaat bij mij mis met het compileren.
Eigenlijk wil ik mijn nieuwe KAKU sysyteem werkend krijgen op Raspbmc gezien ik mijn Pi als media center gebruik en deze toch altijd draait.
Is er iemand die dit werkend heeft gekregen op Raspbmc? Zo ja, moeten er dan nog andere stappen worden gevolgd als in de handleiding staat omschreven?
Als iemand mij verder kan helpen ben ik je zeer dankbaar.

Door smartwebdesign, donderdag 02 mei 2013 22:41

Hoi guanowceend,

Ik zie dat je al aardig ver bent met het ontwikkelen van je prachtige app en het al mooi draaient hebt !

Ik hoop dat je binnenkort je blog online zet :-) Ben benieuwd.

Misschien leuk als je een images opslaat van je configuratie?

Groetjes ,
klaas

Door Tweakers user guanowceend, maandag 13 mei 2013 20:03

Hoi Klaas,

Helaas is het erg druk, maar misschien kan ik je vast wat op weg helpen:
Je moet Node.JS installeren en via npm socket.io ook installeren.
Om het voor mezelf niet al te ingewikkeld te maken, heb ik het eerst gewoon op een Windows-machine gemaakt en getest (zonder de commando's naar WiringPi), waarna ik de .js-file (server) op de Raspberry PI heb gezet en daar heb laten runnen.
Met behulp van Eclipse en Phonegap heb ik een html/javascript/css-gebaseerde app gebouwd en die apk vervolgens op m'n telefoon geïnstalleerd. Dmv socket.io krijg ik bericht terug van de server wanneer het signaal verzonden is door de RPi.

Eigenlijk heb ik dus een website omgebouwd naar een mobiele app. :-)
Hierbij wil ik overigens nog wel wat dingen als veiligheid inbouwen.

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

Voer de code van onderstaand anti-spam plaatje in: