P13 Plateforme expérimentation IOT : Différence entre versions
(→Exemple de capteur) |
(→Programmation à l'aide de la Rasbpberry) |
||
Ligne 8 : | Ligne 8 : | ||
===Programmation à l'aide du mkII=== | ===Programmation à l'aide du mkII=== | ||
===Programmation à l'aide de la Rasbpberry=== | ===Programmation à l'aide de la Rasbpberry=== | ||
+ | =====Bibliothéque===== | ||
+ | Afin de pouvoir programmer l'atxmega sur la raspberry , on a bessoin des bibliothéques suivantes sur Debian :<br> | ||
+ | - gcc-avr<br> | ||
+ | - binutils-avr<br> | ||
+ | - https://github.com/DiUS/xmega-pdi-pi2 <br> | ||
+ | - build-essential<br> | ||
+ | - g ++ <br><br> | ||
+ | -libcm2835<br> | ||
+ | Installation<br> | ||
+ | wget http://67.192.60.197/mikem/bcm2835/bcm2835-1.4.6.tar.gz <br> | ||
+ | tar xvfz bcm2835-1.4.6.tar.gz; <br> | ||
+ | cd bcm2835-1.4.6; <br> | ||
+ | ./configure; <br> | ||
+ | make; <br> | ||
+ | sudo make install<br><br> | ||
+ | =====Sa programmation===== | ||
+ | Afin de pouvoir programmer le fichier .hex donnée en exemple il faut éxécuter cette procédure :<br> | ||
+ | -Compilation du fichier C <br> | ||
+ | $ avr-gcc -g -Os -mmcu=atxmega64a1 -c demo.c <br> | ||
+ | -Génération du fichier hex<br> | ||
+ | $ avr-gcc -g -mmcu=atxmega64a1 -o demo.elf demo.o<br> | ||
+ | $ avr-objcopy -j .text -j .data -O ihex demo.elf demo.hex <br> | ||
+ | -Transfert du fichier .hex à la racine de la raspberry<br> | ||
+ | scp nom_fichier.hex pi@adresse_raspberry:~/ <br> | ||
+ | -Transfert de la raspberry vers l'atxmega<br> | ||
+ | sudo ./pdi -c (Numéro de la GBIO de la Clock) -d (Numéro de la GBIO de la Data) -a override base address (note: PDI address space) - F Nom du fichier.hex <br> | ||
+ | |||
+ | =====Exemple===== | ||
+ | Clignotement d'une Led :<br> | ||
+ | Code C : <br> | ||
+ | #include <avr/io.h><br> | ||
+ | int main (void)<br> | ||
+ | {<br> | ||
+ | int i;<br> | ||
+ | PORTB.DIR= 1;<br> | ||
+ | while(1)<br> | ||
+ | {<br> | ||
+ | PORTB.OUT=0;<br> | ||
+ | for(i=0;i<=10000;i++);<br> | ||
+ | PORTB.OUT= 1;<br> | ||
+ | for(i=0;i<=10000;i++);<br> | ||
+ | }<br> | ||
+ | }<br> | ||
+ | <br> | ||
+ | Fichier hex généré pour l 'atxmega<br> | ||
+ | <center>[[Fichier:PFE_p13_PDI_pi2.JPG|500px]]</center> | ||
==La composition d'un noeud== | ==La composition d'un noeud== |
Version du 24 novembre 2015 à 08:38
Sommaire
Présentation du projet
Contexte
Cahier des charges
Planification
A la découverte de la programmation pdi
Présentation du PDI
Programmation à l'aide du mkII
Programmation à l'aide de la Rasbpberry
Bibliothéque
Afin de pouvoir programmer l'atxmega sur la raspberry , on a bessoin des bibliothéques suivantes sur Debian :
- gcc-avr
- binutils-avr
- https://github.com/DiUS/xmega-pdi-pi2
- build-essential
- g ++
-libcm2835
Installation
wget http://67.192.60.197/mikem/bcm2835/bcm2835-1.4.6.tar.gz
tar xvfz bcm2835-1.4.6.tar.gz;
cd bcm2835-1.4.6;
./configure;
make;
sudo make install
Sa programmation
Afin de pouvoir programmer le fichier .hex donnée en exemple il faut éxécuter cette procédure :
-Compilation du fichier C
$ avr-gcc -g -Os -mmcu=atxmega64a1 -c demo.c
-Génération du fichier hex
$ avr-gcc -g -mmcu=atxmega64a1 -o demo.elf demo.o
$ avr-objcopy -j .text -j .data -O ihex demo.elf demo.hex
-Transfert du fichier .hex à la racine de la raspberry
scp nom_fichier.hex pi@adresse_raspberry:~/
-Transfert de la raspberry vers l'atxmega
sudo ./pdi -c (Numéro de la GBIO de la Clock) -d (Numéro de la GBIO de la Data) -a override base address (note: PDI address space) - F Nom du fichier.hex
Exemple
Clignotement d'une Led :
Code C :
- include <avr/io.h>
int main (void)
{
int i;
PORTB.DIR= 1;
while(1)
{
PORTB.OUT=0;
for(i=0;i<=10000;i++);
PORTB.OUT= 1;
for(i=0;i<=10000;i++);
}
}
Fichier hex généré pour l 'atxmega
La composition d'un noeud
La carte mére
Sa fonction
Sa composition
Exemple
La carte fille
Sa fonction
Sa composition
Exemple
La carte petite fille
Sa fonction
Sa composition
Exemple de capteur
- Mesure de la température
Ce type de capteur utilise le convertisseur analogique numérique du microcontroleur. Les paramétres à configurés seront les suivantes :
* Quantum
* Plage de mesure
* Registre
Ce capteur à les caractéristiques suivantes :
Fournisseur : Conrard
Référence :Capteur de température numérique TSIC506 boîtier TO 92 B & B Thermotechnik TSIC506-TO92
Plage de mesure :-10 C - 60C
Tension d'alimentation :3-5.5V
Précision : +/- 0.1 C
Consommation : 30 - 60 µA
- Mesure du volume sonore
La mesure d'un volume sonore se réalise par la transformation d'un vibration en un signal éléctrique.Afin de pouvoir l'exploiter il faudra
le connecté sur le convertisseur analogique numérique du microcontroleur.Les paramétres à configurés seront les suivantes :
* Quantum
* Registre
Ce capteur à les caractéristiques suivantes :
Fournisseur : Zartronic.fr
Référence :Capteur Sonore Analogique
Tension d'alimentation :5V
- Mesure de la luminosité
La mesure de la luminosité s'effectue avec l'aide d'un photo-transistor. Le photo-tansistor fera varier une résistance. On peut mesurer sa tension
a ses bornes. Cette tension étant trés faible il est nécessaire d'avoir un amplificateur en sortie. La tension sera exploitable par le
convertisseur analogique numérique du microcontroleur.Les paramétres à configurés seront les suivantes :
* Quantum
* Registre
Ce capteur à les caractéristiques suivantes :
Fournisseur : Conrard
Référence :Photo-résistance FW200