Raspberry Pi met pilight voor noobs deel 2

Door Koffie op zondag 27 april 2014 14:32 - Reacties (29)
Categorie: -, Views: 29.208

Vol goede moed heb ik deel 1 gepost: Koffie's tweakblog: Raspberry Pi met pilight voor noobs deel 1 om vervolgens niets mee te posten. Beetje jammer :P

De reden is eigenlijk zoals zo vaak: ik was veel te druk. Ondertussen heb ik niet stil gezeten met mijn eigen Raspberry Pi project, ook de verschillende software voor aansturen van je domotica is verder ontwikkelt.
Met deze post wil ik de draad toch weer oppakken. Wanneer je deel 1 gevolgd hebt, heb je werkende Raspberry Pi, maar verder nog niets.
Tijd om een breadboard in elkaar te prutsen.

Benodigdheden
Breadboard
433MHz Superheterodyne 3400 RF Transmitter and Receiver link kit
Jumperwires

Al deze onderdelen kun je o,a, bij Nederlandse webshops vinden, maar als je enig geduld op komt brengen ook voor een fractie van de prijs van ebay. Let goed op dat je RF set de juiste frequentie is (433Mhz) en dat het een Superheterodyne is (deze hebben veel beter ontvangst).

Hardware installeren
Zorg ervoor dat je de Raspberry Pi zo voor je hebt liggen dat de GPIO pinnen rechtsboven zitten. De pin linksboven is pin 1, de pin rechtsonder is pin 26.
Maak gebruik van het volgende schema:

http://zooi.oostindie.com/images/842raspberrypi_GPIO_tn.jpg

Pak de zender en receiver en druk deze in je breadboard. Naast elkaar, niet onder elkaar!
Pak nu 2 jumperwires (rood/zwart of rood/blauw) . Plaats de rode op de 5v en de zwarte/blauwe op de 0v/GND van de Raspberry Pi.
De andere kant van de jumperwires steek je in de + en - baan die over de hele breedte van het breadboard loopt.
Vervolgens lus je de + en - vanaf die baan door naar de + en - van de zender en ontvanger (zie beschrijving bij de pinnen op de modules).
Vervolgens moet je alleen nog een jumperwire op de data van de zender en ontvanger plaatsen.
De data jumperwire van de ontvanger plaats je op GPIO 0, de data van de zender plaats je op GPIO 1.

http://zooi.oostindie.com/images/1422014_04_27_13_tn.39_tn.26_tn.jpg

http://zooi.oostindie.com/images/9952014_04_27_13_tn.39_tn.49_tn.jpg

pilight installeren
Op dit moment is pilight 3.0 de huidige stable version, dat is dus ook de versie die we gebruiken.
Breng een SSH verbinding met je Raspberry Pi tot stand, en voer het volgende commando uit: git clone --depth 5 -b master https://github.com/pilight/pilight.git
Mogelijk mis je nog wat onderdelen die pilight nodig heeft, deze installeer je als volgt:
sudo apt-get install dialog
sudo apt-get install cmake

Nu kun je pilight compileren met alle benodigde opties. Ga naar de pilight directory: cd pilight en start de setup: sudo ./setup.sh

http://zooi.oostindie.com/images/399piligt_install1_tn.jpg

In principe kun je alle opties laten voor wat ze zijn, maar persoonlijk zet ik alle protocollen die ik niet gebruik uit,. Door middel van SPATIE kun je een optie aan of uit zetten.
Zorg er voor dat HARDWARE_433_LIRC en WEBSERVER in ieder geval enabled zijn. Wacht tot de installatie klaar is met alle benodigde onderdelen te compileren.

http://zooi.oostindie.com/images/971piligt_install2_tn.jpg

LIRC configureren
Na de installatie moet pilight nog geconfigureerd worden. Het is verstandig om pilight in lirc-modus te gebruiken. In deze modus laat je LIRC alles verzenden en ontvangen. In een later stadium kun je dan overstappen naar een hardwarematig filter welke de CPU van de Raspberry Pi zal ontlasten.
Voor het volgende commando uit: sudo modprobe lirc_rpi gpio_in_pin=17 gpio_out_pin=18. Op deze manier vertel je LIRC op welke GPIO de ontvanger (GPIO 0, BCM pin 17) en zender (GPIO 1, BCM pin 18) zit.
Wanneer dit commando geen foutmeldingen geeft, kun je deze direct in je bootprocedure opnemen. Edit je modules bestand dmv sudo nano /etc/modules en voeg daar de volgende regel aan toe: lirc_rpi gpio_in_pin=17 gpio_out_pin=18.
Sluit af met de toetsencombinatie CTRL-x en bevestig het schrijven van de wijzigingen door op y te drukken. Houd de opgegeven naam aan.

pilight configureren
Open de settings van pilight: sudo nano /etc/pilight/settings.json. Zorg dat je settings er als volgt uitzien:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
        "log-level": 4,
        "pid-file": "/var/run/pilight.pid",
        "config-file": "",
        "hardware-file": "/etc/pilight/hardware.json",
        "log-file": "/var/log/pilight.log",
        "send-repeats": 3,
        "receive-repeats": 1,
        "webserver-enable": 1,
        "webserver-root": "/usr/local/share/pilight",
        "webserver-port": 80,
        "webserver-cache": 1,
        "webserver-authentication": 0,
        "webserver-username": "",
        "webserver-password": "",
        "whitelist": "",
        "update-check": 1,
        "standalone": 0,
        "port": 5000
}


Sluit af met de toetsencombinatie CTRL-x en bevestig het schrijven van de wijzigingen door op y te drukken. Houd de opgegeven naam aan.

Bewerk nu je hardware.json: sudo nano /etc/pilight/hardware.json en zorg dat deze er als volgt uitziet:

code:
1
2
3
4
5
{
        "433lirc": {
                "socket": "/dev/lirc0"
        }
}


Sluit af met de toetsencombinatie CTRL-x en bevestig het schrijven van de wijzigingen door op y te drukken. Houd de opgegeven naam aan.

pilight starten en testen
Start nu de pilight daemon in debug modus op: sudo pilight-daemon -D.

http://zooi.oostindie.com/images/900pilight_daemonstart_tn.jpg

Pak een KlikAanKlikUit (of gelijksoortig ondersteund merk( afstandsbediening (of andere zender) en stuur een signaal. Als het goed is, zul je nu op je console zien dat pilight het commando ontvangt.

http://zooi.oostindie.com/images/997pilight_daemonreceive_tn.jpg

Nu we weten dat alle hard- en software werkt, kun je de daemon stoppen dmv CTRL-C. Start nu de daemon als service : sudo service pilight start.
Standaard zal deze service al als autostart in het bootproces geplaatst worden bij de pilight installatie.

Devices in de GUI plaatsen
Nu komt het leuke: de diverse apparaten in de config zetten, zodat deze vanuit een GUI te bedienen zijn.
In mijn test heb ik een afstandsbediening gebruikt welk een KlikAanKlikUit apparaat aanstuurt met ID 8934706 en Unit 0. Deze zullen voor dit voorbeeld gebruikt worden.

Indien deze nog draait, stop de service: sudo service pilight stop, en open de config: sudo nano /etc/pilight/config.json.
Zorg dat de inhoud er als volgt uit ziet:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
        "woonkamer": {
                "name": "Woonkamer",
                "lamp1": {
                        "name": "Lamp 1",
                        "protocol": [ "kaku_switch" ],
                        "id": [{
                                "id": 8934706,
                                "unit": 0
                        }],
                        "state": "on"
                }
        }
}


Sluit af met de toetsencombinatie CTRL-x en bevestig het schrijven van de wijzigingen door op y te drukken. Houd de opgegeven naam aan.

Open daarna settings.json: sudo nano /etc/pilight/settings.json en bewerkt de regel waar "config-file" staat. Zorg dat hier het jusite pad ingevuld staat:

code:
1
"config-file": "/etc/pilight/config.json",


Sluit af met de toetsencombinatie CTRL-x en bevestig het schrijven van de wijzigingen door op y te drukken. Houd de opgegeven naam aan.

Start nu de daemon op: sudo service pilight start en ga met een browser naar het IP adres van je Raspberry Pi
Vanaf nu kun je met 1 druk op de knop in een browser een lamp aan of uit zetten.

http://zooi.oostindie.com/images/385pilight_GUI_tn.jpg

Mocht je nog vragen hebben, of foutjes in deze post zien: laat het in de comments even weten.
Binnenkort hoop ik een post te kunnen voor het aansturen van een kachel dmv een relais in combinatie met uitgebreide rules uitleg. Gezien het warme weer van de laatste tijd is het namelijk niet zo erg als je de kachel een dag 'down for maintenance' hebt ;)

Volgende: Building the dream 07-'14 Building the dream
Volgende: Raspberry Pi met pilight voor noobs deel 1 01-'14 Raspberry Pi met pilight voor noobs deel 1

Reacties


Door Tweakers user i-chat, zondag 27 april 2014 17:28

bestaan er niet gewoon ook usb zender/ontvangers, als je hier nu bijv een infrarood cam board op aan sluit als bewegings-sensor, etc dan zou ik het zenden en ontvangen eerder aan een usb poort hangen scheelt je ook weer soldeer werk ander punt is, houd je na het draaien van plight eigenlijk genoeg resources over om er een gui op te draaien, bijv om via een toutchscreen de boel aan te sturen.

ik heb er wel over zitten denken om hier iets mee te doen maar al het soldeerwerk staat me in beginsel al tegen.

Door Tweakers user Koffie, zondag 27 april 2014 17:34

Geen idee of die bestaan, maar ze zijn niet zomaar 1-2-3 in pilight te koppelen.
Los daarvan : als je naar mijn breadboard foto's kijkt zie je dat er geen soldeerbout aan te pas is gekomen.

Over je resources vraag : doordat LIRC elk stukje ruis moet onderzoeken zit je met een load van 20 tot 25 procent. Met de nieuwe hardware filter zou je dat terugbrengen naar nog een 1 procent.

Door Tweakers user WhiteDog, zondag 27 april 2014 22:44

Wat doet dat wapen op de foto :P

Door Tweakers user CurlyMo, maandag 28 april 2014 00:18

senders, ontvangers en filters zijn ook direct bij mij (pilight) te koop.

Door Tweakers user Naxiz, maandag 28 april 2014 14:51

Om die Raspberry Pi kapot te schieten als het niet lukt. :+

Door Tweakers user Jeoh, dinsdag 13 mei 2014 10:00

Naxiz schreef op maandag 28 april 2014 @ 14:51:
[...]


Om die Raspberry Pi kapot te schieten als het niet lukt. :+
Nee joh, dat is voor het vervolg: Aansturing van een turret met de Raspberry Pi

Door Tweakers user Clifdon, woensdag 14 mei 2014 20:37

Mooie blog, ben benieuwd naar je relais avontuur. Ik zelf wilde in de aankomende vakantie namelijk ook met een dergelijk iets beginnen om een versterker aan te laten sturen d.m.v. de Rpi en deze dus ook aan/uit te kunnen schakelen.

Door Tweakers user sebastiaanwezen, zondag 18 mei 2014 01:10

pi@raspbmc:~/pilight$ sudo pilight-daemon -D
[ May 17 23:10:00:34613] pilight-daemon: DEBUG: ssdp sent search
[May 17 23:10:00:125605] pilight-daemon: NOTICE: no pilight daemon found, daemonizing
[May 17 23:10:00:127025] pilight-daemon: INFO: daemon listening to port: 5000
gpio: Unable to open GPIO direction interface for pin 18: No such file or directory

Door patrick, woensdag 21 mei 2014 19:24

Hoi,

super mooi blog!!
heb alleen een super noob vraagje: als de 433mhz transmitter niet is aangesloten op de gpio pins (ligt op mijn werk...) en ik probeer "sudo modprobe lirc_rpi gpio_in_pin=17 gpio_out_pin=18" dan krijg ik de fout melding: Error could not insert Lirc_rpi no such device.
komt deze melding doordat er niets is aangesloten op de gpio of doe ik iets verkeerd? en hoe kan ik new kaku ontvangers /zenders programmeren?

alvast bedankt voor de informatie!!

Door Tweakers user Koffie, zondag 25 mei 2014 08:33

patrick schreef op woensdag 21 mei 2014 @ 19:24:
Hoi,

super mooi blog!!
heb alleen een super noob vraagje: als de 433mhz transmitter niet is aangesloten op de gpio pins (ligt op mijn werk...) en ik probeer "sudo modprobe lirc_rpi gpio_in_pin=17 gpio_out_pin=18" dan krijg ik de fout melding: Error could not insert Lirc_rpi no such device.
komt deze melding doordat er niets is aangesloten op de gpio of doe ik iets verkeerd? en hoe kan ik new kaku ontvangers /zenders programmeren?

alvast bedankt voor de informatie!!
Als het goed is moet je gewoon LIRC kunnen starten ook al hangt er geen hardware aan.
Wellicht is lirc niet (goed) geinstalleerd op je Pi ?

Door Joost, vrijdag 30 mei 2014 13:02

leuke blog! Net de 433MHz Superheterodyne 3400 RF Transmitter and Receiver link kit binnen. Hopelijk dit weekend uitproberen.
Ik was alleen benieuwd of bovenstaande ook met versie 4.0 van pilight gebruikt kan worden?! Heeft iemand dit al gechecked?

Door patrick, dinsdag 3 juni 2014 06:45

Hallo allemaal,

inmiddels werkt het goed. ik wil nu alleen weer een level up...
ik zou graag met een voice commando de lamp willen schakelen via pilight. is dit mogelijk? ik heb inmiidels het programma voice command op de pi geinstalleerd hier moet ik in de config een bash-script maken. kan iemand mij hier uitleggen hoe ik dit het beste kan aanpakken?. (heb geen linux ervaring, maar al doende leert men..).

met het commando op de site van sweetpi.de staat een commando hoe ik de lamp aan en uit kan schakelen. maar hoe verwerk ik dit commando in een bash-script?

alvast bedankt voor de informatie!

Door Tweakers user K-Jay, donderdag 5 juni 2014 12:04

Koffie, dank voor je heldere verhaal! Helaas loop ik tegen een probleem aan.

Ik heb een 433MHz Superheterodyne 3400 RF Transmitter and Receiver link kit laten komen, de stappen van deel 1 en 2 precies uitgevoerd, maar het stopt bij mij op het moment dat ik KaKu-signalen gaat zenden. Ik krijg dan geen output op het scherm.
Ik heb de daemon netjes gestart, "client recognized as gui" staat er als laatste. Als ik dan signalen ga zenden met KaKu-zenders gebeurt er niets.

Alle kabels nagelopen, pi opnieuw gestart. niets helpt. Pilight draait wel, ik kan de webgui benaderen, maar zenden/ontvangen ho maar.

Iemand tips?

Door JamoHul, maandag 23 juni 2014 22:18

Hallo,

Ik heb een vraagje, ik heb alles precies zo ingesteld zoals u hier aangeeft..

Echter ik loop tegen het volgende probleem aan, zodra ik mijn config file aangeeft in settings, en ik wil de service starten krijg ik een FAIL in beeld... Haal ik de verwijzing naar de config file weg, werkt Pilight echter wel!

Wie kan mij helpen!?

Alvast bedankt,
Jarno

Door Tweakers user Koffie, maandag 23 juni 2014 22:24

Wellicht is het handig om even in dit topic je foutmelding te posten: pilight - open source domotica oplossing

Door patrick, dinsdag 1 juli 2014 21:08

hallo,

even een noob vraag: ik heb pilight draaien. de standaard config ingesteld. ik heb 1 schakelaar van kaku en 2 lamp modules.

ik heb bij id 13162286
unit 9.

het zijn new kaku ontvangers. als ik er 1 inleer met mijn schakelaar krijg ik bovenstaande gegevens uti pilight-receive.

ik wil nu de tweede module laten schakelen op unit 8. echter doet deze helemaal niets. als ik hem weer met mijn schakelaar eerst inleer krijgt deze ook unit 9 en gaan alle lampen tegelijk aan... (wat ik niet wil). kan iemand mijn uitleggen wat fout doe??

bedankt!

Door BjÝrnar Jakobsen, woensdag 3 december 2014 16:57

Hi!

Hope it's ok for me to write in English?

Is the wiring in this picture correct?

http://zooi.oostindie.com/images/1422014_04_27_13.39.26.jpg

It seems that pin 9 & 10 is used for data? Shouldn't this be 11 (pin0) and 12 (pin1), or am I missing something?

Also I read several places that the gpio pins can be damaged if you send 5 volts to them, but you seem to do that in this setup. Is that correct, or am I yet again missing something?

Best regards
BjÝrnar Jakobsen

Door Tweakers user Koffie, vrijdag 5 december 2014 21:46

Wiring seems OK, but I'm not sure what pin numbers you mean?

The RF modules are working at 5V, but they don't ouput that nuch voltage, It is safe to connect them directly to the GPIO's

Door marcel, vrijdag 2 januari 2015 15:44

Koffie schreef op vrijdag 05 december 2014 @ 21:46:
Wiring seems OK, but I'm not sure what pin numbers you mean?

The RF modules are working at 5V, but they don't ouput that nuch voltage, It is safe to connect them directly to the GPIO's
i have the same question, it looks like koffie is using header pin 9(brown) &10 (green) on the picture of the raspbarry, but in de shema u used 11&12

greetings
marcel

Door Jef, woensdag 4 februari 2015 17:32

i get this error :

pilight-daemon: ERROR: cannot bind to socket port -2012020734, adress alredea in use ?

i always get this error when i run the pilight daemon this is the only thing i'm stuck at :S
does anyone know how to fix this ?

you can also mail me at : gamerzzbe@gmail.com

Door Tweakers user Koffie, woensdag 4 februari 2015 18:33

Jef schreef op woensdag 04 februari 2015 @ 17:32:
i get this error :

pilight-daemon: ERROR: cannot bind to socket port -2012020734, adress alredea in use ?

i always get this error when i run the pilight daemon this is the only thing i'm stuck at :S
does anyone know how to fix this ?

you can also mail me at : gamerzzbe@gmail.com
Please try at the pilight forum : http://forum.pilight.org/

Door Frans Romen, woensdag 11 februari 2015 13:35

Bedankt voor de duidelijke tutorial.
Helaas, na enkele malen installeren stuit ik steeds de zelfde foutboodschap:

Na het commando:sudo service pilight start krijg ik de volgende foutboodschap:
[....] Starting : pilight/usr/local/sbin/pilight-daemon: error while loading shared libraries: libpilight.so: cannot open shared object file: No such file or directory
failed!

Ik ben meer Electronisch gericht, dan stoeien met programma-code.
Wie kan mij het juiste zetje geven???
Bij voorbaat dank.

Door Frans Romen, dinsdag 3 maart 2015 12:01

Hallo allemaal,
Na geen reactie op mijn vorige vraag ontvangen te hebben, ben ik maar weer eens (voor de zoveelste keer) van 0 af alles opnieuw gaan installeren.
Ik blijf nu hangen bij het punt 'Pilight installeren' na sudo ./setup.sh en krijg de volgende reactie op de monitor:

-- The C compiler identification is GNU 4.6.3
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
CMake Error at CMakeLists.txt:62 (message):
Looking for libpcap - not found


-- Configuring incomplete, errors occurred!
make: *** Er is geen regel om doel 'install' te maken. Gestopt.
pi@raspberrypi ~/pilight $


Wat gaat hier fout??? Graag een reactie... bij voorbaat mijn hartelijke dank. Frans

Door Tweakers user Koffie, dinsdag 3 maart 2015 12:40

Misschien kun je beter even op het forum verder gaan : het grote pimatic topic - home domotica met je Raspberry Pi

Door Martijn Lievaart, woensdag 13 mei 2015 13:57

Waar heb je die snoertjes vandaan die aan de ene kant op de raspberry en aan de andere kant in het breadboard zitten?

Door Tweakers user Koffie, woensdag 13 mei 2015 15:51

Dat zijn standaard jumperwires overal te vinden op ebay en prototyping winkeltjes

Door Tweakers user eXisTa, vrijdag 29 mei 2015 00:34

Voor de mensen die vastlopen met betrekking tot LIRC en het niet kunnen vinden van de LIRC0. De nieuwste versie van Raspbian heeft een functie genaamd "devicetree" wat de boel om zeep helpt.

FIX:
sudo raspi-config
ga naar Advanced en schakel devicetree uit, herstart hierna je Raspberry Pi.

Door MaKo, donderdag 3 maart 2016 23:02

Hallo,

Ik krijg bij het uitvoeren van sudo ./setup sh de volgende foutmelding.


mkdir: cannot create directory ‘build’: File exists
CMake Error at CMakeLists.txt:147 (message):
Looking for libpcap - not found


-- Configuring incomplete, errors occurred!
See also "/home/pi/pilight/build/CMakeFiles/CMakeOutput.log".
make: *** No rule to make target 'install'. Stop.

Weet iemand wat het probleem is? Wat doe ik verkeerd?

Ook heb ik een probleem met het aanmaken van:
sudo nano /etc/pilight/settings.json

Ik krijg dan de onderstaande foutmelding met het opslaan van het bestand.
[ Error writing /etc/pilight/settings.json: No such file or directory ]

Wat doe ik verkeerd?

Alvast bedankt!

Door Tweakers user Koffie, vrijdag 4 maart 2016 11:16

Ik doe al tijden niets meer met pilight, dus kan je niet verder helpen.
Kijk eens naar Pimatic ;) Koffie's tweakblog: Home automation met Pimatic

Om te kunnen reageren moet je ingelogd zijn. Via deze link kun je inloggen als je al geregistreerd bent. Indien je nog geen account hebt kun je er hier ťťn aanmaken.