868 Mhz On/Off Keying protocol?

Pop your questions regarding Home automation Domotica hardware here.....
Post Reply
SanderS
Starting Member
Starting Member
Posts: 4
Joined: Sun Dec 07, 2008 2:51 pm
Location: Netherlands

868 Mhz On/Off Keying protocol?

Post by SanderS »

Hallo allemaal,

Ik ben al een tijdje bezig met m'n eigen Home Automation project op basis van een Arduino (Sanguino). Inmiddels heb ik het ontvangen van devices op de 433mhz frequentie onder de knie.

Ik ben nu begonnen met het uitvogelen hoe ik mijn centrale afzuiging aan kan gaan sturen. Deze werkt echter op 868Mhz..
Ik heb inmiddels een Aurel 8l50sa70sf receiver aan m'n Sanguino gehangen en de eerste pulsjes binnen zien komen. De pulsen lijken echter in de verste verte niet op een consequent signaal:
* Verschillende pulseburst lengten
* Zeer korte en lange pulsen

Hieronder een aantal pulsstreams die ik heb ontvangen:
[ 24] 13655 [ 1] 1557 [ 2] 1987 [ 1] 1781 [ 1] 573 [ 0] 2477 [ 1] 316 [ 1] 1987 [ 1] 812 [ 1] 1765 [ 1] 52 [ 1] 44 [ 1] 301 [ 1] 1191 [ 145] 545 [ 1] 101 [ 372] 2205 [ 970] 17527 [ 1] 7 [ 1] 963 [ 2] 959 [ 1] 3 [ 1] 235 [ 1] 730 [ 1] 399 [ 1] 588 [ 1] 3723 [ 0] 779 [ 1] 434 [ 1] 508 [ 1] 744 [ 0] 500 [ 0] 133 [ 1] 988 [ 1] 155 [ 2] 1343 [ 1] 157 [ 971]


[ 24] 16065 [ 1] 2319 [ 1] 689 [ 1] 539 [ 1] 718 [ 1] 239 [ 1] 749 [ 1] 1217 [2140] 117 [ 0] 857 [ 1] 1289 [ 0] 213 [ 1] 149 [ 1] 133 [ 1] 1363 [ 0] 274 [ 1] 18 [ 1] 320 [ 0] 668 [ 1] 5 [ 1] 1783 [ 970] 11890 [ 1] 4876 [ 1] 4858 [ 1] 1813 [ 1] 163 [ 0] 617 [ 0] 2613 [ 1] 996 [ 1] 445 [ 1] 1161 [ 1] 28 [ 314] 318 [ 1] 334 [ 1] 458 [ 970]


[ 25] 19007 [ 1] 282 [ 0] 1449 [ 0] 467 [ 0] 973 [ 1] 1 [ 1] 1109 [ 1] 211 [ 1] 1141 [ 1] 446 [ 1] 118 [ 588] 167 [ 1] 1114 [ 404] 1143 [ 1] 220 [ 185] 53 [ 1] 112 [ 1] 1304 [1299] 76 [ 971] 19017 [ 0] 1417 [ 0] 1499 [ 1] 462 [ 1] 152 [ 970] 437 [ 1] 528 [ 2] 15 [ 1] 378 [ 1] 422 [ 1] 167 [ 1] 975 [ 0] 968 [ 0] 9 [ 1] 956 [ 1] 15 [ 1] 31 [ 2] 222 [ 1] 538 [ 1] 190 [ 2] 4 [ 2] 107 [ 425] 436 [ 0] 27 [ 159] 176 [ 0] 170 [ 971]



[ 25] 15189 [ 1] 3904 [ 0] 1969 [ 0] 2396 [ 1] 1439 [ 1] 56 [ 1] 193 [ 1] 1756 [ 2] 923 [ 1] 59 [ 1] 19 [ 0] 5 [ 251] 1412 [ 1] 124 [ 0] 1105 [ 1] 9 [ 0] 887 [ 1] 78 [ 9] 89 [ 968] 9361 [ 1] 2274 [ 1] 1267 [ 0] 1240 [ 1] 4226 [ 0] 1833 [ 1] 1326 [ 1] 1835 [ 1] 1717 [ 1] 274 [ 1] 173 [ 1] 215 [ 288] 238 [ 1] 31 [3136] 758 [ 1] 512 [ 0] 177 [ 971]



[ 25] 15035 [ 1] 3247 [ 1] 62 [ 1] 276 [ 1] 1737 [ 1] 1436 [ 2] 2524 [ 1] 912 [ 1] 1237 [ 0] 3202 [ 1] 398 [ 1] 122 [ 2] 1680 [ 970] 9053 [ 1] 12430 [ 1] 3500 [ 1] 1544 [ 1] 294 [ 0] 1612 [ 1] 1958 [ 0] 499 [ 971]



[ 25] 14192 [ 1] 4599 [ 1] 1956 [ 1] 966 [ 1] 1280 [ 1] 229 [ 1] 172 [ 1] 411 [ 1] 4593 [ 1] 3339 [ 1] 134 [ 971] 13577 [ 1] 1956 [ 0] 981 [ 1] 2024 [ 1] 3536 [ 1] 2 [2989] 322 [ 1] 1815 [ 1] 1135 [ 1] 2551 [ 971]



[ 24] 15317 [ 1] 119 [ 3] 1015 [ 1] 29 [1249] 5270 [ 108] 187 [ 51] 449 [ 1] 1966 [ 1] 1836 [ 1] 398 [ 0] 1236 [ 1] 148 [ 1] 558 [ 0] 685 [ 1] 31 [ 764] 455 [ 971] 14680 [ 1] 7 [ 1] 3 [ 0] 2322 [ 1] 583 [ 1] 9108 [ 1] 1849 [ 0] 887 [ 0] 26 [ 16] 309 [ 1] 914 [ 1] 183 [ 971]



[ 24] 13848 [ 0] 3047 [4172] 4348 [ 1] 976 [ 1] 299 [ 1] 3235 [ 1] 43 [ 0] 1263 [ 1] 646 [ 971] 13367 [ 1] 71 [ 1] 2701 [ 1] 15 [ 1] 2669 [3838] 74 [ 1] 3163 [ 1] 992 [ 1] 861 [ 0] 20 [ 1] 262 [ 1] 415 [ 1] 521 [2887]



[ 24] 14947 [ 1] 1967 [ 1] 262 [ 1] 965 [ 0] 972 [ 0] 319 [ 0] 1965 [ 0] 592 [ 1] 518 [ 1] 243 [ 1] 830 [ 1] 1863 [ 1] 730 [ 1] 614 [ 1] 1108 [ 2] 927 [ 1] 767 [ 1] 125 [ 1] 134 [ 1] 972 [ 1] 2 [ 3] 7 [ 2] 5 [ 4] 978 [ 1] 43 [ 971] 15928 [ 1] 613 [ 1] 1297 [ 0] 921 [ 108] 597 [ 0] 987 [ 0] 1941 [ 0] 530 [ 805] 272 [ 1] 1227 [ 1] 4708 [ 1] 957 [ 971]

Het enig redelijk consequente wat ik herken is het begin en het einde van de pulsreeks.

Ik heb nu gekozen voor een 868Mhz receiver die OOK (On-Off Keying modulation) ondersteund. Gebruik ik nu de juiste ontvanger-type?
Zijn de signalen op de 868mhz frequentie significant anders dan op de 433mhz frequentie?

Ik heb mijn Centrale Afzuiging opengehaald om nog eens goed de RF-chip te bekijken. Aan de hand van die specs heb ik juist deze receiver gekocht..

Ik ben erg dankbaar met elke hulp, want ik ben nu een beetje vastgelopen hiermee...

thanks in advance, Sander
wwolkers
Member
Member
Posts: 273
Joined: Tue Sep 23, 2008 10:10 am
Location: Netherlands
Contact:

868 Mhz On/Off Keying protocol?

Post by wwolkers »

Sander,

zou je wellicht iets meer kunnen vertellen over hoe je het een en ander geregeld hebt met de arduino? Ik heb net een bordje besteld, met hetzelfde idee, om 433MHz signalen te kunnen ontvangen en verzenden :)
SanderS
Starting Member
Starting Member
Posts: 4
Joined: Sun Dec 07, 2008 2:51 pm
Location: Netherlands

868 Mhz On/Off Keying protocol?

Post by SanderS »

Hoi Wim (gokje),

Uiteraard kan ik meer vertellen over hoe ik dit gedaan heb met de Arduino. Na vele uren ermee bezig te zijn geweest kan ik je zelfs HEEL veel er over vertellen.

Voor de 433Mhz apparaten heb ik gebruik gemaakt van twee Velleman componenten RX433 en TX433 (o.a. te verkrijgen bij Okaphone). Voor het ontvang gedeelte heb ik de schakeling van "Fuzzilogic" gebruikt (hier te vinden: http://gathering.tweakers.net/forum/lis ... es/1077675). Schema-image: http://randysimons.com/overige/browsabl ... schema.png

De code die ik gebruik het ik zelf geschreven. Hier heb ik het gehost: http://code.google.com/p/arduinoha/
De code die daar staat is echter wel inmiddels flink veroudert. Binnenkort ga ik de laatste versie van de code weer eens comitten. Inmiddels ben ik wel overgestapt naar de Sanguino. Ik had namelijk niet genoeg aan de 13Kb voor de geheugenruimte voor de gecompileerde code.

De werking van de code is ongeveer als volgt:
* Op het moment dat er een hoog RSSI signaal wordt ontvangen door de Arduino, wordt er een interrupt aangeroepen.
* De interrupt-handler activeerd een timer en registreerd de duur van puls-wisselingen in een buffer
* Na +/- 1 seconde wordt opgehouden met het registreren van de puls-wisselingen
* In de voorgrond wordt de geregistreerde puls-wisselingen door verschillende protocol-decoders verwerkt.
* Op het moment dat een protocol-decoder een valide pulsreeks heeft ontvangen wordt deze gedecodeerd en doorgegeven aan een eventhandler
Zoals je wellicht doorziet is het ontvang-proces ontkoppeld van het decodeer-proces. Dit is gedaan omdat het ontvang-proces tijd gevoelig is.

In mijn laatste versie van de code (nog niet gecommit) heb ik de code uitgebreid met de mogelijkheid tot het schedulen van het verzenden van commando's via de TX433. Ik schets je de werking:
* Mijn infrarood-bewegingsmelder in de gang merkt op dat ik door de gang loop. Deze verzend een RF-signaal die door mijn Arduino verwerkt wordt. In de eventhandler wordt twee acties gescheduled, namelijk: Over 0 seconden het licht aanzetten, en over 60 seconden het licht uitzetten.
* In de voorgrond wordt gecontroleerd of er geschedulde acties zijn, die inmiddels uitgevoerd moeten gaan worden. Indien dit het geval is wordt er gekeken of de laatste RSSI-trigger een halve seconde geleden is. Is dit het geval, dat wordt tijdelijk het ontvang-gedeelte gestopt. Het commando wordt doorgeschoven uit de scheduled-queue naar de queue van verzend-commando's.
* Het verzendgedeelte verzend de commando's uit de verzend-commando's queue.
* Indien alle verzend-commando's verwerkt zijn, wordt het ontvang-gedeelte weer opgestart.

Belangrijke lessen die ik geleerd heb:
* Het ontvang-gedeelte moet niet tegelijk werken aan het verzend-gedeelte, want dan ontvang je je eigen verzonden signalen.
* Je bewegings-melders moeten niet een te lang signaal uitzenden, want dat komt de reactiesnelheid niet ten goede. Lees: het duurt langer voordat je lamp aangaat.

Mijn eerste doelstellingen:
* Bewegingsmelder schakelen lichten automatisch aan en uit.
* Mijn auto-sleutel schakeld de buiten/voordeur verlichting
* Mijn rookmelders schakelen bij brand al mijn verlichting aan en zet de centrale afzuiging volluit aan.
* Mijn vochtmelder (afkomstig van weerstation) zet bij hogere vochtigheid de centrale afzuiging hoger aan.
* Beweging in toilet zet de centrale afzuiging volluit aan.. (sorry.. too much info? ;-) )
* Bij 1 uur geen beweging in huis, wordt de boiler en quoker in de keuken uitgeschakeld..
etc..etc..
Bwired
Administrator
Administrator
Posts: 4704
Joined: Sat Mar 25, 2006 1:07 am
Location: Netherlands
Contact:

868 Mhz On/Off Keying protocol?

Post by Bwired »

I guess it's Wouter :-)
Please guys this forum is in English!
Post Reply

Return to “Questions & Discussions Forum”