Annonce

Pour vous inscrire sur le forum, veuillez faire une demande par mail à maison-du-libre@mdl29.net

#1 19-05-2010 16:33:21

jkx
Administrateur
Inscription : 12-12-2009
Messages : 241

Projet Domotique / RFM12

Voila, je viens de poster qques infos sur le wiki ici :
http://mdl29.net/doku.php?id=elec:projet_domotique

Si l'un d'entre vous à des remarques, faites le ici..

Hors ligne

#2 19-05-2010 16:42:11

jkx
Administrateur
Inscription : 12-12-2009
Messages : 241

Re : Projet Domotique / RFM12

QQun a une idée pour le protocole ? (ca me parait bizarre cette histoire de taille des paquets .. )

Hors ligne

#3 19-05-2010 22:44:46

ItHasU
MDL
Lieu : Brest
Inscription : 25-04-2010
Messages : 102
Site Web

Re : Projet Domotique / RFM12

J'ai regardé, la limitation ne semble pas due à la taille du buffer (2 octets).
C'est peut être un choix arbitraire un peu bizarre de la par du créateur de la lib RFM12 ... mais il a l'air balaise, ça m'étonne, je vais essayer de fouiller dans le code.

Hors ligne

#4 19-05-2010 22:57:34

jkx
Administrateur
Inscription : 12-12-2009
Messages : 241

Re : Projet Domotique / RFM12

D'après ce que j'ai vu, il existe un autre protocole WidgetMesh (http://code.google.com/p/strobit/wiki/WidgetMesh) qui utilise un protocole assez similaire .. et le nb d'octet est supérieur.

Je n'arrive pas à trouver extactement comment fonctionne la notion de src/dest/ack .. mais ca ne me plait pas des tonnes ..
La notion de groupe, c'est bien ce que je pensais il utilise l'octet de signature (0xD4 pour le 12B, et variable chez les autres..) donc voila..c'est pas forcément stupide ..
Sauf que ca revient à dire que c'est 0xD4, car j'ai du mal à croire que sur un réseau on a aucun RFM12B, vu que c'est le seul modèle à supporter le 5v (et que le 5V c'est indispensable par ex pour les DS1820 .. )


A ++

Hors ligne

#5 20-05-2010 01:00:57

jkx
Administrateur
Inscription : 12-12-2009
Messages : 241

Re : Projet Domotique / RFM12

Ok, après avoir lu le code .. c'est un peu + clair. En fait, le nb de node est 31 (32 -1 pour 0, qui est le node 0 addr de broadcast ?) .. ensuite dans l'interface c'est de 0 à 26, car ca correspond à une lettre de l'alphabet. Dans le genre de limitation stupide c'est ben classé.

rf12._0000044d.png

Pour le 32, je crois qu'il fait un mix à gros coup de mask, sur le champs HDR pour savoir qui est la source, le destinataire, et le type de paquet

Hors ligne

#6 20-05-2010 09:01:21

ItHasU
MDL
Lieu : Brest
Inscription : 25-04-2010
Messages : 102
Site Web

Re : Projet Domotique / RFM12

J'ai regardé comment il faisait son HDR, c'est :
b7 : CTRL = 1 -> message de contrôle
b6 : DST = 1 -> message pour le destinataire
b5 : ACK = 1 -> acknowledge
b4..b0 : HDR = 0..31 -> adresse du destinataire

Je n'ai pas l'impression qu'il combine CTRL, DST et ACK.
On pourrait gagner un mode et 32 noeuds en mettant sur deux bits.

HDR est défini dans rf12_sendStart :
- à l'adresse du noeud qui transmet dans le cas de CTRL et ACK,
- ou à l'adresse du noeud de destination dans les autres cas.

Hors ligne

#7 20-05-2010 12:56:51

jkx
Administrateur
Inscription : 12-12-2009
Messages : 241

Re : Projet Domotique / RFM12

En tout cas, pour gagner 2 octets (ou 3 ..) ... plus je lis le code de cette lib, plus je me dis que c'est bien compliqué pour pas grand chose.
Je me demande dans quelle mesure, le code de Das Labor n'est pas plus approprié, modulo que c'est pas du code pour Arduino.

http://www.das-labor.org/wiki/RFM12_library/en

Le format des paquets est + simple, le code bcp + commenté et en plus ca devrait tourner même hors de l'arduino (ce qui m'arrange..)


A ++

Hors ligne

#8 20-05-2010 13:35:31

ItHasU
MDL
Lieu : Brest
Inscription : 25-04-2010
Messages : 102
Site Web

Re : Projet Domotique / RFM12

Je suis partant pour me passer de toute la couche Arduino. Il me semble que c'est plus bon pour faire des prototypes rapidement que des gros projets. Par contre, ça implique apprendre la programmation pour AVR (notamment la commande du module SPI et les interruptions).

Il y a un truc pas mal dans la nouvelle librairie dont tu nous parle, c'est la gestion de collision. Jeenode n'en parlait pas et je ne sais pas trop comment la lib se comporte quand 3 périphériques sont connectés et que deux commencent à émettre en même temps. On a pas eu le problème la semaine dernière parce qu'on avait que deux modules et qu'on ne transmettait pas en même temps, mais si jamais un module commence une transmission pendant que deux autres sont en train de communiquer, ça doit foutre la zone.

Est-ce qu'on prévoit aussi le cas où des modules ne peuvent pas tous communiquer avec tous les modules (mesh en XBee) ? Ca me semble un peu compliqué, mais il faudrait y penser, surtout si on veut mettre des modules à l'extérieur, au fond du jardin. On peut aussi rajouter ça plus tard.

Hors ligne

#9 20-05-2010 15:15:27

jkx
Administrateur
Inscription : 12-12-2009
Messages : 241

Re : Projet Domotique / RFM12

Dans Jeelab avant tout envoi, il regarde la bande s'il y a du traffic, s'il n'y en a pas il send, sinon il attend ...

Pour le mesh, y a des posts interessants sur le forum de Jeelab, mais c'est complexe, car il faut gérer les voix de retour, marquer les paquets etc etc ..
Ca me parait complexe pour au final peut être pas grande chose. Peut être qques simples repeater ca le fait non ? C'est ce que préconise JeeLab au final.
D'après ce que j'ai compris, il utilise en général le broadcast pour les capteurs, et donc forcément pour le routage ca marche pas ...

Mais je pense que l'on doit pouvoir facilement rajouter un simple fowarder qque part dans le réseau pour une zone d'ombre.

Hors ligne

#10 20-05-2010 15:24:05

ItHasU
MDL
Lieu : Brest
Inscription : 25-04-2010
Messages : 102
Site Web

Re : Projet Domotique / RFM12

Effectivement, c'est un peu bourrin de gérer un mesh de périphériques ... autant prendre du Xbee à la rigueur.
Du coup si on considère qu'il n'y a plus de zones d'ombre, il ne risque pas d'y avoir d'interférences lors des envois puisque tout le monde reçoit tout.

Hors ligne

#11 20-05-2010 16:23:04

jkx
Administrateur
Inscription : 12-12-2009
Messages : 241

Re : Projet Domotique / RFM12

Tout le monde recoit tout, mais ne le traite pas forcément .. donc ...

Par contre dans la lib de das-labor, toutes les emissions sont ACKés donc le pb d'interférence ne devrait pas apparaitre. ou du moins le comprend comme ca ..

Hors ligne

#12 22-05-2010 02:24:12

jkx
Administrateur
Inscription : 12-12-2009
Messages : 241

Re : Projet Domotique / RFM12

Voila, j'ai bataillé un peu, mais j'ai réussi à faire fonctionner la lib de das-labor sur les cartes Arduino ... en fait, c'est juste le fichier de config à changer (et refaire marcher l'uart) ..

Par contre, je n'ai pas réussi à faire fonctionner tout cela dans l'IDE d'Arduino .. en effet c'est une lib en C pur .. j'ai bataillé un peu, mais j'ai trop de soucis avec des includes ..
J'ai donc repris le style à l'ancienne.. mais en contre partie, j'ai du me farcir la config de l'uart à la main ..


Au final, on a juste à jouer avec un buffer d'émission et un de réception, au final le ping pong fait 2400octets ..

Comme le faisait remarquer Ludo ce soir, c'est génant que ce soit pas intégré dans l'Arduino. Dans le cadre des ateliers, je suis assez d'accord là dessus, notamment car ca
rajoute de la complexité .. après dans le cadre de dev, je trouve ca sympa de pouvoir l'utiliser Off arduino, perso j'intégrerait bien ce genre de chose dans ma future horloge Nixie wink

A ++

Hors ligne

#13 03-06-2010 00:07:35

jkx
Administrateur
Inscription : 12-12-2009
Messages : 241

Re : Projet Domotique / RFM12

Je viens de déposer les sources du code das-labor pour les Arduino sur github ..
- http://github.com/jkx/test-328

Comme vous pouvez le voir, c'est relativement simple tout est dans le txtext.c .. le reste ce n'est que de la config ...
PS: Ne soyez pas intimidé par le code de gestion d'uart, c'est toujours la même sauce (c'est un cut/paste), il suffit juste de changer  de registre en fonction du modèle (m328, m8..)

A ++

Hors ligne

#14 08-06-2012 19:52:11

dturnier
MDL
Inscription : 08-06-2012
Messages : 10
Site Web

Re : Projet Domotique / RFM12

je les fait avec deux prise et sa marche je ferai un petit shema si vous voulez

Hors ligne

Pied de page des forums