Nous avons aussi travaillé sur la construction d’une coque de support pour les deux raspberry PI.
Rendu du boitier réalisé avec Fusion360
LaserNet est un projet de transfert de données entre deux RaspberryPi.
Pour ce faire, chaque Raspberry dispose d'un capteur (KY-018) et d'un laser (KY-008, longueur d'onde: 650nm) afin de communiquer avec l'autre RaspberryPi.
La transmission se fait en binaire via les pins GPIO du RaspberryPi (disponibles grâce à l'API WiringPi), mais pour simplifier le programme nous utilisons des objets tels que les "String" et les "Array" qui sont ensuite transformés en chaîne binaire qui seront décodés à l'arrivée.
Pour commencer nous avons fait un programme de test afin d'envoyer un simple text. Celui ci est comparable à un télégraphe informatisé car les Raspberry n'était reliés que par câble.
Afin d'intéragir avec le réseau nous avons utilisé l'API LibTins. Cette librairie permet de "sniffer" un réseau afin d'en extraire les paquets qui transitent par l'appareil.
Pour avoir notre interface réseau (afin d'envoyer des paquets), nous avons dû émuler une "dummy networkinterface" sur les raspberry Pi (une interface réseau qui ne posséde aucune interface hardware).
Afin de réaliser le projet nous avons fait :
Un RaspberryPi connecté au réseau (box, clé 4G, ordinateur) répondant aux demandes de l'autre RaspberryPi.
Un RaspberryPi connecté à un ordinateur n'ayant aucun autre réseau disponible (ordinateur déconnecté).
Les RaspberryPi vont servir de pont pour le réseau afin de permetre à l'ordinateur déconnecté d'avoir internet.
Simuler une carte réseau avec l'un des RaspberryPi afin qu'un ordinateur connecté à lui puisse aller sur internet (échanges des paquets réseau via les raspberryPi
Cette communication par laser est plus utile que par câble pour :
Les RaspberryPi ne sont pas asser rapide, avec 1 microseconde (μs) par bit (actuellement: 2000μs) le débit ne serait que de 1Mbit/s
Retards dû au même problème
Putty est nécessaire tant que le site n'a pas assez d'amélioration
"WiringPi deprecated" : la question était de savoir si il fallait changer de librairie mais il se trouve que wiringPi est suffisant
!auth [secretKey]
Se connecter au RaspberryPi
!connect
Activé par défaut, nécessaire après un !disconnect
!disconnect
Forcer la déconnexion
!debug [enable/disable]
Active/désactive les messages de debug du site
debug [enable/disable]
Necessite une connexion
Active/désactive les messages de debug sur le RaspberryPi (console Putty)
!refresh
Necessite une connexion
Force le rafraichissement des informations du RaspberryPi
chat [message]
Necessite une connexion
Discuter avec toutes les autres personnes connectées au RaspberryPi
stop
Arrete le programme sur le RaspberryPi
restart
Redemarre LaserNet (utile pour changer un parametre tel que les pins ou l'interface internet utilisée)
SimLine est un projet de comparaison de chaînes de caractères (similaire à Anagene mais pour tous types de chaînes)
Il a été réalisé entre le 17/02/2020 et le 23/02/2020
Accessible en ligne via files.octanne.eu/web/SimLine
Le projet « LaserNet » a été développé par Corentin Levalet et Jérôme Lécuyer. Le software de contrôle du système laser ainsi que le serveur web ont été développé en C++, mais le « backend » de la page web est quant à lui développé en JavaScript pour la parti client. Ainsi nous avons utilisé différentes librairies et technologies au sein de se projet que vous pouvez retrouver ci-dessous
Les droits des différentes bibliothèques ci-dessus appartiennent à leurs propriétaires respectif.
Taches de Corentin:
Taches de Jérôme:
Ceci est une page secrete.
La majeure partie des tests des RapsberryPi se sont fait sans les lasers.