Installation de Raspbian sur "Rapsberry Pi 3 B+" pour Poppy-Torso

raspberrypi
français
software
Tags: #<Tag:0x00007fae8d3c0530> #<Tag:0x00007fae8d3c02b0> #<Tag:0x00007fae8d3c00a8>

#1

Ce post fait suite à celui de mai 2016 ( ODROID ou RASPBERRY avec Poppy Torso? ) qui traitait de l’installation d’une Raspberry Pi 2 pour un Poppy Torso : la nouveauté ici est l’utilisation d’une Rapsberry Pi 3 B+.

Deux stratégies d’installation sont possibles en fonction de tes connaissances du système GNU/Linux et/ou du temps que tu peux consacrer à cette activité :

  1. Flash d’une carte SD avec l’image d’un GNU/Linux installé pour “Rapsberry Pi 3 B+”, incluant l’environnement Poppy Torso pré-installé.

  2. Installation “à la main” de GNU/Linux sur une carte SD, puis de l’environnement Poppy sur la carte raspberry démarrée sous GNU/Linux.

La première méthode te permet d’obtenir directement en 2 temps 3 mouvements une carte SD qui fonctionnera sur une “Rapsberry Pi 3 B+” installée dans la tête d’un Poppy Torso.

La deuxième te permet de dérouler tout le processus d’installation pour mieux le comprendre, voire le personaliser, moyennant du temps à passer et un peu d’huile de coude…

1 - Télécharger une image “raspbian + Poppy Torso” pré-installés

Tu peux télécharger une image toute faite sur ce drive (télécharge la dernière version) :

C’est une image à base d’une Raspbian 2018-11-13-raspbian-stretch-lite, francisée, avec le service ssh activé, incluant toute l’installation pour Poppy Torso. Cette image est destinée à être flashée sur une carte SD de 8 Gio, mais pour faciliter les téléchargements, je l’ai réduite à 3.7 Gio avec l’utilitaire piShrink sous Linux.

Le service ssh est activé sur cette image: tu peux te connecter sur la carte depuis un terminal Mac ou Linux en tapant la commande :

ssh poppy@poppy.local

ou :

ssh poppy@10.99.99.1

Avec Windows, il faut installer le logiciel Putty qui permet de se connecter par ssh sur unserveur distant (info : https://raspbian-france.fr/controlez-raspberry-pi-ssh-ordinateur/).

2 - Installation manuelle de Raspbian + environnement Poppy Torso

A - Raspbian

Carte SD
On part d’une carte SD vierge (classe 10 si possible pour avoir un bon débit d’entrée/sortie) : je recommande une carte de 8 ou 16 Gio qui permet d’installer GNU/Linux et Poppy Torso :

  • 8 Gio suffisent amplement pour “GNU/Linux + l’environnement Poppy Torso” et permettent une dupplication bas niveau de la carte SD dans un temps raisonnable.
  • 16 Gio recommandés si tu veux en plus stocker des fichiers de taille importante sur la carte SD.

Télécharger Raspbian
Le lien https://www.raspberrypi.org/downloads/raspbian/ permet de télécharger la distribution Raspbian (version de GNU/Linux pour Raspberry Pi) que tu pourras ensuite flasher sur une carte SD. Tu as le choix entre plusieurs images Raspbian dont :

  1. Raspbian Stretch with desktop (fichier zip d’environ 1 Gio) pour avoir GNU/Linux avec un bureau graphique

  2. Raspbian Stretch Lite (fichier zip d’environ 400 Mio) pour installer sur la carte SD un GNU/Linux en mode commade, sans bureau graphique.

Dans ce tuto, j’utilise le fichier 2018-11-13-raspbian-stretch-lite.img pour avoir une image la plus légère possible.

Avoir le bureau graphique peut faciliter par la suite les manipulations éventuelles à faire sous GNU/Linux, surtout avec le bureau à distance proposé grâce à VNC. Tu pourras toujours ajouter le bureau graphique après l’installation en suivant par exemple ce tuto https://dadarevue.com/ajouter-gui-raspbian-lite/.

Flasher la carte SD
Une fois le fichier zip téléchargé, tu peux flasher une carte SD en suivant ce lien https://www.raspberrypi.org/documentation/installation/installing-images/README.md.

Installer Raspbian Stretch Lite
Branche un clavier USB, un écran (ou un téléviseur) HDMI, connecte l’Internet avec un câble RJ45 et barnche l’alimentation de la carte “Rapberry Pi 3 B+” avec la carte SD dans son logement.

  • Attention avec Raspbian Stretch Lite l’écran de démarrage est en mode caractères, configurée en anglais (clavier QWERTY !!) => pour taper le mot de passe raspberry du login pi tu doit taper rqspberry (avec un Q à la place du A ) : tu obtiens alors un shell avec un accès aux commandes administrateur en les préfixant par sudo .

Configuration tu dois te connecter sur la raspberry avec le login pi et le mot de passe raspberry.
Une fois connecté, tape sudo raspi-config pour obtenir le menu de configuration (en mode caractères : la touche TAB permet de naviguer, la barre espace permet de cocher/décoher une option) :

Internationalisation Options:

  • Change Locale : décoche anglais, coche fr_FR.UTF-8
  • Time zone : Europe, Paris
  • Change Keyboard Layout : choisi le clavier PC Generic 105_key, Français standard
  • Change Wi-Fi Country : choisi FR

Interfacing Options:

  • ssh : active le service ssh pour pour voir te connecter à distance sur la carte raspberry avec le réseau.

Advanced Options :

  • Expand Filesystem à cocher pour redimensionner la carte SD et avoir une partition de taille égale à la capacité de la carte microSD au prochain redémarrage.

Si le système ne redémarre pas tout seul, tu peux taper la commande sudo reboot.

Au reboot, tu peux te connecter soir par le réseau (avec ssh), soit avec le clavier USB branché sur la raspberry : ouvre une session avec le login pi et le mot de passe raspberry (en français ça va mieux ! ).
Il ne reste plus qu’à faire la mise à jour classique des paquets debian en tapant les commandes :

sudo apt-get update
sudo apt-get upgrade

tu réponds yes à tout… un peu plus tard un petit sudo reboot suivi du login pi avec le mot de passe raspberry , et tu es prêt pour la prochaine étape : la rasppoppyfication :wink:

B - Raspoppyfication

Avec le compte pi
Connecté sur la carte raspberry avec le login pi , tu télécharges et exécutes le script shell raspoppyfication.sh avec :

wget https://raw.githubusercontent.com/poppy-project/raspoppy/master/raspoppyfication.sh
sudo bash raspoppyfication.sh

Et ça, ça fait un sacré boulot… tu peux aller te préparer un café ! Une fois terminé, tu fermes la session pi, et tu ouvres une session avec le login poppy.

Avec le compte poppy (mot de passe : poppy)
Sous le login poppy, tu tapes les dernières commandes pour installer la configuration Poppy torso :

pip install poppy-torso

Là aussi ça peut prendre du temps… Quand c’est fini, reboote la raspberry et ouvre une session avec le login poppy puis continue de taper les commandes dans le terminal :

cd ~/dev/puppet-master
python bootstrap.py poppy poppy-torso
ln -s /home/poppy/miniconda/lib/python2.7/site-packages/poppy_torso /home/poppy/dev/poppy_torso
ln -s /home/poppy/dev/puppet-master/Snap-4.1.0.4  /home/poppy/dev/puppet-master/snap

Activer ssh (info : https://raspbian-france.fr/controlez-raspberry-pi-ssh-ordinateur/)
Pour activer le service ssh au reboot, il suffit deplacer un fichier vide ssh dans ledossier /boot (partition boot) :

sudo -s    
> /boot/ssh
reboot

Voilà, c’est fini, un petit sudo reboot et tu n’as plus qu’à utiliser le Wi-Fi pour piloter ton Poppy Torso

C - Petits réglages

Désactiver le hotspot

Si tu veux désactiver le hotspot, il suffit de supprimer le fichier /boot/hotspot.txt :

mv /boot/hotspot.txt /boot/hotspot.txt.orig

Activer le hotspot

Si tu veux activer le hotspot, il suffit de remettre le fichier /boot/hotspot.txt :

mv /boot/hotspot.txt.orig /boot/hotspot.txt


#2

Un petit feedback sur l’image pour le poppy torso :

  • déjà ça marche bien :smile:
  • dans /home/poppy/dev, il serait pratique d’ajouter un lien symbolique vers poppy-torso
  • j’ai eu le cas d’un câble légèrement débranché, le robot n’a pas démarré mais je n’ai pas eu de message d’erreur, y compris dans le log. J’ai du taper à la main “poppy-service --http poppy-torso” pour avoir le message avec le numéro du moteur débranché. Je ne vois pas pourquoi ça ne remonte pas dans Puppet master.
  • on peut lancer python en ligne de commande (avant on ne pouvait pas, et ça me sauve beaucoup !!)

Pour le wifi, de base, le robot est en hot spot, a voir si une procédure permettrai de repasser en mode classique en se connectant sur un routeur Wifi, notamment dans le cas où on manipule plusieurs Torso à la fois (si ça se trouve c’est déjà fait)


#3

Tu as utilisé snap ou jupyter notebook ?


#4

J’ai travaillé en ssh pour l’instant + interface de monitoring.


#5

OK. Il y a encore des PBs avec Jupyter notebook, je vais essayer de débugger ça, ajouter les modifs dont tu as parlé et refaire une nouvelle image versionnée.
En attendant je modifie (simplification) le post concernant l’installation à la main pour tenir compte de la mise à jour récente des scripts raspoppyfication.sh et setup-system.sh.


#6

juste remove le ficher : /boot/hotspot.txt

on peut également le faire directement depuis une connexion SSH. Mais par défaut elle est déactivé, mais il suffi de créé un document vide à la racine nommé SSH pour l’activer une foi plug dans la raspberry

depuis un terminal:
ln -s “/home/poppy/miniconda/lib/python2.7/site-packages/poppy-torso/” /home/poppy/dev/poppy-torso

j’ai pas encore eu le temps de regarder


#7

Bon j’ai mis une nouvelle image 2018-11-13-raspbian-stretch_PoppyTorso_v1_1.img dans le dossier partagé https://cloud.rochodc.com/index.php/s/toKLeCtoLb7Hfef :

  • ajout du lien symbolique /home/poppy/dev/poppy_torso vers le dossier/home/poppy/miniconda/lib/python2.7/site-packages/poppy_torso
  • ajout du lien symbolique /home/poppy/dev/puppet-master/snap vers /home/poppy/dev/puppet-master/Snap-4.1.0.4 (corrige le bug de snap qui ne se lançait pas…)

Par contre, au lancement de Jupyter avec l’interface HTTP, si j’essaye de créer un nouveau notebook Python2, j’ai une erreur avec le module Python tornado :
image

Apparemment ça vient des versions des modules Python qui ont changé depuis le script de Pierre https://github.com/poppy-project/raspoppy
Est-ce que quelqu’un a rencontré ce PB ?


#8

je pense que le problème vient de ta méthodo :

Pourquoi ne pas utilisier directement la commande indiqué sur le github?:

curl -L https://raw.githubusercontent.com/poppy-project/raspoppy/master/raspoppyfication.sh -o /tmp/raspoppyfication.sh
chmod +x /tmp/raspoppyfication.sh
sudo bash /tmp/raspoppyfication.sh --creature poppy-torso

#9

Le problème c’est que raspoppyfication.sh --creature poppy-torso lance un
sudo -u poppy bash poppy-setup.sh poppy-torso poppy
qui lance à son tour un conda install poppy-torso qui échoue…
-> raspoppyfication.sh n’a pas été débuggé pour poppy-torso :wink:

C’est pour ça que Pierre Rouanet m’avait conseillé l’autre méthode…


#10

Bon, après avoir pas mal bataillé avec le mélange des paquets Python installés par pip install xxx et par conda install xxx, j’ai enfin obtenu une image qui fonctionne aussi avec Jupyter notebook qui m’a permis de faire bouger Poppy Torso avec un notebook IPython …

je mets l’image 2018-11-13-raspbian-stretch_PoppyTorso_v1_2.img dans le dossier partagé https://cloud.rochodc.com/index.php/s/toKLeCtoLb7Hfef : avis aux amateurs pour continuer à tester la qualité de cette image pour Poopy Torso + “Rapberry Pi 3 B+” …


#11

j’ai commencer quelque modification: https://github.com/Tibo42/raspoppy/tree/patch-2

ca semble marcher, MAIS, dès que tu exécute une cellule ca “mouline dans le vide”