Club robotique de Sophia-Antipolis

Accueil > POBOTpedia > Ordinateurs embarqués (SBC) > La carte Raspberry PI > Logiciels et langages de programmation sur RPi > Ruby sur Raspberry Pi

Ruby sur Raspberry Pi

lundi 9 juillet 2012, par Julien H.

Différentes initiatives existent pour utiliser le langage Ruby sur la carte Raspberry Pi. En suivant les instructions d’installation de Ruby On Rails, le framework "serveur web" basé sur ce langage, on dispose (au bout de quelques heures, compilation à 900 MHz et 256 Mo obligent) d’un environnement capable de faire tourner des programmes Ruby.

Installation

Une fois tous les paquets Debian ARM installés, on peut lancer le script RVM. Dans le cas où ça puisse servir plus tard, voici le déroulement :

pi@raspberrypi:~$ curl -L get.rvm.io | bash -s stable --rails
..
Downloading RVM from wayneeseguin branch stable
..
Installing RVM to /home/pi/.rvm/
    Adding rvm PATH line to /home/pi/.bashrc /home/pi/.zshrc.
    Adding rvm loading line to /home/pi/.bash_login /home/pi/.zlogin.
..
# In case of any issues read output of 'rvm requirements' and/or 'rvm notes'

Installation of RVM in /home/pi/.rvm/ is almost complete:

  * To start using RVM you need to run <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c291cmNlIC9ob21lL3BpLy5ydm0vc2NyaXB0cy9ydm08L2NvZGU+"></span>
    in all your open shell windows, in rare cases you need to reopen all shell windows.
..
Installing Ruby from source to: /home/pi/.rvm/rubies/ruby-1.9.3-p194, this may take a while depending on your cpu(s)...

ruby-1.9.3-p194 - #fetching 
ruby-1.9.3-p194 - #downloading ruby-1.9.3-p194, this may take a while depending on your connection...
ruby-1.9.3-p194 - #extracting ruby-1.9.3-p194 to /home/pi/.rvm/src/ruby-1.9.3-p194
ruby-1.9.3-p194 - #extracted to /home/pi/.rvm/src/ruby-1.9.3-p194
ruby-1.9.3-p194 - #configuring 
ruby-1.9.3-p194 - #compiling 
ruby-1.9.3-p194 - #installing 
..
Installing rubygems-1.8.24 for ruby-1.9.3-p194 ...
Installation of rubygems completed successfully.
ruby-1.9.3-p194 - adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
ruby-1.9.3-p194 - #importing default gemsets (/home/pi/.rvm/gemsets/)
Install of ruby-1.9.3-p194 - #complete 

RVM is not a function, selecting rubies with 'rvm use ...' will not work.
You need to change your terminal settings to allow shell login.
Please visit https://rvm.io/workflow/screen/ for example.

On notera surtout la liste des gemmes (bibliothèques) qui s’installent :

Fetching: railties-3.2.6.gem (100%)
Fetching: rails-3.2.6.gem (100%)
Successfully installed i18n-0.6.0
Successfully installed multi_json-1.3.6
Successfully installed activesupport-3.2.6
Successfully installed builder-3.0.0
Successfully installed activemodel-3.2.6
Successfully installed rack-1.4.1
Successfully installed rack-cache-1.2
Successfully installed rack-test-0.6.1
Successfully installed journey-1.0.4
Successfully installed hike-1.2.1
Successfully installed tilt-1.3.3
Successfully installed sprockets-2.1.3
Successfully installed erubis-2.7.0
Successfully installed actionpack-3.2.6
Successfully installed arel-3.0.2
Successfully installed tzinfo-0.3.33
Successfully installed activerecord-3.2.6
Successfully installed activeresource-3.2.6
Successfully installed mime-types-1.19
Successfully installed polyglot-0.3.3
Successfully installed treetop-1.4.10
Successfully installed mail-2.4.4
Successfully installed actionmailer-3.2.6
Successfully installed rack-ssl-1.3.2
Successfully installed thor-0.15.4
Successfully installed json-1.7.3
Successfully installed rdoc-3.12
Successfully installed railties-3.2.6
Successfully installed rails-3.2.6
29 gems installed

Et on n’oubliera pas d’installer celui qui va bien nous servir pour piloter nos robots : http://rubygems.org/gems/serialport

pi@raspberrypi:~$ gem install serialport
Fetching: serialport-1.1.0.gem (100%)
Building native extensions.  This could take a while...
Successfully installed serialport-1.1.0
1 gem installed

Comme on souhaite aussi faire de la synthèse vocale, on va réutiliser espeak avec un gemme dédié :

Mais pour le faire fonctionner, il faut installer espeak (normalement c’est fait en suivant nos autres articles) mais, c’est nouveau, un encodeur mp3 appelé LAME.

Pour cela, il faut modifier le fichier des sources de paquets pour l’installateur APT :

$ sudo nano /etc/apt/sources.list

Y copier les lignes :

deb http://www.debian-multimedia.org squeeze main
deb-src http://www.debian-multimedia.org squeeze main

Puis lancer une mise à jour des fichiers de source :

$ sudo apt-get update
$ sudo apt-get install lame

Et on peut tester notre premier programme en Ruby :

require 'rubygems'
require 'espeak-ruby'

include ESpeak

espeak("salut_nono.mp3", :text => "Salut je suis Nono le robot du club Pobot", :voice => "
mb/mb-fr1")

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.