page 1 de 6

47903653.jpg  Minecraft avec le Raspberry Pi Modèle B+

09 12 2014

traduction française de la page / french translation of :
http://www.element14.com/.../minecraft-on-the-raspberry-pi-model-a

Peux tu apprendre avec Minecraft ? 

Le Raspberry Pi est une plateforme idéale pour apprendre, il y a deux chouette façons d'apprendre à coder, qui sont le physical computing et Minecraft.

  • le physical computing agglomère le code avec l'électronique pour produire plein de chouettes projets. On peut utiliser plein de choses différentes comme les capteurs ultra sons comme signal en entrée et avec des LEDS ou des buzzers comme signal de sortie.
  • Minecraft est aussi une façon originale d'apprendre à coder, et en mélangeant ces 2 idées ensemble on peut créer une introduction intéressante au mon du code et du hacking hardware.

BplusLES.jpg

Le Rapsberry Pi B+ a été conçu pour des projets "embarqués", donc facilement intégrable à des projets de robotique, de collecte de données scientifiques ou de projets aéroportés.

Connecter la carte B+ se fait de la même manière que les modèles précédents grace à la standardisation du GPIO 40 pin. Les 26 premiers pins du GPIO sont totalement compatibles avec les séries A et B du raspberry, ce qui ouvre l'accés à plein de cartes tierces déjà développées. Le modèle B+ est livré avec un GPIO de 40 pins comme le modèle A+ et cela augure de nouvelles cartes tierces à la spécification HAT de la fondation Raspberry Pi. La spécification HAT utilise les pins 27 et 28 du nouveau GPIO pour communiquer entre la carte tierce et le Raspberry Pi, permettant à la carte de dire au Pi comment elle doit être configurée.

GPIO.png

Quelle meilleure introduction à ton nouveau Raspberry Pi qu'une plongée dans le monde de Minecraft et l'apprentissage d'un peu de Python avec une touche d'électronique en passant. 

Premiers pas avec Minecraft

Minecraft est un jeu crée par un développeur Suédois Markus "Notch" Persson et plus tard publié par la société Suédoise Mohjang depuis 2009. Dernièremùent Microsoft à fait l'acquisition de Mohjang en Novembre 2014 pour 2.5 Milliards de $.

Minecraft est disponible sur plein de plateformes, du téléphone portable à la playstation 4. Mais là ou c'est chouette c'est avec le Raspberry Pi. 

Pourquoi est ce intéressant avec le Raspberry Pi ?

La version Raspberry Pi de Minecraft est livrée avec une API Python (Application Programming Interface) qui nous permet d'interagir et modifier le monde Minecraft en utilisant Python, et comme nous utilisons Python, nous pouvons donc utiliser sa bibliothèque Rpi.GPIO pour réaliser des projets "dans la vrai vie" grace aux entrées/sorties GPIO du Pi.

En Septembre 2014 la dernière version de Raspbian est livrée avec Minecraft pré-installée et prête pour du hacking, donc c'est la meilleure façon de démarrer ce projet. On peut télécharger la dernière version de Raspbian et trouver des instructions sur la façon de l'installer via la carte SD, sur le site : http://www.raspberrypi.org/downloads/ 

C'est parti

Avec Raspbian installée sur la carte SD, connecte tous les périphériques requis pour ton Pi, rapelle toi de toujours brancher l'alimentyaiton en dernier. Une fois branché, patiente le temps qu'il boote.

Si c'est le premier boot du Raspberry Pi l'assistant raspi-config va démarrer automatiquement et vas te demander de configurer ton Pi. Pour ce projet on n'a pas besoin d'activer de configuration spéciale pour le P, donc tu peux amener le curseur sur "Finish" pour quitter l'application. 
Le Pi va ensuite te demander de te logger, et le login, par défaut est :
  • utilisateur : pi
  • mot de passe : raspberry
Quand tu vas taper ton mot de passe il ne va pas s'afficher : c'est une fonctionnalité normale de sécurité de Linux et préviens quiconque d'épier ton mot de passe quand tu vas le taper, une fois loggé entre la commande suivante dans le prompt et appuies sur "entrée".

startx  
Après quelques secondes le bureau Raspibian sera chargé et prêt à l'emploi.

Commence par ouvrir un terminal (LXTerminal), tapes la command suivante, et presse "entrée" :

sudo idle & 

Cela va charger l'idle Python avec les privilèges root, c'est quelque chose qui est nécessaire pour pouvoir utiliser le GPIO avec note projet. Tu peux te demander qu'est ce que le "&" vient faire ici ? Et bien c'est une astuce Linux pour dire au système que la commande une fois effectuée (ici "sudo idle") devra être placée en tache de fond, cela libère le prompt pour toute future commande que tu voudrais effectuer. L'idle lancé, déplace toi sur le second bureau avec l'icone dans le coin en bas à droite : il y a deux petits carrés grisés dans la barre des taches, ce sont tes bureaux, clique sur le 2° (tu pourras revenir au premier ensuite facilement en cliquant sur le 1er bureau...). On fait ça car en fait Minecraft sera lancé en plein écran par dessus toutes les autres fenêtres.

Sur le second bureau cliques sur l'icone Minecraft pour démarrer l'application. Choisis "nouveau jeu" et crée un nouveau monde. Si tu as déjà un monde sur lequel tu joues déjà tu peux charger celui la, pas de soucis. Une fois chargé tu seras téléporté dans le monde Minecraft. Prends ton temps pour regarder ce qu'il se passe autour de toi et pour te familiariser avec les commandes.

  • Souris - Contrôle ton regard
  • Clic Gauche - Casse les blocs
  • Clic Droit - Place les blocs
  • Z - Se déplacer vers l'avant
  • Q - Se déplacer vers la gauche
  • S - Reculer
  • D - Se déplacer vers le droite
  • E - Ouvre l'inventaire de tous les blocs disponibles
  • Esc - retourne au menu principal

Maintenant que tu t'es familiarisé avec l'environnement Minecraft, presses la touche 'Tab' pour libérer ta souris et retourne sur le premier bureau en cliquant sur le petit icone tout en bas à droite dans la barre des taches.

Pour ce projet tu vas avoir besoin de :

Dans ce post nous allons découvrir le modèle B+ et Minecraft avec trois projets simples à apprendre

Ces 3 projets sont :

projet 1 : écrire dans le chat de Minecraft - Notre programme test "Hello World" pour être sur que tout est bien installé

projet 2 : Boutton poussoir téléporteur - Relier le monde physique avec celui virtuel, en utilisant un boutton poussoir on pourra téléporter Steve au hasard dans le monde Minecraft en appuyant sur le boutton.

projet 3 : Controler une LED - Ce serait vraiment chouette qu'une LED nous indique quand Steve se téléporte


Projet 1 - Ecrire dans la fenêtre de chat

Minecraft dispose d'une fenêtre de chat, qui vous permet de discuter avec vos potes dans une partie multijoureurs. Dans ce tutoriel on va utiliser ce chat comme sortie de messages provenant de Python.

Pendant notre configuraiton nous avons déjà lancé Minecraft, et il nous attend sur le second bureau. Mais avant de retourner à Minecraft, on va créer une nouveau fichier avec l'idle. Cliques sur "Fichiers >> nouvelle fenêtre " pour créer un nouveau document pour notre projet. 

idle_Blank.png

On démarre notre projet en activant L'API Minecraft pour Python, et pour ce faire nous importons le module Minecraft dans notre projet.

import mcpi.minecraft as minecraft

Tu verras que quand nous importons le module "mcpi.minecraft" on va changer son nom pour juste : "minecraft", juste parce que c'est plus simple.
Avec l'import fait on passe a la ligne de code suivante :

mc = minecraft.Minecraft.create()


Avec cette ligne de code nous créons une variable, un container, apelée "mc" et dans cette variabla nous stockons "minecraft.Minecraft.create()”

Cette ligne crée une variable, nommée "mc" et qui nous sert à stocker une chaine de caractères : “minecraft.Minecraft.create()” qui va crée une connection entre notre projet Python et Minecraft.

Notre ligne de code finale appelle simplement la fonciton postToChat à laquelle npous passons la chaine "Hello World", pas très original mais un bon test pour être sur que tout fonctionne.

Pour faire marcher ton code tu vas devoir sauver le fichier : "Fichiers >> enregistrer". Sauves le dans ton répertoire utulisateur et donne lui le nom que tu veux à part des choses du genre : minecraft.py ou Minecraft.py, car sinon cela risque de poser des problèmes ensuite.

Avec le projet sauvegardé, cliques sur "Run >> Run Module" et déplaces toi vite sur le bureau sur lequel s'execute Minecraft.
Tu devrais voir ceci à l'écran :

IMG_20141201_140456865.jpg

 

Amélioration : compte à rebours

Maintenant que nous avons une méthode pour publier sur la fenêtre de chat, on va créé un compte à rebours.
On va utiliser le code qu'on vient de faire comme base et le modifier pour implémenter cette nouvelle fonctionnalité.

import mcpi.minecraft as minecraft
from time import sleep
 
mc = minecraft.Minecraft.create()
n = 5
while n > 0:
mc.postToChat(str(n))
sleep(1)
n = n - 1

Comme tu peux le voir dans le code, nous importons la fonction "sleep" depuis le module "time", cela nous permet de contrôler la vitesse de notre projet. Ensuite on crée une variable appelée "n" dans laquelle nous stockons un entier : 5, ce sera le départ de notre compte à rebours. On va ensuite utiliser une condition.

As you can see in the code we import the sleep function from the time module, this enables us to control the speed of our project. Next we create a new variable called “n” in which we store the integer 5 this will be the start of our countdown. We next use a conditional statement that states.

  1. Pendant que la valeur de "n" est supérieure à 0 
  2. Publie sa valeur dans la fenêtre de chat Minecraft 
  3. Attends pendant 1 seconde 
  4. Change la valeur de “n” en soustrayant 1 de sa valeur actuelle 

Essaies ce code dans ton projet et vas voir dans le fenêtre de chat, tu devrais voir un compte à rebours :

IMG_20141201_140528710.jpg

 

Projet 2 – Téléportation avec boutton poussoir

Crée un nouveau fichiers dans l'idle Python : 

idle_Blank.png

 

On démarre le projet en activant l'API Minecraft pour Python, pour ce faire on importe le module Minecraft :

import mcpi.minecraft as minecraft

On fait suivre plusieurs autres importations, la première RPI.GPIO active l'accés au GPIO. On importe de nouveau "sleep" du module "time", et finalement on importe une fonction de hasard, on l'utilisera pour sélectionner des nombres au hasard plus tard...

import mcpi.minecraft as minecraft
import RPi.GPIO as GPIO
from time import sleep
from random import randint
Nos 2 lignes de code suivantes gèrent le GPIO. Le première ordonne au module d'utiliser l'organisation des pins "Broadcom" pour notre GPIO (réfère toi à la description en image du GPIO pour avoir les détails). La seconde ligne informe la librairie GPIO que le pin 17 sera une entrée et que l'on va la paramétrer sur sa valeur haute par défaut.
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN, GPIO.PUD_UP)

Dans notre prochaine section de code on va crée une boucle infinie en utilisant "while true", et à l'intérieur de la boucle on crée une condition qui sera :

while True:
if GPIO.input(17) == False:
a = (randint(0,100))
b = (randint(0,100))
c = (randint(0,100))
GPIO.wait_for_edge(17, GPIO.FALLING)
pos = mc.player.getPos()
mc.player.setPos(a,b,c)
mc.postToChat("ENERGIZE!!!")
sleep(5)
  1. If the button attached to pin 17 is pressed  
  2. Choose a random number between 0 and 100  
  3. Choose a random number between 0 and 100  
  4. Choose a random number between 0 and 100  
  5. Wait for the button press to finish  
  6. Get the players current position in the game world  
  7. Change the players position using the values stored in a,b,c (these correspond to x,y,z)  
  8. Post to chat “Energize” because I am a Star Trek geek.  
  9. Wait for 5 seconds and then the process repeats.  

 

Tapes ce code dans l'idle et sauve le fichier. Maintenant on va construire un circuit tout simple en utilisant les composant matériels.
Connectes les composants comme sur ce diagramme :

Teleporter - Project 2.png

 

Quand tes connections sont toutes bonnes, lances le projet avec "Run >> run" et retourne sur le bureau de Minecraft. Une fois que tu es prêt appuies sur le boutton poussoir de la breadboard.

IMG_20141201_160333633_HDR.jpgIMG_20141201_160338943.jpg

 

Steve va être téléporté à un nouvel emplacement sur la map, s'il est coincé, appuies sur le boutton de nouveau.

 

Projet 3 – Ajouter une LED à notre téléporteur

Pour notre dernier projet on va étendre le projet 2 en ajoutant une sortie physique à notre téléporteur. Regardons le code.
On va réutiliser le code du projet 2 :

import mcpi.minecraft as minecraft
import RPi.GPIO as GPIO
from time import sleep
from random import randint
 
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN, GPIO.PUD_UP)

e un output, on connectera une LED sur ce pin plus tard.

GPIO.setup(27, GPIO.OUT)
 
mc = minecraft.Minecraft.create()
while True:
if GPIO.input(17) == False:
a = (randint(0,100))
b = (randint(0,100))
c = (randint(0,100))
GPIO.wait_for_edge(17, GPIO.FALLING)

Notre premier ajout sera de paramétrer le pin 27 comme une sortie, on connectera une LED à ce pin plus tard...

GPIO.setup(27, GPIO.OUT)
 
mc = minecraft.Minecraft.create()
while True:
if GPIO.input(17) == False:
a = (randint(0,100))
b = (randint(0,100))
c = (randint(0,100))
GPIO.wait_for_edge(17, GPIO.FALLING)

 

When the button is triggered the LED will light up.

 


The LED will now turn off.




Now we will build a simple circuit using the rest of the hardware components. Connect up the components as per the diagram.

 

Teleporter - Project 3.png

 

When your wiring is complete, run the project in idle via Run >> Run Module and then quickly swap back to Minecraft using the desktop switcher. When ready press the button on your breadboard.

Steve will be teleported around the Minecraft world and the LED on your breadboard will light up.


Congratulations, you have taken your first steps with Minecraft on your Raspberry Pi B+.

 

All of the code for these projects can be found on my Github page.


47903653.jpg  raspberry pi et électronique

09 12 2014

A FAIRE, une traduction de l'article, "Raspberry + electronique, un howto" :

http://www.element14.com/community/community/raspberry-pi/raspberry-pi-bplus/blog/2014/12/05/minecraft-on-the-raspberry-pi-model-a?CMP=SOM-BLOG-LPOUNDER


linux-debian.jpg  OpenGL Cookbook code

09 12 2014

C'est par là :
https://github.com/daw42/glslcookbook


sals

linux-debian.jpg  OpenGL avec Debian

09 12 2014

Installation des fichiers nécessaires.

Chercher "gl.h" dans le contenu des paquets :
https://packages.debian.org/search?searchon=contents&keywords=gl.h&mode=exactfilename&suite=unstable&arch=amd64

Ou l'on remarque que :
- /usr/include/GL/gl.h se trouve dans le paquet : mesa-common-dev (OpenGL)
- /usr/include/GLES/gl.h se trouve dans le paquet : libgles1-mesa-dev (OpenGLES)

Chercher "glut.h" dans le contenu des paquets :

https://packages.debian.org/search?searchon=contents&keywords=glut.h&mode=exactfilename&suite=unstable&arch=amd64
- /usr/include/GL/glut.h se trouve dans le paquet : freeglut3-dev (Utilty Toolkit)

références :
http://www.codeproject.com/Articles/182109/Setting-up-an-OpenGL-development-environment-in-Ub

IMG_4786_-_IMG_4790_2_blended_fused_5.jpg  berssaptera

04 12 2014

IMG_4786_-_IMG_4790_2_blended_fused_5.jpg

IMG_3722.opti.jpg

Berssaptera, performance, novembre 2014.


tl09.jpg  AIDE A LA CREATION

03 12 2014

Aide individuelle à la création 2015 / Drac Midi-Pyrénées / TOULOUSE
La Direction régionale des affaires culturelles (Drac) Midi-Pyrénées attribue
des aides individuelles pour des projets prévus sur le territoire national dans
les domaines suivants : peinture, estampe, sculpture, installation, photographie… 
Ces aides concernent la phase de conception du projet et
non sa diffusion (exposition ou édition) et permettent aux artistes de mener
aussi bien une étude qu’une recherche artistique n’aboutissant pas
nécessairement à la réalisation concrète d’une oeuvre. Le montant de
l’allocation attribuée est calculé selon la nature du projet présenté et les
dépenses nécessaires à sa réalisation. 
La demande ne peut dépasser 7500 euros.
Date limite de dépôt du dossier complet 
++++++++++++++++++++++++++++++
31.03.2015, le cachet de la poste faisant foi.
+++++++++++++++++++++++++++++++++++
Contacts :
Madame Marie-Béatrice Angelé
Conseiller pour les arts plastiques
Tél. : 05 67 73 20 19
julie.loustau(arobase)culture.gouv.fr
Le dossier doit être adressé à :
Monsieur le directeur régional des affaires culturelles
Service des arts plastiques
Drac Midi-Pyrénées
32 rue de la Dalbade
BP 811
31080 TOULOUSE cedex 06
Apposer la mention
NE PAS OUVRIR
sur l’enveloppe
ainsi que vos coordonnées.
INFORMATIONS et FORMULAIRE :
http://www.culturecommunication.gouv.fr/.../AIC%20descriptif_2015.pdf.

linux-debian.jpg  linux framebuffer

27 11 2014

Un lien qui explique simplement plein de choses concernant la gestion des pixels quant on est en mode console sous linux.
Par exemple, même si on installe pas X, on peut tout de même visualiser des images par l'intermédiaire de la commande fbi.


Le lien :
http://hacklab.cz/2012/04/22/usefulness-linux-framebuffer-virtual-console


Et tant qu'on y est un lien sur comment qu'on dump du random dans un device audio :
http://unix.stackexchange.com/questions/13732/generating-random-noise-for-fun-in-dev-snd


Et plus particulièrement le passage :

I think the reason this isn't working for you is because that interface has been deprecated. You normally can't write audio using /dev/dsp anymore, at least without being tricky. There is a program that will accomplish this for you on your system: padsp. This will map the /dev/audio or /dev/dsp file to the new Audio Server system. Fire up the terminal and get into root mode with sudo su. Then, I'm going to cat /dev/urandom and pipe the output into padsp and use the tee command to send the data to /dev/audio. You'll get a ton of garbage in your terminal, so you may want to redirect to /dev/null. Once you're in superuser, try this command: cat /dev/urandom | padsp tee /dev/audio > /dev/null You may even want to try with other devices, like your mouse: Use: /dev/psaux, for instance or the usb driver. You can even run your memory through it: /dev/mem1 Hope this clarifies why it wasn't working before. Personally, I found the mouse and memory to be way more interesting than playing random static!


hacheuur_0.24._2014.11.24_12h38m38s.png  haacheuur blanc

24 11 2014

le programme Haacheuur 0.24 travaillant avec une image blanche :

 hacheuur_0.24._2014.11.24_12h38m38s.png hacheuur_0.24._2014.11.24_15h41m33s.gif hacheuur_0.24._2014.11.24_15h41m37s.gif hacheuur_0.24._2014.11.24_15h41m40s.gif hacheuur_0.24._2014.11.24_15h42m56s.gif hacheuur_0.24._2014.11.24_15h43m06s.gif

linux-debian.jpg  Cloner Debian

21 11 2014

c'est simple comme : grml-debootstrap
https://packages.debian.org/fr/wheezy/grml-debootstrap

Depuis un système Debian, il suffit d'invoquer ce programme pour installer un autre système Debian (on choisit la version) quelque part sur une autre partition que l'on aura au préalablement préparée (ce serait balot d'effacer des données) pour accueillir cette nouvelle installation.
Bref, c'est du gateau.


linux-debian.jpg  réduire la taille des fichiers pdf

21 11 2014

les 2 commandes :
$ pdf2ps file.pdf file.ps $ ps2pdf -dPDFSETTINGS=/ebook file.ps file-optimized.pdf
(tiré de http://stackoverflow.com/questions/10450120/optimize-pdf-files-with-ghostscript-or-other)

Sinon, autre page explicative :
http://astuces.absolacom.com/ubuntu/reduire-la-taille-dun-pdf-sur-linux/


page 1 de 6


Pierre Mersadier - 2014 - license cc by-nc-sa 3.0 fr