Publié le 6 novembre 2015 - par

Robot Raspberry Pi avec NodeJS

robot-fini_250pxLa Tech Amiénoise est née en mai 2015. Parmi les objectifs de cette association picarde figurent, l’encouragement de rencontres pour développer des synergies et une émulation entre ses membres.
Il y a quelques jours, Nicolas me signalait qu’il venait de mettre en ligne sur le site de la Tech Amiénoise un tutoriel pour la réalisation d’un robot piloté à distance, capable de se déplacer et de filmer. Le tout pour environ 150€.  L’article propose 4 minis tutoriels autour du Rapberry Pi, de NodeJS, de l’Arduino et du bus I2C.

Un robot connecté avec NodeJS et Raspberry Pi

Objectifs

Le but de ce billet est la réalisation d’un robot capable de se déplacer dans une pièce, de filmer et diffuser les images, le tout pilotable via internet. Le robot sera construit autour d’une carte Raspberry Pi connectée en Wifi, il exploitera une caméra, et pilotera deux servo moteurs via une carte Arduino. Il devra respecter les contraintes suivantes :

  • Disposer d’une caméra embarquée
  • Être accessible via Internet
  • Fonctionner sur piles ou batterie
  • Exploiter un maximum de briques open source
  • Ne pas dépasser un budget de 150€

Description

L’article de Nicolas débute par une présentation du Raspberry Pi et l’installation du système d’exploitation.

Il explique ensuite comment configurer le réseau et le WiFi, puis comment activer le bus I2C sur le Raspberry Pi.

nodejsc’est ensuite l’installation de NodeJS qui est au programme. NodeJS c’est du javascript mais au lieu de tourner côté client (votre navigateur web), il tourne sur le serveur…

mjpg-browser

Nicolas explique comment capturer les images de la caméra du Raspberry Pi avec NodeJS, avant de créer un flux mjpeg.

flux_mjpeg

Le montage du robot

decoupeLes différents éléments du robot sont présentés, comme la découpe des plaques de contreplaqué constituant le corps et les roues… Les fichiers permettant de découper la plaque avec une découpe laser sont fournis.

raspberry-pi-power

Attention : Il est impératif d’appliquer une tension d’EXACTEMENT 5V aux bornes GPIO du raspberry Pi, car le seul circuit de protection/régulation de la carte se trouve au niveau de la prise micro USB. Ce schéma montre simplement les broches à utiliser pour alimenter la carte PREVOYEZ IMPÉRATIVEMENT UN REGULATEUR.
VCC (5V) : GPIO 6  et    GND (0V) : GPIO 4

nano-raspberry-piC’est ensuite au tour du câblage des composants (RasPi, Arduino, servos, alimentations…)

montageavant de passer au montage de l’ensemble.

robot-fini

Conclusion

Un tutoriel très complet qui permettra à ceux d’entre vous qui souhaitent s’initier à la robotique de se lancer.

Merci à Nicolas pour la rédaction de ce billet et pour m’avoir signalé sa mise en ligne 😉

Sources

 

 

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

15 réflexions au sujet de « Robot Raspberry Pi avec NodeJS »

  1. fpie

    L’article suggère l’alimentation de la raspberry avec 6 cellules alcalines ou nimh. Cela ne semble pas très serieux. Il y a un sérieux risque de flamber sa raspberry…

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour fpie
      D’où l’intérêt de lire la totalité de l’article original 😉
      Vous y verrez qu’il est dit : Attention : Il est impératif d’appliquer une tension d’EXACTEMENT 5V aux bornes GPIO du raspberry Pi, car le seul circuit de protection/régulation de la carte se trouve au niveau de la prise micro USB. Ce schema montre simplement les broches à utiliser pour alimenter la carte.
      L’auteur préconise d’utiliser un régulateur pour amener la tension à 5V :
      buck converter
      avec ce texte :
      Convertisseur de tension : Pour abaisser la tension du pack de piles à 5V
      Donc pas de souci !
      cordialement
      François

      Répondre
      1. msg

        Bjr François
        Le souci c’est que sur le schéma , ce convertisseur n’apparait pas .
        On voit bien 6 piles ou accus directement reliées au RPI .
        — Chose qu’il ne faut surtout pas faire —
        Je serais toi , je ne montrerais pas ces schémas pour ne pas qu’on t’accuse de quoi que ce soit si jamais certaines cartes venait à être alimentées de la sorte .
        Ou alors , refais en en incluant ce bloc convertisseur .

        Petite remarque , le lien que tu as mis en source ne fonctionne pas si l’on clique dessus .
        Il fonctionne que si on copie ce lien et qu’on le colle dans la barre adresse du navigateur .

        Répondre
        1. François MOCQ Auteur de l’article

          Bonjour
          merci pour le coup de main 😉
          j ai rajouté le régulateur sur le schéma + un texte d’avertissement
          et corrigé le lien dans les sources (il y avait un espace devant 🙁 )
          cordialement
          François

          Répondre
  2. msg

    On peut alimenter le RPI avec 6 piles de 1,5V en série (6 x 1,5 = 9V) sur le Pin 4 et 6 sans risque ?
    Je me semble que la Pin 4 est identifiée +5V .

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour
      NON! il faut impérativement du 5V… C’est un schéma « logique » pour montrer où appliquer l’alimentation mais l’auteur recommande bien un régulateur 5V !!!
      j’ajoute un avertissement sous le shéma pour qu’il n’y ait pas d’ambiguïté…
      Merci
      Cordialement
      François

      Répondre
  3. Laurent F.

    Dans l’article ils indiquent devoir utiliser un Arduino car pas de PWM sur Raspi 2. Pourtant, sauf erreur de ma part, il y a bien 2 PWM sur un Raspberry 2 (et un seul pour les Raspberry 1 ).

    Répondre
  4. zozokoala

    Concernant le régulateur, pouvez-vous nous conseiller le composant à acheter ? Car sur le site d’origine, il est juste indiqué le lien « aliexpress.com » dans la ligne « Convertisseur de tension » (par ailleurs, comme pour les autres lignes).

    MercI.

    Répondre
  5. bruno83

    Projet compliqué , on peut faire simple et des cachets d’aspirine en moins
    A titre perso avec des legos
    2 moteurs cc + un l298(pont en h)
    Le pilotage en python (librairie pwm) 20 lignes
    Serveurs : Motion + apache (installation facile)
    Une page php sur le serveur apache :html, javascript et ajax avec :
    une balise image adresse et port du serveur motion pour avoir le flux video venant du serveur motion
    on va exécuter le programme python avec la commande php exec()
    sur la page :
    Un bouton m/a
    4 boutons de direction
    Deux fichiers de 15 lignes
    Exemple :
    pour tourner à gauche on augmente la vitesse du moteur droit (umoyen=aUmax) a : rapport cyclique
    A+ Bruno

    Répondre
      1. bruno83

        Bonjour,
        Ok , sachant que j’ai utilisé les lego technic de ma fille (moteur cc roues,……….), une carte e-blocks eb022 : L298 ,un raspberry b+, clef wipi , 2 batteries une de 12v et une de 5v ,c’est du matériel que j’avais sous la main , il faudrait que j’optimise le truc ,car c’était juste pour tester la faisabilité pour un projet sin.
        A+bruno

        Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.