pilight - modulaire domotica voor de Raspberry Pi Overzicht Laatste deel

Dit topic is onderdeel van een reeks. Ga naar het meest recente topic in deze reeks.

Pagina: 1 ... 5 ... 19 Laatste
Acties:
  • 106.009 views

Acties:
  • 0 Henk 'm!

  • BenPi
  • Registratie: Februari 2013
  • Laatst online: 23-09-2024
Wel alleen de zender van een hogere spanning voorzien.
De massa ook gezamelijk maken.
De zender is inprincipe een opencollektor systeemtje waarvan je de spanning aan de antenne zijde kunt opschroeven tot zijn specs.

Acties:
  • 0 Henk 'm!

  • Sander
  • Registratie: Juni 2004
  • Niet online
Hmm, lees vrij veel dat het niet aangeraden wordt om zomaar zonder gestabiliseerde voeding etc de spanning op te gaan voeren. Heb voor nu de Pi maar even op een gunstige plek geplaatst en nu heb ik net voldoende bereik om te schakelen. Misschien toch maar een keer een 2e Pi of Arduino met zonnepaneeltje in de schuur plaatsen voor versterken van het bereik. Wifi werkt daar nl prima.

Acties:
  • 0 Henk 'm!

  • BenPi
  • Registratie: Februari 2013
  • Laatst online: 23-09-2024
Klopt, de specs zijn er niet voor niets.
Ongestabiliseerde voedingen zijn in de electronica taboe !!!!
Mischien gewoon even een 12 volt batterij van de hanzender gebruiken.

Acties:
  • 0 Henk 'm!

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 10:13

Koffie

Koffiebierbrouwer

Braaimeneer

Ik mak al een tijd gebruik van deze ontvanger en zender icm de vorige software van Curlymoo voor het schakelen van mijn lampen.

Ik schakel mijn lampen in de woonkamer in op basis van de huidige zonsondergang. Dit wil ik nog finetunen door dit tijdstip te verlengen/verkorten op basis van het weer.

Ik ben nu met deze nieuwe versie aan het kijken of ik met de daemon iets kan doen bij het opvangen van bepaalde codes - so far no luck .. ik ontvang simpelweg niets.

In mijn badkamer heb ik een AWMT-230 achter een bestaande schakelaar geplaatst. Het enige wat deze zender doet, is bij het in- en uitschakelen van het licht een ON en OFF signaal naar een bepaald KaKu adres sturen.
Als ik deze opvang met de Pi kan ik die vervolgens weer een ACM-1000 laten aansturen voor het ligbad 8)
Op deze manier krijgt het bad alleen stroom wanneer ik in de badkamer ben, met een uitloop van 10 minuten na uitschakelen. Echter na een bepaald tijdstip mag deze uberhaupt geen stroom meer krijgen, of ik in de badkamer ben of niet.
Maar daarvoor moet ik dus wel eerst het signaal op de Pi kunnen detecteren en erop acteren.

In de settings.h heb ik netjes de GPIO pins gewijzigd, maar de pilight-recieve ziet niets binnen komen.

=[edit]=
Ik had niet in de gaten dat wijzigingen in het settings bestand opnieuw gecompileerd moesten worden.
Ik probeer het zonder lirc, maar krijg de daemon niet in de lucht:
pi@raspberrypi ~/pilight $ sudo ./pilight-daemon
[Aug 18 09:57:58] pilight-daemon: ERROR: can't claim gpio pin 16


Bij mijn weten heb ik niets draaien wat pin 16 al in gebruik zou hebben :?

[ Voor 13% gewijzigd door Koffie op 18-08-2013 10:01 ]

Tijd voor een nieuwe sig..


Acties:
  • 0 Henk 'm!
@Koffie, als je geen low-pass filter gebruikt kan je het beste gewoon gebruik maken van de lirc_rpi module. Dus compileren met USE_LIRC. Daarvoor moet je wel eerst make clean doen.

Bij de volgende commit van de daemon zal ik proberen om de hele USE_LIRC te vervangen door een instelling in settings.json, net als de GPIO pin instelling. Dan hoef je niet meer opnieuw te compileren.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 10:13

Koffie

Koffiebierbrouwer

Braaimeneer

Ik gebruik geen low-pass filter, ik wil eerst de daemon los aan de praat krijgen ipv met lirc.
Make clean enzo heb ik idd gedraaid.


edit:
zojuist dubbel gecontroleerd:
- use_lirc is weggecomment
- pin IN en OUT staan goed in settings.h
- make clean, make en make install gedraait
- sudo ./pilight-daemon
- can't claim gpio pin 16

[ Voor 44% gewijzigd door Koffie op 18-08-2013 10:28 ]

Tijd voor een nieuwe sig..


Acties:
  • 0 Henk 'm!

Verwijderd

@ hierboven:
Staat #define USE_LIRC niet nog steeds tussen /* en */?
Koffie schreef op zondag 18 augustus 2013 @ 09:01:
Ik ben nu met deze nieuwe versie aan het kijken of ik met de daemon iets kan doen bij het opvangen van bepaalde codes - so far no luck .. ik ontvang simpelweg niets.
Dit is mogelijk de (sartano) receive bug. Als je wil helpen debuggen, graag. Zie forum thread.

[ Voor 3% gewijzigd door Verwijderd op 18-08-2013 10:39 ]


Acties:
  • 0 Henk 'm!

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 10:13

Koffie

Koffiebierbrouwer

Braaimeneer

Jup :)

code:
1
2
3
4
5
6
7
8
9
10
11
#include "protocol.h"

/* Uncomment this line if you want to use the this
 * program with the lirc_rpi module.
 * This is adviced when running the daemon without
 * the low-pass filter.
 *
*
#define USE_LIRC
*/
#ifndef USE_LIRC

Tijd voor een nieuwe sig..


Acties:
  • 0 Henk 'm!
Dit moet zo zijn:
code:
1
2
3
4
5
6
7
8
9
10
/* Uncomment this line if you want to use the this
 * program with the lirc_rpi module.
 * This is adviced when running the daemon without
 * the low-pass filter.
 *
*/
#define USE_LIRC
/*
*/
#ifndef USE_LIRC

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

Verwijderd

Koffie schreef op zondag 18 augustus 2013 @ 10:34:
Jup :)

code:
1
2
3
4
5
6
7
8
9
10
11
#include "protocol.h"

/* Uncomment this line if you want to use the this
 * program with the lirc_rpi module.
 * This is adviced when running the daemon without
 * the low-pass filter.
 *
*
#define USE_LIRC
*/
#ifndef USE_LIRC
Daar hoort geen smiley bij ;)
Het moet dit zijn:
code:
1
2
3
4
5
6
7
8
9
#include "protocol.h"

/* Uncomment this line if you want to use the this
 * program with the lirc_rpi module.
 * This is adviced when running the daemon without
 * the low-pass filter.
 *
*/
#define USE_LIRC

Acties:
  • 0 Henk 'm!

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 10:13

Koffie

Koffiebierbrouwer

Braaimeneer

Nee, want ik wil dus GEEN gebruik maken van lirc

Tijd voor een nieuwe sig..


Acties:
  • 0 Henk 'm!
Waarom niet? Op een andere manier gaat het niet goed werken zonder low-pass filter.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 10:13

Koffie

Koffiebierbrouwer

Braaimeneer

Oh ? Ik dacht dat het receive gedeelte ongeveer gelijk zou zijn aan je vorige script ? Daar werkt het ook prima zonder low-pass filter.

Dan moet ik eerst dat lirc aan de praat zien te krijgen

Tijd voor een nieuwe sig..


Acties:
  • 0 Henk 'm!
Er valt weinig aan de praat te krijgen. Het is gewoon het laden van een standaard module.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 10:13

Koffie

Koffiebierbrouwer

Braaimeneer

Ik heb lirc geinstalleerd, maar hij wil simpelweg niet starten :

pi@raspberrypi ~/pilight/libs $ sudo modprobe lirc_rpi gpio_in_pin=16 gpio_out_pin=15 debug=1
ERROR: could not insert 'lirc_rpi': Invalid argument

Blijkbaar doe ik daarin iets fout, maar ik heb geen idee wat :P
Ik had ook al de 2 regels in /etc/modules gezet, maar ook dat werkt niet (ik krijg dan geen device in /dev te zien)

Tijd voor een nieuwe sig..


Acties:
  • 0 Henk 'm!
Je hoeft lirc niet te installeren. Alleen de module laden.

Welke pinnen probeer je te gebruiken:
https://projects.drogon.net/raspberry-pi/wiringpi/pins/

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 10:13

Koffie

Koffiebierbrouwer

Braaimeneer

Snap ik, maar hij wil dus niet starten (zie foutmelding hierboven)
Ik gebruik pin 15 en 16 (de Tx en Rx)

edit: welke nummering volg je? De wiringpi nummering of BCM GPIO nummering?

[ Voor 27% gewijzigd door Koffie op 18-08-2013 10:55 ]

Tijd voor een nieuwe sig..


Acties:
  • 0 Henk 'm!
code:
1
lirc_rpi: invalid GPIO pin(s) specified!


Volgens de broncode zijn dit valide pinnen:
code:
1
2
int valid_gpio_pins[] = { 0, 1, 4, 8, 7, 9, 10, 11, 14, 15, 17, 18, 21, 22, 23,
24, 25 };

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 10:13

Koffie

Koffiebierbrouwer

Braaimeneer

Goed, even helemaal van scratch aan beginnen.
Ik draai raspbain Wheezy en heb lirc geinstalleerd (apt-get install lirc)
De 433 receiver hangt aan de Rx port (GPIO 15) en de transmitter hangt aan de Tx port (GPIO 14)
inhoud van settings.h :

[c]/* Uncomment this line if you want to use the this
* program with the lirc_rpi module.
* This is adviced when running the daemon without
* the low-pass filter.
*
*
*/
#define USE_LIRC
[/]

vervolgens draai ik achtereenvolgens:
pi@raspberrypi ~/pilight $ make clean
rm pilight-* >/dev/null 2>&1 || true
rm *.so* || true
rm *.a* || true
for dir in libs protocols lirc; do \
                make -C $dir clean; \
        done
make[1]: Entering directory `/home/pi/pilight/libs'
rm *.o >/dev/null 2>&1 || true
make[1]: Leaving directory `/home/pi/pilight/libs'
make[1]: Entering directory `/home/pi/pilight/protocols'
rm *.o >/dev/null 2>&1 || true
make[1]: Leaving directory `/home/pi/pilight/protocols'
make[1]: Entering directory `/home/pi/pilight/lirc'
rm *.o >/dev/null 2>&1 || true
make[1]: Leaving directory `/home/pi/pilight/lirc'


pi@raspberrypi ~/pilight $ make
make -C libs
make[1]: Entering directory `/home/pi/pilight/libs'
gcc -ffast-math -Ofast -mfloat-abi=hard -mfpu=vfp -march=armv6 -Wconversion -Wunreachable-code -Wstrict-prototypes  -Wno-conversion -g -I. -I.. -I/usr/include/ -c json.c
[..]


pi@raspberrypi ~/pilight $ sudo make install
install -m 0755 -d /usr/local/lib
install -m 0755 -d /usr/local/sbin
install -m 0755 -d /etc/pilight
install -m 0755 -d /usr/share/images/pilight/
install -m 0655 pilight-daemon /usr/local/sbin/
install -m 0655 pilight-send /usr/local/sbin/
install -m 0655 pilight-receive /usr/local/sbin/
install -m 0655 pilight-control /usr/local/sbin/
install -m 0655 pilight-debug /usr/local/sbin/
install -m 0655 pilight-learn /usr/local/sbin/
install -m 0655 libpilight.so.1 /usr/local/lib/
install -m 0644 settings.json-default /etc/pilight/
install -m 0644 logo.png /usr/share/images/pilight/
mv /etc/pilight/settings.json-default /etc/pilight/settings.json
ln -sf /usr/local/lib/libpilight.so.1 /usr/local/lib/libpilight.so
ldconfig


start van lirc:
pi@raspberrypi ~/pilight $ sudo modprobe lirc_rpi gpio_in_pin=15 gpio_out_pin=14


Ik krijg er een lirc device bij:

pi@raspberrypi ~/pilight $ ls -Al /dev/lirc*
crw-rw---T 1 root video 248, 0 Aug 18 11:58 /dev/lirc0


Vervolgens start ik de daemon:
pi@raspberrypi ~/pilight $ sudo ./pilight-daemon -S ./settings.json -D
[Aug 18 12:03:47] pilight-daemon: DEBUG: initialized lirc_rpi module
[Aug 18 12:03:47] pilight-daemon: INFO: server started at port 5000


In een 2e SSH sessie start ik de receiver:
[Aug 18 12:04:31] pilight-daemon: INFO: new client, ip: 127.0.0.1, port: 43320
[Aug 18 12:04:31] pilight-daemon: DEBUG: client fd: 5
[Aug 18 12:04:31] pilight-daemon: DEBUG: client id: 0
[Aug 18 12:04:31] pilight-daemon: DEBUG: socket recv: {"message":"client receiver"}

[Aug 18 12:04:31] pilight-daemon: DEBUG: socket write succeeded: {"message":"accept client"}

[Aug 18 12:04:31] pilight-daemon: INFO: client recognized as receiver


Vervolgens stuur ik enkele KaKu commando's de lucht in maar gebeurt er niets. Wel valt op dat relatief snel de daemon er spontaan mee stopt (en daarmee ook de receiver client)
[Aug 18 12:06:45] pilight-daemon: DEBUG: [Aug 18 12:06:45] pilight-daemon: DEBUG: default freq of the lirc_rpi module set
[Aug 18 12:06:45] pilight-daemon: DEBUG: deinitialized lirc_rpi module
[Aug 18 12:06:45] pilight-daemon: DEBUG: removed stale pid_file /var/run/pilight.pid


Als ik dan met de sender client wat stuur :
pi@raspberrypi ~/pilight $ pilight-send -p kaku_switch -f -u 3 -i 8934706


Dan komt het zowel in de daemon als de receiver aan, en ontvangt de KaKu siwtch het commado
{
        "origin": "sender",
        "protocol": "archtech_switches",
        "code": {
                "id": 8934706,
                "unit": 3,
                "state": "off"
        }
}


Ik had echter verwacht dat ik met het receiver stuk ook commando's zou kunnen ontvangen die niet via dezelfde software verstuurd worden.
Begrijp ik het nu helemaal verkeerd, of doe ik iets verkeerd :?

Tijd voor een nieuwe sig..


Acties:
  • 0 Henk 'm!

Verwijderd

Ja, dat zou inderdaad moeten kunnen maar zelf heb ik het ook nog niet voor elkaar, waarschijnlijk door een bug in het sartano protocol.

Draai eens pilight-debug en kijk eens of die wel output geeft? Bij voorkeur met een kaku switch:
code:
1
2
sudo kill `pidof pilight-daemon`
sudo ~/pilight/pilight-debug

Acties:
  • 0 Henk 'm!

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 10:13

Koffie

Koffiebierbrouwer

Braaimeneer

Als ik alleen de debug draai, komt er niets binnen

Tijd voor een nieuwe sig..


Acties:
  • 0 Henk 'm!
Als de daemon ermee stopt, dan betekent dat een bug in het programma. Ik ben er mee bezig :)



En klaar :), je hoeft nu niet meer opnieuw te compileren om gebruik te maken van of de lirc_rpi module of direct GPIO toegang.

[ Voor 44% gewijzigd door CurlyMo op 18-08-2013 14:42 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Sander
  • Registratie: Juni 2004
  • Niet online
CurlyMo schreef op vrijdag 16 augustus 2013 @ 14:41:
Voor wie nieuwsgierig is. De webgui maakt nu tabs voor elke locatie en genereert alle schakelaars. Dimmers en weerstation info was ik nog mee bezig.

[afbeelding]

Voor wie het leuk vind, browse eens naar x.x.x.x:5000 (ip van je RPi waar de daemon op draait). Je hebt hier wel de laatste versie voor nodig.
Valt me net pas op, maar jij hebt je kerstverlichting wel erg vroeg van stal gehaald :)

Acties:
  • 0 Henk 'm!
We hebben hier kerstlampjes als decoratie licht hangen. Dit was een makkelijke omschrijven :p. Deze webgui wordt binnenkort trouwens standaard geserveerd vanuit de daemon via websockets.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02 12:38
CurlyMo schreef op zondag 18 augustus 2013 @ 12:36:
Als de daemon ermee stopt, dan betekent dat een bug in het programma. Ik ben er mee bezig :)



En klaar :), je hoeft nu niet meer opnieuw te compileren om gebruik te maken van of de lirc_rpi module of direct GPIO toegang.
Staat het nu gewoon in de config of je gpio of lirc wil gebruiken?

edit:
Ah ja ik zie het nu veel handiger. Maar bij make install overschrijft hij altijd de settings.json? zou handiger zijn als hij er vanaf blijft als er al een settings staat. Inplaats daarvan een waarschuwing geeft :)

[ Voor 21% gewijzigd door Martink op 18-08-2013 18:21 ]


Acties:
  • 0 Henk 'm!
Op mijn github staat altijd de laatste info qua werking van alle programma's en de verschillende configuratie bestanden.

[ Voor 89% gewijzigd door CurlyMo op 19-08-2013 14:36 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02 12:38
Hmm jammer na upgrade naar nieuwere versie doet hij helemala niks meer, quit direct. use-lirc: 1 en socket richting de juiste lirc :(
code:
1
2
3
root@raspberrypi:/etc/pilight# pilight-daemon -S /etc/pilight/settings.json -D
[Aug 18 18:29:27] pilight-daemon: DEBUG: removed stale pid_file /var/run/pilight.pid
root@raspberrypi:/etc/pilight#

Acties:
  • 0 Henk 'm!
Kan je eens kijken of er een lirc_rpi bericht is in dmesg

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02 12:38
CurlyMo schreef op zondag 18 augustus 2013 @ 18:33:
Kan je eens kijken of er een lirc_rpi bericht is in dmesg
alleen dit maar dat lijkt me normaal:
code:
1
2
3
4
5
6
[ 2383.092646] lirc_dev: IR Remote Control driver registered, major 248 
[ 2383.102767] lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned.
[ 2383.109495] lirc_rpi lirc_rpi.0: lirc_dev: driver lirc_rpi registered at minor = 0
[ 2383.109524] lirc_rpi: driver registered!
[ 2384.063175] lirc_rpi: auto-detected active high receiver on GPIO pin 18
[ 2446.197027] lirc_rpi: AIEEEE: 0 0 520d65c6 520d65b6 cfd69 e0931

Acties:
  • 0 Henk 'm!
en als je hem zonder use-lirc start? werkt het dan wel?

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02 12:38
dan krijg ik wiringpi errors:
code:
1
2
wiringPiISR: execl failed: No such file or directory
wiringPiISR: unable to open /sys/class/gpio/gpio18/value: No such file or directory

Acties:
  • 0 Henk 'm!
Owk, dan zou ik adviseren een oudere versie te gebruiken totdat ik het een en ander gebugfixed heb.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02 12:38
Ok, zal later vandaag nog eens proberen te pullen en te builden kijken of er dan verbetering inzit. anders komt het volgende week wel :)

Zijn er trouwens ook plannen om de cresta weather sensors te ondersteunen? Zat zelf al naar de opbouw van een protocol file te kijken, maar geen idee hoe ik moet beginnen. pilight-debug toont hem ook niet volgens mij.

Acties:
  • 0 Henk 'm!
De bugs met het niet starten van de laatste build moeten nu opgelost zijn. Het zat hem qua lirc in een bug in de code, en qua gpio in het ontbreken van een wiringPi afhankelijkheid. Eigenlijk moet je wiringPi geïnstalleerd hebben, maar om jullie te matsen installeert hij deze als je dat zelf niet gedaan hebt.

Ik heb geen cresta weer station dus ik kan het niet zomaar toevoegen. Het eerste wat we voor elkaar moeten krijgen is weten of pilight-debug hem wel of niet oppikt.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02 12:38
Inderdaad hij start weer.

pilight-debug vangt het inderdaad niet op :(
en deze wil ook gpio direct aanspreken, deze kijkt niet in de configfile?

code:
1
2
3
pilight-debug -S /dev/lirc0 
gpio: Unable to open GPIO direction interface for pin 18: No such file or directory
wiringPiISR: unable to open /sys/class/gpio/gpio18/value: No such file or directory

[ Voor 42% gewijzigd door Martink op 18-08-2013 22:58 ]


Acties:
  • 0 Henk 'm!
pilight-debug en pilight-learn zijn zelfstandig, beide hebben wel een help functie -H

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

Verwijderd

pilight-debug werkt bij mij ook niet om mijn impuls remote of digi-tech weerstation op te pikken. Ik heb al geprobeerd om de minimale footer van 5000 naar 1500 te verlagen maar dat mocht niet baten. Ik vraag me af wat ik nog meer kan proberen. Misschien is het zinvol een forum topic te openen over hoe pilight-debug verbeterd kan worden zodat ook zonder low pass filter i.c.m. mode2 meer protocollen ontwikkeld kunnen worden?

@hieronder: heb een thread gemaakt: pilight forum thread: Improving pilight-debug / pilight-learn

[ Voor 21% gewijzigd door Verwijderd op 18-08-2013 23:51 ]


Acties:
  • 0 Henk 'm!
Voel je vrij :)

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02 12:38
CurlyMo schreef op zondag 18 augustus 2013 @ 23:16:
pilight-debug en pilight-learn zijn zelfstandig, beide hebben wel een help functie -H
Ja zag ik, maar als ik lirc socket opgeef zegt hij nog steeds aan dat hij gpio niet kan openen. doe ik het fout?

Acties:
  • 0 Henk 'm!
code:
1
2
3
4
5
6
7
root@pi:~# pilight-debug -H
Usage: pilight-debug [options]
         -H --help              display usage summary
         -V --version           display version
         -S --socket=socket     read from given socket
         -L --lirc              use the lirc_rpi kernel module
         -G --gpio=#            GPIO pin we're directly reading from


Dus:
code:
1
pilight-debug -S /dev/lirc0 -L



De webgui die ik eerder liet zien wordt nu standaard geserveerd vanuit de pilight-daemon. Deze werkt via websockets waardoor er geen polling nodig is via Ajax maar alle updates direct heen en weer worden verzonden tussen de daemon en de webgui. Je hebt er wel een recente browser voor nodig. De webgui gedraagd zich intern gewoon als een gui. Als je nu de daemon dus in debug mode start dan zie je telkens één client verbonden zijn. Dat komt dus door de webgui.

Deze manier van het hebben van een webgui via websockets maakt het ook mogelijk om later bijv. een event systeem via een webgui te laten configureren.

[ Voor 46% gewijzigd door CurlyMo op 19-08-2013 15:41 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Sander
  • Registratie: Juni 2004
  • Niet online
[b]CurlyMo schreef op maandag 19 augustus 2013 @ 09:55:
Deze manier van het hebben van een webgui via websockets maakt het ook mogelijk om later bijv. een event systeem via een webgui te laten configureren.
Ik was zelf al een beetje aan het prutsen op basis van de PHP gui die je gepubliceerd had. Wilde icm een simple sqlite DB (en process configuratie setting) de binnengekomen events in een DB te schrijven zodat je daar eventueel triggers aan kan hangen (om een ander script te starten oid). Andersom kun je dan ook vrij makkelijk gaan scheduled taken gaan inschieten in die DB en dmv een cron scriptje laten checken of ze afgevuurd moeten worden, bijvoorbeeld om op tijd te schakelen. Maar in de daemon is uiteraard mooier , alhoewel mijn c ervaring te beperkt is om dat makkelijk op te pakken en uit te breiden ;)

BTW: Aangezien het toch al jQuery mobile is, is het misschien leuk dit toe te voegen aan de head van de HTML zodat op zowel android als iOS je het ingestelde icon (144*144px) krijgt als je hem toevoegt als 'App' op je homescreen.
code:
1
2
<link rel="apple-touch-icon" href="/apple-touch-icon.png"/>
<link rel="apple-touch-icon-precomposed" href="/apple-touch-icon.png"/>

[ Voor 21% gewijzigd door Sander op 19-08-2013 21:58 ]


Acties:
  • 0 Henk 'm!
Allereerst, hoe voeg je een jquery mobile app toe aan je telefoon?

Daarnaast ben ik aan het nadenken over een event systeem maar weet niet goed hoe ik dat zou moeten opzetten. Oftewel wat is de logica daarachter. Als ik dat begrijp kan ik het ook wel schrijven. Zullen daar eens over brainstormen via een topic op mijn forum?

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Sander
  • Registratie: Juni 2004
  • Niet online
CurlyMo schreef op maandag 19 augustus 2013 @ 22:04:
Allereerst, hoe voeg je een jquery mobile app toe aan je telefoon?

Daarnaast ben ik aan het nadenken over een event systeem maar weet niet goed hoe ik dat zou moeten opzetten. Oftewel wat is de logica daarachter. Als ik dat begrijp kan ik het ook wel schrijven. Zullen daar eens over brainstormen via een topic op mijn forum?
Onder iOS kwestie van bookmarken op je homescreen, dan pakt hij ook dat icoon om hem weer te geven. Voorbeeldje. Daarnaast kun je door bepaalde caching headers te zetten ook zorgen dat hij bijv alle CSS etc cached en niet iedere keer opnieuw oppakt, en zelfs dingen laten zien als: Sorry maar de server is niet beschikbaar als je hem bijv buitenshuis/offline opent. Zal even een goed artikel opzoeken waarin dat aan bod komt (kom ik morgen op terug).

Mbt het systeem, goed plan, ik zal me eens registreren op het forum. Ik denk dat er ook veel te 'leren' valt van anderen.

Inmiddels ben ik er ook achter dat ik, of een 2e Pi moet hebben en er 1 voor en 1 achterin huis nodig heb, of iig een low-pass filter. sinds ik de Pi zo geplaatst heb dat hij de tuinlampen goed pakt, pakt de receiver de deurbel signalen niet meer op (aan de andere kant van het huis, metertje of 10 verder met 1 dikke voormalige buitenmuur erbij). Zou een lowpass filter een goede oplossing zijn om het receiver bereik niet alleen 'schoner' maar ook beter te maken?

En indien antwoord op above "ja" is, zijn er nog ontwikkelingen voor het low-pass bordje? Anders ga ik gewoon losse onderdelen en een simpel steek-bordje bestellen.

Acties:
  • 0 Henk 'm!

Verwijderd

Sander schreef op maandag 19 augustus 2013 @ 22:29:
[...]
En indien antwoord op above "ja" is, zijn er nog ontwikkelingen voor het low-pass bordje? Anders ga ik gewoon losse onderdelen en een simpel steek-bordje bestellen.
Als je een kleine case voor je Raspberry niet belangrijk vind kan je prima losse onderdelen bestellen (via CurlyMo). Het filter schijnt prima te werken.

Acties:
  • 0 Henk 'm!
Tot nu toe ben ik nog de enige die kan bevestigen dat de low-pass filter goed werkt. Zodra ik een van de onderdelen weer binnen heb, dan kan ik weer wat verzenden en hoop ik meer testers te hebben. Wel is mijn ervaring dat het gebruik van de "use-lirc": 0 betere resultaten geeft, maar die werkt dan alleen in combinatie met de low-pass filter. Dus ja, uiteindelijk kan je een beter bereik krijgen, maar dat ligt niet perse aan de filter zelf.

Zijn er mensen die vanuit mijn logo een leuke iOS / Android icon kunnen maken?

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Dirkjo
  • Registratie: Oktober 2008
  • Laatst online: 08-09 18:25
Tof project! Heb direct een verzender/ontvanger en extra Raspberry besteld. Kan niet wachten om te beginnen.

Nu zag ik een paar pagina's terug iets voorbij komen over het maken van een PCB. Hoe zijn hier de ontwikkelingen in?

Acties:
  • 0 Henk 'm!

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02 12:38
CurlyMo schreef op maandag 19 augustus 2013 @ 23:03:
Tot nu toe ben ik nog de enige die kan bevestigen dat de low-pass filter goed werkt. Zodra ik een van de onderdelen weer binnen heb, dan kan ik weer wat verzenden en hoop ik meer testers te hebben. Wel is mijn ervaring dat het gebruik van de "use-lirc": 0 betere resultaten geeft, maar die werkt dan alleen in combinatie met de low-pass filter. Dus ja, uiteindelijk kan je een beter bereik krijgen, maar dat ligt niet perse aan de filter zelf.

Zijn er mensen die vanuit mijn logo een leuke iOS / Android icon kunnen maken?
Ik kan wel kijken of ik een leuke ios app kan maken. De communicatie met server is niet echt lastig. Als niet iemand anders sneller is kan ik binnenkort wel even kijken voor een appje :)

Indien nodig kan ik hem ook wel onder mijn bedrijfsnaam in de store zetten. aan de app zit als ik het goed heb toch geen kosten aan verbonden :)

Acties:
  • 0 Henk 'm!
Zou heel gaaf zijn @Martink. Het zou wel het handigst zijn als hij onder pilight in de appstore komt met jouw bedrijfnaam als uitvoerder. Dan staat alles onder één noemer. Nu nog iemand voor de Android app ;)

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Dirkjo
  • Registratie: Oktober 2008
  • Laatst online: 08-09 18:25
CurlyMo schreef op dinsdag 20 augustus 2013 @ 19:45:
Zou heel gaaf zijn @Martink. Het zou wel het handigst zijn als hij onder pilight in de appstore komt met jouw bedrijfnaam als uitvoerder. Dan staat alles onder één noemer. Nu nog iemand voor de Android app ;)
Ik ga als mijn spullen binnen zijn een Android app er voor maken. Dit stond eerst op de planning voor eigen gebruik, maar misschien dat ik hem wel zo kan maken dat die universeel is en door iedereen bruikbaar. In dat geval zal die ook in de Play Store terecht komen. ;)

Acties:
  • 0 Henk 'm!
Het hele idee van de pilight socket / json api is dat de gui dynamisch te bouwen is. Als je hem dus goed maakt is hij net zo bruikbaar voor jezelf als voor anderen. Is het wat om voor jullie bieden een aparte repo te openen op de pilight github waar jullie dan directe toegang toe krijgen?


Ik heb zojuist een nieuwe versie van de daemon online gezet waarin ik een aantal libraries heb herschreven. Aangezien dit project mijn eerste (grote) C project is, waren de dingen die ik aan het begin van het project schreef niet zo netjes als nu. Die echte lelijke implementaties heb ik nu herschreven. Er zijn nog wel een aantal kleine dingetjes, maar die kosten meer tijd / hebben minder grote prioriteit.

Ik heb hier natuurlijk gewoon getest of dingen werken (ik draai pilight ook in ons dagelijks huishouden dus als het niet werkt kunnen we onze lampen niet meer bedienen :) ). Toch zou ik graag willen dat anderen hem ook even uitgebreid testen zodat ik weet dat er geen foutjes ingeslopen zijn.

[ Voor 55% gewijzigd door CurlyMo op 20-08-2013 22:46 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • neographikal
  • Registratie: Januari 2001
  • Niet online
Dirkjo schreef op dinsdag 20 augustus 2013 @ 21:51:
[...]


Ik ga als mijn spullen binnen zijn een Android app er voor maken. Dit stond eerst op de planning voor eigen gebruik, maar misschien dat ik hem wel zo kan maken dat die universeel is en door iedereen bruikbaar. In dat geval zal die ook in de Play Store terecht komen. ;)
Kun je het niet met Phonegap maken? Kunnen de IOS'ers er ook van genieten :P

Ik heb net ook de radio besteld, ben benieuwd :) Leuk speelgoed allemaal, hoewel ik wat moeite heb om het schema van het lowpass filter te lezen (weinig ervaring mee). Oh well, weer wat om te leren :)

[ Voor 17% gewijzigd door neographikal op 21-08-2013 01:29 ]


Acties:
  • 0 Henk 'm!

  • Dirkjo
  • Registratie: Oktober 2008
  • Laatst online: 08-09 18:25
neographikal schreef op woensdag 21 augustus 2013 @ 01:17:
[...]


Kun je het niet met Phonegap maken? Kunnen de IOS'ers er ook van genieten :P

Ik heb net ook de radio besteld, ben benieuwd :) Leuk speelgoed allemaal, hoewel ik wat moeite heb om het schema van het lowpass filter te lezen (weinig ervaring mee). Oh well, weer wat om te leren :)
Martink schreef op dinsdag 20 augustus 2013 @ 13:28:
[...]


Ik kan wel kijken of ik een leuke ios app kan maken. De communicatie met server is niet echt lastig. Als niet iemand anders sneller is kan ik binnenkort wel even kijken voor een appje :)

Indien nodig kan ik hem ook wel onder mijn bedrijfsnaam in de store zetten. aan de app zit als ik het goed heb toch geen kosten aan verbonden :)
;)
CurlyMo schreef op dinsdag 20 augustus 2013 @ 22:24:
Het hele idee van de pilight socket / json api is dat de gui dynamisch te bouwen is. Als je hem dus goed maakt is hij net zo bruikbaar voor jezelf als voor anderen. Is het wat om voor jullie bieden een aparte repo te openen op de pilight github waar jullie dan directe toegang toe krijgen?


Ik heb zojuist een nieuwe versie van de daemon online gezet waarin ik een aantal libraries heb herschreven. Aangezien dit project mijn eerste (grote) C project is, waren de dingen die ik aan het begin van het project schreef niet zo netjes als nu. Die echte lelijke implementaties heb ik nu herschreven. Er zijn nog wel een aantal kleine dingetjes, maar die kosten meer tijd / hebben minder grote prioriteit.

Ik heb hier natuurlijk gewoon getest of dingen werken (ik draai pilight ook in ons dagelijks huishouden dus als het niet werkt kunnen we onze lampen niet meer bedienen :) ). Toch zou ik graag willen dat anderen hem ook even uitgebreid testen zodat ik weet dat er geen foutjes ingeslopen zijn.
Dat zou inderdaad kunnen. Moet sowieso eerst wachten tot mijn spullen binnen zijn, dus dat zal nog wel paar weken duren ben ik bang...

[ Voor 41% gewijzigd door Dirkjo op 21-08-2013 10:13 ]


Acties:
  • 0 Henk 'm!
@Dirkjo & @Martink, laat maar weten zodra jullie wat code hebben en wat jullie github gebruikersnamen zijn. Dan zal ik een repository openen onder pilight waarin jullie volledige rechten hebben.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • neographikal
  • Registratie: Januari 2001
  • Niet online
Ik ben ook wel benieuwd, ik wil best meehelpen, maar ik vrees dat mijn standaard ontwikkelplatform (.net) niet het meest handige is op Linux (hoewel het wel kan met Mono) denk ik niet dat veel van jullie in .net werken hier :P

Wat nog wel een verdomd handige optie kan zijn om de gui's op te baseren is AngularJS. Die code is waarschijnlijk voor zowel de desktop als mobile versies van een control panel te gebruiken (aangezien je toch json exposed)

Acties:
  • 0 Henk 'm!
Is een windows client niks voor jou dan?

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • neographikal
  • Registratie: Januari 2001
  • Niet online
Als ik er zelf naar kijk, dan denk ik dat met name een goede webinterface en apps voor de verschillende mobiele platforms handig zijn. Een desktopinterface is oldskool joh :P

Acties:
  • 0 Henk 'm!
Ik gebruik hier toch mijn Java windows app het vaakst voor de bediening.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 23:32
@curlyMo: ik heb ondertussen de java voor de grafiek gevonden op je persoonlijke git (de link in het forum toonde de juiste tekst, maar linkte naar die van pilight?)
Wat ik me echter erbij afvroeg: je vraagt gewoon alle data van de tabel op om die te droppen in de grafiek. Geeft dat geen problemen als je een paar jaar ver bent en er ondertussen enkele honderduizenden records zijn?

Acties:
  • 0 Henk 'm!
@Promy, dit heeft niks met pilight en java te maken ;)



Vandaag eens aan de slag gegaan met verder geheugenbeheer. Eerst eens de logische plekken onder handen genomen waar nog geen free stond maar deze wel gewenst was of waar malloc gecombineerd werd met een strdup. Daarna ben ik aan de slag gegaan met valgrind, een super programma om geheugen lekken op te sporen. Deze ook voor een groot deel verholpen buiten een aantal plaatsen om. Hierbij gaat het om 2x een str(n)dup implementatie en een aantal keren om een conditional jump error. Is er iemand die genoeg verstand heeft van C om te kijken wat nu precies het probleem is? De meest hardnekkige staan in libs/options.c en in libs/config.c. Er staat in beide gevallen commentaar bij dat het gaat om een valgrind fout.

[ Voor 96% gewijzigd door CurlyMo op 21-08-2013 17:55 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

Verwijderd

Ik weet dat een conditional jump error meestal bijvoorbeeld een if/else statement betreft. Dat andere zegt mij niks.

Ben gelijk even gaan testen of de daemon nog steeds crasht als ik een beetje op mijn remote spam, het is wel een stuk minder dan voorheen maar hij crasht nog steeds, jammer genoeg. Alleen debug (-D) mode geprobeerd.

Echter, als ik op mijn elro remote buttons druk, doet hij niks. Ook niet nadat ik de juiste waarden heb aangepast in sartano.c. Ik zal wederom vanavond even gaan debuggen om dit probleem te vinden. Ik zie nu fixed receive bug op GitHub, ga het gelijk even testen! We hebben elkaar gekruist.

[ Voor 6% gewijzigd door Verwijderd op 21-08-2013 21:30 ]


Acties:
  • 0 Henk 'm!
Ik heb zojuist een nieuwe versie online gezet waarin de ontvangst bug is opgelost en ook een overijverige geheugen beheer foutje in de ontvangst.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

Verwijderd

Ontvangen werkt nu maar ik krijg een memory error na 5 seconden zenden:

code:
1
2
3
4
[Aug 21 21:34:42] pilight-daemon: DEBUG: called impuls parseBinary()
[Aug 21 21:34:42] pilight-daemon: DEBUG: called sartano parseBinary()
[Aug 21 21:34:42] pilight-daemon: DEBUG: called archtech_old parseBinary()
*** glibc detected *** pilight-daemon: double free or corruption (fasttop): 0x0012ef68 ***


Zelfs kill werkt niet meer om het af te sluiten. Enige oplossing een reboot?

Acties:
  • 0 Henk 'm!
nee, nieuwe sessie:
code:
1
pkill -9 pilight

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Sander
  • Registratie: Juni 2004
  • Niet online
Verwijderd schreef op woensdag 21 augustus 2013 @ 21:37:
Ontvangen werkt nu maar ik krijg een memory error na 5 seconden zenden:

code:
1
2
3
4
[Aug 21 21:34:42] pilight-daemon: DEBUG: called impuls parseBinary()
[Aug 21 21:34:42] pilight-daemon: DEBUG: called sartano parseBinary()
[Aug 21 21:34:42] pilight-daemon: DEBUG: called archtech_old parseBinary()
*** glibc detected *** pilight-daemon: double free or corruption (fasttop): 0x0012ef68 ***


Zelfs kill werkt niet meer om het af te sluiten. Enige oplossing een reboot?
Kill -9 ook niet?

Acties:
  • 0 Henk 'm!

Verwijderd

Jup, -9 did the trick. Bedankt.

Nieuwe poging, exact dezelfde error:
code:
1
*** glibc detected *** pilight-daemon: double free or corruption (fasttop): 0x000daf68 ***

[ Voor 70% gewijzigd door Verwijderd op 21-08-2013 21:42 ]


Acties:
  • 0 Henk 'm!
Als de bug direct na parseBinary() komt, dan moet de bug wel makkelijk te lokaliseren zijn. Misschien kan je eens starten met stuk voor stuk de protocollen weer toevoegen. Dan weet je of het ook echt in arctech_old zit of niet.

[ Voor 42% gewijzigd door CurlyMo op 21-08-2013 21:48 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

Verwijderd

De bug zit hier:

code:
1
2
3
4
5
6
logprintf(LOG_DEBUG, "step 2 %s parseBinary()", protocol->id);
json_append_member(message, "code", protocol->message);
json_append_member(message, "origin", json_mkstring("receiver"));
json_append_member(message, "protocol", json_mkstring(protocol->id));
broadcast(protocol->id, message);
logprintf(LOG_DEBUG, "step 3 %s parseBinary()", protocol->id);


Step 2 krijg ik als output, step 3 niet meer. Even verder gaan op het forum? Link

[ Voor 46% gewijzigd door Verwijderd op 21-08-2013 22:26 ]


Acties:
  • 0 Henk 'm!
Dan zit de bug waarschijnlijk in broadcast, en als hij daar niet direct zit, dan is het waarschijnlijk dat er ergens in config_update teveel wordt vrijgemaakt. Dit gaat wel weer alle gebruikers aan ;)

[ Voor 70% gewijzigd door CurlyMo op 21-08-2013 22:00 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

Verwijderd

Weet niet of je de thread gevonden hebt maar ik heb de bug gevonden en gefixt:

code:
1
//free(opt);


Alleen reageert de webinterface vrij traag sinds de laatste wijzigingen (maar kan ook door mijn debug code komen).

Moet wel zeggen dat de daemon nu stabieler dan ooit lijkt. Met andere woorden ik krijg hem niet meer gecrasht. Kudo's voor CurlyMo.

Ik ga hem vannacht laten draaien en kijken of hij willekeurig crasht van de noise die hij met LIRC ontvangt.
CurlyMo schreef op woensdag 21 augustus 2013 @ 14:48:
Er staat in beide gevallen commentaar bij dat het gaat om een valgrind fout.
Valgrind is een framework on te debuggen.

[ Voor 67% gewijzigd door Verwijderd op 22-08-2013 00:43 ]


Acties:
  • 0 Henk 'm!
Die instabiliteit zat hem vooral in een rare implementatie van de protocol lib. Het herschrijven daarvan is nog wel de belangrijkste verandering. Het is in ieder geval fijn om te weten dat ik voor het zoeken van bugs niet meer op mezelf aangewezen ben :)

Jammer genoeg ben ik me er ook van bewust dat er nog een hoop geheugen dingetjes op te lossen zijn, maar mijn kennis reikt op dit moment nog niet ver genoeg om bepaalde oplossingen te herschrijven. Het grootste probleem zijn op dit moment de settings.c en config.c bestanden. Hierin worden complexe hiërarchische structs in opgebouwd waarin allerlei geheugen allocatie plaatsvind. Hoe ik deze weer netjes opschoon weet ik niet want dan werkt het geheel niet meer :/ Het voordeel is dat deze structs vrij statisch zijn dus niet blijven lekken zodra de pilight daemon is gestart.

Als laatste merk ik niet dat de webgui trager is dus ik denk dat dat een inbeelding is ;)


Zouden mensen zonder low-pass filter eens deze command-line kunnen draaien:
code:
1
yes "clear; cat /proc/$(pgrep pilight-daemon)/status; sleep 1" | /bin/bash


De uitvoer is dan als volgt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Name:   pilight-daemon
State:  S (sleeping)
Tgid:   7028
Pid:    7028
PPid:   1
TracerPid:      0
Uid:    0       0       0       0
Gid:    0       0       0       0
FDSize: 32
Groups: 0
VmPeak:    29328 kB
VmSize:    28624 kB
VmLck:         0 kB
VmPin:         0 kB
VmHWM:      2372 kB
VmRSS:      2372 kB
VmData:    26364 kB
VmStk:       136 kB
VmExe:        24 kB
VmLib:      1924 kB
VmPTE:        14 kB
VmSwap:        0 kB
Threads:        4
SigQ:   1/2984
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000000000
SigCgt: 00000001800854ee
CapInh: 0000000000000000
CapPrm: 0000001fffffffff
CapEff: 0000001fffffffff
CapBnd: 0000001fffffffff
Seccomp:        0
Cpus_allowed:   1
Cpus_allowed_list:      0
voluntary_ctxt_switches:        11056
nonvoluntary_ctxt_switches:     6


Vervolgens moet je de deze twee waardes in de gaten houden:
code:
1
2
VmHWM:      2372 kB
VmRSS:      2372 kB


Op dit moment loopt deze bij mij in het geval van het zenden van een code langzaam op. Niet veel, maar het zou niet moeten. Ik vraag me dus hoe snel dit gaat in geval van het ontvangen van ruis. Zo hebben we ook een duidelijke graadmeter om de geheugen foutjes op te sporen en op te lossen.

[ Voor 44% gewijzigd door CurlyMo op 22-08-2013 00:09 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Verwijderd

Ik probeer te helpen waar ik kan, maar ik studeer ook nog dus binnenkort zal mijn tijd weer beperkter zijn.

Trouwens, sinds je allerlaatste ("and the final part") update crasht de webgui bij mij. Bij jou ook? Ik wil best even mijn config file delen.

code:
1
2
3
[Aug 22 00:11:34] pilight-daemon: [Aug 22 00:11:34] pilight-daemon: INFO: client disconnected, ip 10.0.0.0, port 0
*** glibc detected *** /home/pi/pilight/pilight-daemon: double free or corruption (fasttop): 0x0044f4b0 ***
ERROR: error reading from /dev/lirc0 (ret -1, expected 4)


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
{
    "slaapkamer": {
        "name": "Slaapkamer",
        "order": 1,
        "bed": {
            "name": "Bed (Elro A)",
            "order": 1,
            "protocol": "elro",
            "type": 1,
            "id": 1,
            "unit": 31,
            "state": "off",
            "values": [ "on", "off" ]
        },
        "bureau": {
            "name": "Bureau (Impuls A)",
            "order": 2,
            "protocol": "impuls",
            "type": 1,
            "id": 1,
            "unit": 31,
            "state": "on",
            "values": [ "on", "off" ]
        },
        "test": {
            "name": "Bureau (Elro B)",
            "order": 3,
            "protocol": "elro",
            "type": 1,
            "id": 2,
            "unit": 31,
            "state": "off",
            "values": [ "on", "off" ]
        }
    },
    "woonkamer": {
        "name": "Woonkamer",
        "order": 2,
        "tosti": {
            "name": "Tosti ijzer (Elro C)",
            "order": 1,
            "protocol": "elro",
            "type": 1,
            "id": 4,
            "unit": 31,
            "state": "on",
            "values": [ "on", "off" ]
        },
        "lamp1": {
            "name": "Lamp voor (Impuls B)",
            "order": 2,
            "protocol": "impuls",
            "type": 1,
            "id": 2,
            "unit": 31,
            "state": "off",
            "values": [ "on", "off" ]
        },
        "lamp2": {
            "name": "Lamp achter (Impuls C)",
            "order": 3,
            "protocol": "impuls",
            "type": 1,
            "id": 4,
            "unit": 31,
            "state": "off",
            "values": [ "on", "off" ]
        }
    }
}


De waarden:
code:
1
2
VmHWM:      1012 kB
VmRSS:      1012 kB

Door mijn knop een tijdje ingedrukt te houden loopt het op tot 4000. Door de ruis lijkt het niet hoger te worden maar ik zal hem vannacht eens laten draaien en je de uitkomst laten weten.

Het valt me trouwens op dat RFXCom ook geen impuls kan receiven, en wel elro. Senden kan de RFXCom naar beide. Misschien is de impuls remote niet erg compatible. Bron

[ Voor 11% gewijzigd door Verwijderd op 22-08-2013 00:43 ]

Verwijderd schreef op donderdag 22 augustus 2013 @ 00:15:
Trouwens, sinds je allerlaatste ("and the final part") update crasht de webgui bij mij. Bij jou ook? Ik wil best even mijn config file delen.
Aan die commit kan het niet gelegen hebben. Het enige wat zou kunnen is deze regel: https://github.com/piligh...ter/libs/webserver.c#L112

Sinds de 2 dagen regel reageer ik hier niet meer


Verwijderd

CurlyMo schreef op donderdag 22 augustus 2013 @ 08:39:
[...]

Aan die commit kan het niet gelegen hebben. Het enige wat zou kunnen is deze regel: https://github.com/piligh...ter/libs/webserver.c#L112
Inderdaad, ik bedoelde de laatste 3 commits.

code:
1
//free(dot);


En nu werkt de webserver weer.

Vannacht heb ik de daemon aan laten staan in debug mode maar is hij jammer genoeg willekeurig gestopt (geen extreme crash).

Ik zal eens wat andere software gaan zoeken om memory leaks op te sporen, met C++ Visual studio kan je ook de volgende software integreren (commercieel):
- IBM Rational Purify
- Parasoft Insure

[ Voor 67% gewijzigd door Verwijderd op 22-08-2013 09:43 ]


  • neographikal
  • Registratie: Januari 2001
  • Niet online
In C proggen is nou ook niet het allermakkelijkste wat je kunt doen, dus ik vind het sowieso knap :P
Met low-pass filter heeft hij hier de hele nacht gedraaid.


Mijn verdere pogingen om het geheugenbeheer terug te brengen doe ik vanaf nu in een aparte branch genaamd memory. Het doel is om de master branch zo snel mogelijk weer bug vrij te krijgen zodat deze weer werkt zoals het hoort. Het idee is dat alles in de memory branch pas in de master komt zodra het goed getest is door een aantal gebruikers. Hopelijk doen jullie dat dan ook met de huidige nieuwe code.


Hier een video betreffende de antenne:
YouTube: Arduino Project: Cheap Wireless 433Mhz Transmitter and Receivers

Misschien kan iemand het eens testen.

[ Voor 96% gewijzigd door CurlyMo op 22-08-2013 11:59 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Verwijderd

Hierbij het commando voor als mensen zich willen aansluiten bij het testen van de memory branch (thanks CurlyMo):

code:
1
git clone --depth 5 -b memory https://github.com/pilight/pilight
Eigenlijk is de memory branch nu de "master" branch gezien alle geheugen lekken die ik al verwijderd heb ;) Maar jammer genoeg is hij op dit moment nog niet bug vrij. Die master branch is als het goed is wel bug vrij.

[ Voor 34% gewijzigd door CurlyMo op 22-08-2013 17:58 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • BenPi
  • Registratie: Februari 2013
  • Laatst online: 23-09-2024
@CurlyMo: Is pilight.org slachtoffer van spam ?


De laatste tijd komen er steeds meer afstands bedieningen die met rf werken.
Dit gaat op 2.4 Ghz met het ZigBee RF4CE protocol.
zie o.a. : http://nl.mouser.com/new/texasinstruments/ticc253x/

Zou dat te integreren zijn in pilight ?

[ Voor 85% gewijzigd door BenPi op 24-08-2013 11:08 ]


Acties:
  • 0 Henk 'm!

  • neographikal
  • Registratie: Januari 2001
  • Niet online
CurlyMo schreef op donderdag 22 augustus 2013 @ 16:01:
Eigenlijk is de memory branch nu de "master" branch gezien alle geheugen lekken die ik al verwijderd heb ;) Maar jammer genoeg is hij op dit moment nog niet bug vrij. Die master branch is als het goed is wel bug vrij.
Tip: YouTube: Git and GitHub Version Control Tutorial - Part 3

Kun je misschien wat handigs uit halen mbt branching :)

Acties:
  • 0 Henk 'm!

Verwijderd

Heb nu de 315Mhz sensor binnen maar die werkt helaas niet. Kan zijn dat ik de jumper verkeerd erop heb gezet maar kan nergens een manual vinden. Op het bordje staat MC398G-12 en het betreft dit product: http://dx.com/p/fukang-fk...y-door-alarm-white-180272

Zie nu dat deze er nu ook op staat (een 443mhz): http://dx.com/p/oudi-ad-8...indow-sensor-white-226551 Misschien die toch maar bestellen om te proberen.

Edit: Ah nu snap ik het. Ze hebben een aparte receiver en transmitter die op 315Mhz draait. Ik dacht door de vage Ebay omschrijving dat hij beide frequenties ondersteunde maar dat is dus een apart product: http://www.ebay.nl/itm/31...for-ARM-MCU-/190745599793

Edit 2: Dezelfde sensor als ik nu de 315 versie van heb staat voor 3$ op ebay.com en dan kun je op verzoek de 433Mhz versie krijgen. Die heb ik nu dus ook besteld. Zoekterm: "433 sensor" en dan list low (+shipping) to high.

Edit 3:
Trouwens ik kom net dit tegen, een 443Mhz repeater. Zou ook een optie kunnen zijn in plaats van een extra Raspberry plaatsen als node met pilight. Weet alleen niet of het goed werkt maar even voor het idee: http://www.ebay.com/itm/W...nder-433MHz-/261268927199

[ Voor 78% gewijzigd door Verwijderd op 26-08-2013 22:58 ]


Acties:
  • 0 Henk 'm!
Na heel veel testen en net zo veel aanpassingen in de code moet hij zo goed als leak vrij zijn. De enige problemen die er nog zijn zitten zover ik weet in de libwebsockets en pthread library. Waarschijnlijk omdat er functies zijn die verkeerd aangeroepen worden, maar ik sluit ook foutjes in die libraries niet uit ;) Het zou dus fijn zijn als meer mensen de memory branch kunnen testen.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 10:13

Koffie

Koffiebierbrouwer

Braaimeneer

Iemand enig idee hoe je het (ontvangst)bereik van de ontvanger kunt vergroten?
Mijn setup ligt in de meterkast, maar heeft al moeite met het ontvangen van signalen vanuit een slaapkamer op de verdieping erboven (en dan zit er zelfs een grote open vide tussen).
Ik heb al een jumperwire op het breadboard geprikt op pin 8 (ANT) maar heel veel heeft dat niet geholpen.
Zenden is geen probleem, dat komt altijd aan.

Ik heb overigens op dezelfde RPi een cronjob draaien welke elke dag sunwait aftrapt, welke een half uur voor zonsondergang de lampen in de woonkamer aanzet.

Tijd voor een nieuwe sig..


Acties:
  • 0 Henk 'm!
Heb je als een geprobeerd om een antenne te bouwen naar de voorbeelden die ik gepost heb?

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

Verwijderd

Koffie schreef op dinsdag 27 augustus 2013 @ 18:18:
Iemand enig idee hoe je het (ontvangst)bereik van de ontvanger kunt vergroten?
1) Misschien een optie? http://www.ebay.com/itm/W...nder-433MHz-/261268927199

2) Anders een andere Raspberry Pi plaatsen als node met dezelfde ontvanger.

3) Er worden nog testers/pioniers gezocht om een antenne te maken. http://pilight.org/showthread.php?tid=4

Acties:
  • 0 Henk 'm!

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 10:13

Koffie

Koffiebierbrouwer

Braaimeneer

CurlyMo schreef op dinsdag 27 augustus 2013 @ 18:20:
Heb je als een geprobeerd om een antenne te bouwen naar de voorbeelden die ik gepost heb?
Bedoel je die van dat filmpje ?
te duur :P
2) Anders een andere Raspberry Pi plaatsen als node met dezelfde ontvanger.
Er komt nog een 2e RPi in de badkamer (al is dat slechts 1 meter boven de huidige RPi op bijna dezelfde plek), maar een 2e receiver maakt het er niet makkelijker op.
3) Er worden nog testers/pioniers gezocht om een antenne te maken. http://pilight.org/showthread.php?tid=4
Ik zal vanavond eens even met een stukje gestripte UTP adres proberen, iets anders wat op het breadboard past heb ik zo 1-2-3 niet.

Tijd voor een nieuwe sig..


Acties:
  • 0 Henk 'm!

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 10:13

Koffie

Koffiebierbrouwer

Braaimeneer

Mijn UTP waren geen harde kernen dus dat ging niet lukken.
Stuk coax gepakt, buitenmantel eraf gesloopt en zo in het breadboard geprikt. Tadaaaaa veel betere ontvangst :D

Afbeeldingslocatie: http://zooi.oostindie.com/images/7202013_08_27_19_tn.45_tn.25_tn.jpg Afbeeldingslocatie: http://zooi.oostindie.com/images/7662013_08_27_19_tn.45_tn.39_1_tn.jpg

Tijd voor een nieuwe sig..


Acties:
  • 0 Henk 'm!
Heb je de lengte van 17.3cm aangehouden? Tevens, wat is een betere ontvangst?

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 10:13

Koffie

Koffiebierbrouwer

Braaimeneer

Nee, gewoon op de gok geknipt.
Betere ontvangst = stabieler ontvangen van een zender die ik voorheen slechter ontving. Net nog wel gezien dat ik toch een KaKu message niet ontvangen had, dus er is nog ruimte voor verbetering. Moet eigenlijk ook niet die plastic mantel er zien te prutsen.

Tijd voor een nieuwe sig..


Acties:
  • 0 Henk 'm!
Is het mogelijk om betere ontvangst te vertalen naar meters of om dit te testen?

[ Voor 15% gewijzigd door CurlyMo op 27-08-2013 20:43 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 10:13

Koffie

Koffiebierbrouwer

Braaimeneer

Moeilijk :P
Ik had een slechte ontvangst tussen RPi (beneden in de mterkast) en een KaKu zender in een kinderslaaplamer een verdieping (2,5 meter) hoger en 4,5 meter verder,

Tijd voor een nieuwe sig..


Acties:
  • 0 Henk 'm!

  • Phoolie
  • Registratie: Juni 2002
  • Laatst online: 09:08
CurlyMo schreef op dinsdag 27 augustus 2013 @ 20:18:
Heb je de lengte van 17.3cm aangehouden? Tevens, wat is een betere ontvangst?
Waar haal jij die 17,3 cm vandaan dan? In die pdf zie ik wel dat het eerste stukje 1,7 cm moet zijn, maar daarna moet je nog 16 wikkelingen maken en dan nog een stukje er aan laten zitten van 5,3 cm. Dan kom je toch niet eens in de buurt van die 17,3 cm?

Acties:
  • 0 Henk 'm!
Phoolie schreef op woensdag 28 augustus 2013 @ 09:35:
[...]
Waar haal jij die 17,3 cm vandaan dan? In die pdf zie ik wel dat het eerste stukje 1,7 cm moet zijn, maar daarna moet je nog 16 wikkelingen maken en dan nog een stukje er aan laten zitten van 5,3 cm. Dan kom je toch niet eens in de buurt van die 17,3 cm?
http://pilight.org/showthread.php?tid=4&pid=276#pid276


Alle lekken zijn nu weg. Met dank aan @Cheetah voor de tip.


Naar aanleiding van een goed idee van @daenny op pilight.org een nieuw protocol toegevoegd. Het gaat om een generiek weerstation protocol. Dit maakt het mogelijk om klimaat data te veranderen via de zender. Stel nu je hebt een temperatuur sensor aan je RPi hangen via GPIO die je uitleest met python. Je python script kan nu dus die uitgelezen data versturen naar de daemon zodat deze het weer verwerkt in het config bestand. Zo kan je dezelfde pilight GUIs gebruiken om die klimaat data in te tonen.

Ik zal later overigens nog wel een generieke schakelaar en generieke dimmer toevoegen.

[ Voor 182% gewijzigd door CurlyMo op 28-08-2013 22:06 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

Verwijderd

CurlyMo schreef op woensdag 28 augustus 2013 @ 09:42:
Alle lekken zijn nu weg. Met dank aan @Cheetah voor de tip.
Ben gelijk even gaan testen, indien je VmHWM en VmRSS verhaal klopt en je aan die lekken refereert:

- Senden via LIRC lekt niks meer.
- Webgui refreshen lekt nog een beetje.
- Receiven via LIRC lekt nog een beetje (sartano).

Tenzij je natuurlijk de crashes bedoeld, want die heb ik met de laatste memory branch (vandaag) niet meer gehad. Daar wel mijn complimenten voor wat je in korte tijd hebt aangepakt. Alleen nog een error toen ik net cntrl C deed:
code:
1
2
[Aug 28 23:45:45] pilight-daemon: INFO: client disconnected, ip 127.0.0.1, port 47571
*** glibc detected *** pilight-daemon: double free or corruption (!prev): 0x00546178 ***


Morgenavond ga ik even verder kijken naar het arctech_old protocol en die andere die er op lijkt a.d.h.v. de forum reacties. Moet op zich wel te fixen zijn met de pilight-debug output die gepost is in de attachment.

[ Voor 12% gewijzigd door Verwijderd op 28-08-2013 23:46 ]


Acties:
  • 0 Henk 'm!
Zou je eens de daemon willen starten met de instructies op het pilight forum zodat ik een valgrind uitdraai krijg in lirc modus. Dan weet ik zeker of het lekken zijn of normaal geheugen gebruik.

Ik ben wel benieuwd waar die corruptie vandaan komt. Dat moet valgrind je ook kunnen vertellen.

Sinds de 2 dagen regel reageer ik hier niet meer


  • paul999
  • Registratie: November 2005
  • Laatst online: 10-09 19:07
Even een updateje over de PCBs (Ik was een weekje met vakantie/drukte op mijn werk), ik ga vanavond de PCBs eindelijk bestellen, met een levertijd van 2-3 weken. De componenten wacht ik nog even mee tot volgende week (Financieel zit ik op dit moment even vrij krap, en de levertijd daarvan is < 3 dagen als het goed is).
De versie van de PCB die ik ga bestellen is de versie zoals ik hem hier het laatst heb gepost, zodra ik deze variant goed getest heb kunnen we daarna gaan kijken wat er allemaal nog meer op willen en wat voor aanpassingen er eventueel nog nodig zijn voor een goede werking.

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 10:13

Koffie

Koffiebierbrouwer

Braaimeneer

Ik heb even alles weggemikt en een nieuwe git pull gedraait, maar krijg nu de foutmelding " pilight-daemon: ERROR: setting "gpio-receiver" cand use-lirc cannot be combined"

Dit staat toch juist in de config:


        "port": 5000,
        "mode": "server",
        "log-level": 4,
        "pid-file": "/var/run/pilight.pid",
        "config-file": "",
        "log-file": "/var/log/pilight.log",
        "process-file": "",
        "send-repeats": 10,
        "receive-repeats": 1,
        "gpio-sender": 0,
        "gpio-receiver": 0,
        "socket": "/dev/lirc0",
        "use-lirc": 1,
        "webserver-enable": 1,
        "webserver-root": "/usr/local/share/pilight/",
        "webserver-port": 5001
}

Tijd voor een nieuwe sig..


Verwijderd

@Koffie: Zie hier voor de oplossing, staat op het forum:

http://pilight.org/showthread.php?tid=86

Ik zal zodra ik tijd heb eens valgrind gaan draaien met;
code:
1
2
3
4
5
sudo chmod 777 /usr/local/sbin/pilight-daemon
sudo chmod 777 /etc/pilight/settings.json
sudo chmod 777 /etc/pilight/config.json
sudo chmod 777 /var/run/pilight.pid
sudo valgrind --tool=memcheck --leak-check=full --track-origins=yes pilight-daemon -D

[ Voor 28% gewijzigd door Verwijderd op 30-08-2013 15:47 ]

Je hoort gpio-sender en gpio-receiver in zijn geheel uit het configuratie bestand te halen. Wel goed dat ik nu weet dat er een spelfout zat in de waarschuwings zin.

[ Voor 25% gewijzigd door CurlyMo op 29-08-2013 11:47 ]

Sinds de 2 dagen regel reageer ik hier niet meer


  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 10:13

Koffie

Koffiebierbrouwer

Braaimeneer

Thanks, met die config werkt het :)
Ik kan nu zelfs de daemon en receiver en aan elkaar koppelen én daadwerkelijk ontvangen (lukte eerst niet).

Wel heb ik nog steeds last van een spontaan omvallende daemon:

[Aug 29 17:35:46] pilight-daemon: DEBUG: [Aug 29 17:35:46] pilight-daemon: INFO: client disconnected, ip 127.0.0.1, port 48262
[Aug 29 17:35:46] pilight-daemon: INFO: client disconnected, ip 48.157.242.182, port 57782
[Aug 29 17:35:46] pilight-daemon: INFO: client disconnected, ip 127.0.0.1, port 5000
[Aug 29 17:35:46] pilight-daemon: DEBUG: default freq of the lirc_rpi module set
[Aug 29 17:35:46] pilight-daemon: DEBUG: deinitialized lirc_rpi module
[Aug 29 17:35:46] pilight-daemon: DEBUG: removed stale pid_file /var/run/pilight.pid

Ik heb al settings.json aangepast om de internal webserver op een andere port te zetten. Ik heb ook geen flauw benul waar dat IP adres vandaan komt :? :X

Tijd voor een nieuwe sig..

Pagina: 1 ... 5 ... 19 Laatste

Dit topic is gesloten.

Let op:
Dit topic is in de eerste plaats bedoeld als ontwikkeltopic, en pas daarna als hulptopic.

Als je toch een vraag willen stellen over pilight kijk dan eerst:
1) Of je antwoord op de pilight wiki te vinden is.
2) Of je antwoord al te vinden is op het pilight forum.
3) Of je antwoord al te vinden is in dit topic.