Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

village_des_sciences:village_des_sciences_2013_raspberry_pi [Le 20/05/2020 à 11:27] (Version actuelle)
florianb créée
Ligne 1: Ligne 1:
 +La page principale concernant le stand de Gulliver au [[village_des_sciences_2013|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 [[ http://www.raspberrypi.org/ |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 =====
 +
 +Mini-jeux :\\
 +http://photos.pcpro.co.uk/images/front_picture_library_PC_Pro/dir_380/it_photo_190375_52.jpg
 +
 +http://store.raspberrypi.com/projects?category=games&sort-by=price-low&status=finished&store=pi
 +
 +https://github.com/blue-prawn/ocaml-sdl2-minigames/blob/master/snake/snake0.ml
 +
 +Il faudra trouver un écran ou une télé sinon cette présentation ne pourra avoir lieu.
 +
 +-> merci ronan pour m'en avoir prêté un
 +
 +===== 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).
 +
 +{{:framboise_gpio-led1.svg|}}
 +
 +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
 +<code bash>
 +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
 +</code>
 +
 +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 :
 +
 +{{:flamboez1.png?200|}}
 +
 +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
 +
 +{{:flamboez21.png?200|}}
 +
 +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 !
 +
 +{{:flamboez31.png?200|}}
 +
 +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 [[ http://scratch.mit.edu/ | 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
 +<code> $ pour une commande en simple utilisateur </code> 
 +<code> # en administrateur ( root) </code> 
 +Je travaille en Debian avec un root classique en tapant
 +<code> su 
 +puis en aveugle le mot de passe root </code> 
 +
 +On peut remplacer le # par <code> $ sudo </code> si on préfère travailler en sudo
 +
 +ou bien faire <code> $ sudo su - </code>
 +
 +=== 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  <code> # echo 'deb http://archive.mene.za.net/raspbian wheezy contrib' >>/etc/apt/sources.list </code>
 +
 +On vérifie que la ligne est bien présente avec la commande
 +
 +<code> # cat /etc/apt/sources.list </code>
 +( c'est la dernière ligne)
 +
 +Valider ce dépot avec la clef gpg
 +<code> # apt-key adv --keyserver keyserver.ubuntu.com --recv-key 5243CDED </code>
 +
 +On va maintenant recharger la liste des paquets avec la commande
 +<code> # apt-get update </code>
 +On peut maintenant installer XBMC
 +<code> # apt-get install xbmc </code>
 +Une fois l'installation terminée, il faut que l'utilisateur soit membre de différents groupes 
 +<code> audio video input dialout plugdev tty </code>
 +
 +=== Utilisateur et groupes ===
 +
 +Pour la fête de la science nous allons travailler avec l'utilisateur gulliver
 +
 +Pour créer un utilisateur gulliver tapons
 +<code> # adduser gulliver </code>
 +Nous lui attribuons un mot de passe et on valide sa création. 
 +
 +Pour connaitre les groupes de Gulliver tapons
 +<code> # id gulliver </code>
 +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 :
 +<code> # adduser gulliver plugdev </code>
 +Ainsi de suite, ajoutez tous les groupes pour avoir à la fin l'ensemble de ces groupes après la commande
 +<code> # id gulliver </code>
 +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
 +<code> # addgroup --system input </code>
 +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
 +<code> Tapons : # vim /etc/udev/rules.d/99-input.rules </code>
 +Nous allons ajouter les lignes (insertion)
 +<code> SUBSYSTEM=="input", GROUP="input", MODE="0660"
 +KERNEL=="tty[0-9]*", GROUP="tty", MODE="0660" </code>
 +
 +(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/village_des_sciences_2013_raspberry_pi.txt · Dernière modification: Le 20/05/2020 à 11:27 par florianb     Haut de page
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki Design by Chirripó