Documentation

Team Box


Insérer ici, plans, schéma, photos, descriptif

image img_interface01.png (4.5kB)
design interface
image img_box01.png (1.1MB)
preview 3D Mark-I
image img_interface02.png (3.6kB)
design interface 02
image img_box02.png (0.6MB)
preview 3D Mark-II
image img_interface02f.png (0.5MB)
preview 3D-face Mark-II














A l’aide de sa carte  WiFi, il créera un point d’accès sécurisé permettant de nous y connecter avec un ordinateur, un smartphone ou n’importe quoi d’autre (comme un mac :p ).
Sa seconde carte réseau ( WiFi ou cable) permettra à notre Raspberry de se connecter à un réseau existant pour profiter de sa connexion.

Mais comment faire pour faire d'un Raspberry un point d'accès wifi?

Nous aurons besoin de plusieurs composants :
– un Raspberry Pi
– une ou 2 cartes  WiFi : une pour le point d’accès, la seconde optionnelle pour connecter le Pi à un réseau
Dans ce tutoriel, j’utilise 2 cartes wifi (identiques, par simplicité) :
– wlan0 : se connecte à un réseau wifi à proximité
– wlan1 : héberge le point d’accès wifi
Si vous n’utilisez qu’une seule carte wifi et la carte ethernet, alors remplacez simplement wlan0 par eth0, et wlan1 par wlan0, dans tous les scripts et les fichiers de configuration de ce tutoriel.
Au niveau logiciel :
– hostapd : c’est lui qui va nous servir à créer un réseau wifi avec toutes les sécurités nécessaires sur l’interface wifi wlan1
– dnsmasq : il permettra à notre raspberry de jouer le rôle de serveur DHCP, pour attribuer des adresses IP automatiquement aux périphériques autorisés à se connecter au point d’accès
– iptables : iptables sert à créer des rêgles de routage. C’est grâce à ces rêgles que nous pourrons rediriger la connexion d’une interface réseau vers une autre.
Une fois les cartes wifi branchées et le Pi démarré, nous pouvons commencer

Pour lire la suite voici un fichier important:
pont_reseau_raspberry.odt (27.1kB)

L'idée par une image:
image ide1.png (59.7kB)
idée brute



Affichage du Raspberry sur le Waveshare LCD 3,5'' (480 x 320)

Près d'une demi-journée a été occupée à tenter de faire diffuser sur le mini écran LCD le contenu du bureau du Raspberry.
En effet, nous avons tout d'abord tenté à plusieurs reprises d'installer le pilote selon une documentation trouvée sur Internet, mais conclue à chaque fois par un Kernel Panic ! au redémarrage du système, nous obligeant à re-télécharger un OS de base (3,5 Go).
Nous avons fini par trouver une image sur le CD livré avec l'écran LCD : l'écran a alors fonctionné.

Ainsi, nous le développement pouvait commencer !

Récupération des informations de bande passante

Nous avons tenté d'utiliser une librairie graphique connue, cacti. Cette librairie utilise l'outil rrdtools que nous avons installé et tenté d'exploiter afin d'obtenir un visuel correspondant à nos attentes : en vain, compte-tenu du temps imparti.
rrdtools présentait néanmoins l'intérêt de savoir collecter les informations de bande passante désirées et de les afficher.

Pour un rendu personnalisé, l'organisation du week-end nous a donc conduit a rapidement abandonner cette piste, et nous rabattre vers un autre fonctionnement :
- en tâche de fond : l'utilisation de TCPDump pour récupérer les informations de trames réseau
- en visuel HTML : l'utilisation de la bibliothèque graphique Artichow Telecharger le fichier artichow.zip (0.3MB)

Mise en place :

Etape 1 :
Après avoir installé tcpdump, et transformé notre Raspberry en serveur (PHP &  MySQL), nous avons mis en place un script lancé comme service au démarrage du Raspberry afin de récupérer dans une boucle les trames transitant par la carte réseau eth0 en vue d'obtenir leur taille.
Les tailles sont sommées sur une courte période (5 secondes) avant d'être stockées dans une base de données  MySQL.
La table  MySQL utilisée comporte 2 champs : l'heure de collecte et la taille totale récupérée sur les 5 secondes.

Le script enregistre également l'IP de la box à laquelle elle est reliée et la stocke dans une autre table.

Voir le script :Telecharger le fichier tcpget.sh (2.4kB)

Ainsi, notre base comporte des données de bande passante et l'IP de la passerelle.

Ce script a été placé dans /etc/init.d et son lancement automatique a été paramétré (update-rc.d tcpget.sh enable) - non sans mal faute d'expérience.

Etape 2 :
Dans le dossier HTML (/var/www/html), nous écrivons un script PHP permettant de convertir les données de bande passante en un graphique.
Les fichiers de la bibliothèque Artichow se trouvent dans le-sous dossier artichow.

Nous interrogeons la base de données pour stocker dans un tableau les informations et les exploiter : afin de lisser la courbe obtenue qui comportait des pics disgracieux, nous avons utilisé un algorithme de lissage simple de moyenne glissante. Le rendu est alors convenable, même s'il pourrait être lissé davantage en aspect polynomial : un algorithme d'interpolation de Lagrange (voir ICI ) a été expérimenté, mais le processeur du Raspberry Pi 3 mettait trop de temps pour effectuer le lissage afin d'avoir un affichage relativement fluide (plus d'une dizaine de secondes...). Nous aurions pu optimiser ceci, mais le délai imparti nous a amené à conserver l'algorithme de moyenne glissante : chaque valeur est recalculée à partir de la moyenne des valeurs qui l'entourent.

Pour un affichage plus fluide, nous avons utilisé jquery version 1.4.2 : l'image est rechargée automatiquement en arrière-plan et rafraîchie toutes les 10 secondes sans effet de scintillement.


Etape 3 :
Pour obtenir l'affichage du graphique sur l'écran LCD du Raspberry, à son lancement et en plein écran, nous avons utilisé un script Telecharger le fichier fullscreen.sh (0.1kB) . Ce script, placé dans /home/pi/ a été programmé pour se lancer à l'ouverture de session graphique du Raspberry, demande au navigateur Epiphany de s'ouvrir sur la page http://127.0.0.1 et en plein écran par simulation de l'appui sur F11.Pour programmer l'exécution automatique de fullscreen.sh, nous avons ajouté la ligne @/home/pi/fullscreen.sh au fichier ~/.config/lxsession/LXDE-pi/autostart .

Résultat :

Début :
image PREMIER_GRAPHIQUE.png (2.0kB)


Final :

image canvas.png (6.8kB)


Etape 4 :

Test du miroir/plexiglass.

Nous souhaitons avoir un effet miroir sans teint pour l’affichage des données de notre écran monitoring.

Nous avons trouvé un bout de pvc effet miroir, avec l’aide de Bastien, nous avons effectué pas mal de tests sur la découpeuse laser afin de polir le miroir et de parvenir à voir à travers le meilleur affichage possible pour notre écran. (effectué sur la machine à 30W).

Voici le récap’ des test effectués avec les données entrées :

- Plusieurs tests à 200 dpi et 100 de vitesse et 100 puissance
- Ensuite test sur du 100 dpi
- Puis tests sur du 50 dpi et ajustement vitesse/puissance
- Validé sur du 50/30/90, le miroir s’applique bien sur l’écran du raspberry

D = DPI
P = puissance
V = vitesse

Essai N° DPI Puissance Vitesse
1 200 100 100
2 100 80 50
3 100 100 150
4 50 30 90
5 75 40 90
6 200 100 50
7 100 60 50
8 100 100 120
9 50 40 90

Découpe P100/V50

image IMG_2727.jpg (1.5MB)