Outils pour utilisateurs

Outils du site


publish:install_raspberry

Warning: Undefined array key "lang" in /home/signac/doku/lib/plugins/wrap/helper.php on line 94

Warning: Undefined array key "id" in /home/signac/doku/lib/plugins/wrap/helper.php on line 117

Warning: Undefined array key "width" in /home/signac/doku/lib/plugins/wrap/helper.php on line 119

Warning: Undefined array key "dir" in /home/signac/doku/lib/plugins/wrap/helper.php on line 128

Installer et configurer un Raspberry Pi

Ce document rapporte les étapes nécessaires à l'utilisation d'un Raspberry Pi dans le cadre de travaux pratiques, comme celui-ci du suivi de consommation électrique (non encore en ligne).

Choix de la distribution et installation

Pour des travaux courants, une solution est de télécharger NOOB, qui inclut plusieurs distributions, dont Raspbian et Arch : [[http://www.raspberrypi.org/downloads|NOOB]] On peut aussi télécharger directement Arch.

Préparation de la carte SD pour NOOB :

mkdosfs /dev/sdb1  # vérifier que le périphérique correspondant à la carte est sdb...

puis dézipper NOOB…zip sur la carte. Mettre la carte dans le RPi et le démarrer.

Choisir l'installation de Arch, puis se loguer avec root/root.

Configuration

Sources d'information

Francisation

# loadkeys fr  # clavier français
# passwd root  # changer le pass root
# pacman -Syy
# pacman -Syu  # mettre à jour la distribution
/etc/vconsole.conf
KEYMAP=fr  # fr-latin9 ?
#FONT=lat9w-16
#FONT=ter-v22n
#FONT_MAP=8859-1_to_uni

(à la place on peut aussi utiliser localectl set-keymap –noconvert fr-latin9

/etc/locale.gen
[...]
fr_FR.UTF-8 UTF-8  
fr_FR ISO-8859-1  
fr_FR@euro ISO-8859-15
[...]
/etc/locale.conf
LANG=fr_FR.UTF-8
LC_COLLATE=C

Dans le cas où il y a un serveur X

setxkbmap fr

puis

/etc/X11/xorg.conf.d/10-evdev.conf
Section "InputClass"
    Identifier "evdev keyboard catchall"
    MatchIsKeyboard "on"
    MatchDevicePath "/dev/input/event*"
    Driver "evdev"
    Option "XkbLayout" "fr"
EndSection

Ajout de logiciels

Paquetages à installer : python python-pyserial sqlite python-pip openssh sudo vim

Réglages

Ajouter un utilisateur

useradd -m <nom_user>  # changer <nom_user> ici et dans la suite

Modifier le fichier sudoers (confor)

/etc/sudoers
<nom_user> ALL=(ALL) ALL
<nom_user> ALL = NOPASSWD: /sbin/shutdown

Ajout de paquetages Python :

  • bottle (framework Web)
  • dateutil (manipulation de dates)
  • six ?
  • pyserial (lecture port série)

Ces paquetages peuvent être installés par un :

pip install bottle dateutil pyserial ...

Connexions à distance Copier la clé .ssh/id_dsa.pub de l'utilisateur (de son poste) dans .ssh/authorized_keys sur le Raspberry :

scp ~/.ssh/id_dsa.pub <nom_user>@<IP_RASPBERRY>:.ssh/authorized_keys

ou si le <nom_user> est le même sur les deux machines :

ssh-copy-id <IP_RASPBERRY>

Heure locale :

sudo ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime

Pour lire le port série sans être root, éditer /etc/group:

uucp:x:14:<nom_user>

ajout aussi dans le groupe tty

Modifier vimrc pour l'édition Python :

/etc/vimrc
:syntax enable
autocmd Filetype python setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4 autoindent
# Ajouter  smartindent ?

Systemd

La distribution Arch Linux utilise Systemd pour gérer les services (plutôt que SysV sur une Debian (MAJ : maintenant les debian utilisent aussi systemd)). Les commandes utiles pour gérer les services sont systemctl et journalctl. À un service correspond un fichier de configuration dans /etc/systemd/system. Supposons que le serveur Web Python soit : /home/signac/COMPTEUR/web.py. ON ajoute ce fichier de configuration:

/etc/systemd/system/compteurweb.service
[Unit]
Description=Web Releve compteur

[Service]
WorkingDirectory=/home/signac/COMPTEUR
ExecStart=/home/signac/COMPTEUR/web.py
Restart=always
RestartSec=30
User=signac
Group=users

[Install]
WantedBy=multi-user.target
  • sudo systemctl start compteurweb : démarre le service
  • sudo systemctl status compteurweb : état du service
  • sudo systemctl stop compteurweb : arreête le service
  • sudo systemctl enable compteurweb : démarrera le service au boot automatiquement

Divers

Les logs apparaissent sur l'écran console par défaut : Aller dans /boot/cmdline.txt et virer console=tty1

Console de login port série

Dans un des menus raspi-config (debian) on peut activer la console sur le port série. Il est alors possible d'utiliser un cable FTDI 3.3V pour relier le RPI au PC.

La doc des câbles FTDI est ici : [[http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdf|datasheet]].

Attention, dans les câbles FTDI 3.3V, seuls les signaux logiques sont convertis en 3.3V. La broche +VCC reste en 5V (si l'ordi fournit du 5V ce qui est généralement le cas).

Côté série du câble FTDI, repérer : Orange (TX), Jaune (RX) et Noir (GND). Le fil TX du câble doit être relié au RX du RPI, le fil RX du câble au TX du RPI.

Le fil orange va donc sur la broche 10, le jaune sur la 8 et le noir sur la 6.

Visu console

screen /dev/ttyUSB0 115200
Ctrl+a d (detach)
Ctrl+a K y (kill)
screeen -ls
screeen -r XXXX (reattach)
publish/install_raspberry.txt · Dernière modification: 2018/03/06 07:21 (modification externe)