Acties:
  • +1 Henk 'm!
Introductie
De Raspberry Pi (hierna RPi genoemd) wordt door velen hier gebruikt als mediacenter. Toch zijn er een aantal van ons die er ook andere leuke projecten mee doen zoals de Raspberry Pi Foundation hem ook bedoeld heeft. Voor al diegene die graag willen knutselen met de RPi of voor diegene graag hun projecten willen laten zien, is dit topic bedoeld.

De RPi heeft een aantal mogelijkheden (naast USB, HDMI, Ethernet e.d.) die je kunt gebruiken voor externe toepassingen.

GPIO
GPIO staat voor General Purpose Input Out. Zoals de naam al doet vermoeden gaat het hier over simpele pinnen die voor invoer en uitvoer te gebruiken zijn. De RPi heeft er hier 26 van (waarvan er een aantal nog geen functie hebben). Voor een beschrijving van de werking van deze pinnen zie: http://elinux.org/RPi_Low-level_peripherals

Dit topic zal gaan over verschillende projecten die mensen hier met de RPi hebben gerealiseerd.

Let op
De 3.3v pin is maximaal belastbaar met 50mA.

De 5v pin (komt direct van de USB connector) kan maximaal 1000mA leveren.
De RPi zelf neemt +/- 700mA (max) op, dus er blijft +/- 300mA over om ledjes, sensoren, LCD's, etc aan te sturen. Dit heeft o.a. te maken met Poly-fuse F3 onder de usb connector. Er zijn uiteraard manieren om deze zekering te verzwaren / bypassen.


Het programmeren van de GPIO pinnen kan via verschillende programmeertalen.
De meest gangbare zijn Python en C.

Installatie
Python
code:
1
2
3
wget http://raspberry-gpio-python.googlecode.com/files/python-rpi.gpio_0.3.1a-1_armhf.deb
sudo dpkg -i python-rpi.gpio_0.3.1a-1_armhf.deb
sudo apt-get install python-dev


C
code:
1
2
3
4
5
6
7
8
9
10
sudo apt-get install make
cd /tmp
wget http://project-downloads.drogon.net/files/wiringPi.tgz
tar xfz wiringPi.tgz
cd wiringPi/wiringPi
sudo make
sudo make install
cd ../gpio
sudo make
sudo make install


Voor een overzicht welke nummers in de verschillende programmeertalen voor welke GPIO pinnen gelden is hier een overzicht te vinden.

Het laten knipperen van een LED
- een standaard 5mm rode LED
- een BC547 transistor
- een 560Ohm weerstand voor de LED
- een 27K weerstand tussen de GPIO van de RPi en de base van de transistor

Afbeeldingslocatie: https://www.circuitlab.com/circuit/456ph8/screenshot/540x405/

Python
Python:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/python
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)

pin = 18

GPIO.setup(pin, GPIO.OUT)

print "Start loop"
while 1:
    print "LED uit"
    GPIO.output(pin, False)
    time.sleep(1)
    print "LED aan"
    GPIO.output(pin, True)
    time.sleep(1)


C
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <wiringPi.h>
#include <stdio.h>

int main() {
    int pin = 1;
    
    if(wiringPiSetup() == -1)
        return 0;
        
    pinMode(pin, OUTPUT);
    printf("Start loop\n");
    while(1) {
        printf("LED aan\n");
        digitalWrite(pin, 1);
        delay(25);
        printf("LED uit\n");
        digitalWrite(pin, 0);
        delay(25);
    }
}


Compileren:
code:
1
cc -o test test.c -L/usr/local/lib -lwiringPi


Verschillen tussen Python en C
De reden om in C te programmeren kan de snelheid zijn waarmee C in staat is om de pinnen uit te lezen en de betrouwbaarheid en snelheid van de delay functie. Op dit moment heb ik TSOP4838 aan mijn RPi hangen. Deze stuurt in grote snelheid afwisselend patronen van 1 en 0 naar de RPi. Om dit betrouwbaar uit te lezen moet je programmeertaal ook op grote snelheid deze code kunnen ontvangen. Python blijkt hier niet toereikend genoeg voor te zijn.

[ Voor 4% gewijzigd door CurlyMo op 14-09-2012 19:12 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • +1 Henk 'm!
I2C
De stappen om I2C draaiende te krijgen kunnen per distro verschillen. Dit hangt ervan af of de module al is mee gecompileerd.

code:
1
modprobe -a i2c-dev

Als je uitvoer is:
code:
1
WARNING: Module i2c-dev not found.

Dan is je I2C modle nog niet gecompileerd.

Ook kan het zo zijn dat de module op de blacklist staat.
code:
1
ls /etc/modprobe.d/

Mogelijke uitvoer kan zijn:
code:
1
2
3
4
-rw-r--r-- 1 root root  15 Jul 29 19:12 blacklist
-rw-r--r-- 1 root root  21 Aug 30 22:30 blacklist.conf
-rw-r--r-- 1 root root 456 Mar 30 18:20 fbdev-blacklist.conf
-rw-r--r-- 1 root root 456 Mar 30 18:20 raspi-blacklist.conf

Kijk in deze bestanden of je de volgende regel ziet staan. Zo ja, haal dan de # ervoor weg.
code:
1
#blacklist i2c-bcm2708

Om zeker te weten dat de modules tijdens het booten worden geladen voeg je deze regel toe onderaan /etc/modules:
code:
1
i2c-dev


Als deze stappen niet werken, dan is dus waarschijnlijk i2c niet mee gecompileerd. Volg deze guide om je eigen kernel te configureren. Zorg er in ieder geval voor dat de volgende configuratie opties aan staan:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_MUX=m

CONFIG_I2C_MUX_GPIO=m
CONFIG_I2C_MUX_PCA9541=m
CONFIG_I2C_MUX_PCA954x=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_ALGOBIT=m

CONFIG_I2C_BCM2708=y
CONFIG_I2C_GPIO=m

CONFIG_I2C_DIOLAN_U2C=m
CONFIG_I2C_TINY_USB=m

CONFIG_I2C_DEBUG_CORE=y
CONFIG_I2C_DEBUG_ALGO=y
CONFIG_I2C_DEBUG_BUS=y

Het kan zijn dat er wat overbodige opties bij staan.

Voeg vervolgens bij elke(!) make variatie het volgende toe:
code:
1
make CONFIG_I2C_DEV=m


Tip
Verwijder na het compileren van je kernel je source niet, dan kan je altijd naderhand je modules opnieuw installeren. Het kan namelijk zo zijn dat een update van je distro ook een nieuwe kernel installeert zonder je eigen modules.

Na de reboot kijk je of alles werkt door te kijken of je module is geladen:
code:
1
lsmod

Als dat niet zo is voer je uit:
code:
1
modprobe -a i2c-dev

Als je geen waarschuwingen krijgt, dan is alles gelukt. Dit kan je nogmaals checken door alles geladen modules op te vragen. Ook moeten er 2 nieuwe devices bij zijn gekomen:
code:
1
2
3
ls -l /dev/i2c-*
crw-rw---T 1 root i2c 89, 0 Sep  3 09:14 /dev/i2c-0
crw-rw---T 1 root i2c 89, 1 Sep  3 09:14 /dev/i2c-1


Mocht dit allemaal goed gegaan zijn, dan kan je verder met het installeren van de nodige package(s).

code:
1
sudo apt-get install i2c-tools


Om te checken of alles werkt:
code:
1
2
3
4
5
6
7
8
9
10
i2cdetect -y 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --


Als je I2C wilt gebruiken in Python, dan voeg je de volgende package toe:
code:
1
sudo apt-get install python-smbus

[ Voor 117% gewijzigd door CurlyMo op 03-09-2012 11:40 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!
Projecten
433.92Mhz zender/ontvanger: CurlyMo in "[GPIO] Raspberry Pi"
DS18B20 Digitale thermometer:
Maestro in "[GPIO] Raspberry Pi"
Pimmeh in "[GPIO] Raspberry Pi"
TSOP4838 IR ontvanger: CurlyMo in "[GPIO] Raspberry Pi"
Binaire klok: Anoniem: 417179 in "[GPIO] Raspberry Pi"
Slimme (Energie) Meter uitlezen:
JER00N in "[GPIO] Raspberry Pi"
oZy in "[GPIO] Raspberry Pi"
CurlyMo in "[GPIO] Raspberry Pi"
CurlyMo in "[GPIO] Raspberry Pi"
https://github.com/CurlyMoo/RaspberryPi-P1-port

Mocht je vergeetachtig zijn dan bieden deze Raspberry Leafs de ideale uitkomst. Print ze uit, prik je op je GPIO pinnen en je weet altijd welke pin welke functie heeft.

[ Voor 172% gewijzigd door CurlyMo op 12-08-2013 19:52 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Enkel nieuwsgierigheid, maar uit zijn TSOP module kan het toch niet met meer dan een paar kHz komen? Dat moet toch ook in python wel uit te lezen zijn, of is dat zo verschrikkelijk traag?

Acties:
  • 0 Henk 'm!

Anoniem: 304426

Ik had vroeger vanuit mn parallelpoort en een darlington array het voor elkaar gekregen een stappenmotor aan te sturen. De basis hiervan is bijzonder eenvoudig en de mogelijkheden zijn gigantisch (gordijnen openen/sluiten, een printer maken). Ik zal eens kijken of ik een schema kan vinden

Acties:
  • 0 Henk 'm!

  • Atlas
  • Registratie: Mei 2002
  • Niet online

Atlas

Ik flits niet meer terug!

Leuk idee! Leuk topic :)
Zo zou je zelfs een (softwarematige) rs232 poort eraan kunnen knopen.

Join the dark side, we have cookies :)
You need only two tools. WD-40 and duct tape. If it doesn't move and it should, use WD-40. If it moves and shouldn't, use the tape.


Acties:
  • 0 Henk 'm!

  • johnkeates
  • Registratie: Februari 2008
  • Laatst online: 09-02 16:04
Misschien dat het aan mijn gebrekkige C kennis ligt, maar het voorbeeld heeft nergens een punt waarop 'pin' een bepaalde pin wordt... Er vind geen 'assignment' plaats (als dat in C ook zo heet).

Ik zie wel "pint", en die is 1, maar geen 'pin' die 11 wordt (of een andere pin)...

Acties:
  • 0 Henk 'm!

  • Remenic
  • Registratie: Juni 2001
  • Laatst online: 16-04 20:40
Op electronica gebied voel ik me niet helemaal thuis, dus misschien dat iemand mij kan vertellen of ik onzin klets.

Ik heb een kapotte IP telefoon, waarvan ik graag de knoppen (numberpad, etc) zou willen uitlezen via een RPi. Sommige knoppen hebben leds, waarvan het leuk zou zijn als ik die kan aansturen. Het gaat overigens om een Grandstream GXP2010. Ik heb dat ding helemaal uit elkaar gehaald, en alle knoppen zitten op een losse PCB met twee flat-ribbon kabels.

Denken jullie dat het mogelijk is om met GPIO (of wellicht een andere method) de knoppen uit te lezen en leds aan te sturen?

Indien gewenst kan ik een foto van dat ding uploaden.

Acties:
  • 0 Henk 'm!
johnkeates schreef op vrijdag 31 augustus 2012 @ 13:58:
Misschien dat het aan mijn gebrekkige C kennis ligt, maar het voorbeeld heeft nergens een punt waarop 'pin' een bepaalde pin wordt... Er vind geen 'assignment' plaats (als dat in C ook zo heet).

Ik zie wel "pint", en die is 1, maar geen 'pin' die 11 wordt (of een andere pin)...
Inderdaad, dat was een typo, thnx. De pin nummers zijn trouwens in Python en C verschillend.
Remenic schreef op vrijdag 31 augustus 2012 @ 14:01:
Op electronica gebied voel ik me niet helemaal thuis, dus misschien dat iemand mij kan vertellen of ik onzin klets.

Ik heb een kapotte IP telefoon, waarvan ik graag de knoppen (numberpad, etc) zou willen uitlezen via een RPi. Sommige knoppen hebben leds, waarvan het leuk zou zijn als ik die kan aansturen. Het gaat overigens om een Grandstream GXP2010. Ik heb dat ding helemaal uit elkaar gehaald, en alle knoppen zitten op een losse PCB met twee flat-ribbon kabels.

Denken jullie dat het mogelijk is om met GPIO (of wellicht een andere method) de knoppen uit te lezen en leds aan te sturen?

Indien gewenst kan ik een foto van dat ding uploaden.
Heb je via internet al een datasheet kunnen vinden van het apparaat?
furby-killer schreef op vrijdag 31 augustus 2012 @ 13:52:
Enkel nieuwsgierigheid, maar uit zijn TSOP module kan het toch niet met meer dan een paar kHz komen? Dat moet toch ook in python wel uit te lezen zijn, of is dat zo verschrikkelijk traag?
De code die ik gebruikte voor het uitlezen van de TSOP was:
C:
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
#include <wiringPi.h>
#include <stdio.h>

int main() {
        int pin = 1;
        int read = 0;
        int one = 0;
        int zero = 0;
        int a=0;

        if(wiringPiSetup() == -1)
                return 0;
        pinMode(pin, INPUT);


        while(1) {
                usleep(1);
                if(digitalRead(pin) == 1) {
                        one++;
                        if(read == 1 && zero > 0) {
                                printf("0;%d;", zero);
                        }
                        a++;
                        zero=0;
                }
                if(digitalRead(pin) == 0) {
                        zero++;
                        if(read == 1 && one > 0) {
                                printf("1;%d;",one);
                        }
                        a++;
                        one=0;
                        read=1;
                }
                if(one >= 100) {
                        if(read == 1 && a > 10) {
                                printf("\n");
                        }
                        read=0;
                        one=0;
                        zero=0;
                        a=0;
                }
        }
}


De uitvoer ziet er dan van 3 verschillende toetsen zo uit:

code:
1
2
3
0;4;1;20;0;4;1;25;0;4;1;26;0;4;1;10;0;4;1;10;0;3;1;10;0;4;1;25;0;4;1;10;0;4;1;25;0;4;1;10;0;3;1;26;0;4;1;10;0;4;1;10;0;4;1;26;0;4;1;10;0;4;1;10;0;4;
0;5;1;24;0;4;1;26;0;3;1;25;0;4;1;10;0;4;1;10;0;4;1;10;0;4;1;25;0;4;1;10;0;3;1;11;0;3;1;11;0;4;1;26;0;3;1;10;0;5;1;10;0;3;1;25;0;4;1;10;0;3;1;11;0;5;
0;4;1;19;0;4;1;25;0;4;1;25;0;4;1;10;0;4;1;10;0;4;1;10;0;4;1;25;0;4;1;10;0;4;1;25;0;4;1;26;0;4;1;10;0;4;1;25;0;4;1;10;0;4;1;10;0;4;1;10;0;4;1;11;0;4;


Het kan zijn dat ik iets verkeerd heb gedaan, maar ik kreeg met geen mogelijkheid voor elkaar om mooie pulsen te vangen met python.

[ Voor 92% gewijzigd door CurlyMo op 31-08-2012 14:30 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Gwannoes
  • Registratie: Juni 2002
  • Laatst online: 03-04 14:47

Gwannoes

Solderen moet je leren

Ah, een topic over GPIO op de RPi! Fijn!

Ik ben begonnen aan het maken van een energielogger met de RPi. Een sensor op de draaischijf-meter, die een puls geeft aan de Pi elke keer dat het zwarte vlakje langskomt. Die sensor wil ik rechtstreeks (evt. via een comparator) op een GPIO hangen. Geen hoge snelheden dus.
Ik wil dat telkens als er een puls komt, de Pi een teller ophoogt. Hieruit volgt een "meterstand", welke ik samen met de datum/tijd wil opslaan in een (MySQL) database. Deze database kan dan later door een desktop-client benaderd worden om grafiekjes etc. te tekenen.

Ik twijfel nogal over welke taal ik zal gebruiken om dit te doen. Ik geloof dat PHP erg geschikt is om met een database te communiceren, maar Python weer meer voor GPIO. C is ook een optie, maar ik geloof dat ik liever een script-taal gebruik. Alhoewel ik C al wel meer bekend mee ben; da's een groot voordeel.

Het lijkt mij ook het mooiste als de GPIO pin een interrupt kan genereren op de Pi, en dan dus een eventhandler hieraan knopen oid? Heeft iemand hier verstand van?

Hmmz, hier komt dus m'n sig


Acties:
  • +1 Henk 'm!

  • basst85
  • Registratie: Juni 2009
  • Laatst online: 25-11-2024
Dit vind ik zelf wel een handig overzicht:
Afbeeldingslocatie: http://www.basst.nl/wp-content/uploads/2012/08/RPi_GPIO.jpg

Acties:
  • 0 Henk 'm!
Gwannoes schreef op vrijdag 31 augustus 2012 @ 14:36:
Het lijkt mij ook het mooiste als de GPIO pin een interrupt kan genereren op de Pi, en dan dus een eventhandler hieraan knopen oid? Heeft iemand hier verstand van?
Heb je hier wat aan:
https://www.ridgerun.com/...index.php/Gpio-int-test.c

Laat ook even weten als het je gelukt is.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Gwannoes
  • Registratie: Juni 2002
  • Laatst online: 03-04 14:47

Gwannoes

Solderen moet je leren

CurlyMo schreef op vrijdag 31 augustus 2012 @ 15:33:
[...]

Heb je hier wat aan:
https://www.ridgerun.com/...index.php/Gpio-int-test.c

Laat ook even weten als het je gelukt is.
hmm... misschien heb ik daar wel wat aan ja. Ik ga er eens rustig naar kijken.
Ja, ik wil laten weten als het is gelukt. Ik heb alleen niet ontzettend veel tijd, dus het kan ff duren voordat ik het geprobeerd heb.

Ondertussen houd ik dit topic wel in de gaten! :)

Hmmz, hier komt dus m'n sig


Acties:
  • 0 Henk 'm!

Anoniem: 417179

Zeer interressant. Ik wou proberen om eventueel mijn gpio als vga out te gebruiken.
Afbeeldingslocatie: http://shoppingshopping.com.au/Prod_Images/XFX_63-15P12500DTI_l.jpg

Niet een heel moeilijk systeem dat je het scherm kopieert maar het leek me een cool project om gewoon lijntjes en stipjes te weergeven.

Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 23:59
Ik wil graag de raspberry pi aansluiten op m'n alarminstallatie om dit mee te nemen in een domoticasysteem die op de Pi draait.
Het alarm heeft een seriele connector, welke ik kan uitlezen via putty in windows.

Nu heb ik op ebay een connector gekocht die, zo dacht ik, een seriele poort kon voorzien op de Pi.
Ik heb dit gekocht: dus een TTL converter met max 3232 die op de pinnen TX en RX en GND en 5V van de Pi aangesloten wordt.

Als ik deze aansluit op de Pi, komt er geen ttyS0 of gelijkaardig bij... :( of komt deze er enkel bij als er een device aangesloten wordt?

Heeft er iemand een werkende seriele poort op de Pi die je kan uitlezen met screen of gelijkaardige?

Acties:
  • 0 Henk 'm!

  • franssie
  • Registratie: Februari 2000
  • Laatst online: 23:05

franssie

Save the albatross

@promy kan je dan niet beter een USB/Serial converter gebruiken? Denk idd niet dat je via GPIO een /tts* gaat zien - die zal je moeten definiëren denk ik, of direct aansturen. In assmebly kon ik dat vroeger wel, nu zal je afhankelijk van de taal die je gebruikt moeten uitzoeken welke procedures er zijn om de poort uit te lezen.

edit: kan zijn dat ik het helemaal fout heb, sinds de Z80 en een paar uur op een arduino na heb ik 25 jaar niets vergelijkbaars gedaan ... de rasperry Pi is voor mij een hernieuwde start in programmeren met elektronica dus ik ben nogal roestig.

[ Voor 80% gewijzigd door franssie op 01-09-2012 17:42 ]

franssie.bsky.social | 🎸 Niets is zo permanent als een tijdelijke oplossing | Een goed probleem komt nooit alleen | Gibson guitar Fender Guitar God Damn Guitar


Acties:
  • 0 Henk 'm!
Ik heb het opgelost, het blijkt toch gewoon om binaire code te gaan. Binnenkort de code :)

[ Voor 90% gewijzigd door CurlyMo op 01-09-2012 20:19 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 21:16

SA007

Moderator Tweaking
Anoniem: 417179 schreef op zaterdag 01 september 2012 @ 13:46:
Zeer interressant. Ik wou proberen om eventueel mijn gpio als vga out te gebruiken.
[afbeelding]

Niet een heel moeilijk systeem dat je het scherm kopieert maar het leek me een cool project om gewoon lijntjes en stipjes te weergeven.
Hoef je niet te proberen, dat gaat echt niet lukken en wel om deze redenen:

- Laagste wat je kan gaan is zo'n beetje 640x480 op 60Hz, dat is alleen al een hsync van 38.4kHz, en die moet vrij exact kloppen.
Je pixelclock is meer dan 24MHz, dat gaat je echt niet lukken op een GPIO vanuit linux.

- Het VGA signaal is op de RGB lijnen 0-0.7V, je GPIO is 3.3V, dus er moet al een vorm van level converter tussen, en dan nog kan je nooit meer dan de primaire kleuren.

- Linux gooit roet in het eten doordat je een scheduler hebt welke om de zoveel tijd je proces wat laat doen, die tijd kan zo een paar milliseconden zijn, daar merk je niets van als je aan het browsen bent, maar je scherm zal niet werken.

Met moeilijke aan VGA uitsturen is niet het beeld wat je eruit gooit (full color plaatjes zijn maar marginaal moeilijker dan lijntjes) maar om de timing precies goed te krijgen.

Veel protocollen zoals SPI en I2C zijn zo gemaakt dat je van die timing geen last hebt of zijn zo traag dat het niet uitmaakt, maar voor VGA heb je vrij serieuze extra hardware nodig (in principe een videokaart).

Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Een microcontroller kan ook tot op zekere hoogte wel VGA output genereren, maar die is dan wel nagenoeg 100% dedicated voor die taak, en zonder nog een OS laag ertussen die gewoon killing is.
Als ik deze aansluit op de Pi, komt er geen ttyS0 of gelijkaardig bij... of komt deze er enkel bij als er een device aangesloten wordt?
Dat is gewoon een algemene level converter voor RS232, hij zal niks automatisch doen. Ben zelf helemaal niet bezig met RPB, maar ik verwacht eigenlijk wel dat iemand een driver voor serieel via GPIO heeft geschreven.

[ Voor 49% gewijzigd door Sissors op 01-09-2012 19:44 ]


Acties:
  • 0 Henk 'm!

  • DutchKel
  • Registratie: Mei 2002
  • Laatst online: 26-04 13:39
Promy schreef op zaterdag 01 september 2012 @ 17:29:
Ik wil graag de raspberry pi aansluiten op m'n alarminstallatie om dit mee te nemen in een domoticasysteem die op de Pi draait.
Het alarm heeft een seriele connector, welke ik kan uitlezen via putty in windows.

Nu heb ik op ebay een connector gekocht die, zo dacht ik, een seriele poort kon voorzien op de Pi.
Ik heb dit gekocht: dus een TTL converter met max 3232 die op de pinnen TX en RX en GND en 5V van de Pi aangesloten wordt.

Als ik deze aansluit op de Pi, komt er geen ttyS0 of gelijkaardig bij... :( of komt deze er enkel bij als er een device aangesloten wordt?

Heeft er iemand een werkende seriele poort op de Pi die je kan uitlezen met screen of gelijkaardige?
Je dient een kernel te hebben waarbij de seriele poort is meegecompileerd als driver of als package.

Don't drive faster than your guardian angel can fly.


Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 23:59
Na wat verder doorzoeken op het internet heb ik een oplossing gevonden: hier

blijkbaar noemt de seriele poort van de uart ttyAMA0
Bij de standaard installatie is ze echter "bezet" omdat je met deze connectie kunt serieel inloggen en de bootmessages kunt opvragen.

Door paar aanpassingen in scripts/startup maak je ze vrij zoals beschreven in de bovenstaande link.
Met die ttl converter die ik via ebay heb gekocht krijg ik een mooie connectie.

Nu nog verder uitzoeken hoe het crestron protocol van het alarm werkt :)

- update -

met deze manier kan ik de signalen uitlezen die op de seriele poort aankomen.
Ik kan echter geen versturen?
hetzelfde fenomeen doet zich voor als ik het aansluit op een windows pc met putty.
Toevallig iemand een idee? Ik heb putty , screen en minicom geprobeerd....

[ Voor 18% gewijzigd door Promy op 01-09-2012 22:12 ]


Acties:
  • 0 Henk 'm!
Het is me vandaag gelukt om via een Arduino 433,92 zender/ontvanger module mijn KaKu te bedienen:
http://www.ebay.com/itm/4...geName=ADME:X:RTQ:US:1123

Aansluiting
Zender
- VCC - 5v
- GND - 0v
- Data - pin 11 (GPIO 0)
Ontvanger
- VCC - 5v
- GND - 0v
- Data - pin 13 (GPIO 2)

Ik heb het geheel nu op github gezet: https://github.com/CurlyMoo/433.92-Raspberry-Pi/

Het kan zijn dat de speed waarde wat kleine aanpassingen nodig hebben. Dit kan je met een command line argument aan passen, bijv.:
code:
1
./send -s 110


Voorbeeld van de uitvoer
Zender:
code:
1
2
root@XBian:/# ./send -u 2 -i 5763406 -f
Lamp Uit


Ontvanger:
De ontvanger heeft een nieuwe versie gekregen:
CurlyMo in "[GPIO] Raspberry Pi"

[ Voor 61% gewijzigd door CurlyMo op 24-07-2013 11:23 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • FlowinG
  • Registratie: Maart 2003
  • Laatst online: 24-04 22:30
Volgens mij kan ik me uit andere (arduino) topics herinneren dat je een stukje koperdraad van 17 cm moet oprollen (bijvoorbeeld om een pen heen). Dit zou een optimale antenne lengte zijn voor 433 mhz.

Acties:
  • 0 Henk 'm!
Er zit al een soort 'antenne' aan vast zoals jij het beschrijft maar dan geen koper. Zou het daar aan kunnen liggen?

Edit:
Ik heb hem eens verticaal uitgetrokken en ingekort tot 17cm. Het bereik wordt daarmee +/- 2 meter beter van maar lang niet wat ik ervan verwacht.

[ Voor 40% gewijzigd door CurlyMo op 02-09-2012 02:20 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Patrick89
  • Registratie: Juni 2009
  • Laatst online: 21:52

Patrick89

PSN : Gamesource

Is overigens iemand bekend met dit probleem (gebeurt tijdens het uitvoeren van de GPIO script in geany):
When issuing this line "import RPi.GPIO" gives me..
-- SetupException: No access to dev/mem. Try running as root!
Ik heb de volgende commando's uitgevoerd vanuit een schone installtie :
apt-get update
apt-get install python geany xterm
wget https://raspberry-gpio-py...i.gpio_0.3.1a-1_armhf.deb
sudo dpkg -i python-rpi.gpio_0.3.1a-1_armhf.deb
sudo apt-get install python-dev

[ Voor 6% gewijzigd door Patrick89 op 02-09-2012 20:29 ]

Denkt u aub aan het milieu voor u deze reactie afdrukt ;(..


Acties:
  • 0 Henk 'm!

  • Patrick89
  • Registratie: Juni 2009
  • Laatst online: 21:52

Patrick89

PSN : Gamesource

Is dit de oplossing:

http://www.raspberrypi.or....php?t=14348&p=148350
Niet in mijn geval.. het sluit gewoon het programma af.. Kan verder ook in google niks vinden.. Anders maar eens proberen in C


Fout gevonden..
Oplssing : root terminal :
sudo geany filename.py

[ Voor 16% gewijzigd door Patrick89 op 02-09-2012 21:12 ]

Denkt u aub aan het milieu voor u deze reactie afdrukt ;(..


Acties:
  • 0 Henk 'm!
Met de oplossing die je aandraagt is het me niet helemaal duidelijk wat nu precies het probleem was.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Mr_gadget
  • Registratie: Juni 2004
  • Laatst online: 21:49

Mr_gadget

C8H10N4O2 powered

Wat is geany eigenlijk? Een python interpreter voor de pi ofzo?

Acties:
  • 0 Henk 'm!

  • Maestro
  • Registratie: Februari 2001
  • Laatst online: 15:45

Maestro

It's just completely whack!

CurlyMo schreef op zaterdag 01 september 2012 @ 23:36:
Het is me vandaag gelukt om via een Arduino 433,92 zender/ontvanger module mijn KaKu te bedienen:
http://www.ebay.com/itm/w...ageName=ADME:L:OC:NL:3160
....
Interessant! Ik ben iets soortgelijks van plan met 2,4GHz transceivers (nRF24L01+), maar da's voor mijn doen nogal een steile leercurve (mede omdat 1 v.d. transceivers via een PIC MCU moet gaan werken, en die heb ik ook nog niet aan de gang). Misschien wissel ik wel naar de 433Mhz transceivers, nu ik hiervan een voorbeeld heb.

Afgelopen weekend heb ik wel een aantal DS18B20 temperatuursensors werkend gekregen. Dat was een piece of cake. Indien er belangstelling voor is, kan ik de stappen hier wel even noemen. Dit zijn i.i.g. de resultaten:

Afbeeldingslocatie: http://xcellerate.nl/got/thermo.png

@Atlas: You are so right. Ik heb de DS18B20 in gebruik, niet de oude DS1820

[ Voor 4% gewijzigd door Maestro op 03-09-2012 13:11 ]

Wire telegraph is a kind of a very, very long cat. You pull his tail in NYC and his head is meowing in LA. Do you understand this? And radio operates the same way: you send signals here, they receive them there. The only difference is there's no cat


Acties:
  • 0 Henk 'm!

  • Atlas
  • Registratie: Mei 2002
  • Niet online

Atlas

Ik flits niet meer terug!

Hmmm de DS1820 heeft toch maar een resolutie van 0.5 graden?

Join the dark side, we have cookies :)
You need only two tools. WD-40 and duct tape. If it doesn't move and it should, use WD-40. If it moves and shouldn't, use the tape.


Acties:
  • 0 Henk 'm!
Maestro schreef op maandag 03 september 2012 @ 13:05:
Indien er belangstelling voor is, kan ik de stappen hier wel even noemen.
Ja, graag!
Je kunt je scripts (als je die wilt delen) dan net als ik op pastebin plaatsen.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Maestro
  • Registratie: Februari 2001
  • Laatst online: 15:45

Maestro

It's just completely whack!

DS18B20 op Raspberry GPIO:

Hardware:
Afbeeldingslocatie: https://www.xcellerate.nl/got/ds1820-scheme.png
Vergeet de weerstand van ~2.2K niet. Zonder deze verloopt uitlezing erg onbetrouwbaar.

Software:
Belangrijk! De kernel dient ondersteuning voor 1-wire te hebben. De meest recente kernels onder Raspbian hebben deze ondersteuning. Eenvoudig te testen door de 1-wire module te laden:
code:
1
root@raspberrypi:~# modprobe w1-gpio

Indien er geen foutmelding volgt, is 1-wire ondersteund. Als er een 'FATAL: Module w1-gpio not found' volgt, dient de kernel gepatched of ge-update te worden. Ik heb dit zelf opgelost door gebruik te maken van rpi-update. Let wel op met deze tool! Het resulteerde bij mij de eerste keer in een RPi die niet meer wilde booten. Na een frisse image ging alles wel oke.

Indien de w1-gpio module is geladen, kun je vervolgens de w1-therm module ook laden:
code:
1
root@raspberrypi:~# modprobe w1-therm

Vanaf nu zou de RPi de sensor(s) moeten detecteren:
code:
1
2
3
4
5
6
7
8
9
10
11
12
root@raspberrypi:~# cd /sys/bus/w1/devices/

root@raspberrypi:/sys/bus/w1/devices# ls
10-000801649074  28-000003c98833  28-000003c9892c  w1_bus_master1

root@raspberrypi:/sys/bus/w1/devices# cat 10-000801649074/w1_slave
31 00 4b 46 ff ff 01 10 27 : crc=27 YES
31 00 4b 46 ff ff 01 10 27 t=24687

root@raspberrypi:/sys/bus/w1/devices# cat 28-000003c9892c/w1_slave
56 01 4b 46 7f ff 0a 10 d1 : crc=d1 YES
56 01 4b 46 7f ff 0a 10 d1 t=21375


Elke sensor heeft een eigen ID (Ik heb 3 stuks DS18B20 aangesloten). Deze ID verschijnt in /sys/bus/w1/devices/ als directory. Door de file 'w1_slave' in de desbetreffende directory uit te lezen, is de temperatuur aan het eind van de tweede regel te vinden. Let er tevens op dat de CRC op regel 1 'YES' geeft. Anders is de uitlezing ongeldig.

Meerdere DS18B20's zijn zeer eenvoudig parallel aan te sluiten.
Je kan in elke willekeurige programmeer- of scripttaal het w1_slave bestand eenvoudig uitlezen, dus ik laat m'n houtje-touwtje PHP testcode maar even weg voor nu :+

Wire telegraph is a kind of a very, very long cat. You pull his tail in NYC and his head is meowing in LA. Do you understand this? And radio operates the same way: you send signals here, they receive them there. The only difference is there's no cat


Acties:
  • 0 Henk 'm!
Mijn eerste project was het aansturen van mijn afstandsbedieningen met een TSOP4838.

Aansluiting:
VCC: 3.3v
GND: 0v
OUT: pin 12 (GPIO 1)

Deze module zit tegenwoordig standaard in de kernel, dus hercompileren is niet meer nodig.

Hercompileer vervolgens de kernel zoals hier beschreven met een custom module. Voordat je aan 'make' begint:
[code]
cd /opt/raspberry/linux/
wget http://aron.ws/projects/lirc_rpi/kernel.lirc_rpi-0.2.patch
patch -p1 < kernel.lirc_rpi-0.2.patch
[/code]
Als dit een fout oplevert, dan gebruik je een nieuwere kernel versie. Hierin is de locatie van lirc veranderd. Maak dus eerst even een symlink van de nieuwe naar de code locatie.
[code]
ln -s /opt/raspberrypi/linux/drivers/staging/media/lirc /opt/raspberrypi/linux/drivers/staging/lirc
[/code]

Zorg dat de volgende opties in het .config bestand zijn toegevoegd/aangepast:
[code]
CONFIG_RC_CORE=m
CONFIG_LIRC=m
CONFIG_RC_MAP=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IR_RC5_DECODER=m
CONFIG_IR_RC6_DECODER=m
CONFIG_IR_JVC_DECODER=m
CONFIG_IR_SONY_DECODER=m
CONFIG_IR_RC5_SZ_DECODER=m
CONFIG_IR_MCE_KBD_DECODER=m
CONFIG_IR_LIRC_CODEC=m
[/code]

Vul vervolgens alle 'make' varianten aan met:
[code]
nice make CONFIG_LIRC_STAGING=y CONFIG_LIRC_RPI=m
[/code]

Hercompileer vervolgens LIRC met de nieuwe IR driver:
[code]
sudo apt-get install autoconf automake libtool
cd /usr/src
git clone git://lirc.git.sourceforge.net/gitroot/lirc/lirc
cd lirc
wget http://aron.ws/projects/lirc_rpi/lirc_rpi-0.2.2.patch
patch -p1 < lirc_rpi-0.2.2.patch
./autogen.sh
./configure --with-driver=rpi
make
make install
[/code]


Je zou eventueel ook een kernel + lirc versie van XBian kunnen gebruiken:
http://apt.xbian.org/pool/main/x/

Gewoon even de juiste *. deb downloaden en installeren met:
code:
1
dpkg -i *.deb


Start opnieuw op en laad de modules (verander het pin nummer naar behoren):
code:
1
modprobe lirc_rpi


Sla deze stap over als je XBian gebruikt
Als de module goed laadt, vervang de inhoud van /etc/lirc/hardware.conf met deze inhoud:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS="--u"

#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD=false

#Don't start irexec, even if a good config file seems to exist.
#START_IREXEC=true

#Try to load appropriate kernel modules
LOAD_MODULES=true

# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="default"
# usually /dev/lirc0 is the correct setting for systems using udev
DEVICE="/dev/lirc0"
MODULES="lirc_rpi"

# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""


Vervolgens vervang je in /etc/init.d/lirc elke "/usr/sbin" door "/usr/local/sbin":
[code]
sed -i 's/\/usr\/sbin\//\/usr\/local\/sbin\//g' /etc/init.d/lirc
[/code]

Als je dat gedaan hebt, start je nieuwe lirc op:
code:
1
2
3
root@pi:~# /etc/init.d/lirc start
[ ok ] Loading LIRC modules:.
[ ok ] Starting remote control daemon(s) : LIRC :.

Als je uitvoer overeenkomt met de mijne, dan is je module als het goed is goed geladen. Dit kan je checken door het volgende commando te doen:
code:
1
2
3
ls -l /dev/lirc*
crw-rw---T 1 root video 251, 0 Jan  1  1970 /dev/lirc0
lrwxrwxrwx 1 root root      21 Jan  1  1970 /dev/lircd -> ../var/run/lirc/lircd

Klopt de uitvoer, dan draait als het goed is alles.

Vervolgens kun je nu via 'irrecord' een configuratie bestand maken voor al je afstandsbedieningen die je wilt gebruiken in LIRC. Hiervoor mag LIRC niet draaien.

Het starten en stoppen van LIRC doe je via:
code:
1
2
/etc/init.d/lirc start
/etc/init.d/lirc stop


Het aanmaken van een nieuwe lircd.conf:
code:
1
irrecord -n --device=/dev/lirc0 /tmp/lircd.conf


Sla deze stap over als je XBian gebruikt
Volg de instructies, en als alles goed is gegaan heb je nu je afstandsbediening gemapped. Verplaats dan de /tmp/lircd.conf naar /etc/lirc/lircd.conf

code:
1
2
3
mv /etc/lirc/lircd.conf /etc/lirc/lircd.conf.bak
mv /tmp/lircd.conf /etc/lirc/lircd.conf
/etc/init.d/lirc start


Als je meer AB's wilt toevoegen, maak je opnieuw een map bestandje aan met 'irrecord' zoals eerder beschreven. Je vervangt dat alleen het lircd.conf bestandje in /etc/lirc/ niet, maar je voegt je nieuwe inhoudt er aan toe.

Voor XBian gebruikers
code:
1
2
3
cat /tmp/lircd.conf > /etc/lirc/remotes/custom.conf
echo 'include "/etc/lirc/remotes/custom.conf"' >> /etc/lirc/lircd.conf
/etc/init.d/lirc restart

[ Voor 68% gewijzigd door CurlyMo op 06-01-2013 14:45 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • JER00N
  • Registratie: Maart 2002
  • Niet online
Atlas schreef op maandag 03 september 2012 @ 13:09:
Hmmm de DS1820 heeft toch maar een resolutie van 0.5 graden?
Nee, dat is de maximale afwijking. De hoogste resolutie die je kan halen (12 bits) is 0,0625 graden Celsius.

Acties:
  • 0 Henk 'm!

  • Maestro
  • Registratie: Februari 2001
  • Laatst online: 15:45

Maestro

It's just completely whack!

JER00N schreef op maandag 03 september 2012 @ 15:24:
[...]
Nee, dat is de maximale afwijking. De hoogste resolutie die je kan halen (12 bits) is 0,0625 graden Celsius.
Dat geldt voor de DS18B20 inderdaad. Er zijn echter drie versies:

DS1820: Oorspronkelijke versie, uitgefaseerd, 9 bits resolutie.
DS18S20: Drop-in replacement voor DS1820, standaard 9 bits resolutie.
DS18B20: 12 bits resolutie.

Ik noemde in mijn bericht eerst de DS1820 (inmiddels aangepast)

Wire telegraph is a kind of a very, very long cat. You pull his tail in NYC and his head is meowing in LA. Do you understand this? And radio operates the same way: you send signals here, they receive them there. The only difference is there's no cat


Acties:
  • 0 Henk 'm!
Aangezien mijn 433.92Mhz ontvanger niet naar behoren werkt (te laag bereik), zit ik te kijken naar alternatieven.

Een van deze alternatieven is deze:
http://www.ebay.nl/itm/43...ain_0&hash=item3a78a01065

Een van de onderdelen uit de datasheet stelt:
- Integrated IF and data filters

Begrijp ik het goed dat deze dus vanuit zichzelf de ruis filtert die ik wel ervoer met mijn huidige ontvanger? Dat zou namelijk al weer een hoop schelen in de betrouwbaarheid van de data.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Elke ontvanger filtert ruis (iig daar kan je vanuit gaan), maar je kan niet alle ruis wegfilteren. IC dat erop zit is een RX3400, en het lijkt niet erop dat daar enige vorm van dataprocessing op zit. Als ik hun schema zo bekijk is hun 'datafilter' niet veel meer dan een laagdoorlaatfilter.

Moet dat echt via die frequentie? Ik weet niet helemaal zeker of je nu direct de kaku wireless aanstuurt, of dat je enkel wireless tot een arduino gaat die de rest doet (geen enkele ervaring zelf met kaku). Als dat het geval is ben je waarschijnlijk veel makkelijker af met een 2.4GHz set. XBee is dan helemaal makkelijk, knup je gewoon aan seriele poort (UART) van beide devices en het hoort direct te werken. En anders heb je nog hele hoop andere opties die het ook wel doen, maar wel meer werk zijn (zoals CC2500).

Acties:
  • 0 Henk 'm!
De zender is direct op de RPi aangesloten en ik kan hiermee dus ook direct mijn KaKu's bedienen. Een arduino heb ik niet. Allemaal perfect dus, alleen geeft de ontvanger problemen en mijn elektronica kennis is te gering om uit te sluiten dat het hier om een DOA gaat. Daarom dacht ik een ander setje te proberen of ik koop voor 3 euro nogmaals deze set.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • _koen
  • Registratie: Januari 2012
  • Laatst online: 21-04 09:53
Ik wil de RPi gaan gebruiken voor het tellen van mijn gasmeter. Nu ben ik wat gaan opzoeken en merk ik dat ik de pulsen kan tellen via een hall sensor. Het programmeren zou geen probleem mogen vormen, maar ik heb momenteel weinig kaas gegeten van elektronica.

Kan iemand me wegwijs maken in hoe ik een hall sensor veilig kan gaan connecteren op de GPIO ?

Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Ah ik dacht dat je een arduino erbij had aangezien je zei een arduino zender/ontvanger te hebben. Maar je had gewoon een willekeurige en ze gooien op ebay bij alles dat iets met elektronica te maken heeft 'arduino' erbij in de titel, vast goed voor hun sales.

Acties:
  • 0 Henk 'm!

  • Mr_gadget
  • Registratie: Juni 2004
  • Laatst online: 21:49

Mr_gadget

C8H10N4O2 powered

_koen schreef op dinsdag 04 september 2012 @ 07:51:
Ik wil de RPi gaan gebruiken voor het tellen van mijn gasmeter. Nu ben ik wat gaan opzoeken en merk ik dat ik de pulsen kan tellen via een hall sensor. Het programmeren zou geen probleem mogen vormen, maar ik heb momenteel weinig kaas gegeten van elektronica.

Kan iemand me wegwijs maken in hoe ik een hall sensor veilig kan gaan connecteren op de GPIO ?
Voor een hallsensor heb je ook een magneet nodig, zit die op je gasmeter?

Acties:
  • 0 Henk 'm!
furby-killer schreef op dinsdag 04 september 2012 @ 08:18:
[...]

Ah ik dacht dat je een arduino erbij had aangezien je zei een arduino zender/ontvanger te hebben. Maar je had gewoon een willekeurige en ze gooien op ebay bij alles dat iets met elektronica te maken heeft 'arduino' erbij in de titel, vast goed voor hun sales.
Dat maakt het ook allemaal niet uit, omdat het vooral zegt dat het gewoon recht toe recht aan modules zijn die voor elke beginneling te gebruiken zijn. Vooral omdat er voor veel modules al arduino libraries zijn. Voor 3 euro mag ik dan eigenlijk ook niet klagen, want de zender werkt perfect. Maar ik zou graag advies willen over hoe ik het probleem van de ontvanger kan oplossen. Dus of dezelfde opnieuw bestellen omdat het een DOA kan zijn, of een ander type module (zoals de eerdere suggestie), of zelf een 433.92Mhz ontvanger bouwen a.d.v een bestaand schema.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • _koen
  • Registratie: Januari 2012
  • Laatst online: 21-04 09:53
Mr_gadget schreef op dinsdag 04 september 2012 @ 10:09:
[...]

Voor een hallsensor heb je ook een magneet nodig, zit die op je gasmeter?
Inderdaad, die zit er op. Mijn meter is iets als deze :

Afbeeldingslocatie: http://lika.be/wp/wp-content/uploads/2010/03/tellers2-512x402.jpg

Maar ik vraag me af wat ik allemaal nodig heb om dit op een raspberry aan te sluiten ?

Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 23:59
_koen schreef op dinsdag 04 september 2012 @ 21:20:
[...]


Inderdaad, die zit er op. Mijn meter is iets als deze :
<knip>

Maar ik vraag me af wat ik allemaal nodig heb om dit op een raspberry aan te sluiten ?
Gasteller kun je best uitlezen met een diode en optische sensor (bv cny70) en deze positioneren op het (normaal aanwezige) spiegeltje dat op de 6 zit van de laatste draairing.
uitlezen kan je dan eenvoudig doen door te kijken of de gpio pin hoog of laag is.


-- kleine kick naar m'n eigen vraag---
heeft er iemand ervaring met het aansturen van een alarm over de seriele poort?

[ Voor 10% gewijzigd door Promy op 04-09-2012 23:21 ]


Acties:
  • 0 Henk 'm!
Promy schreef op dinsdag 04 september 2012 @ 23:21:
heeft er iemand ervaring met het aansturen van een alarm over de seriele poort?
Ik denk dat je het beste je vraag even kunt stellen op de blog waar je de tutorial hebt gevonden.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • basst85
  • Registratie: Juni 2009
  • Laatst online: 25-11-2024
In Juni heb ik nog een simpel GPIO projectje gemaakt, een LED aan en uitzetten via een webpagina op de Raspberry Pi:
YouTube: Raspberry Pi wireless control GPIO (WiFI)
http://www.basst.nl/?p=643

Acties:
  • 0 Henk 'm!

  • _koen
  • Registratie: Januari 2012
  • Laatst online: 21-04 09:53
Promy schreef op dinsdag 04 september 2012 @ 23:21:
[...]

Gasteller kun je best uitlezen met een diode en optische sensor (bv cny70) en deze positioneren op het (normaal aanwezige) spiegeltje dat op de 6 zit van de laatste draairing.
uitlezen kan je dan eenvoudig doen door te kijken of de gpio pin hoog of laag is.
Bedankt, dit zal ik ook eens verder moeten uitzoeken dan. Maar hoe connecteer je nu bijvoorbeeld zo'n CNY op je RPi ? Als leek in de elektronica vind ik hier niet direct een kant-en-klare oplossing voor. Heb ik sowieso een breadboard nodig ?

Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 23:59
_koen schreef op woensdag 05 september 2012 @ 08:05:
[...]


Bedankt, dit zal ik ook eens verder moeten uitzoeken dan. Maar hoe connecteer je nu bijvoorbeeld zo'n CNY op je RPi ? Als leek in de elektronica vind ik hier niet direct een kant-en-klare oplossing voor. Heb ik sowieso een breadboard nodig ?
een aantal verwijzingen kan je hier vinden.
Daar staat ook een link naar een schema voor arduino (zelf niet getest) - voor de Pi is het normaal gezien identiek.

waar je wel rekening mee moet houden is "foutieve" pulsen door omgevingslicht (bv je steekt het licht nabij de teller aan. Een oplossing hiervoor kan zijn om een beschermkapje errond te maken.

Acties:
  • 0 Henk 'm!

  • mdev
  • Registratie: Oktober 2001
  • Laatst online: 25-03 07:43
basst85 schreef op woensdag 05 september 2012 @ 06:28:
In Juni heb ik nog een simpel GPIO projectje gemaakt, een LED aan en uitzetten via een webpagina op de Raspberry Pi:
YouTube: Raspberry Pi wireless control GPIO (WiFI)
http://www.basst.nl/?p=643
Ziet er mooi uit! Ik ben een totale noob wat betreft programmeren en websites maken, maar ik neem aan dat dit ook gewoon met Apache te doen is toch? Welke code voeg je toe aan je HTML om php uit te voeren?

Ik had nog een ReadyNas duo (1 gen.) staan, die geen WOL functie heeft. Die heb ik nu gemod om met de Rasp Pi op afstand aan en uit te kunnen zetten. Naast programmeer noob, heb ik ook geen kaas gegeten van elektronica, dus dit is de bron van het schema dat ik heb gebruikt: http://www.susa.net/wordpress/2012/06/raspberry-pi-relay-using-gpio/
Verder heb ik gewoon een schakeling over de aan-uit knop gesoldeerd (na eerst met een voltmeter te checken welke schakeling het betreft).

  • basst85
  • Registratie: Juni 2009
  • Laatst online: 25-11-2024
mdev schreef op woensdag 05 september 2012 @ 11:17:
[...]


Ziet er mooi uit! Ik ben een totale noob wat betreft programmeren en websites maken, maar ik neem aan dat dit ook gewoon met Apache te doen is toch? Welke code voeg je toe aan je HTML om php uit te voeren?

Ik had nog een ReadyNas duo (1 gen.) staan, die geen WOL functie heeft. Die heb ik nu gemod om met de Rasp Pi op afstand aan en uit te kunnen zetten. Naast programmeer noob, heb ik ook geen kaas gegeten van elektronica, dus dit is de bron van het schema dat ik heb gebruikt: http://www.susa.net/wordpress/2012/06/raspberry-pi-relay-using-gpio/
Verder heb ik gewoon een schakeling over de aan-uit knop gesoldeerd (na eerst met een voltmeter te checken welke schakeling het betreft).
Het kan vast ook wel met Apache, maar Nginx vond ik wat makkelijk om op te zetten.

Met een jQuery .get functie roep ik bijvoorbeeld LedOn.php aan, in LedOn.php staat o.a. het volgende:

PHP:
1
<?php shell_exec('sudo /usr/share/nginx/www/gpioON.sh');    ?>


Inhoud gpioON.sh:

code:
1
2
3
echo "22" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio22/direction
echo "0" > /sys/class/gpio/gpio22/value

  • Hipska
  • Registratie: Mei 2008
  • Laatst online: 25-04 16:16
Zou deze interessant zijn om te koppelen? http://be-nl.forum.ibood....ip_met_afstandsbediening/

  • basst85
  • Registratie: Juni 2009
  • Laatst online: 25-11-2024
Inclusief infrarood-24-knop afstandsbediening
Jammer dat het via infrarood gaat...
Dat hoeft helemaal geen probleem te zijn:
http://aron.ws/projects/lirc_rpi/

De ontvanger heb ik dus al draaiende. De zender niet aangezien ik die niet nodig heb. Het kan dus wel (RPi Ambilight :p)

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Hipska
  • Registratie: Mei 2008
  • Laatst online: 25-04 16:16
basst85 schreef op donderdag 06 september 2012 @ 15:08:

[...]


Jammer dat het via infrarood gaat...
Zou je de RPi niet rechtstreeks kunnen verbinden met die strips (mits eventueel wat hackwerk)?

Nu ja, ik heb ze toch niet gekocht..

  • Amanoo
  • Registratie: December 2007
  • Laatst online: 21-04 11:48

Amanoo

Cᴀᴛs ᴀʀᴇ ɴɪᴄᴇ.

Adafruit heeft mooie LED strips op zich, onder andere digitaal adresseerbaar en whatnot. Geef ze wel een externe voeding, je RPI/Arduino kan bij VERRE niet genoeg stroom leveren als je de strip een beetje goed en wel aan zet. Geen idee hoe je het werkend krijgt op de RPI. Dat hele GPIO is nieuw voor me en ik snap er nauwelijks iets van. Zodra het op hardware aankomt ben ik het kwijt. Heb teveel met Arduino's en kant-en-klare libraries gespeeld.

En dus om nog door te zagen over hardware aansturing en (afwezigheid van) kant-en-klare libraries voor de Raspberry Pi:
Iemand enig idee hoe ik dit werkend krijg op de RPI?
http://theredblacktree.wordpress.com/2012/08/09/hello-world/
Heb je al geprobeerd hem te compilen? Zolang er niet wordt gewerkt met interrupts, kan je naar mijn idee de code redelijk omzetten naar de RPi. Mocht er seriële status geprint worden, dan kan je deze natuurlijk vervangen door "cout" of "printf". Sommige types kunnen ook problemen geven zoals:
uint8_t, uint64_t, bool. Je kan kijken of je die kan definiëren door een typedef of kan vervangen door bijv. een (unsigned) int. Probeer dat eerst eens, zoek op internet op hoe je de foutmeldingen kunt oplossen en als je er niet uit komt zet je de foutmeldingen op pastebin.

Denk er wel aan dat je natuurlijk de RPi wiringPi toevoegd en de GPIO nummers goed zet.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Tijsje
  • Registratie: Februari 2001
  • Laatst online: 27-04 08:44
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <wiringPi.h>
#include <stdio.h>

int main() {
    int pin = 1;
    
    if(wiringPiSetup == -1)
        return 0;
        
    pinMode(pin, OUTPUT);
    printf("Start loop");
    while(1) {
        printf("LED aan");
        digitalWrite(pin, 1);
        delay(25);
        printf("LED uit");
        digitalWrite(pin, 0);
        delay(25);
    }


Compileren:
code:
1
cc -o test test.c -L/usr/local/lib -lwiringPi
Ik ben je voorbeeldjes maar eens aan het uitvoeren.
Het python script heb ik werkend gekregen.

Nu ben ik bezig met het C voorbeeld.
Je bent in het voorbeeld de afsluitende } vergeten, deze heb ik toegevoegd en het compileren lukt nu.
als ik test run gebeurd er verder helemaal niks, geen lampje, tekst of foutmelding

test kan ik toch meteen runnen als programma neem ik aan?

Acties:
  • 0 Henk 'm!

  • Siebsel
  • Registratie: November 2004
  • Laatst online: 25-04 15:56
Amanoo schreef op woensdag 12 september 2012 @ 12:16:
Adafruit heeft mooie LED strips op zich, onder andere digitaal adresseerbaar en whatnot. Geef ze wel een externe voeding, je RPI/Arduino kan bij VERRE niet genoeg stroom leveren als je de strip een beetje goed en wel aan zet. Geen idee hoe je het werkend krijgt op de RPI. Dat hele GPIO is nieuw voor me en ik snap er nauwelijks iets van. Zodra het op hardware aankomt ben ik het kwijt. Heb teveel met Arduino's en kant-en-klare libraries gespeeld.

En dus om nog door te zagen over hardware aansturing en (afwezigheid van) kant-en-klare libraries voor de Raspberry Pi:
Iemand enig idee hoe ik dit werkend krijg op de RPI?
http://theredblacktree.wordpress.com/2012/08/09/hello-world/
Voor mij is het ook nieuw, maar heb die strip van Adafruit besteld (bij floris.cc overigens). Heb wat voorbeeldjes van de aansturing op m'n github gezet: https://github.com/trizz/PiLed. Wellicht dat de ervaren Python gebruikers gruwen van mijn code, maar Python is voor mij net zo nieuw als het hele GPIO gebeuren. Vond dit een mooie gelegenheid om twee vliegen in één klap te slaan :+

In de readme staat hoe ik 'm aan m'n RPi geknoopt heb, gewoon via die lightpainting tut :P Allemaal niet zo heel erg lastig.

Op je laatste vraag kan ik helaas geen antwoord geven ;)

Acties:
  • 0 Henk 'm!

  • Dr.Roelski
  • Registratie: Juni 2001
  • Laatst online: 21:17

Dr.Roelski

Walk on ....

CurlyMo schreef op dinsdag 04 september 2012 @ 10:51:
[...]

Dat maakt het ook allemaal niet uit, omdat het vooral zegt dat het gewoon recht toe recht aan modules zijn die voor elke beginneling te gebruiken zijn. Vooral omdat er voor veel modules al arduino libraries zijn. Voor 3 euro mag ik dan eigenlijk ook niet klagen, want de zender werkt perfect. Maar ik zou graag advies willen over hoe ik het probleem van de ontvanger kan oplossen. Dus of dezelfde opnieuw bestellen omdat het een DOA kan zijn, of een ander type module (zoals de eerdere suggestie), of zelf een 433.92Mhz ontvanger bouwen a.d.v een bestaand schema.
Ik zie soortgelijke kitjes ook bij conrad staan. Uit de handleiding begrijp ik dat beide een externe antenne nodig hebben.
Heeft zowel de zender als de ontvanger een externe antenne?
http://www.produktinfo.co...er_Modul_Set_de_en_fr.pdf

Acties:
  • 0 Henk 'm!
Tijsje schreef op vrijdag 14 september 2012 @ 14:37:
[...]


Ik ben je voorbeeldjes maar eens aan het uitvoeren.
Het python script heb ik werkend gekregen.

Nu ben ik bezig met het C voorbeeld.
Je bent in het voorbeeld de afsluitende } vergeten, deze heb ik toegevoegd en het compileren lukt nu.
als ik test run gebeurd er verder helemaal niks, geen lampje, tekst of foutmelding

test kan ik toch meteen runnen als programma neem ik aan?
Bedankt, de accolade heb ik toegevoegd. Ik zie overigens dat er nog een fout in het voorbeeld stond :D, wiringPiSetup moet een functie zijn. Raar dat je daar geen foutmelding over krijgt. Het voorbeeld zou nu met je opmerkingen moeten werken.
Dr.Roelski schreef op vrijdag 14 september 2012 @ 16:26:
[...]

Ik zie soortgelijke kitjes ook bij conrad staan. Uit de handleiding begrijp ik dat beide een externe antenne nodig hebben.
Heeft zowel de zender als de ontvanger een externe antenne?
http://www.produktinfo.co...er_Modul_Set_de_en_fr.pdf
De zender werkt hier prima zonder antenne (ook door muren heen). De ontvanger had al een antenne zoals je ook ziet in die KaKu kastjes maar deze werkt nog steeds niet goed. Waarschijnlijk is dat een DOA. Ik wacht ik ieder geval op een nieuwe ontvanger om verder te testen.

Op dit moment heb ik trouwens de volgende apparaten samenwerken:
- TSOP4838 (IR Ontvanger)
- 433.92 zender
- 2x KaKu stekkers
- Logitech Harmony 300i

De AB heb ik ingesteld voor het bedienen van mijn TV, Digitenne, DVD en XBMC. De toetsen FAV1-4 en Power heb handmatig aangeleerd zodat die in alle apparaten dezelfde functie hebben. Via de Power knop bedien ik de KaKu van mijn TV meubel, FAV1 bedient de KaKu die een sta-lamp in huiskamer aanzet. Zo kan ik met 1 AB alle apparaten + verlichting bedienen.

Mijn eerst volgende project is een wake-up light via de RPi + KaKu dimmer + felle spaarlamp in mijn slaapkamer. Het idee is om een webinterface te maken die cronjobs kan aanmaken waarmee de RPi mijn lamp in de slaapkamer langzaam aanzet op de ingestelde tijd. Een half uur na opstaan zet de RPi de lamp weer in een mooie sfeer stand. Natuurlijk kan ik er ook nog een lompe KaKu bel aanhangen :p

[ Voor 55% gewijzigd door CurlyMo op 14-09-2012 19:25 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Amanoo
  • Registratie: December 2007
  • Laatst online: 21-04 11:48

Amanoo

Cᴀᴛs ᴀʀᴇ ɴɪᴄᴇ.

Ik had een klasgenoot van me op het idee gebracht relais overal in de stopcontacten in zijn huis te maken, deze aan en via via uiteindelijk deze via een webinterfaceje aan te sturen. Ik werk aan een minder hardwired variant hiervan.

Ik ben er trouwens nog niet helemaal achter hoe ik de compilatie doe voor een wiringPi programma (compileren met cc). Nu krijg ik de volgende melding:
ping_client.c:19:17: fatal error: Mirf.h: No such file or directory
compilation terminated.

Mirf.h is een library. Deze er wel, maar deze zit in de rootfolder van mijn project, terwijl wat ik probeer te compileren in de examples folder zit, welke weer in de rootfolder is.

Hij blijft bovendien dit resultaat geven als ik het te compileren bestand in dezelfde map doe als de libraries, met de terminal naar deze locatie ga, en dan dit kopie probeer te compileren. Waarom zie cc niet dat ik gewoon libraries heb?

[ Voor 63% gewijzigd door Amanoo op 17-09-2012 17:27 ]


Acties:
  • 0 Henk 'm!
Een hardwired oplossing is toch minder chique dan draadloos.

Voor iedereen die zich nog verder wilt richten op de elektronica, hier een pic programmeer oplossing via de RPi:
http://holdenc.altervista.org/rpp/

Ik wil kijken of ik - zodra die 433.92 ontvanger aan mijn RPi werkt - mijn c code kan overzetten naar een PIC. Dan kan ik vrij gemakkelijk een eigen 433 schakelaar maken met een relais.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Amanoo
  • Registratie: December 2007
  • Laatst online: 21-04 11:48

Amanoo

Cᴀᴛs ᴀʀᴇ ɴɪᴄᴇ.

De softwire oplossing hier is ook wel goedkoop hoor, gewoon wat uitelkaar gehackte meuk van de action. Ik kom er niet uit hoe ik bij het compileren ook alle libraries meepak. Ik bedoel dan niet de standaard wiringPi libraries, maar die bij het aan te sturen apparaat horen.

[ Voor 22% gewijzigd door Amanoo op 17-09-2012 17:30 ]


Acties:
  • 0 Henk 'm!
Waarom gebruik je niet mijn code die ik eerder heb gepost. Ik kan eventueel ook even een programmaatje online zetten die code van de 433 ontvanger omzet in bits. Dan kan je vrij gemakkelijk het protocol uitpluizen, zoals ik ook met KaKu heb gedaan.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Amanoo
  • Registratie: December 2007
  • Laatst online: 21-04 11:48

Amanoo

Cᴀᴛs ᴀʀᴇ ɴɪᴄᴇ.

Ik heb gewoon een afstandsbediening uit elkaar gesloopt en digitaal controleerbaar gemaakt. Bovendien wil ik dat deze door een Arduino wordt aangestuurd die zelf weer door mijn Pi draadloos wordt aangestuurd.
Reden is dat mijn Pi zich aan de andere kant van het huis bevindt waar ook nog andere apparatuur moet worden bediend, en hij van deze locatie niet rechtstreeks de ontvangers kan aansturen, dus moet dit met een omweg. Als ik nu de communicatie tussen Pi en Arduino vloeiend krijg ben ik er zo, maar dat is dan ook meteen het lastigste deel. Als iemand mij kan vertellen hoe ik de zaak wel goed compileer scheelt het al veel.

[ Voor 7% gewijzigd door Amanoo op 17-09-2012 17:38 ]


Acties:
  • 0 Henk 'm!
Ik zou het voor 3 euro voor een generieke zender/ontvanger de moeite niet vinden om zelf zo'n afstandsbediening uit elkaar te slopen :)
Amanoo schreef op maandag 17 september 2012 @ 17:37:
Reden is dat mijn Pi zich aan de andere kant van het huis bevindt waar ook nog andere apparatuur moet worden bediend, en hij van deze locatie niet rechtstreeks de ontvangers kan aansturen, dus moet dit met een omweg.
Welke apparatuur bedien je nu allemaal met je RPi?

[ Voor 58% gewijzigd door CurlyMo op 17-09-2012 17:43 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Amanoo
  • Registratie: December 2007
  • Laatst online: 21-04 11:48

Amanoo

Cᴀᴛs ᴀʀᴇ ɴɪᴄᴇ.

ik pik nu ook nog allerlei ruis op, zo wordt dat draadloze zenden niets. Volgende oplossing zal nog meer functionaliteit bij de Arduino leggen: ik heb nog een ethernet bordje. Dit is wel de duurdere oplossing, en dit bordje is niet makkelijk in gebruik, maar het is wat ik heb liggen.

Acties:
  • 0 Henk 'm!
Die ruis ga je niet weg krijgen. Als het goed is moet de code binnen die ruis duidelijk herkenbaar zijn.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Amanoo
  • Registratie: December 2007
  • Laatst online: 21-04 11:48

Amanoo

Cᴀᴛs ᴀʀᴇ ɴɪᴄᴇ.

Ik heb nu antenne's die ik wilde gebruiken voor communicatie tussen Pi en Arduino die nu op niets af al reageren. Ik ga nu de communicatie over ethernet leggen, wat betekent dat ik de GPIO van de Pi niet zal gebruiken.

Acties:
  • 0 Henk 'm!
Amanoo schreef op maandag 17 september 2012 @ 18:40:
Ik heb nu antenne's die ik wilde gebruiken voor communicatie tussen Pi en Arduino die nu op niets af al reageren. Ik ga nu de communicatie over ethernet leggen, wat betekent dat ik de GPIO van de Pi niet zal gebruiken.
Dat doen ze bij mij ook, maar toch is er tussen die ruis wel het signaal dat ik verstuur te zien.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Maestro
  • Registratie: Februari 2001
  • Laatst online: 15:45

Maestro

It's just completely whack!

Ik had gehoopt inmiddels wat resultaten te kunnen melden m.b.t. draadloze communicatie via de Nordic chips, op 2.4GHz. Hoewel ik wel wat vorderingen heb gemaakt, gaat er nog niets door de lucht. Of misschien wel, maar kan het niet controleren in dat geval.
Lang verhaal kort: Eén van de transceivers is defect. Ze zwierven hier al een jaar of twee rond en had al wat eerdere pogingen ondernomen ze aan de gang te krijgen. Waarschijnlijk ooit een keer op 5V geprikt (3.6V is max.)

Het lukte i.i.g. om één van de transceivers als ontvanger, de ander als zender in te stellen. (Het SPI/logic gedeelte werkte wel op beide) Kanaal, outputpower en tig andere dingen zijn allemaal via SPI in te stellen (In totaal heb je 5 of 6 GPIO pinnen nodig met de RPi).
Het ging bij één van de transceivers telkens mis zodra ik 't daadwerkelijke zend/ontvangstgedeelte inschakelde. Dat ging zo hard mis dat het devboard met PIC en beide transceivers eraan herstartte. Doet ie anders nooit!

Inmiddels bij 5 verschillende Chinezen nieuwe exemplaren besteld. Ik hoop dat i.i.g. één een beetje vlot verstuurd. Als het bereik een beetje fatsoenlijk is (~10m met een muur ertussen zou voor mij prima zijn), kan dat misschien een alternatief voor 433 of zelfs ethernet zijn.
Voordelen: Ze zijn klein, behoorlijk 'slim' en schreeuwend goedkoop (vanaf €1,60 p/stuk op eBay)
Nadelen: Doordat ze 'slim' zijn, is het wel meer werk (voornl. qua software) om ze aan de gang te krijgen.
En ik twijfel dus of het qua bereik goed gaat komen. Wordt vervolgd over een dag of tien...

Gezien de huidige loop van 't topic toch maar een tussendoor update. :)

Wire telegraph is a kind of a very, very long cat. You pull his tail in NYC and his head is meowing in LA. Do you understand this? And radio operates the same way: you send signals here, they receive them there. The only difference is there's no cat


Acties:
  • 0 Henk 'm!

  • Tijsje
  • Registratie: Februari 2001
  • Laatst online: 27-04 08:44
http://samenkopen.net/action_product/69776/999798

Iemand een idee of het makkelijk is om dit schermpje aan de praat te krijgen? Geen geld natuurlijk!
Dit is wel erg weinig informatie...

Sinds de 2 dagen regel reageer ik hier niet meer


  • JER00N
  • Registratie: Maart 2002
  • Niet online
Gisteravond heb ik het na een hoop gedoe voor elkaar gekregen om met een 433.92 MHz-zendertje (die van Ebay) m'n Elro-schakelaars aan en uit te zetten :) Vanavond zal ik de boel online zetten, voor de geïnteresseerden.

  • Patrick89
  • Registratie: Juni 2009
  • Laatst online: 21:52

Patrick89

PSN : Gamesource

Ik moet er zelf ook nog mee bezig dus als je wilt :)

Denkt u aub aan het milieu voor u deze reactie afdrukt ;(..

Nu hetgeen waar ik al lange tijd niet uit kom, is het je ook gelukt om de ontvanger werkend te krijgen (op grote afstanden)?
Patrick89 schreef op woensdag 26 september 2012 @ 15:48:
Ik moet er zelf ook nog mee bezig dus als je wilt :)
Mijn manier om KaKu's te schakelen staat al een tijdje in dit topic, Elro werkt vrijwel hetzelfde, dus je kan er als je wilt al mee aan de slag.

[ Voor 56% gewijzigd door CurlyMo op 26-09-2012 15:50 ]

Sinds de 2 dagen regel reageer ik hier niet meer


  • JER00N
  • Registratie: Maart 2002
  • Niet online
CurlyMo schreef op woensdag 26 september 2012 @ 15:49:
Nu hetgeen waar ik al lange tijd niet uit kom, is het je ook gelukt om de ontvanger werkend te krijgen (op grote afstanden)?
Met de ontvanger heb ik niks gedaan, het is puur bedoeld om lampen en zo te schakelen.

[...]
Mijn manier om KaKu's te schakelen staat al een tijdje in dit topic, Elro werkt vrijwel hetzelfde, dus je kan er als je wilt al mee aan de slag.
Ik geloof dat KaKu en Elro niet helemaal compatible is qua protocol. Dus de luie mensen die Elro hebben en geen zin hebben om de boel om te zetten kunnen mijn code gebruiken. Hoewel 'mijn', ik heb eigenlijk gewoon C-code voor een Arduino (afkomstig uit dit topic 433MHz-communicatie met microcontrollers) omgezet naar RPi-compatible code.
JER00N schreef op woensdag 26 september 2012 @ 16:02:
[...]


Met de ontvanger heb ik niks gedaan, het is puur bedoeld om lampen en zo te schakelen.

[...]

[...]


Ik geloof dat KaKu en Elro niet helemaal compatible is qua protocol. Dus de luie mensen die Elro hebben en geen zin hebben om de boel om te zetten kunnen mijn code gebruiken. Hoewel 'mijn', ik heb eigenlijk gewoon C-code voor een Arduino (afkomstig uit dit topic 433MHz-communicatie met microcontrollers) omgezet naar RPi-compatible code.
Ik heb mijn code zo geschreven dat je in principe alle protocollen zou moeten kunnen schakelen. Alleen heb ik zelf alleen maar KaKu's dus kan ik dat verder niet testen. Als ik een Elro AB zou hebben, dan kan ik de code zo uitlezen met mijn ontvanger :)

[ Voor 10% gewijzigd door CurlyMo op 26-09-2012 16:20 ]

Sinds de 2 dagen regel reageer ik hier niet meer


  • Patrick89
  • Registratie: Juni 2009
  • Laatst online: 21:52

Patrick89

PSN : Gamesource

Ik bezit zelf zo'n kaku setje (PA3-1000R), deze wil ik uiteindelijk met modbus gaan sturen. Echter heb ik geen idee welke code nou de jusite is voor mij..

Denkt u aub aan het milieu voor u deze reactie afdrukt ;(..

Als je mijn tutorial volgt, dan leest de ontvanger (als je de afstandsbediening er dicht genoeg bij houdt) gewoon de codes van je afstandsbediening uit. De uitvoer zal dan overeen komen met mijn voorbeeld. Deze codes kan je vervolgens met de zender versturen om je schakelaars aan/uit te zetten met je RPi.

Aangezien ik alleen maar KaKu heb, is dat ook het enige wat nu ondersteund is, alhoewel de zender dus ook prima andere codes kan versturen. Daarvoor moet ik alleen weten welke bits voor welk stukje data staan. Het idee achter al die apparaten is toch hetzelfde.

Sinds de 2 dagen regel reageer ik hier niet meer


  • JER00N
  • Registratie: Maart 2002
  • Niet online
Patrick89 schreef op woensdag 26 september 2012 @ 15:48:
Ik moet er zelf ook nog mee bezig dus als je wilt :)
Heb het maar even op m'n website geslingerd: http://www.jer00n.nl/2012...s-from-your-raspberry-pi/
Er leiden verschillende wegen naar Rome en dit is inderdaad een van de snelste :) Simpel en doeltreffend alleen wat minder modulair.

Sinds de 2 dagen regel reageer ik hier niet meer


  • JER00N
  • Registratie: Maart 2002
  • Niet online
CurlyMo schreef op woensdag 26 september 2012 @ 20:54:
[...]

Er leiden verschillende wegen naar Rome en dit is inderdaad een van de snelste :)
Idd :) Deze code had ik ook al werkend gekregen op een PIC microcontroller, dus de makkelijkste weg was om dit even om te zetten naar Raspberry Pi code :)
M.b.t. het PIC gedeelte, heb je daar informatie over? Heb je dat gedaan via de RPi of anderszins. Ik wil zelf binnenkort die PIC programmer voor de RPi gaan proberen, en om daarmee zelf een 433 setje te bouwen. Programmeer je dan bijv. direct in assembly of gewoon via C code naar assembly naar hex. Je kunt de vragen zo wel verzinnen :)

Sinds de 2 dagen regel reageer ik hier niet meer


  • luke_otto
  • Registratie: Maart 2003
  • Laatst online: 27-04 12:06

luke_otto

pang pang luckyluke

Ik heb de code van JER00N gebruikt om mijn Hema (elro) modules te kunnen schakelen. Dat werkt! Bedankt voor het delen. Nu wil ik ook graag de remote uitlezen met een ontvanger. Begrijp ik goed dat de code van CurlyMo daar nog niet geschikt voor is. Deze is nu alleen voor KaKu geschikt toch? Waar moet ik beginnen om deze code ook ELRO geschikt te maken.

Ik gebruik dit trouwens in samenwerking met het domotica programma DomotiGa.

Ik gebruik op dit moment een arduino om de remote signalen op te vangen en vervolgens via de usb serial verbinding naar de RPi te sturen. Helaas loopt de RPi vast na ongeveer een halve dag als ik met DomotiGa de serial van de arduino uitlees.

Het zou dus mooi zijn als ik direct op de RPi de remote kan uitlezen. (om vervolgens plugwise modules te kunnen schakelen)

[ Voor 0% gewijzigd door luke_otto op 27-09-2012 13:57 . Reden: typo ]

Heb jij een apparaat die zelf codes kan leren, of waarbij je codes vooraf moet instellen? Zo ja, moet je dan één code instellen of twee? Als je zo'n apparaat hebt waarbij zelf codes moet instellen, dan moet je even geduld hebben, dan zal ik deze week ergens nog wel voor je toevoegen aan de receiver. Daar heb ik al het een en ander van uitgezocht.

Als je een zelflerend ding hebt, dan kan me helpen om dit uit te zoeken. Daarvoor doe je het volgende:
code:
1
./receive -d


De output is dan allemaal brei :)

Druk op een toets van je AB, de uitvoer zal dan ongeveer dit zijn:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
97;1;14;1;15;1;12;1;11;5;
25
//Vanaf hier
11000001110101100011110
51;1;18;1;39;1;6;29;45;3;16;19;1;2;2;4;1;23;4;3;4;18;3;3;4;20;2;21;1;5;2;4;4;19;3;1;7;6;1;3;3;2;3;3;19;3;11;1;5;4;2;3;14;1;4;3;2;3;19;2;3;3;19;3;2;3;19;3;2;3;18;4;2;3;19;3;2;3;3;3;19;3;2;3;19;3;3;3;18;3;19;3;3;3;2;3;19;3;19;3;2;3;2;3;19;3;2;3;20;2;19;3;3;3;19;3;2;3;19;3;2;3;3;2;14;2;1;2;17;3;3;2;19;3;2;3;19;3;2;3;19;3;3;2;19;3;19;3;2;3;
338
//Tot hier
10101111111000101001110000001
298
Klik Aan Klik Uit
ID:             5763406
All/Single:     Single
On/Off:         OFF
Unit:           1
0
10101111111000101001110000001
5;2;41;3;2;3;19;2;2;3;19;3;2;3;19;3;19;3;2;3;3;3;18;3;19;3;3;2;3;3;19;3;19;3;2;3;19;2;3;3;19;3;2;3;19;3;2;3;19;3;3;2;20;2;3;3;19;3;3;2;3;3;19;3;2;3;19;3;2;3;19;3;19;3;2;3;3;3;19;3;18;3;3;2;3;3;19;3;2;3;19;3;20;2;3;3;18;3;3;2;19;2;3;3;3;3;19;2;3;3;19;2;3;3;19;3;2;3;19;3;3;2;19;3;3;2;19;3;19;3;2;3;
297

(Waarschijnlijk wel zonder dat KaKu stukje én zonder de tekst achter de "//").

Ik zou dan graag het volgende van je willen ontvangen:
- De binaire codes zoals 11000001110101100011110
- De brei van getallen.
- Het enkele getal zoals 338

Die drie dingen horen telkens bij elkaar.

Probeer dat eerst even. Als je geen codes krijgt maar je ziet tussen de brei van getallen door wel verschillende kortere reeksen van groepjes langs schieten, dan wil ik die ook graag weten. Dan kan ik aan de hand daarvan even uitzoeken hoe lang de code is én hoe lang de 1-en en 0-en zijn.

Als je wel de bovenstaande groepjes ziet, dan wil ik het volgende van je zien:
1x de verschillende aan toetsen van je afstandbediening
1x van één toets de aan en de uit.

Vang van elke toets even 5x de codes op aangezien het niet altijd 1 op 1 aankomt. Je ziet in het voorbeeld ook de volgende binaire codes langskomen:
code:
1
2
3
11000001110101100011110
10101111111000101001110000001
10101111111000101001110000001

De eerste keer is de code niet goed aangekomen, de laatste twee keer wel. Daarom heb ik van elke toets meerdere datasets nodig. Als je die informatie hebt, dan zal ik uitzoeken wat de codes moeten zijn.

Als je iets niet begrijp dan hoor ik het graag. Daarnaast denk ik dat het beter is als we dit voortzetten via DM, aangezien het uitzoeken van de hele code wel redelijk off-topic zal zijn :)

Ik ben wel gemotiveerd om nog een zelflerende ontvanger te maken, zodat die alle merken AB protocollen kan aanleren. Daarvoor heb ik alleen nog geen tijd gehad.

Sinds de 2 dagen regel reageer ik hier niet meer


  • luke_otto
  • Registratie: Maart 2003
  • Laatst online: 27-04 12:06

luke_otto

pang pang luckyluke

Zo! Wat een support! Ik heb een remote waar je met 5 dipswitches een housecode kan instellen. Op de modules kan je ook de housecode instellen en tevens op welke knop deze moet reageren. (A,B,C,D,E). Ik gebruik op mijn arduino deze library: https://bitbucket.org/fuzzillogic/433mhzforarduino/wiki/Home. Ik maak gebruik van het "ShowReceivedCode" voorbeeld om de remote codes naar DomotiGa te sturen.

Edit ik heb dit even geprobeerd
code:
1
./receive -d


Om te kijken of hier iets zinnigs uit nou komen. Ook als ik geen knop indruk komt hier output (ruis?). Ik heb knop A on. ingedrukt gehouden en vervolgens de output bekeken. Dit is de output: http://pastebin.com/z4LzGtjb

[ Voor 29% gewijzigd door luke_otto op 27-09-2012 16:11 ]

Wat voor een code krijg je dan als uitvoer van de functie ShowReceivedCode bij de verschillende toetsen?

Sinds de 2 dagen regel reageer ik hier niet meer


  • luke_otto
  • Registratie: Maart 2003
  • Laatst online: 27-04 12:06

luke_otto

pang pang luckyluke

Codes met housecode 0 0 0 0 0.

A_on 529976
A_off 529980

C_on 531272
C_off 531276
Misschien vind je het leuk om te weten, misschien niet :) Als je de bovenstaande code van decimaal converteer naar binair dan zie je het volgende:

A_on 10000001011000111000
A_off 10000001011000111100

C_on 10000001101101001000
C_off 10000001101101001100

Je ziet nu welke bit verantwoordelijk is voor aan/uit. Kan je kijken of wat je ziet in het schuingedrukte deel overeenkomt met wat je ingesteld heb met je dipswitches?

Sinds de 2 dagen regel reageer ik hier niet meer

luke_otto schreef op donderdag 27 september 2012 @ 15:16:
Om te kijken of hier iets zinnigs uit nou komen. Ook als ik geen knop indruk komt hier output (ruis?). Ik heb knop A on. ingedrukt gehouden en vervolgens de output bekeken. Dit is de output: http://pastebin.com/z4LzGtjb
Als je niks doet, zie je inderdaad alleen maar ruis. Zou je het bovenstaande ook eens willen doen voor de andere toetsen en een keer voor aan en uit?

Sinds de 2 dagen regel reageer ik hier niet meer


  • luke_otto
  • Registratie: Maart 2003
  • Laatst online: 27-04 12:06

luke_otto

pang pang luckyluke

Hierbij ook met de andere toetsen. De remote stond ingesteld op house code 00000. Alle 5 de dipswitches off dus.

http://pastebin.com/BSVqwxRn

  • JER00N
  • Registratie: Maart 2002
  • Niet online
CurlyMo schreef op donderdag 27 september 2012 @ 00:12:
M.b.t. het PIC gedeelte, heb je daar informatie over? Heb je dat gedaan via de RPi of anderszins. Ik wil zelf binnenkort die PIC programmer voor de RPi gaan proberen, en om daarmee zelf een 433 setje te bouwen. Programmeer je dan bijv. direct in assembly of gewoon via C code naar assembly naar hex. Je kunt de vragen zo wel verzinnen :)
De functie die ik in de PIC gebruikt heb (dus min of meer dezelfde code als voor de RPI):

Uiteraard onderaan nog wel RB5 even veranderen in de pin die je zelf gebruikt om data te versturen naar de 433 MHz transmitter.

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
void remote(int ab, int onoff) 
{  
char key[5] = {0,1,1,0,1}; //dipswitches apparaatcode  
char repeat = 10; // aantal herhalingen  

int pulslengte = 300;  
int Bit[16];  
int x;  
// bereken apparaatcode  
  for (int t=0; t<5; t++){  
     if (!key[t]) Bit[t]=142; else {Bit[t]=136;} // Bit 0 t/m 4  
   }  
    
// bereken ontvangercode     
      x = 1;  
       for (int i=1; i<6; i++){  
         if ((ab & x)>0) Bit[4+i] = 136; else Bit[4+i] = 142; // Bit 5 t/m 9  
          x = x<<1;  
         }   

// Aan of Uit  
      if (onoff == 1) {  
         Bit[10] = 136;  
         Bit[11] = 142;  
      }  
       else {  
         Bit[10] = 142;  
         Bit[11] = 136;  
      }  

// sync  
       Bit[12] = 128;  
       Bit[13] = 0;  
       Bit[14] = 0;  
       Bit[15] = 0;  

// verstuur code  
   for (int z=0; z<=repeat; z++){ // repeat 
      for (int y=0; y<16; y++){  
        x = 128;  
        for (int i=1; i<9; i++){  
           if ((Bit[y] & x)>0)  RB5 = 1;   
             else { RB5 = 0; }  
           __delay_us(150);   
           __delay_us(150);  
           x = x>>1;  
        }  
     }  
  }  
}

Acties:
  • 0 Henk 'm!
Eerst maar even mijn eigen belang behartigen. Mijn 433 code bevat nu ook de dimmer functionaliteit voor KaKu. Wake-up light here we come :)

@luke_otto: Hoe is bij jou de ontvangst van de ontvanger. Moet je je AB er dicht bij houden, of werkt hij ook vanaf een afstand > 10m?

[ Voor 33% gewijzigd door CurlyMo op 28-09-2012 17:12 ]

Sinds de 2 dagen regel reageer ik hier niet meer


  • Patrick89
  • Registratie: Juni 2009
  • Laatst online: 21:52

Patrick89

PSN : Gamesource

Vandaag de nieuwe serie van Kaku Gekocht inclusief dimmen.. Wil toch ff iets degelijks hebben om vervolgens mee uit te kunnen testen..

Nu toch maar ff met het nieuw protocol aan het stoeien gaan..

Denkt u aub aan het milieu voor u deze reactie afdrukt ;(..

Ben je van plan mijn code te gaan proberen? Zo ja, kan je laten weten of hij goed werkt?

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!
@Elro gebruikers:

Ik heb geprobeerd ondersteuning toe te voegen aan mijn 433 scripts om ook Elro te kunnen bedienen. Het gaat hier om de schakelaars met dipswitches. Ik heb zelf geen Elro schakelaars dus niet kunnen testen. Aan de hand van de informatie van luke_otto heb ik geprobeerd om het protocol uit te zoeken.

Zouden jullie kunnen kijken of allereerst de ontvanger goed werkt, en met die gegevens proberen om met de zender je apparaten te bedienen? Waar trouwens bij KaKu wordt gesproken over unit code, werkt deze bij Elro als de house code.

De ontvanger werkt het beste als er geen andere zware programma's draaien zoals XBMC. Zelfs met de allerhoogste prioriteit kan de ontvanger (nog) niet tegen bijv. XBMC op.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • luke_otto
  • Registratie: Maart 2003
  • Laatst online: 27-04 12:06

luke_otto

pang pang luckyluke

Zojuist het geprobeerd om de codes van mijn Elro remote te ontvangen. En het werkt redelijk. Hierbij de output als ik achter elkaar de knopjes van mijn remote indruk (afstand = 30cm).
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
 \Start
Elro
ID:             1
House:          0
On/Off:         On
Elro
ID:             1
House:          0
On/Off:         Off
Elro
ID:             1
House:          0
On/Off:         Off
Elro
ID:             2
House:          0
On/Off:         On
Elro
ID:             0
House:          0
On/Off:         On
Elro
ID:             2
House:          0
On/Off:         Off
Elro
ID:             0
House:          0
On/Off:         On
Elro
ID:             4
House:          0
On/Off:         On
Elro
ID:             4
House:          0
On/Off:         On
Elro
ID:             4
House:          0
On/Off:         Off
Elro
ID:             8
House:          0
On/Off:         On
Elro
ID:             8
House:          0
On/Off:         Off

Acties:
  • 0 Henk 'm!
Met redelijk bedoel je neem ik aan de false positives? Lukt het je ook om je apparaten te bedienen met de zender?

Sinds de 2 dagen regel reageer ik hier niet meer

Pagina: 1 2 ... 14 Laatste