Présentation du projet Aligator

Le projet

Nom de code ALIGATOR (Automatic Lego devIce for GAme over resT pOweR) logo

 

 

 

 

L’idée générale du projet est de contrôler un Lego Technic soit à l’aide de son téléphone, soit en mode autonome (robot). Cela sans dépendre des composants officiels Lego rattachés au Mindstorms.

Deux raisons à cela :

  • Ne pas rester enfermer dans un monde propriétaire
  • Utiliser des composants bien moins cher

 

Composants

Pour réaliser cela nous allons utiliser les éléments suivants :

  • Lego technic 42029 : le pick-up customisée

Lego-42029

  • Un Raspberry PI 2

rpi2

  • Des LEDs (rouge, jaune, vert, blanc, bleu)

led

  • Des capteurs de proximité (HC-SR04)

hc-sr04

  • Un buzzer

buzzer

  • 2 moteurs (direction et propulsion)

 

 learn_raspberry_pi_motor  tower-pro-sg90

Architecture cible

Le raspberry pi est connecté au wifi à l’aide d’un dongle usb, celui-ci expose une API REST à l’aide d’un serveur Node.js. L’API est alors exploité par un navigateur web à l’aide d’AngularJS, ce qui permet d’être attaqué aussi bien par un ordinateur que par un téléphone.

aligator-schema

L’utilisation du wifi plutôt qu’une connexion direct en bluetooth est motivé par le fait de pouvoir commander à distance l’appareil. Le raspberry pi ne fait pas office de point d’accès mais dépend d’une borne wifi externe.

Les différents accès aux composants natifs du Raspberry Pi tel que le GPIO sont maintenant portés sur Node.js ce qui nous permet de développer une application en Javascript et de s’affranchir ainsi de la lourdeur pouvant exister en C ou python. Par ailleurs, l’aspect asynchrone du javascript est particulièrement approprié à la gestion d’événements tel que la modification d’une valeur associée à un capteur.

Niveau interface client et afin de radio commander le pick up il sera également nécessaire de mettre en place les WebSocket pour gagner en réactivité.

Étapes de réalisation

 


Partager

comments powered by Disqus