32
Raspberry Pi : du moteur à l’iPhone Ou comment diriger un ordinateur roulant Arnaud Boudou 07/06/202 2

Présentation Raspberry Pi (cocoaheads remix)

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Présentation Raspberry Pi (cocoaheads remix)

Raspberry Pi : du moteur à l’iPhoneOu comment diriger un ordinateur

roulantArnaud Boudou 10/04/2023

Page 2: Présentation Raspberry Pi (cocoaheads remix)

10/04/2023 www.ekito.fr 2

• Arnaud Boudou

– Développeur Java / iOS chez ekito

– Twitter : @boudouarnaud

– Web (ekito) : http://www.ekito.fr/people?author_name=aboudou

– Web (perso) : http://goddess-gate.com/projects/fr

Page 3: Présentation Raspberry Pi (cocoaheads remix)

Sommaire

• Présentation du Raspberry Pi• Un petit cours d’électronique (non,

ne partez pas déjà !)• Du code• La démonstration• Et plus tard…

10/04/2023 www.ekito.fr 3

Page 4: Présentation Raspberry Pi (cocoaheads remix)

La fondation Raspberry Pi

Organisation caritative britannique fondée en mai 2009

• Constat : de moins en moins de jeunes britanniques se lancent dans les études informatiques (en 2012 : 100 000 postes en attente, 30 500 diplômés)

• Idée : les y amener en leur donnant goût à la programmation via un ordinateur bon marché.

• Cible (officielle) : les écoles pour jeunes enfants / ados.

• Résultat : le Raspberry Pi, mini-ordinateur ARM.10/04/2023 www.ekito.fr 4

Page 5: Présentation Raspberry Pi (cocoaheads remix)

Le Raspberry Pi

Ordinateur à base de processeur ARM, taille carte bancaire

10/04/2023 www.ekito.fr 5

Page 6: Présentation Raspberry Pi (cocoaheads remix)

Le Raspberry Pi

• Faible consommation : environ 4 W• Faible prix : 35 $• Nombreuses possibilités d’extension : USB, Ethernet,

HDMI, GPIO (General Purpose Input Output), Série, I2C, etc.

• Performances : « Les performances générales sont de l’ordre d’un Pentium 2 300 MHz – CPUdatant de 1997 – avec des capacités graphiques qui se la pètent plus »

• Même CPU que pour l’iPhone EDGE / 3G (ARM1176JZF-S) à 700 MHz au lieu de 412 MHz

• Fonctionne sous Linux10/04/2023 www.ekito.fr 6

Page 7: Présentation Raspberry Pi (cocoaheads remix)

Un succès inattendu

• Selon Eben Upton : « Nous pensions honnêtement en vendre environ 1 000, éventuellement 10 000 dans nos rêves les plus fous ».

• Lors de l’ouverture des précommandes (février 2012), environ 100 000 Raspberry Pi ont été commandés.

• À ce jour (mars 2013), plus de 1 000 000 machines ont été livrées.

• Le faible prix explique ce succès, ainsi que la possibilité de l’interfacer de différentes manières avec le monde réel.

10/04/2023 www.ekito.fr 7

Page 8: Présentation Raspberry Pi (cocoaheads remix)

Des projets… variés

10/04/2023 www.ekito.fr 8

Page 9: Présentation Raspberry Pi (cocoaheads remix)

Une invasion mondiale

10/04/2023 www.ekito.fr 9

Page 10: Présentation Raspberry Pi (cocoaheads remix)

Raspberry Pi vs Arduino

10/04/2023 www.ekito.fr 10

Raspberry Pi Arduino

Ordinateur :Utilise un système d’exploitation, pas de temps réel.

Microcontrôleur :Pas de système d’exploitation, temps réel.

Versatile (rappel : c’est un ordinateur). Spécialisé (fait comparativement peu de choses, mais les fait bien).

Autonome (rappel : c’est un ordinateur). Semi-autonome : a besoin d’un ordinateur pour le programmer.

Quelques entrées/sorties numériques (8 par défaut), aucune analogique.

Beaucoup d’E/S numériques (14 à 54), beaucoup d’entrées analogiques (6 à 16).

Sortie audio, vidéo, E/S USB, connecteurs spécialisés écran / caméra, réseau.

Possibilités d’extension via des cartes filles.

Communauté importante. Communauté importante.

Au final, même s’ils semblent concurrents, les deux produits ne répondent pas aux mêmes besoins, et peuvent être complémentaires.

Page 11: Présentation Raspberry Pi (cocoaheads remix)

Dans le vif du sujet

• Le but du projet était de réaliser un « robot » roulant non autonome, basé sur un Raspberry Pi, et piloté par un iPhone.

• Dans l’absolu, ça ne sert effectivement pas à grand chose.

• Mais…

10/04/2023 www.ekito.fr 11

Page 12: Présentation Raspberry Pi (cocoaheads remix)

À quoi ça sert ?

• Ça m’a servi à voir comment relier deux mondes distincts (iPhone et électronique).

• Ça m’a servi à (ré)apprendre les bases de l’électronique.

• Ça m’a servi à apprendre un nouveau langage (Python).

• Ça m’a servi à m’amuser (et c’est peut-être le plus important).

10/04/2023 www.ekito.fr 12

Page 13: Présentation Raspberry Pi (cocoaheads remix)

Au début était le pont en H

10/04/2023 www.ekito.fr 13

• Le pont en H permet decontrôler le sens de rotationd’un moteur.

Page 14: Présentation Raspberry Pi (cocoaheads remix)

Au début était le pont en H

10/04/2023 www.ekito.fr 14

• Le pont en H permet decontrôler le sens de rotationd’un moteur.

• En fermant deux interrupteurs,le moteur tourne.

Page 15: Présentation Raspberry Pi (cocoaheads remix)

Au début était le pont en H

10/04/2023 www.ekito.fr 15

• Le pont en H permet decontrôler le sens de rotationd’un moteur.

• En fermant deux interrupteurs,le moteur tourne.

• En fermant les deux autresinterrupteurs, le sens derotation change.

Page 16: Présentation Raspberry Pi (cocoaheads remix)

Au début était le pont en H

10/04/2023 www.ekito.fr 16

• Le souci principal, c’est quedes interrupteurs ne sontpas faciles à automatiser.

Page 17: Présentation Raspberry Pi (cocoaheads remix)

Au début était le pont en H

10/04/2023 www.ekito.fr 17

• Le souci principal, c’est quedes interrupteurs ne sontpas faciles à automatiser.

• Il suffit donc de les remplacerpar des transistors.

Page 18: Présentation Raspberry Pi (cocoaheads remix)

Au début était le pont en H

10/04/2023 www.ekito.fr 18

• En temps normal, un transistorne laisse pas passer le courant.Il se comporte comme un interrupteur ouvert.

Page 19: Présentation Raspberry Pi (cocoaheads remix)

Au début était le pont en H

10/04/2023 www.ekito.fr 19

• En temps normal, un transistorne laisse pas passer le courant.Il se comporte comme un interrupteur ouvert.

• Si on applique du courant à labase du transistor, on « fermel’interrupteur », et le courantcircule.

Page 20: Présentation Raspberry Pi (cocoaheads remix)

Au début était le pont en H

10/04/2023 www.ekito.fr 20

• Pour commander les transistors, il suffit donc d’envoyer du courant à leurs bases depuis les connecteurs GPIO du Raspberry Pi.

Page 21: Présentation Raspberry Pi (cocoaheads remix)

Fini de jouer, place au code

10/04/2023 www.ekito.fr 21

iPhone

Serveur TCP

Algorithme de contrôle des GPIO

BibliothèqueRpi.GPIO

Onboard GPIO

⥢ ou ⥤ BibliothèqueAdafruit MCP230XX

I2C

MCP23008 (8 GPIO)ou

MCP23017 (16 GPIO)

Transistors

Moteurs

Page 22: Présentation Raspberry Pi (cocoaheads remix)

Le serveur TCP (1/2)

10/04/2023 www.ekito.fr 22

• Le serveur TCP– Codé avec Python.– Utilisation de la bibliothèque « Twisted ».– Attend des commandes simples : « forward », « reverse »,

« left », « right » et « stop ».– Client facile à mettre en place :il suffit de se connecter au

serveur et y envoyer les commandes.

Page 23: Présentation Raspberry Pi (cocoaheads remix)

Le serveur TCP (2/2)

10/04/2023 www.ekito.fr 23

Page 24: Présentation Raspberry Pi (cocoaheads remix)

Le contrôle des GPIO

10/04/2023 www.ekito.fr 24

• Le contrôle des GPIO– Intégré au serveur.– Au choix, utilisation de la bibliothèque Python :

• « Rpi.GPIO » pour le pilotage direct des GPIO• « Adafruit MCP230XX » si usage d’un circuit d’extension de port

MCP23008 (8 GPIO de plus) ou MCP23017 (16 GPIO de plus)

– Envoi à la demande du courant sur le GPIO sélectionné, ou bien stoppe l’envoi.

Page 25: Présentation Raspberry Pi (cocoaheads remix)

Et côté iPhone ? (1/3)

10/04/2023 www.ekito.fr 25

• Le client iPhone– Interface minimaliste.– Envoi de la commande de déplacement

à l’appui sur un bouton, et commande « stop » lorsqu’on le relâche.

Page 26: Présentation Raspberry Pi (cocoaheads remix)

Et côté iPhone ? (2/3)

10/04/2023 www.ekito.fr 26

Page 27: Présentation Raspberry Pi (cocoaheads remix)

Et côté iPhone ? (3/3)

10/04/2023 www.ekito.fr 27

Page 28: Présentation Raspberry Pi (cocoaheads remix)

Démonstration

10/04/2023 www.ekito.fr 28

L’effet démo, vous y croyez ?

Page 29: Présentation Raspberry Pi (cocoaheads remix)

Et plus tard…

10/04/2023 www.ekito.fr 29

• Axes d’amélioration– Ajouter une caméra à l’avant, avec retransmission vers le

client.– Gérer la vitesse de déplacement du robot.– Tout ce que mon imagination me dictera (et mon budget

m’autorisera)

Page 30: Présentation Raspberry Pi (cocoaheads remix)

Ressources

10/04/2023 www.ekito.fr 30

• Idées de réalisations : http://korben.info/idees-raspberry-pi.html• Fondation Raspberry Pi : http://www.raspberrypi.org/• Bibliothèque Twisted : http://twistedmatrix.com/trac/• Bibliothèque Rpi.GPIO : http://pypi.python.org/pypi/RPi.GPIO• Bibliothèque Adafruit MCP230XX :

https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code

• Pub éhontée– Code source du projet : https://github.com/aboudou/movingraspi– Page récapitulant le projet : http://goddess-gate.com/projects/fr/raspi/

movingraspi

Page 31: Présentation Raspberry Pi (cocoaheads remix)

Plus d’informations

ekitoSARL au capital de 150 000 €RCS Toulouse 485 109 3001 place de la bourse 31000 [email protected] – www.ekito.fr

10/04/2023 www.ekito.fr 31

Laurent Blondon Responsable CommercialTél. : + 33 (0) 659 976 [email protected]

Page 32: Présentation Raspberry Pi (cocoaheads remix)

Copyright

10/04/2023 www.ekito.fr 32

• Vous êtes libres de :– Reproduire, distribuer et communiquer l’œuvre– Adapter l’œuvre– D’utiliser cette œuvre à des fins commerciales

• Selon les conditions suivantes :– Vous devez attribuer l’œuvre de la manière indiquée par

l’auteur de l’œuvre ou le titulaire des droits (mais pas d’une manière qui suggérerait qu’ils vous approuvent, vous ou votre utilisation de l’œuvre).

http://creativecommons.org/licenses/by/3.0/fr/