Projet IMA3 P6, 2017/2018, TD1 : Différence entre versions

De Wiki de Projets IMA
(Description du système)
(Travail à réaliser)
 
(123 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 2 : Ligne 2 :
  
  
 +
FOUCAULT Rémi
  
-- WIKI EN COURS DE RÉDACTION - Nous avons encore besoin de finaliser notre travail sur la raspberry lundi - Le travail sera fini lundi soir --
+
DECLERCK Guillaume
  
 +
ANDRIAMBOLISOA Stephen
 +
 +
CHEN Wenjing
  
  
 
== Description du système ==
 
== Description du système ==
  
L'idée de base de notre projet est d'effectuer un tapis roulant trieur accompagné d'un site web qui nous servira à afficher des informations concernant le tri.
+
L'idée de base de notre projet est d'effectuer un tapis roulant trieur accompagné d'un site web qui nous servira à afficher des informations concernant le tri et interagir avec le tapis.
Le fonctionnement est le suivant :
+
Le fonctionnement est le suivant :
  - le tapis roulant roule et on pose un objet dessus
+
* le tapis roulant roule et on pose un objet dessus
  - en avançant l'objet passe devant un capteur qui détecte si l'objet est métallique ou non
+
* en avançant l'objet passe devant un capteur qui détecte si l'objet est métallique ou non
  - si c'est le cas, notre site web incrémente alors un compteur
+
* si c'est le cas, notre site web incrémente alors un compteur
  - en bout du tapis, un servomoteur actionne un bras qui réalise le tri en modifiant la trajectoire des objets selon la nature détectée par le capteur
+
* en bout du tapis, un moteur actionne un bras qui réalise le tri en modifiant la trajectoire des objets selon la nature détectée par le capteur
  - finalement les objets arrivent dans le bac correspondant à leur nature  
+
* finalement les objets arrivent dans le bac correspondant à leur nature  
  
 
Notre projet s'inspire des industries qui pourraient utiliser ce genre de système pour trier des objets métalliques.
 
Notre projet s'inspire des industries qui pourraient utiliser ce genre de système pour trier des objets métalliques.
 +
 
Les deux schémas suivants, bien que très sommaires, expliquent bien le principe de fonctionnement du système.
 
Les deux schémas suivants, bien que très sommaires, expliquent bien le principe de fonctionnement du système.
[[Fichier:tri1.jpg|frame|Une des deux positions de tri|left]]
+
[[Fichier:tri3.jpg|frame|Une des deux positions de tri|left]]
[[Fichier:tri2.jpg|none|frame|Autre position de tri|right]]
+
[[Fichier:tri4.jpg|none|frame|Autre position de tri|right]]
 +
 
 +
<br style="clear: both;" />
 +
 
 +
== Travail à réaliser ==
  
 +
Pour gérer la partie électronique, nous utiliserons une carte Arduino Uno et pour la partie informatique nous utiliserons une Raspberry Pi et un dongle wifi "Wi-pi"
  
==== Cahier des charges ====
+
Électronique :
 +
* Faire tourner le tapis avec un moteur
 +
* Configurer un détecteur de métal
 +
* Faire tourner le moteur pas à pas du bras de tri
  
Le premier objectif de notre projet est d'effectuer un capteur métallique qui incrémente un compteur sur notre site-web.
+
Informatique :
 +
* Configurer la Raspberry pi en point d'accès wifi
 +
* Réaliser la liaison série entre la Raspberry et l’Arduino
 +
* Créer le site web
  
Pour aller plus loin nous pourrions créer un mini-tapis roulant sur lequel on dépose les objets, et également incrémenter la détection d'objets non-métalliques pour faire un rapport.
+
== Matériel nécessaire ==
  
==== Matériel nécessaire ====
+
<font color=#3A9D23>1 Arduino Uno</font>
  
<font color=#FF0000>1 capteur d'objet métallique</font>
+
<font color=#3A9D23>1 Raspberry Pi et un dongle wifi "Wi-Pi"</font>
  
<font color=#3A9D23>1 moteur et 2 rouleaux permettant la rotation du tapis</font> -> Récupérés sur une imprimante
+
<font color=#3A9D23>1 moteur pas à pas et 1 contrôleur moteur</font>
  
<font color=#3A9D23>1 controleur moteur pour le tapis</font>
+
<font color=#3A9D23>1 moteur à courant continu et 2 axes de rotation</font>
  
<font color=#3A9D23>1 servomoteur pour commander la bras de tri</font>
+
== Activité électronique ==
  
=== Séance 1 ===
+
Pour le tapis roulant nous avons besoin de plusieurs choses : un matériau qui sera le tapis permettant le transport de l’objet, 2 axes pour la rotation du tapis et un moteur fournissant la rotation des axes.
Lors de la première séance, nous avons commencé par choisir un sujet que nous avons développé dans l'ensemble. Nous nous sommes ensuite séparés en deux groupes de deux personnes.
+
Pour les axes de rotation et le moteur, nous les avons obtenus en démontant pièce par pièce une imprimante usagée. C’est pourquoi dans la boîte de notre projet il y a un sachet avec plusieurs axes bien droit ainsi que divers moteurs et composants récupérés sur l'imprimante.
 +
Pour la matière constituant le tapis, notre première idée est d'utiliser un morceau de balatum cependant nous doutons de que celui ci ait une adhérence suffisante pour tourner autour d'un axe.
 +
Nous avons donc bel et bien les axes et le tapis en lui-même mais pour éviter de perdre trop de temps sur la conception mécanique du projet nous avons décidé de nous occuper d'abord de la gestion du moteur permettant la rotation du bras de tri. Nous reviendrons ensuite sur le moteur permettant la rotation du tapis et finalement le montage du tapis.
  
Partie Raspberry pi :
 
Le premier groupe à commencé la configuration de la Raspberry pi :
 
  
...
 
  
 +
[[Image:moteur2.jpg|thumb|Moteur de type NEMA 17|100px]]
  
  
Partie cahier des charges/matériel :
+
Le bras effectuant le tri devra se déplacer entre deux positions précises. Pour ceci, un moteur pas à pas est le plus adapté.
Dans le second groupe, nous nous sommes occupés du début de la rédaction du wiki : Cahier des charges, Description du projet, Matériel nécessaire.
+
La première étape afin d'approcher le moteur pas à pas qui nous a été fourni est de réaliser des tests sur une platine d'essais. Le moteur de type NEMA 17 a besoin d’une carte de gestion de moteur, on utilisera pour cela le driver moteur A4988 de chez Pololu.
Puis nous avons démonté une imprimante afin de récupérer des composants utiles pour notre réalisation comme des axes et des moteurs.
+
Ce composant est adapté à la gestion de ce type de moteur. On peut avoir ci-après un croquis du câblage nécessaire au bon fonctionnement du moteur.
  
=== Séance 2 ===
 
https://howtomechatronics.com/tutorials/arduino/how-to-control-stepper-motor-with-a4988-driver-and-arduino/
 
  
https://www.pololu.com/product/1182
+
[[Image:croquis_cablage_pololu.png|thumb|center|400px|Schéma de câblage du contrôleur de moteur A4988]]
  
http://eskimon.fr/290-arduino-603-petits-pas-le-moteur-pas-pas
 
  
=== Séance 3 ===
 
  
* Configuration système embarqué terminé.  
+
La partie alimentation de ce contrôleur vient des 4 pins du bas (STEP, DIR, et VCC/GND) qui feront le lien avec l’Arduino.
* Problème d'adhérence pour faire tourner le tapis roulant (balatum)
+
Le moteur par contre à besoin d'une alimentation stable et continu de 9V, c'est pourquoi nous avons utilisé une alimentation à découpage qui nous permet de faire cela. La capacité de 47µF est justement présente pour protéger l'alimentation moteur de pic de courant intempestif qui pourrait griller la carte.
  
== Projet informatique ==
+
A la vue de notre câblage sur la platine de test, nous nous sommes dit qu'il fallait absolument faire un shield pour Arduino pour avoir quelque chose de plus propre et aussi plus simple pour nous lors de la phase de test.
 +
Nous avons dessiné sous fritzing un shield qui viendra donc se placer sur l’Arduino et qui fera le lien entre l’Arduino, le moteur, le contrôleur moteur et l'alimentation.
  
La configuration de notre système embarqué était terminée. Nous pouvions détecter notre réseau ''WifiTri'' et nous connecter avec notre mot de passe ''chenandriambolisoa''.  
+
Le PCB sur Fritzing nous donne ceci :
 +
[[Image:scc.png|thumb|center|300px|Conception du PCB sous Fritzing]]
  
En ce qui concerne la configuration du point d'accès, voici les modifications établies: [[Fichier:Raspb.jpg|vignette|right]]
 
  
 +
Après gravure et soudure des composants, voici ce que donne le shield placé sur la carte Arduino.
  
'''SSID:''' WifiTri
+
[[Image:shield_soudure.jpg|200px]]
 +
[[Image:shield_arduino2_noalim.jpg|250px]]
 +
[[Image:shield_arduino.jpg|200px]]
  
'''country_code:''' FR
 
  
'''channel:''' 6
 
  
'''wpa=1'''
+
Nous avons effectué les tests basiques pour les tensions d'alimentation, de moteur. Nous avons aussi regardé les différentes tensions. Nous n'avons détecter aucune erreur. Nous avons réaliser un simple programme sur Arduino pour faire tourner le moteur cependant celui ne fonctionne, nous n'arrivons pas à faire tourner le moteur. Le PCB ainsi que le code nous semble correct, nous ne comprenons donc pas d'où viens l'erreur.
  
'''wpa_passphrase:''' chenandriambolisoa
 
  
'''wpa_key_mgmt=WPA-PSK'''
+
Nous avons décidé à ce moment de nous concentrer sur la partie informatique du projet qui est celle où nous avions tous le plus à apprendre, aucun d'entre nous n'ayant déjà manipulé de Raspberry.
  
 +
== Activité informatique ==
  
 +
Après une première connexion à la Raspberry avec un câble USB/Série, nous avons pu obtenir l'adresse IP nous permettant de nous connecter en ssh.
 +
[[Fichier:Raspb.jpg|vignette|right]]
 +
Ainsi pour nous connecter à la Raspberry par le suite nous avons utiliser la commande
 +
ssh pi@172.26.145.173
  
 +
Utilisateur : pi
 +
Mot de passe : raspberry
  
 +
Grâce au guide présent sur le wiki, nous avons pu mettre en place un point d'accès wifi avec le paquetage hostapd :
 +
Nom du réseau wifi : WiFiTri
 +
Mot de passe : chenandriambolisoa
 +
 +
La configuration du point d'accès wifi se fait dans le fichier /etc/hostapd/hostapd.conf
  
 +
Une fois cette étape passée, le réseau wifi est crée. Maintenant il faut que des appareils puisse s'y connecter. Pour cela on utilise le paquetage ics-dhcp-server.
 +
On choisi d'affecter à la Raspberry l'adresse 192.168.100.1, et le nom de domaine sera trieur.org
  
 +
On est maintenant capable de se connecter avec un appareil à notre réseau wifi.
  
 +
Il nous faut à présent installer un serveur web. Pour cela nous utilisons les paquetages apache2 et php.
 +
La page web et les fichiers associés devront se situer dans le dossier /var/www/html
  
 +
Pour la liaison série, il convient de brancher l’Arduino en USB à la Raspberry pi. Il faut ensuite installer le paquetage libwebsockets-dev
 +
Le programme permettant la liaison série est fourni dans le guide. Il suffit de compiler ce programme puis de l’exécuter afin de lancer la liaison série. On peut indiquer à la Raspberry d’exécuter le fichier afin de lancer la liaison série dès son démarrage. Pour cela on ajoute au fichier /etc/rc.local la ligne suivante :
 +
./var/www/html/webserial &
  
Cependant, depuis quelques temps, lorsqu'on essaye de se reconnecter on obtient uniquement des erreurs comme ci-dessous:
+
Afin de tester la liaison série, nous avons rédiger un site web assez simple qui contient les fonctionnalités suivantes :
 +
- allumer ou éteindre une LED connectée à l'Arduino
 +
- afficher un compteur qui s'incrémente par appui sur un bouton connecté à l'Arduino
 +
- mettre à zéro le compteur
 +
- arrêter la Raspberry
  
[[Fichier:failco.jpg|vignette|center]]
+
Le site web contient une partie PHP pour l'arrêt de la Raspberry et une partie JavaScript pour l'utilisation du Websocket. On peut noter l'utilisation de la librairie Jquerry pour simplifier la programmation JavaScript.
  
En ce qui concerne la création de notre site-web, il fallait que le capteur métallique fonctionne pour pouvoir coder un compteur. Cependant, la structure du site-web était en forme.  
+
Voici les codes du site et de l'arduino ainsi que le montage :
 +
[[Fichier:sitetest.png|thumb|center|700px]]
 +
[[Fichier:arduinotest.png|thumb|center|500px]]
 +
[[Fichier:montageledbouton.jpg|thumb|center|500px]]
  
[[Fichier:codefon.png|vignette|left]]    [[Fichier:pageacc.png|vignette|center]]
 
  
 +
Il faut maintenant mettre en place le site du projet. Il reprend les éléments que nous avons testés précédemment.
 +
Le site du projet doit nous permettre les fonctionnalités suivantes :
 +
- Contrôler l'allumage ou l'arrêt du tapis
 +
- Afficher son état en temps réel
 +
- Afficher le compteur d'objets métalliques
 +
- Mettre le compteur à zéro
 +
- Contrôler manuellement les positions du bras de tri
 +
- Arrêter la Raspberry
  
== Activité électronique ==
+
Ce qui nous donne :
 +
[[Fichier:prototype.png|thumb|center|800px]]
  
1) Moteur pas à pas
 
  
Le système de tri des déchets à besoin d’un moteur pas à pas, qui sera relié à l’arduino grâce à un shield qui sera emboîté dessus.  
+
Le fichier du site de test de la liaison série est index.php disponible sous /var/www/html. Vous pouvez y accéder depuis un appareil connecté sur notre réseau wifi sous l'adresse 192.168.100.1
[[Image:moteur2.jpg|200px]]
 
La première étape a été de faire quelques test avec ce moteur est une plaque d’essai. Le moteur pas à pas de type NEMA 17 a besoin d’une carte de gestion de moteur, on utilisera pour cela le driver moteur A4988 de chez Pololu.
 
  
Ce composant est adapté à la gestion de ce type de moteur. On peut avoir ci-après un croquis du câblage nécessaire au bon fonctionnement du moteur.
+
Dans le même dossier se trouve prototype.php, qui correspond au site web du projet. il est accessible sous l'adresse 192.168.100.1/prototype.php
[[Image:croquis_cablage_pololu.png|600px]]
 
  
La partie alimentation de ce contrôleur vient des 4 pins du bas (STEP, DIR, et VCC/GND) qui feront le lien avec l'arduino.
 
Le moteur par contre à besoin d'une alimentation stable et continu de 9V, c'est pourquoi nous avons utilisé une alimentation à découpage qui nous permet de faire cela. La capacité de 47µF est justement présente pour protéger l'alimentation moteur de pic de courant intempestif qui pourrait griller la carte.
 
  
A la vue de notre câblage, nous nous sommes dit qu'il fallait absolument faire un shield pour arduino pour avoir quelque chose de plus propre et aussi plus simple pour nous lors de la phase de test. Puisqu'à ce moment là du projet nous avions cela :    [[Image:cablage_basique.jpg|300px]]
+
Pour ce qui est de la partie informatique, nous avons à ce niveau réalisé tous nos objectifs.
  
Voici le shield que l'on obtient après soudure des composants et placement sur l'arduino.
+
Il reste cependant à lier la partie informatique à la partie électronique.
  
[[Image:shield_soudure.jpg|300px]]
+
== Bilan du projet ==
[[Image:shield_arduino2_noalim.jpg|300px]]
 
[[Image:shield_arduino.jpg|300px]]
 
  
Nous avons effectué les tests basiques pour les tensions d'alimentation, de moteur. Nous avons aussi regardé les différentes tensions. Nous n'avons détecter aucune erreur. Cependant il a été impossible de téléverser dans l'arduino le programme pour faire tourner les moteurs. Nous n'avons donc pas effectuer les tests pour vérifier si le moteur tourne bel et bien grâce à cette carte.
+
Lors de la réalisation de la partie informatique, nous nous sommes rendus compte que celle ci nous prendrait beaucoup de temps. Nous avons donc décidé de nous concentrer sur celle ci. Cette décision nous a amené à laissé de côté la partie électronique. En effet, même avec des séances supplémentaires passées à travailler sur la partie informatique, nous n'avons pas eu le temps de travailler suffisamment sur la partie électronique pour obtenir un résultat. Le projet était peut-être trop ambitieux pour nous.
  
2) Tapis roulant
+
Malgré la partie électronique très peu avancée, nous avons tout de même essayer d'appréhender le moteur pas à pas et nous avons conçu un PCB pour le contrôler.
  
Pour le tapis roulant nous avons besoin de plusieurs choses, un matériau permettant le transport de l’objet, de 2 axes pour la rotation et d’un moteur à courant continu. Nous avons donc récupérer ces axes et ce moteur en démontant pièce par pièce une imprimante. C’est pourquoi dans la boîte de notre projet il y a un sachet avec plusieurs axes bien droit. Nous avons bel et bien les axes, le tapis en lui-même mais nous n'avons pas monté celui-ci.
+
Voyant que nous ne pourrions pas accomplir complètement le projet, nous avons décidé de nous concentrer sur l'apprentissage des techniques que nous ne connaissions pas : Raspberry pi, point d'accès wifi, liaison série, site web en html, php, javascript.
Nous devions nous occuper de la gestion de ce moteur à la suite du moteur pas à pas.
 
  
== Bilan du projet ==
+
Pour conclure notre projet n'est pas un succès total puisque la partie électronique n'a pas été finie mais malgré cela la partie informatique est complètement réussie. Ce projet aura permis de nous donner un bon aperçu de la filière SC. Cela a permis à certains de conforter leur choix de choisir une autre filière et aux autres de les motiver dans le choix de la filière SC et d'apercevoir l'étendu de ce qu'ils vont pouvoir y apprendre.

Version actuelle datée du 21 juin 2018 à 11:07

Projet IMA3-SC 2017-2018

FOUCAULT Rémi

DECLERCK Guillaume

ANDRIAMBOLISOA Stephen

CHEN Wenjing


Description du système

L'idée de base de notre projet est d'effectuer un tapis roulant trieur accompagné d'un site web qui nous servira à afficher des informations concernant le tri et interagir avec le tapis. Le fonctionnement est le suivant :

  • le tapis roulant roule et on pose un objet dessus
  • en avançant l'objet passe devant un capteur qui détecte si l'objet est métallique ou non
  • si c'est le cas, notre site web incrémente alors un compteur
  • en bout du tapis, un moteur actionne un bras qui réalise le tri en modifiant la trajectoire des objets selon la nature détectée par le capteur
  • finalement les objets arrivent dans le bac correspondant à leur nature

Notre projet s'inspire des industries qui pourraient utiliser ce genre de système pour trier des objets métalliques.

Les deux schémas suivants, bien que très sommaires, expliquent bien le principe de fonctionnement du système.

Une des deux positions de tri
Autre position de tri


Travail à réaliser

Pour gérer la partie électronique, nous utiliserons une carte Arduino Uno et pour la partie informatique nous utiliserons une Raspberry Pi et un dongle wifi "Wi-pi"

Électronique :

  • Faire tourner le tapis avec un moteur
  • Configurer un détecteur de métal
  • Faire tourner le moteur pas à pas du bras de tri

Informatique :

  • Configurer la Raspberry pi en point d'accès wifi
  • Réaliser la liaison série entre la Raspberry et l’Arduino
  • Créer le site web

Matériel nécessaire

1 Arduino Uno

1 Raspberry Pi et un dongle wifi "Wi-Pi"

1 moteur pas à pas et 1 contrôleur moteur

1 moteur à courant continu et 2 axes de rotation

Activité électronique

Pour le tapis roulant nous avons besoin de plusieurs choses : un matériau qui sera le tapis permettant le transport de l’objet, 2 axes pour la rotation du tapis et un moteur fournissant la rotation des axes. Pour les axes de rotation et le moteur, nous les avons obtenus en démontant pièce par pièce une imprimante usagée. C’est pourquoi dans la boîte de notre projet il y a un sachet avec plusieurs axes bien droit ainsi que divers moteurs et composants récupérés sur l'imprimante. Pour la matière constituant le tapis, notre première idée est d'utiliser un morceau de balatum cependant nous doutons de que celui ci ait une adhérence suffisante pour tourner autour d'un axe. Nous avons donc bel et bien les axes et le tapis en lui-même mais pour éviter de perdre trop de temps sur la conception mécanique du projet nous avons décidé de nous occuper d'abord de la gestion du moteur permettant la rotation du bras de tri. Nous reviendrons ensuite sur le moteur permettant la rotation du tapis et finalement le montage du tapis.


Moteur de type NEMA 17


Le bras effectuant le tri devra se déplacer entre deux positions précises. Pour ceci, un moteur pas à pas est le plus adapté. La première étape afin d'approcher le moteur pas à pas qui nous a été fourni est de réaliser des tests sur une platine d'essais. Le moteur de type NEMA 17 a besoin d’une carte de gestion de moteur, on utilisera pour cela le driver moteur A4988 de chez Pololu. Ce composant est adapté à la gestion de ce type de moteur. On peut avoir ci-après un croquis du câblage nécessaire au bon fonctionnement du moteur.


Schéma de câblage du contrôleur de moteur A4988


La partie alimentation de ce contrôleur vient des 4 pins du bas (STEP, DIR, et VCC/GND) qui feront le lien avec l’Arduino. Le moteur par contre à besoin d'une alimentation stable et continu de 9V, c'est pourquoi nous avons utilisé une alimentation à découpage qui nous permet de faire cela. La capacité de 47µF est justement présente pour protéger l'alimentation moteur de pic de courant intempestif qui pourrait griller la carte.

A la vue de notre câblage sur la platine de test, nous nous sommes dit qu'il fallait absolument faire un shield pour Arduino pour avoir quelque chose de plus propre et aussi plus simple pour nous lors de la phase de test. Nous avons dessiné sous fritzing un shield qui viendra donc se placer sur l’Arduino et qui fera le lien entre l’Arduino, le moteur, le contrôleur moteur et l'alimentation.

Le PCB sur Fritzing nous donne ceci :

Conception du PCB sous Fritzing


Après gravure et soudure des composants, voici ce que donne le shield placé sur la carte Arduino.

Shield soudure.jpg Shield arduino2 noalim.jpg Shield arduino.jpg


Nous avons effectué les tests basiques pour les tensions d'alimentation, de moteur. Nous avons aussi regardé les différentes tensions. Nous n'avons détecter aucune erreur. Nous avons réaliser un simple programme sur Arduino pour faire tourner le moteur cependant celui ne fonctionne, nous n'arrivons pas à faire tourner le moteur. Le PCB ainsi que le code nous semble correct, nous ne comprenons donc pas d'où viens l'erreur.


Nous avons décidé à ce moment de nous concentrer sur la partie informatique du projet qui est celle où nous avions tous le plus à apprendre, aucun d'entre nous n'ayant déjà manipulé de Raspberry.

Activité informatique

Après une première connexion à la Raspberry avec un câble USB/Série, nous avons pu obtenir l'adresse IP nous permettant de nous connecter en ssh.

Raspb.jpg

Ainsi pour nous connecter à la Raspberry par le suite nous avons utiliser la commande

ssh pi@172.26.145.173
Utilisateur : pi
Mot de passe : raspberry

Grâce au guide présent sur le wiki, nous avons pu mettre en place un point d'accès wifi avec le paquetage hostapd :

Nom du réseau wifi : WiFiTri
Mot de passe : chenandriambolisoa

La configuration du point d'accès wifi se fait dans le fichier /etc/hostapd/hostapd.conf

Une fois cette étape passée, le réseau wifi est crée. Maintenant il faut que des appareils puisse s'y connecter. Pour cela on utilise le paquetage ics-dhcp-server. On choisi d'affecter à la Raspberry l'adresse 192.168.100.1, et le nom de domaine sera trieur.org

On est maintenant capable de se connecter avec un appareil à notre réseau wifi.

Il nous faut à présent installer un serveur web. Pour cela nous utilisons les paquetages apache2 et php. La page web et les fichiers associés devront se situer dans le dossier /var/www/html

Pour la liaison série, il convient de brancher l’Arduino en USB à la Raspberry pi. Il faut ensuite installer le paquetage libwebsockets-dev Le programme permettant la liaison série est fourni dans le guide. Il suffit de compiler ce programme puis de l’exécuter afin de lancer la liaison série. On peut indiquer à la Raspberry d’exécuter le fichier afin de lancer la liaison série dès son démarrage. Pour cela on ajoute au fichier /etc/rc.local la ligne suivante :

./var/www/html/webserial &

Afin de tester la liaison série, nous avons rédiger un site web assez simple qui contient les fonctionnalités suivantes :

- allumer ou éteindre une LED connectée à l'Arduino
- afficher un compteur qui s'incrémente par appui sur un bouton connecté à l'Arduino
- mettre à zéro le compteur
- arrêter la Raspberry

Le site web contient une partie PHP pour l'arrêt de la Raspberry et une partie JavaScript pour l'utilisation du Websocket. On peut noter l'utilisation de la librairie Jquerry pour simplifier la programmation JavaScript.

Voici les codes du site et de l'arduino ainsi que le montage :

Sitetest.png
Arduinotest.png
Montageledbouton.jpg


Il faut maintenant mettre en place le site du projet. Il reprend les éléments que nous avons testés précédemment. Le site du projet doit nous permettre les fonctionnalités suivantes :

- Contrôler l'allumage ou l'arrêt du tapis
- Afficher son état en temps réel
- Afficher le compteur d'objets métalliques
- Mettre le compteur à zéro
- Contrôler manuellement les positions du bras de tri
- Arrêter la Raspberry

Ce qui nous donne :

Prototype.png


Le fichier du site de test de la liaison série est index.php disponible sous /var/www/html. Vous pouvez y accéder depuis un appareil connecté sur notre réseau wifi sous l'adresse 192.168.100.1

Dans le même dossier se trouve prototype.php, qui correspond au site web du projet. il est accessible sous l'adresse 192.168.100.1/prototype.php


Pour ce qui est de la partie informatique, nous avons à ce niveau réalisé tous nos objectifs.

Il reste cependant à lier la partie informatique à la partie électronique.

Bilan du projet

Lors de la réalisation de la partie informatique, nous nous sommes rendus compte que celle ci nous prendrait beaucoup de temps. Nous avons donc décidé de nous concentrer sur celle ci. Cette décision nous a amené à laissé de côté la partie électronique. En effet, même avec des séances supplémentaires passées à travailler sur la partie informatique, nous n'avons pas eu le temps de travailler suffisamment sur la partie électronique pour obtenir un résultat. Le projet était peut-être trop ambitieux pour nous.

Malgré la partie électronique très peu avancée, nous avons tout de même essayer d'appréhender le moteur pas à pas et nous avons conçu un PCB pour le contrôler.

Voyant que nous ne pourrions pas accomplir complètement le projet, nous avons décidé de nous concentrer sur l'apprentissage des techniques que nous ne connaissions pas : Raspberry pi, point d'accès wifi, liaison série, site web en html, php, javascript.

Pour conclure notre projet n'est pas un succès total puisque la partie électronique n'a pas été finie mais malgré cela la partie informatique est complètement réussie. Ce projet aura permis de nous donner un bon aperçu de la filière SC. Cela a permis à certains de conforter leur choix de choisir une autre filière et aux autres de les motiver dans le choix de la filière SC et d'apercevoir l'étendu de ce qu'ils vont pouvoir y apprendre.