Ydle - version 0.5

Master-Plugin

FIXME FIXME FIXME cette page est en cours de création, en cas de problème voir le forum correspondant : Forum FIXME FIXME FIXME

Le Master Plugin change complétement par rapport au Master actuel. Il utilise non seulement des plugins comme son nom l'indique mais il est également déporté sur une atmega328p (ou Arduino) et dialogue avec le Raspberry par liaison série.

Matériel

Le matériel nécessaire pour le master est le suivant :

comme pour le master actuel :

 Un raspberry Pi modèle B ou B+

 Une alimentation 5V/1A micro usb

 Une carte SD (8Go ou 16Go recommandée)

 Un émetteur et recepteur 433 mhz (je vous conseil ceux-ci : Récepteur et Émetteur )

 Quelques fils de connexion

 Une breadboard

Mais egalement :

  • d'un Arduino UNO (au minimum)
  • et d'un convertisseur de tension 3.3V ↔ 5V car les tensions GPIO ne sont pas les mêmes entre le PI et l'arduino

Les sources

Vous trouverez les source sur le github du projet : Github

Tutoriel

Sur Windows

  • D'abord récupérer les sources sur github.
  • Ensuite copier le dossier serial-rf (qui se trouve dans plugin) dans le dossier de librairie de votre IDE.
  • Injecter le sketch serial-rf/YdleSerial/YdleSerial.ino sur l'atmega328.

Sur le raspberry

Récupération des sources

On va déjà se déplacer dans notre home directory

cd
pwd

Vous devriez être dans le répertoire suivant

pi@raspberrypi ~ $ pwd
/home/pi

On va clôner le repository git du master

git clone https://github.com/Ydle/Master-plugins

Résultat : Un dossier master devrait être créer dans votre répertoire de travail.

Ménage

Il faut faire un peu de ménage pour le moment car nous n'est pas fonctionnel et du test est present

cd Master-plugins
sudo rm -rf plugins/rf
sudo rm -rf plugins/i2crf
sudo rm -rf plugins/lua1
sudo rm -rf plugins/lu-scripts
sudo rm -rf plugins/titi

Compilation

Pour compiler :

make

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).

Exécution

pour lancer l'exécution, il faut se placer dans le répertoire Master-plugins et taper :

sudo ./master.sh

Copie du Forum

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 convertisseur de tension 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'à !!!!


Autres langues
Traductions de cette page:
QR Code
QR Code Master-Plugin (generated for current page)