Master-plugins

Tout ce qui est en rapport avec le développement du master
fets13
Messages : 100
Inscription : 30 Novembre 2013, 22:49
Localisation : 83

Master-plugins

Messagepar fets13 » 26 Novembre 2014, 20:53

Et voilà, la version de Master-plugins que je viens de mettre à jour intègre le plugin du protocole série/RF.
Ce protocole permet faire communiquer le raspberry pi avec un arduino (atmega328) via une liaison série pour que ce dernier envoie/réceptionne les trames RF échangées entre le pi et les nodes.
Pour l'instant, je n'ai pu tester qu'avec un seul node.

Liaison série
Le câblage utilisé pour la liaison série est le suivant :
PI Tx ----> Arduino pin 5
PI Rx <---- Arduino pin 4

Code : Tout sélectionner

ATTENTION, j'ai utilisé un [url=http://www.ebay.fr/itm/131223478597?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649]convertisseur de tension[/url] 3.3V <-> 5V car les tensions GPIO ne sont pas les mêmes entre le PI et l'arduino  !!!!!!!

Pour des besoins de debug (console), j'ai utilisé l'objet SoftwareSerial sur l'arduino pour communiquer avec le PI. ce qui m'a contrait à réduire le baudrate à 9600 pour que ça marche. A terme, j'utiliserai l'objet Serial (HardwareSerial)

Sketch arduino
le sketch à utiliser sur l'atmega328 est plugins/serial-rf/YdleSerial/YdleSerial.ino
il s'occupe du côté RF433 et dialogue avec le pi.

Ménage avant de commencer la génération
Après avoir récupérer le repository du Master-plugins, effacer les répertoires suivants pour éviter d'avoir des problèmes par la suite :
- plugins/rf
- plugins/i2crf
- plugins/lua1
- plugins/lu-scripts
- plugins/titi


Génération master
pour générer l'application master, il suffit de faire :
cd Master-plugins
make
Normalement tout devrait se compiler, en tout cas chez moi ça le fait. Ça fait 9 mois que j'ai fait la 1ere version et je ne souviens plus si j'avais dû installer des paquets supplémentaires :oops:

A l'issue de la compilation, le répertoire bin devrait contenir :
- libMisc.so
- objs
- plugins
- ydlemaster

Configuration
A la racine de l'appli, il existe le fichier ydle.conf dont le nouveau contenu devrait être expliciter brièvement

Pour modifier les pins utilisées pour l'émetteur et réceptuer RF sur l'arduino il faut regarder dans le fichier plugins/serial-rf/YdleSerial/ydle.cpp, comme j'utilise le constructeur par défaut, il faut modifier les lignes 74 (pinRx=12) et 75 (pinTx=10).

Pour modifier les pins utilisées pour la liaison série sur l'arduino, il faut modifier le fichier plugins/serial-rf/YdleSerial/YdleSerial.ino à la ligne 23 : rs = new RS232 (5,4, 9600) ;. Avec 5 qui la pin de Rx (réception) et 4 la pin du Tx (transmission).


Levons le voile
Comment ça marche :
au lancement, l'application va scruter le contenu du répertoire bin/plugins et rechercher tous les plugins de type "Protocol" et ceux de type "Node".
Si vous avez suivi ce que j'ai écrit au dessus, il devrait avoir :
- 1 protocole nommé Serial-RF
- 2 types de node : NODE VERSION 0.5 et DHT11.
* Le type "NODE VERSION 0.5" doit avoir 1 node : ident 123 (ma config)
* et le DHT11 devrait avoir 2 nodes : 11 et 124.


Exécution
pour lancer l'exécution, il faut se placer dans le répertoire Master-plugins et taper :
sudo ./master.sh
Et puis, c'est parti et ça devrait fonctionner. :ugeek:

Y'a plus qu'à !!!!

J'attends vos 1ers retours ......

To be continued ...
Dernière édition par fets13 le 29 Novembre 2014, 13:16, édité 1 fois.

raukoras
Messages : 47
Inscription : 26 Juin 2014, 21:08

Re: Master-plugins

Messagepar raukoras » 27 Novembre 2014, 09:21

Si je comprend bien, le Master-plugin se charge de faire communiquer le Hub (logé sur le Pi) avec un Atmega328 déporté.

La liaison Atmega <---> nodes n'est pas encore implémentée.

J'ai bon ?

Il n'y a pas des manip spécifiques à faire, du style désactiver le debug sur le port série du Pi ?

EDIT : j'ai relu ton post, et apparemment le RF est supporté. Yabon.
Il y a des condo/résistances à brancher, ou c'est en direct ?

fets13
Messages : 100
Inscription : 30 Novembre 2013, 22:49
Localisation : 83

Re: Master-plugins

Messagepar fets13 » 27 Novembre 2014, 20:21

raukoras a écrit :EDIT : j'ai relu ton post, et apparemment le RF est supporté. Yabon.
tout à fait

raukoras a écrit :Il y a des condo/résistances à brancher, ou c'est en direct ?
à part l'adaptation de tension, rien d'autre

Avatar de l’utilisateur
Xylerk
Messages : 149
Inscription : 18 Décembre 2013, 17:35
Localisation : Jura

Re: Master-plugins

Messagepar Xylerk » 29 Novembre 2014, 11:30

Le code a mettre dans l'atmega "maître" est YdleSerial.ino si j'ai bien tout compris.

Le node avec l'identifiant 123 permet d'envoyer une seule valeur parmi les types DATA_ETAT, DATA_DEGREEC, DATA_DEGREEF, DATA_POURCENT, DATA_DISTANCE, DATA_PRESSION, DATA_HUMIDITY, DATA_WATT.

On ne peut pas rajouter des nodes de cette façon dans ydle.conf:

Code : Tout sélectionner

   
# node types configuration used by NodesManager
nodes: {
# number of existing types of nodes
number = "2" ;
# description of each node type from ode 1 to node#number
# nodei = "plugin_name | nodes ident separated by comma"
node1 = "NODE VERSION 0.5|123" ;
node2 = "DHT11|11,124" ;
node3 = "NODE VERSION 0.5|5" ;# Par exemple T chambre
node4 = "NODE VERSION 0.5|8" ;# Par exemple T salon
node5 = "NODE VERSION 0.5|12" ;# Par exemple état relais
}
Dernière édition par Xylerk le 30 Novembre 2014, 10:01, édité 3 fois.

fets13
Messages : 100
Inscription : 30 Novembre 2013, 22:49
Localisation : 83

Re: Master-plugins

Messagepar fets13 » 29 Novembre 2014, 13:27

xylerk a écrit :En attente de validation
Le code a mettre dans l'atmega "maître" est YdleSerial.ino si j'ai bien tout compris.
Oui tout à fait. J'ai modifié le 1er post pour que ce soit plus clair.

xylerk a écrit :Le node avec l'identifiant 123 permet d'envoyer une seule valeur parmi les types DATA_ETAT, DATA_DEGREEC, DATA_DEGREEF, DATA_POURCENT, DATA_DISTANCE, DATA_PRESSION, DATA_HUMIDITY, DATA_WATT.

On peut rajouter des nodes dans ydle.conf:

Code : Tout sélectionner

   
# node types configuration used by NodesManager
nodes: {
# number of existing types of nodes
number = "2" ;
# description of each node type from ode 1 to node#number
# nodei = "plugin_name | nodes ident separated by comma"
node1 = "NODE VERSION 0.5|123" ;
node2 = "DHT11|11,124" ;
node3 = "NODE VERSION 0.5|5" ;# Par exemple T chambre
node4 = "NODE VERSION 0.5|8" ;# Par exemple T salon
node5 = "NODE VERSION 0.5|12" ;# Par exemple état relais
}
Non ces lignes servent à rajouter les types de nodes.
Comme ceux que tu veux rajouter sont du même type (NODE VERSION 0.5) que le 123, il faut modifier la ligne node1 par :
node1 = "NODE VERSION 0.5|5,8,12,123" ;.
Tu n'es pas obligé de garder l'ident 123
Pour l'instant, en V0.5, on n'utilise que le type node1.
J'espère avoir été clair

Avatar de l’utilisateur
Xylerk
Messages : 149
Inscription : 18 Décembre 2013, 17:35
Localisation : Jura

Re: Master-plugins

Messagepar Xylerk » 29 Novembre 2014, 13:33

Autant pour moi, faut que j'apprenne à lire...

Code : Tout sélectionner

# nodei = "plugin_name | nodes ident separated by comma"


Chez moi il manquait la librairie liblua5.1-0-dev pour mener à bien la compilation.

Et pour le lancer après la compilation:

Code : Tout sélectionner

sudo sh master.sh

fets13
Messages : 100
Inscription : 30 Novembre 2013, 22:49
Localisation : 83

Re: Master-plugins

Messagepar fets13 » 29 Novembre 2014, 21:07

xylerk a écrit :Chez moi il manquait la librairie liblua5.1-0-dev pour mener à bien la compilation.
Oui c'est vrai, j'avais oublié. Ce sera utilisé si on jour on utilise lua. J'avaisi commencé à faire des tests avec.
Ca fait partie des quelques plugins que je fais effacer avant de générer.

xylerk a écrit :Et pour le lancer après la compilation:

Code : Tout sélectionner

sudo sh master.sh
Où est la question ?

As-tu réussi à exécuter et à vérif le bon fonctionnement avec tes nodes ?

Avatar de l’utilisateur
Xylerk
Messages : 149
Inscription : 18 Décembre 2013, 17:35
Localisation : Jura

Re: Master-plugins

Messagepar Xylerk » 29 Novembre 2014, 21:13

Pas de questions juste que pour lancer le master il fallait que je tape cette commande et non celle que tu avais donnée.
Pas encore pu tester avec les nodes, juste la communications avec le HUB.

fets13
Messages : 100
Inscription : 30 Novembre 2013, 22:49
Localisation : 83

Re: Master-plugins

Messagepar fets13 » 29 Novembre 2014, 21:39

xylerk a écrit :Pas de questions juste que pour lancer le master il fallait que je tape cette commande et non celle que tu avais donnée.
OK.
Il me semble que chez moi "sh ./master.sh" marche, Ce doit être parce que mon fichier master.sh a les droits d'exécution.

Avatar de l’utilisateur
EricDele
Messages : 167
Inscription : 21 Octobre 2013, 21:43
Localisation : Melun

Re: Master-plugins

Messagepar EricDele » 03 Décembre 2014, 13:31

Serait-il possible d'avoir un schéma de montage avec ton raspi et l'atmega ainsi que la liste des composants de façon à pouvoir tester ta solution ?
Merki.


Revenir vers « Master »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron