La page principale concernant le stand de Gulliver au village des sciences 2013 est sur une autre page.

Présentation du Raspberry-Pi au stand du Village des sciences 2013

Pour la fe de la science 2014 une nouvelle page Robot Framboise 2014
Le Raspberry-Pi est un petit boîtier qui se comporte comme un mini-ordinateur, on peut lui brancher :

  • Une alimentation 5V par micro USB (identique au chargeur de téléphone “intelligent” smartphone)
  • Une carte SD avec un système d'exploitation
  • Un câble Ethernet pour se connecter à un réseau local et/ou à internet
  • Optionnel : Un écran avec un câble HDMI ou une télévision avec un câble Composite RCA
  • Il possède une sortie audio, on pourra donc brancher un casque ou des enceintes actives
  • Il possède aussi 2 entrées USB, on pourra donc y brancher une souris , un clavier ou une webcam …

Présentation ludique du Raspberry-pi

Présentation du RaspberryPi avec BerryBoot

Pour ceux qui ne connaissent pas:
http://korben.info/berryboot-du-multiboot-facile-sur-le-raspberry-pi.html

Afin de faire :

- une démo avec téléchargement et installation d'une distribution GNU/Linux pour Raspberry

- installation Gmote sur Android via Fdroid (avec quelques mots sur Fdroid):
https://f-droid.org/repository/browse/?fdid=org.gmote.client.android&fdpage=10

- une présentation d'OpenElec avec Gmote comme télécommande

Présentation technique du Raspberry-pi

Pour la fête de la science, il est prévu de le piloter en ssh et/ou avec une interface web depuis un autre PC, à moins que l'on trouve un écran avec entrée HDMI d'ici là.

Le Raspberry-Pi que je nomme Framboise possède une distribution debian wheezy : Raspbian installé. C'est un raspberry pi de deuxième génération avec 512 Mo de RAM, la carte SD fait 32 Go.

Comme c'est une Debian, j'ai remis un vrai administrateur avec su et mot de passe et enlever le sudo sans mot de passe (qui était installé par défaut). Pour les paquets j'utilise toujours aptitude et non pas apt-get.

L'adresse IP est dynamique obtenue en DHCP. Pour pouvoir communiquer avec lui, j'avais quelques difficuktés à communiquer quelque soit le lieu. Merci beaucoup à Benjamin qui m'a conseillé de travailler en MDNS Multicast DNS avec avahi.

J'ai du installer avahi-daemon, c'est très simple en administrateur (root) taper aptitude install avahi-daemon puis on reboot pour être tranquille.

Depuis une machine Debian ou Ubuntu qui a avahi d'installer, on ne doit connaître que le nom de la machine “Hostname”, par défaut c'est raspberrypi et le nom de l'utilisateur pi par défaut Accès par ssh : ssh pi@raspberrypi.local ou en http : http://raspberrypi.local:8080

Dans le cas du http il faut avoir un serveur http d'installer Apache ou comme on le verra par la suite webiopi, le nombre 8080 correspond au port de webiopi par défaut.

Les entrées sorties de Framboise : Le bus GPIO

Une des spécificités de ce type de carte, ce sont les entrées sorties que l'on peut piloter.

Je vais faire une présentation rapide avec Webiopi.

J'ai installé des bibliothèques C, Python pour piloter les entrées sorties GPIO.

Les ports série SPI et I2C sont validés.

Pilotage d'une simple LED

La LED est branchée en série avec une résistance de 150 ohms entre GPIO17 (broches 11) et une masse (GND).

On peut avec la bibliothèque wiring pi piloter les entrées sorties.

Pour installer la bibliothèque https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/

  • Avantages : pas besoin d'être administrateur (root) sur la machine
  • Inconvénients : on le fait dans un terminal, ce n'est pas très convivial.

Voici les commandes simples pour des entrées sorties TOR Tout ou Rien

  • Pour choisir entre sortie et entrée : gpio -g mode 17 out ou bien gpio -g mode 17 in
  • On pourra lire une entrée avec : gpio -g read 17
  • On écrira une sortie avec : gpio -g write 17 0 ou gpio -g write 17 1

Un petit exemple dans un terminal pour faire une led cligotante

gpio -g mode 17 out
for i in $(seq 10)
do gpio -g write 17 0
   sleep 0.2
   gpio -g write 17 1
   sleep 0.2
done

Sinon comme d'habitude, man gpio pour les adeptes de la ligne de commande ;-)

Interface Web Webiopi

On peut aussi piloter les entrées sorties avec une interface web.

Il faut d'abord installer webiopi http://code.google.com/p/webiopi/wiki/INSTALL

Pour l'utiliser depuis framboise : il faut être administrateur (root) et lancer la commande “python -m webiopi 1234”

Sur l'ordinateur client on lancera dans un navigateur web : http://raspberrypi.local:1234

Voici ce que vous obtiendrez :

Par défaut, la broche 11 GPIO 17 est en entrée (IN) si vous cliquez (clic gauche) sur IN, GPIO17 devient une sortie OUT

Remarquez que la case 11 est noire comme la masse donc la sortie est à 0 par défaut.

Il suffit alors de cliquer sur le 11 pour que la sortie soit à 1 et la LED s'allume !

La case devient orange comme le 3.3 Volts attention les signaux sont en 0-3.3 V et non pas 0-5 V

Si nous avions une entrée, en fonction de son état la couleur changerait:

  • IN (ENTRÉE) de couleur Noire : Niveau logique 0 ou O Volt
  • IN (ENTRÉE) de couleur Orange : Niveau logique 1 ou 3.3 Volts
Présentation du Bus GPIO

Il comporte 8 broches d'alimentation 4 de masse GND, 2 d'alimentation 3.3V et 2 d'alimentation 5V

On remarquera que quelques broches sont d'une autre couleur : les entrées sorties spécifiques

  • Bus I2C1 broches 3 SDA et 5 SCL
  • Liaison série UART0 broches 8 TX et 10 RX
  • Bus SPI GPIO 7 à 11, GPIO7 et 8 2 CE chip Enable, GPIO 9 MISO, GPIO 10 MOSI GPIO11 SCLK

Il vous reste donc 8 entrées sorties numériques classiques

GPIO 4, 17, 27, 22, 18, 23, 24, 25.

Elles peuvent prendre 2 états 0 ou 1 on parle souvent d'E/S TOR entrées sorties tout ou rien.

TRÈS IMPORTANT : Les niveaux électriques sont 0 - 3.3V et non pas 0 - 5 V. Le microprocesseur ARM ne supporte pas le 5 Volts !

ENTRÉES : On peut mettre n'importe quel capteur numérique ou digital signal 0-3.3V, pas de capteur analogique.

SORTIES : On peut mettre une sortie alimentée en 0 3.3V et Imax = 10 mA. On pourra évidemment piloter des sorties de tension et courant plus important via des transistors au circuit intégré spécifique.

Pour les transistors bipolaires NPN et PNP le courant de base devra être inférieur à 10 mA. Concrètement L'alimentation de 3.3V un VBE de 0.7V , la résistance de base devra être supérieure à 270 ohms.

Transistors MOSFET pas besoin de résistance sur la grille, mais attention il faut un VGS th < 3V Il faut choisir un mosfet “sensitive gate”, concrètement avec une puissance de 50 Watts sous 12 Volts, un courant de 4 A si vous prenez un transistor de 10 A mais prévu pour une commande TTL (5V) il va chauffer, on ne travaille plus dans la zone RDSon ! Attention les transistors pour l'arduino UNO fonctionnent en 5 Volts.

PRÉCAUTION AVEC LES ENTRÉES SORTIES

DANGER : Comme vous avez remarquez sur framboise, il faut être root ou administrateur pour gérer les entrées sorties, donc il faut faire TRÈS ATTENTION car on peut détruire une entrée sortie si on ne fait pas attention.

Ne branchez pas un capteur ou détecteur d'entrée extérieur sur une sortie de Framboise.

Quand vous modifiez les entrées sorties faites très attention avant de mettre en sortie car il ne faut pas mettre une sortie de framboise sur une entrée, c'est la même chose que ci-dessus, sauf l'ordre de branchement

Lorsqu'une GPIO n'est pas utilisée, laissez là en entrée, si vous branchez une sortie extérieure sur une entrée de framboise, cela ne fonctionnera pas mais vous ne craignez rien.

Scratch et Raspberry Pi

Pilotons les Entrées sorties avec Scratch

Mais aussi du Wifi sur Raspberry Pi Pilotez les entrées sorties avec du Bluetooth et la commande Wii

XBMC sur Rasbian

Gérez vos vidéos avec un Raspberry Pi

Installation de XBMC sur Raspbian

XBMC for Raspberry Pi

Submitted by mgorven on Wed, 2012/10/31 - 00:32

http://michael.gorven.za.net/raspberrypi/xbmc

Version adaptée en français

L'installation se fait en ssh depuis un ordinateur de bureau.

Convention les commandes à taper dans une console ou terminal commencent par

 $ pour une commande en simple utilisateur 
 # en administrateur ( root) 

Je travaille en Debian avec un root classique en tapant

 su 
puis en aveugle le mot de passe root 

On peut remplacer le # par

 $ sudo 

si on préfère travailler en sudo

ou bien faire

 $ sudo su - 

INSTALLATION du paquet XBMC

Ajouter à la liste des dépots le dépot : deb http://archive.mene.za.net/raspbian wheezy contrib

On ajoute cette ligne dans /etc/apt/sources.list en administrateur (root)

Exemple

 # echo 'deb http://archive.mene.za.net/raspbian wheezy contrib' >>/etc/apt/sources.list 

On vérifie que la ligne est bien présente avec la commande

 # cat /etc/apt/sources.list 

( c'est la dernière ligne)

Valider ce dépot avec la clef gpg

 # apt-key adv --keyserver keyserver.ubuntu.com --recv-key 5243CDED 

On va maintenant recharger la liste des paquets avec la commande

 # apt-get update 

On peut maintenant installer XBMC

 # apt-get install xbmc 

Une fois l'installation terminée, il faut que l'utilisateur soit membre de différents groupes

 audio video input dialout plugdev tty 

Utilisateur et groupes

Pour la fête de la science nous allons travailler avec l'utilisateur gulliver

Pour créer un utilisateur gulliver tapons

 # adduser gulliver 

Nous lui attribuons un mot de passe et on valide sa création.

Pour connaitre les groupes de Gulliver tapons

 # id gulliver 

Certains groupes parmi les 6 groupes ci-dessus sont déjà présents nous n'ajouterons que les manquants exemple le groupe plugdev n'apparaît pas, pour que gulliver soit dans le groupe plugdev tapons :

 # adduser gulliver plugdev 

Ainsi de suite, ajoutez tous les groupes pour avoir à la fin l'ensemble de ces groupes après la commande

 # id gulliver 

réponse dans mon cas : uid=1002(gulliver) gid=1003(gulliver) groupes=1003(gulliver),5(tty),20(dialout),29(audio),44(video),46(plugdev),999(input)

Vérifier les groupes présents.

Si un groupe n'existe pas on pourra le créer avec la commande

 # addgroup --system input 

Ici on ajoute le groupe input

( Je n'ai pas rencontrer ce problème personnellement)

Avant de lancer XMBC, il faut modifier le fichier /etc/udev/rules.d/99-input.rules

Je travaille avec vim dans un terminal mais vi ou nano fonctionne aussi

 Tapons : # vim /etc/udev/rules.d/99-input.rules 

Nous allons ajouter les lignes (insertion)

 SUBSYSTEM=="input", GROUP="input", MODE="0660"
KERNEL=="tty[0-9]*", GROUP="tty", MODE="0660" 

(dans mon cas la première ligne existe déjà donc je ne la rajoute pas)

Sauvegarder (echap :wq sous vim)

Lancer XBMC

Pour lancer XMBC $ xbmc-standalone

dans un terminal mais avec un écran évidemment !

Attention, il ne faut pas le lancer dans une interface graphique.

Concrètement, il faut le lancer au lieu du startx car XMBC n'utilise pas Xorg

Venez nous voir à la fête de la science, pour voir XBMC en oeuvre !

 
village_des_sciences_2013_raspberry_pi.txt · Dernière modification: Le 05/02/2014 à 15:07 par per     Haut de page
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki Design by Chirripó