Go Down

Topic: Mysensors serial gateway avec arduino nano et RFM69 (Read 2611 times) previous topic - next topic

Leptro

Bonjour à tous,

Après des mois de tergiversations, j'ai décidé de migrer mes différents modules domotiques actuellement en wifi vers un réseau HF à base RFM69 dans la bande de fréquence de 868MHz , bande ISM autorisée en EUrope.

Il existe bien-sure les mêmes modules en 433MHz, mais cette bande est saturée.

je n'invente rien.. tout est basé sur la librairie mysensors et le serial gateway que vous trouverez à l'adresse suivante https://www.mysensors.org/build/serial_gateway

Sur mon blog ( premier vraie post...) Electronique et Bricolage, vous avez une copie de ce post.
voici le câblage recommandée pour le module RFM69


vous avez le schéma de câblage pour la pro mini que j'ai adapté à la nano et rajoutant :
un régulateur 3.3v
un adaptateur de niveau car le rfm69 ne fonctionne qu'en 3.3V
une prise antenne




Le PCB a été fait pour faciliter la réalisation maison.

Je ferais une version plus compacte pour la réalisation par une société de PCB en ligne.



En PJ le fichier ino pour la uno.

Leptro

quelques photos de la réalisation:

PCB Top

Pcb Bottom


gateway presque terminée



Gateway soudée reliée à la RPI qui fait tourner domoticz


hbachetti

Salut Leptro.

Quote
je n'invente rien.. tout est basé sur la librairie mysensors et le serial gateway que vous trouverez à l'adresse suivante https://www.mysensors.org/build/serial_gateway
Et tu n'as pas tort.

Connais-tu ces modules RFM69CW :

https://fr.aliexpress.com/item/32736770484.html?spm=a2g0s.9042311.0.0.27426c37v1Hr6B



Ils sont bien marqués 433MHz. J'ai soudé une antenne (fil de 16.5 cm).

J'ai fait un essai avec une passerelle et un capteur :
Code: [Select]

#define MY_RADIO_RFM69
#define MY_RFM69_FREQUENCY RFM69_433MHZ


Passerelle :
Code: [Select]

0;255;3;0;9;0 MCO:BGN:INIT GW,CP=RRNGA---,REL=3,VER=2.3.2-beta
0;255;3;0;9;16 TSM:INIT
0;255;3;0;9;22 TSF:WUR:MS=0
0;255;3;0;9;30 TSM:INIT:TSP OK
0;255;3;0;9;40 TSM:INIT:GW MODE
0;255;3;0;9;49 TSM:READY:ID=0,PAR=0,DIS=0
0;255;3;0;9;59 MCO:REG:NOT NEEDED
0;255;3;0;14;Gateway startup complete.
0;255;0;0;18;2.3.2-beta
0;255;3;0;9;71 MCO:BGN:STP
0;255;3;0;9;94 MCO:BGN:INIT OK,TSP=1
0;255;3;0;9;104 TSM:READY:NWD REQ
0;255;3;0;9;1337 TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=20,pt=0,l=0,sg=0,ft=0,st=OK:


Le capteur :
Code: [Select]
18 MCO:BGN:INIT NODE,CP=RRNNA---,REL=3,VER=2.3.2-beta
28 TSM:INIT
28 TSF:WUR:MS=0
32 TSM:INIT:TSP OK
34 TSM:FPAR
1253 TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
3262 !TSM:FPAR:NO REPLY
3264 TSM:FPAR
4483 TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
6492 !TSM:FPAR:NO REPLY
6494 TSM:FPAR
7712 TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
9721 !TSM:FPAR:NO REPLY
9723 TSM:FPAR
10942 TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:


Côté SPI ça a l'air de bien se passer mais pas de réponse de la passerelle.
Bien entendu j'ai essayé à différentes distances : 2, 5, 8m.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Leptro

Bonjour Henri,
Non.. je n'ai pas encore les modèles CW.. mes modules sont en stock chez moi depuis plusieurs mois déjà.
Ces modèles sont récentes (à priori) et plus compact que les modèles non "C".

Lors de ma mise au point aujourd'hui,
j'ai eu le mème soucis que toi.

Le problème venait des antennes qui je pensais fait pour du 868Mhz.

Je les ai modifiés.. celle du bas est d'origine et celle du haut est un fil de 82.2mm pour le 868MHz.


voici un LIEN avec les messages d'erreurs ça m'a beaucoup aidé à comprendre la source du problème.

J'ai aussi lu que si l'émetteur et le récepteur sont trop près, cela peux saturer les étages d'entrée et corrompre les données.

Dans ton cas la communication arduino vers RFM fonctionne.. les logs indiquent TSP=Ok soit transport OK.

Je vois aussi que la librairie que tu utilise est la 2.3.2 beta!
chez moi c'est la 2.3.2

En complément, un LIEN pour la conception d'antenne.

Au plaisir d'échanger.

Leptro


hbachetti

Quote
Dans ton cas la communication arduino vers RFM fonctionne.. les logs indiquent TSP=Ok soit transport OK.
Oui c'est bien ça.

Quote
Je vois aussi que la librairie que tu utilise est la 2.3.2 beta!
Je vais mettre à jour.

J'espère qu'il n'y a pas d'erreur sur le marquage des modules : coup de feutre sur la case 433MHz  :smiley-confuse:

Merci @+.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Leptro

encore une petite précision:
Code: [Select]


#define MY_RADIO_RFM69
#define MY_RFM69_FREQUENCY RFM69_433MHZ


ces lignes doivent être déclarées avant le
Code: [Select]

#include <MySensors.h>


pour que ça fonctionne.

Coté gateway, j'ai utilisé une version RFM69HW  pour plus de puissance d'émission.

d'où :
Code: [Select]
#define MY_IS_RFM69HW

Avec et sans c'est le jour et la nuit.

hbachetti

Quote
encore une petite précision:

#define MY_RADIO_RFM69
#define MY_RFM69_FREQUENCY RFM69_433MHZ

ces lignes doivent être déclarées avant le

#include <MySensors.h>
Oui bien sûr.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Leptro

Hbachetti... du nouveau?

ça communique enfin?

hbachetti

J'ai mis à jour en 2.3.4.
Le capteur est OK, il faut que je flashe la passerelle.
Pas eu le temps aujourd'hui  :smiley-confuse:
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

hbachetti

Avec 2.3.4.
Pas mieux.

J'ai remis à jour avec la version 2.3.2.
Pas mieux.

Par contre en branchant passerelle et capteur à 1m de distance sur le même PC, sans DOMOTICZ :

Code: [Select]

106780 TSF:MSG:SEND,255-255-0-0,s=16,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
108789 TSM:ID
108789 TSM:ID:REQ
108802 TSF:MSG:SEND,255-255-0-0,s=245,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
110811 TSM:ID
110811 TSM:ID:REQ
110823 TSF:MSG:SEND,255-255-0-0,s=219,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
112832 TSM:ID
112832 TSM:ID:REQ
112844 TSF:MSG:SEND,255-255-0-0,s=192,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
114853 !TSM:ID:FAIL


114853 !TSM:ID:FAIL : Did not receive a node id from controller. Is your controller connected and correctly configured?

Bizarre mais ça avance.

Le premier problème "NO REPLY" semble être un problème de distance, ou alors de proximité avec la passerelle RFLINK ou la RASPBERRY.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

hbachetti

#10
Feb 11, 2020, 03:10 pm Last Edit: Feb 11, 2020, 03:11 pm by hbachetti
J'ai éloigné la passerelle RFM69 de la RASPBEERY PI et de RFLINK de quelques 10cm.

Cette fois ça passe.

Par contre j'ai toujours :
!TSM:ID:FAIL

J'ai effacé l'EEPROM (sketch ClearEepromConfig).

Idem.

J'ai ajouté ceci :
#define MY_NODE_ID 2
#include <MySensors.h>

TSM:ID:OK

Ensuite je peux retirer :
//#define MY_NODE_ID 2

TSM:ID:OK

Je vois mon capteur "Motion Sensor" dans la page Réglages / Matériel (Réglages passerelle 433).
Je vois également mon capteur dans la page Réglages / Dispositifs.

Un commentaire : c'est merdique ... même avec presque 4 ans d'expérience MYSENSORS.

Côté NRF24L01 j'ai une passerelle NRF24L01 PA+LNA
Mon bureau est à 8m de distance + 1 mur de 40cm à traverser.
Même en essayant de communiquer depuis mon bureau avec un capteur avec NRF24L01 PA+LNA, c'est franchement limite.

Avec le RFM69 c'est beaucoup plus confortable.

Par contre je vise une intégration de toutes les cartes dans un boîtier :
- RASPBERRY PI
- passerelle RFLINK
- passerelle NRF24L01
- passerelle RFM69

Si le RFM69 ne supporte pas la proximité avec RASPBERRY ou RFLINK cela risque d'être du sport  :smiley-confuse:


@+
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Leptro

Exactement la même expérience de mon coté..
Impossible d'avoir l'ID au début.

J'ai mis id à 2 .. #define MY_NODE_ID 2   communication ok.

puis j'ai retiré.. //#define MY_NODE_ID 2

Je n'ai pas effacé l'eeprom.

Je n'ai que la passerelle RFM69 pour le moment.

Je suis en train de faire un module éclairage 2 voies pour le jardin..

Je ferais un retour d'expérience ici.


hbachetti

Quote
Impossible d'avoir l'ID au début.
Avec NRF24L01 pas de problème.

Et à propos de la proximité du RFM69 avec la RASPBERRY ?
Tu as remarqué quelque chose ?
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Leptro

Et à propos de la proximité du RFM69 avec la RASPBERRY ?
Tu as remarqué quelque chose ?

Je viens de faire des essais   gateway avec RFM69 en 868MHz collé au raspberrypi 3..
Je n'ai pas l'impression qu'il y ai des interférences

Sur 6 essais à l'extrémité de mon jardin soit 30m entre la gateway et le capteur , je n'ai eu qu'une seule erreur de connexion..

Je ferais des essais avec le module connecté à un portable pour relever les erreurs si j'arrive à les reproduire.

pour l'instant les tests de portée dans ma maison sont satisfaisants.

hbachetti

Quote
Je n'ai pas l'impression qu'il y ai des interférences
Il est possible que la proximité avec le RFLINK 433MHz soit en cause.

Merci.

PS : en parlant de jardin, pense à la tropicalisation des cartes.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Go Up